diff options
author | Michael Kolb <kolby@google.com> | 2010-10-26 16:08:53 -0700 |
---|---|---|
committer | Michael Kolb <kolby@google.com> | 2010-11-17 13:27:05 -0800 |
commit | 8233facddcc51865d612a919d450db6954aa48e3 (patch) | |
tree | 049b5f9ac93146d842aa1c28a168e93783ea578a /src/com/android/browser/UI.java | |
parent | d9fb57958a0bea503b43d740057e3a4623c91d12 (diff) | |
download | android_packages_apps_Gello-8233facddcc51865d612a919d450db6954aa48e3.tar.gz android_packages_apps_Gello-8233facddcc51865d612a919d450db6954aa48e3.tar.bz2 android_packages_apps_Gello-8233facddcc51865d612a919d450db6954aa48e3.zip |
Controller Refactor
Bug: 3170671
First step towards a model/view/control design in Browser
introduced Controller object
started separating UI code
represent state of the app in one place only
Change-Id: Ica387d6bde2dcf1a4993c3db0cce498cf34ff60f
Diffstat (limited to 'src/com/android/browser/UI.java')
-rw-r--r-- | src/com/android/browser/UI.java | 122 |
1 files changed, 122 insertions, 0 deletions
diff --git a/src/com/android/browser/UI.java b/src/com/android/browser/UI.java new file mode 100644 index 00000000..b2908918 --- /dev/null +++ b/src/com/android/browser/UI.java @@ -0,0 +1,122 @@ +/* + * Copyright (C) 2010 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.browser; + +import com.android.browser.ScrollWebView.ScrollListener; + +import android.content.res.Configuration; +import android.graphics.Bitmap; +import android.os.Bundle; +import android.view.ActionMode; +import android.view.Menu; +import android.view.View; +import android.webkit.WebChromeClient.CustomViewCallback; + +/** + * UI interface definitions + */ +public interface UI extends ScrollListener { + + public void onPause(); + + public void onResume(); + + public void onDestroy(); + + public void onConfigurationChanged(Configuration config); + + public boolean onBackKey(); + + public void addTab(Tab tab); + + public void removeTab(Tab tab); + + public void setActiveTab(Tab tab); + + public void detachTab(Tab tab); + + public void attachTab(Tab tab); + + public void attachSubWindow(View subContainer); + + public void removeSubWindow(View subContainer); + + // TODO: consolidate + public void setUrlTitle(Tab tab, String url, String title); + + // TODO: consolidate + public void setFavicon(Tab tab, Bitmap icon); + + public void resetTitleAndRevertLockIcon(Tab tab); + + public void resetTitleAndIcon(Tab tab); + + public void onPageStarted(Tab tab, String url, Bitmap favicon); + + public void onPageFinished(Tab tab, String url); + + public void onPageStopped(Tab tab); + + public void onProgressChanged(Tab tab, int progress); + + public void showActiveTabsPage(); + + public void removeActiveTabsPage(); + + public void showComboView(boolean startWithHistory, Bundle extra); + + public void hideComboView(); + + public void showCustomView(View view, CustomViewCallback callback); + + public void onHideCustomView(); + + public boolean isCustomViewShowing(); + + public void showVoiceTitleBar(String title); + + public void revertVoiceTitleBar(Tab tab); + + // allow the ui to update state + public void onPrepareOptionsMenu(Menu menu); + + public void onOptionsMenuOpened(); + + public void onExtendedMenuOpened(); + + public void onOptionsMenuClosed(boolean inLoad); + + public void onExtendedMenuClosed(boolean inLoad); + + public void onContextMenuCreated(Menu menu); + + public void onContextMenuClosed(Menu menu, boolean inLoad); + + public void onActionModeStarted(ActionMode mode); + + public void onActionModeFinished(boolean inLoad); + + public void setShouldShowErrorConsole(Tab tab, boolean show); + + // returns if the web page is clear of any overlays (not including sub windows) + public boolean showsWeb(); + + Bitmap getDefaultVideoPoster(); + + View getVideoLoadingProgressView(); + +} |