UI.java revision 0241e7556501caae1f57d2bdf3677d7e4a619eb0
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 android.content.res.Configuration; 208233facddcc51865d612a919d450db6954aa48e3Michael Kolbimport android.graphics.Bitmap; 218233facddcc51865d612a919d450db6954aa48e3Michael Kolbimport android.os.Bundle; 228233facddcc51865d612a919d450db6954aa48e3Michael Kolbimport android.view.ActionMode; 23a418306e08e008da99cef929c48e05d2a101ceafMichael Kolbimport android.view.KeyEvent; 248233facddcc51865d612a919d450db6954aa48e3Michael Kolbimport android.view.Menu; 258233facddcc51865d612a919d450db6954aa48e3Michael Kolbimport android.view.View; 268233facddcc51865d612a919d450db6954aa48e3Michael Kolbimport android.webkit.WebChromeClient.CustomViewCallback; 271514bb7ed5656316a8dac966cee21653f3c59affMichael Kolbimport android.webkit.WebView; 288233facddcc51865d612a919d450db6954aa48e3Michael Kolb 291bf231334fd4bda8dbde5b9a0345c756a213b3a2Michael Kolbimport java.util.List; 301bf231334fd4bda8dbde5b9a0345c756a213b3a2Michael Kolb 318233facddcc51865d612a919d450db6954aa48e3Michael Kolb/** 328233facddcc51865d612a919d450db6954aa48e3Michael Kolb * UI interface definitions 338233facddcc51865d612a919d450db6954aa48e3Michael Kolb */ 346670653d355fea0ae20dc51f6c693f994c4cbb54Michael Kolbpublic interface UI { 358233facddcc51865d612a919d450db6954aa48e3Michael Kolb 362bc8042224be51966d748b870768ec1b376a1621John Reck public static enum ComboViews { 372bc8042224be51966d748b870768ec1b376a1621John Reck History, 382bc8042224be51966d748b870768ec1b376a1621John Reck Bookmarks, 392bc8042224be51966d748b870768ec1b376a1621John Reck Snapshots, 402bc8042224be51966d748b870768ec1b376a1621John Reck } 412bc8042224be51966d748b870768ec1b376a1621John Reck 428233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void onPause(); 438233facddcc51865d612a919d450db6954aa48e3Michael Kolb 448233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void onResume(); 458233facddcc51865d612a919d450db6954aa48e3Michael Kolb 468233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void onDestroy(); 478233facddcc51865d612a919d450db6954aa48e3Michael Kolb 488233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void onConfigurationChanged(Configuration config); 498233facddcc51865d612a919d450db6954aa48e3Michael Kolb 508233facddcc51865d612a919d450db6954aa48e3Michael Kolb public boolean onBackKey(); 518233facddcc51865d612a919d450db6954aa48e3Michael Kolb 522814a362c21ac219410d9b54e1bd3e8152b845c7Michael Kolb public boolean onMenuKey(); 532814a362c21ac219410d9b54e1bd3e8152b845c7Michael Kolb 541bf231334fd4bda8dbde5b9a0345c756a213b3a2Michael Kolb public boolean needsRestoreAllTabs(); 551bf231334fd4bda8dbde5b9a0345c756a213b3a2Michael Kolb 568233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void addTab(Tab tab); 578233facddcc51865d612a919d450db6954aa48e3Michael Kolb 588233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void removeTab(Tab tab); 598233facddcc51865d612a919d450db6954aa48e3Michael Kolb 608233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void setActiveTab(Tab tab); 618233facddcc51865d612a919d450db6954aa48e3Michael Kolb 621bf231334fd4bda8dbde5b9a0345c756a213b3a2Michael Kolb public void updateTabs(List<Tab> tabs); 631bf231334fd4bda8dbde5b9a0345c756a213b3a2Michael Kolb 648233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void detachTab(Tab tab); 658233facddcc51865d612a919d450db6954aa48e3Michael Kolb 668233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void attachTab(Tab tab); 678233facddcc51865d612a919d450db6954aa48e3Michael Kolb 68a713ec8cc9da6c0c8078cd297c6240eb8bf01bbbMichael Kolb public void onSetWebView(Tab tab, WebView view); 69a713ec8cc9da6c0c8078cd297c6240eb8bf01bbbMichael Kolb 701514bb7ed5656316a8dac966cee21653f3c59affMichael Kolb public void createSubWindow(Tab tab, WebView subWebView); 711514bb7ed5656316a8dac966cee21653f3c59affMichael Kolb 728233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void attachSubWindow(View subContainer); 738233facddcc51865d612a919d450db6954aa48e3Michael Kolb 748233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void removeSubWindow(View subContainer); 758233facddcc51865d612a919d450db6954aa48e3Michael Kolb 7630c714c853a4239e72ab1e238ce2a92472d06ab0John Reck public void onTabDataChanged(Tab tab); 778233facddcc51865d612a919d450db6954aa48e3Michael Kolb 788233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void onPageStopped(Tab tab); 798233facddcc51865d612a919d450db6954aa48e3Michael Kolb 8030c714c853a4239e72ab1e238ce2a92472d06ab0John Reck public void onProgressChanged(Tab tab); 818233facddcc51865d612a919d450db6954aa48e3Michael Kolb 828233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void showActiveTabsPage(); 838233facddcc51865d612a919d450db6954aa48e3Michael Kolb 848233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void removeActiveTabsPage(); 858233facddcc51865d612a919d450db6954aa48e3Michael Kolb 862bc8042224be51966d748b870768ec1b376a1621John Reck public void showComboView(ComboViews startingView, Bundle extra); 878233facddcc51865d612a919d450db6954aa48e3Michael Kolb 888233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void hideComboView(); 898233facddcc51865d612a919d450db6954aa48e3Michael Kolb 902d4f1e2553dee6bce5a12162ff6d4459babe2512Derek Sollenberger public void showCustomView(View view, int requestedOrientation, 912d4f1e2553dee6bce5a12162ff6d4459babe2512Derek Sollenberger CustomViewCallback callback); 928233facddcc51865d612a919d450db6954aa48e3Michael Kolb 938233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void onHideCustomView(); 948233facddcc51865d612a919d450db6954aa48e3Michael Kolb 958233facddcc51865d612a919d450db6954aa48e3Michael Kolb public boolean isCustomViewShowing(); 968233facddcc51865d612a919d450db6954aa48e3Michael Kolb 9711d1978d8d16004598347abc93918b54a5ef760bMichael Kolb public void showVoiceTitleBar(String title, List<String> results); 988233facddcc51865d612a919d450db6954aa48e3Michael Kolb 998233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void revertVoiceTitleBar(Tab tab); 1008233facddcc51865d612a919d450db6954aa48e3Michael Kolb 1011acef69ffc079d1bc029ff7eb1f5043f7efd7f36Michael Kolb public boolean onPrepareOptionsMenu(Menu menu); 1021acef69ffc079d1bc029ff7eb1f5043f7efd7f36Michael Kolb 1038233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void onOptionsMenuOpened(); 1048233facddcc51865d612a919d450db6954aa48e3Michael Kolb 1058233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void onExtendedMenuOpened(); 1068233facddcc51865d612a919d450db6954aa48e3Michael Kolb 1078233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void onOptionsMenuClosed(boolean inLoad); 1088233facddcc51865d612a919d450db6954aa48e3Michael Kolb 1098233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void onExtendedMenuClosed(boolean inLoad); 1108233facddcc51865d612a919d450db6954aa48e3Michael Kolb 1118233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void onContextMenuCreated(Menu menu); 1128233facddcc51865d612a919d450db6954aa48e3Michael Kolb 1138233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void onContextMenuClosed(Menu menu, boolean inLoad); 1148233facddcc51865d612a919d450db6954aa48e3Michael Kolb 1158233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void onActionModeStarted(ActionMode mode); 1168233facddcc51865d612a919d450db6954aa48e3Michael Kolb 1178233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void onActionModeFinished(boolean inLoad); 1188233facddcc51865d612a919d450db6954aa48e3Michael Kolb 1198233facddcc51865d612a919d450db6954aa48e3Michael Kolb public void setShouldShowErrorConsole(Tab tab, boolean show); 1208233facddcc51865d612a919d450db6954aa48e3Michael Kolb 1218233facddcc51865d612a919d450db6954aa48e3Michael Kolb // returns if the web page is clear of any overlays (not including sub windows) 1228233facddcc51865d612a919d450db6954aa48e3Michael Kolb public boolean showsWeb(); 1238233facddcc51865d612a919d450db6954aa48e3Michael Kolb 1248233facddcc51865d612a919d450db6954aa48e3Michael Kolb Bitmap getDefaultVideoPoster(); 1258233facddcc51865d612a919d450db6954aa48e3Michael Kolb 1268233facddcc51865d612a919d450db6954aa48e3Michael Kolb View getVideoLoadingProgressView(); 1278233facddcc51865d612a919d450db6954aa48e3Michael Kolb 1284cd97793901e8f5681cf642d0b2684697964a37aLeon Scroggins void bookmarkedStatusHasChanged(Tab tab); 129843510fb4f36a9a834c69d8773156db20ca3d740Michael Kolb 130843510fb4f36a9a834c69d8773156db20ca3d740Michael Kolb void showMaxTabsWarning(); 131843510fb4f36a9a834c69d8773156db20ca3d740Michael Kolb 132dc2ee1bfb50b7bec0cf3215e3d298b246dc71101Michael Kolb void editUrl(boolean clearInput); 133dc2ee1bfb50b7bec0cf3215e3d298b246dc71101Michael Kolb 134a418306e08e008da99cef929c48e05d2a101ceafMichael Kolb boolean dispatchKey(int code, KeyEvent event); 135a418306e08e008da99cef929c48e05d2a101ceafMichael Kolb 1365119edd5744cfc6d3a8ed480a8853586c737bed4Narayan Kamath public static interface DropdownChangeListener { 1375119edd5744cfc6d3a8ed480a8853586c737bed4Narayan Kamath void onNewDropdownDimensions(int height); 1385119edd5744cfc6d3a8ed480a8853586c737bed4Narayan Kamath } 1395119edd5744cfc6d3a8ed480a8853586c737bed4Narayan Kamath void registerDropdownChangeListener(DropdownChangeListener d); 1409206677e461328f15854c5fcb1366d0e261534c6Patrick Scott 1419206677e461328f15854c5fcb1366d0e261534c6Patrick Scott void showAutoLogin(Tab tab); 1429206677e461328f15854c5fcb1366d0e261534c6Patrick Scott 1439206677e461328f15854c5fcb1366d0e261534c6Patrick Scott void hideAutoLogin(Tab tab); 144c38c604eca3bd0620cd9284187aace78455e723dMichael Kolb 145c38c604eca3bd0620cd9284187aace78455e723dMichael Kolb void setFullscreen(boolean enabled); 1460241e7556501caae1f57d2bdf3677d7e4a619eb0Michael Kolb 1470241e7556501caae1f57d2bdf3677d7e4a619eb0Michael Kolb void setUseQuickControls(boolean enabled); 1480241e7556501caae1f57d2bdf3677d7e4a619eb0Michael Kolb 1498233facddcc51865d612a919d450db6954aa48e3Michael Kolb} 150