UI.java revision 8233facddcc51865d612a919d450db6954aa48e3
18233facddcc51865d612a919d450db6954aa48e3Michael Kolb/* 28233facddcc51865d612a919d450db6954aa48e3Michael Kolb * Copyright (C) 2010 The Android Open Source Project 38233facddcc51865d612a919d450db6954aa48e3Michael Kolb * 48233facddcc51865d612a919d450db6954aa48e3Michael Kolb * Licensed under the Apache License, Version 2.0 (the "License"); 58233facddcc51865d612a919d450db6954aa48e3Michael Kolb * you may not use this file except in compliance with the License. 68233facddcc51865d612a919d450db6954aa48e3Michael Kolb * You may obtain a copy of the License at 78233facddcc51865d612a919d450db6954aa48e3Michael Kolb * 88233facddcc51865d612a919d450db6954aa48e3Michael Kolb * http://www.apache.org/licenses/LICENSE-2.0 98233facddcc51865d612a919d450db6954aa48e3Michael Kolb * 108233facddcc51865d612a919d450db6954aa48e3Michael Kolb * Unless required by applicable law or agreed to in writing, software 118233facddcc51865d612a919d450db6954aa48e3Michael Kolb * distributed under the License is distributed on an "AS IS" BASIS, 128233facddcc51865d612a919d450db6954aa48e3Michael Kolb * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 138233facddcc51865d612a919d450db6954aa48e3Michael Kolb * See the License for the specific language governing permissions and 148233facddcc51865d612a919d450db6954aa48e3Michael Kolb * limitations under the License. 158233facddcc51865d612a919d450db6954aa48e3Michael Kolb */ 168233facddcc51865d612a919d450db6954aa48e3Michael Kolb 178233facddcc51865d612a919d450db6954aa48e3Michael Kolbpackage com.android.browser; 188233facddcc51865d612a919d450db6954aa48e3Michael Kolb 198233facddcc51865d612a919d450db6954aa48e3Michael Kolbimport com.android.browser.ScrollWebView.ScrollListener; 208233facddcc51865d612a919d450db6954aa48e3Michael Kolb 218233facddcc51865d612a919d450db6954aa48e3Michael Kolbimport android.content.res.Configuration; 228233facddcc51865d612a919d450db6954aa48e3Michael Kolbimport android.graphics.Bitmap; 238233facddcc51865d612a919d450db6954aa48e3Michael Kolbimport android.os.Bundle; 248233facddcc51865d612a919d450db6954aa48e3Michael Kolbimport android.view.ActionMode; 258233facddcc51865d612a919d450db6954aa48e3Michael Kolbimport android.view.Menu; 268233facddcc51865d612a919d450db6954aa48e3Michael Kolbimport android.view.View; 278233facddcc51865d612a919d450db6954aa48e3Michael Kolbimport android.webkit.WebChromeClient.CustomViewCallback; 288233facddcc51865d612a919d450db6954aa48e3Michael Kolb 298233facddcc51865d612a919d450db6954aa48e3Michael Kolb/** 308233facddcc51865d612a919d450db6954aa48e3Michael Kolb * UI interface definitions 318233facddcc51865d612a919d450db6954aa48e3Michael Kolb */ 328233facddcc51865d612a919d450db6954aa48e3Michael Kolbpublic interface UI extends ScrollListener { 338233facddcc51865d612a919d450db6954aa48e3Michael Kolb 348233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void onPause(); 358233facddcc51865d612a919d450db6954aa48e3Michael Kolb 368233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void onResume(); 378233facddcc51865d612a919d450db6954aa48e3Michael Kolb 388233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void onDestroy(); 398233facddcc51865d612a919d450db6954aa48e3Michael Kolb 408233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void onConfigurationChanged(Configuration config); 418233facddcc51865d612a919d450db6954aa48e3Michael Kolb 428233facddcc51865d612a919d450db6954aa48e3Michael Kolb public boolean onBackKey(); 438233facddcc51865d612a919d450db6954aa48e3Michael Kolb 448233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void addTab(Tab tab); 458233facddcc51865d612a919d450db6954aa48e3Michael Kolb 468233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void removeTab(Tab tab); 478233facddcc51865d612a919d450db6954aa48e3Michael Kolb 488233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void setActiveTab(Tab tab); 498233facddcc51865d612a919d450db6954aa48e3Michael Kolb 508233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void detachTab(Tab tab); 518233facddcc51865d612a919d450db6954aa48e3Michael Kolb 528233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void attachTab(Tab tab); 538233facddcc51865d612a919d450db6954aa48e3Michael Kolb 548233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void attachSubWindow(View subContainer); 558233facddcc51865d612a919d450db6954aa48e3Michael Kolb 568233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void removeSubWindow(View subContainer); 578233facddcc51865d612a919d450db6954aa48e3Michael Kolb 588233facddcc51865d612a919d450db6954aa48e3Michael Kolb // TODO: consolidate 598233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void setUrlTitle(Tab tab, String url, String title); 608233facddcc51865d612a919d450db6954aa48e3Michael Kolb 618233facddcc51865d612a919d450db6954aa48e3Michael Kolb // TODO: consolidate 628233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void setFavicon(Tab tab, Bitmap icon); 638233facddcc51865d612a919d450db6954aa48e3Michael Kolb 648233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void resetTitleAndRevertLockIcon(Tab tab); 658233facddcc51865d612a919d450db6954aa48e3Michael Kolb 668233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void resetTitleAndIcon(Tab tab); 678233facddcc51865d612a919d450db6954aa48e3Michael Kolb 688233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void onPageStarted(Tab tab, String url, Bitmap favicon); 698233facddcc51865d612a919d450db6954aa48e3Michael Kolb 708233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void onPageFinished(Tab tab, String url); 718233facddcc51865d612a919d450db6954aa48e3Michael Kolb 728233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void onPageStopped(Tab tab); 738233facddcc51865d612a919d450db6954aa48e3Michael Kolb 748233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void onProgressChanged(Tab tab, int progress); 758233facddcc51865d612a919d450db6954aa48e3Michael Kolb 768233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void showActiveTabsPage(); 778233facddcc51865d612a919d450db6954aa48e3Michael Kolb 788233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void removeActiveTabsPage(); 798233facddcc51865d612a919d450db6954aa48e3Michael Kolb 808233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void showComboView(boolean startWithHistory, Bundle extra); 818233facddcc51865d612a919d450db6954aa48e3Michael Kolb 828233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void hideComboView(); 838233facddcc51865d612a919d450db6954aa48e3Michael Kolb 848233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void showCustomView(View view, CustomViewCallback callback); 858233facddcc51865d612a919d450db6954aa48e3Michael Kolb 868233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void onHideCustomView(); 878233facddcc51865d612a919d450db6954aa48e3Michael Kolb 888233facddcc51865d612a919d450db6954aa48e3Michael Kolb public boolean isCustomViewShowing(); 898233facddcc51865d612a919d450db6954aa48e3Michael Kolb 908233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void showVoiceTitleBar(String title); 918233facddcc51865d612a919d450db6954aa48e3Michael Kolb 928233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void revertVoiceTitleBar(Tab tab); 938233facddcc51865d612a919d450db6954aa48e3Michael Kolb 948233facddcc51865d612a919d450db6954aa48e3Michael Kolb // allow the ui to update state 958233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void onPrepareOptionsMenu(Menu menu); 968233facddcc51865d612a919d450db6954aa48e3Michael Kolb 978233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void onOptionsMenuOpened(); 988233facddcc51865d612a919d450db6954aa48e3Michael Kolb 998233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void onExtendedMenuOpened(); 1008233facddcc51865d612a919d450db6954aa48e3Michael Kolb 1018233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void onOptionsMenuClosed(boolean inLoad); 1028233facddcc51865d612a919d450db6954aa48e3Michael Kolb 1038233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void onExtendedMenuClosed(boolean inLoad); 1048233facddcc51865d612a919d450db6954aa48e3Michael Kolb 1058233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void onContextMenuCreated(Menu menu); 1068233facddcc51865d612a919d450db6954aa48e3Michael Kolb 1078233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void onContextMenuClosed(Menu menu, boolean inLoad); 1088233facddcc51865d612a919d450db6954aa48e3Michael Kolb 1098233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void onActionModeStarted(ActionMode mode); 1108233facddcc51865d612a919d450db6954aa48e3Michael Kolb 1118233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void onActionModeFinished(boolean inLoad); 1128233facddcc51865d612a919d450db6954aa48e3Michael Kolb 1138233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void setShouldShowErrorConsole(Tab tab, boolean show); 1148233facddcc51865d612a919d450db6954aa48e3Michael Kolb 1158233facddcc51865d612a919d450db6954aa48e3Michael Kolb // returns if the web page is clear of any overlays (not including sub windows) 1168233facddcc51865d612a919d450db6954aa48e3Michael Kolb public boolean showsWeb(); 1178233facddcc51865d612a919d450db6954aa48e3Michael Kolb 1188233facddcc51865d612a919d450db6954aa48e3Michael Kolb Bitmap getDefaultVideoPoster(); 1198233facddcc51865d612a919d450db6954aa48e3Michael Kolb 1208233facddcc51865d612a919d450db6954aa48e3Michael Kolb View getVideoLoadingProgressView(); 1218233facddcc51865d612a919d450db6954aa48e3Michael Kolb 1228233facddcc51865d612a919d450db6954aa48e3Michael Kolb} 123