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