summaryrefslogtreecommitdiffstats
path: root/src/com/android/browser/BaseUi.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/browser/BaseUi.java')
-rw-r--r--src/com/android/browser/BaseUi.java59
1 files changed, 35 insertions, 24 deletions
diff --git a/src/com/android/browser/BaseUi.java b/src/com/android/browser/BaseUi.java
index 9de2c57..5551eca 100644
--- a/src/com/android/browser/BaseUi.java
+++ b/src/com/android/browser/BaseUi.java
@@ -17,7 +17,6 @@
package com.android.browser;
import android.app.Activity;
-import android.content.pm.PackageManager;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.graphics.Bitmap;
@@ -110,6 +109,8 @@ public abstract class BaseUi implements UI, OnTouchListener {
private boolean mActivityPaused;
protected boolean mUseQuickControls;
+ protected TitleBar mTitleBar;
+ private NavigationBarBase mNavigationBar;
public BaseUi(Activity browser, UiController controller) {
mActivity = browser;
@@ -140,6 +141,10 @@ public abstract class BaseUi implements UI, OnTouchListener {
config.getScaledOverscrollDistance());
mTitlebarScrollTriggerSlop = Math.max(mTitlebarScrollTriggerSlop,
config.getScaledTouchSlop());
+ mTitleBar = new TitleBar(mActivity, mUiController, this,
+ mContentView);
+ mTitleBar.setProgress(100);
+ mNavigationBar = mTitleBar.getNavigationBar();
}
private void cancelStopToast() {
@@ -170,6 +175,10 @@ public abstract class BaseUi implements UI, OnTouchListener {
public void onConfigurationChanged(Configuration config) {
}
+ public Activity getActivity() {
+ return mActivity;
+ }
+
// key handling
@Override
@@ -205,7 +214,7 @@ public abstract class BaseUi implements UI, OnTouchListener {
public void bookmarkedStatusHasChanged(Tab tab) {
if (tab.inForeground()) {
boolean isBookmark = tab.isBookmarkedSite();
- getTitleBar().setCurrentUrlIsBookmark(isBookmark);
+ mNavigationBar.setCurrentUrlIsBookmark(isBookmark);
}
}
@@ -248,10 +257,10 @@ public abstract class BaseUi implements UI, OnTouchListener {
onTabDataChanged(tab);
onProgressChanged(tab);
boolean incognito = mActiveTab.getWebView().isPrivateBrowsingEnabled();
- getTitleBar().setIncognitoMode(incognito);
+ mNavigationBar.setIncognitoMode(incognito);
updateAutoLogin(tab, false);
if (web != null && web.getVisibleTitleHeight()
- != getTitleBar().getEmbeddedHeight()
+ != mTitleBar.getEmbeddedHeight()
&& !mUseQuickControls) {
showTitleBarForDuration();
}
@@ -422,7 +431,7 @@ public abstract class BaseUi implements UI, OnTouchListener {
mUiController.endActionMode();
}
showTitleBar();
- getTitleBar().startEditingUrl(clearInput);
+ mNavigationBar.startEditingUrl(clearInput);
}
boolean canShowTitleBar() {
@@ -433,27 +442,29 @@ public abstract class BaseUi implements UI, OnTouchListener {
&& !mUiController.isInCustomActionMode();
}
- void showTitleBar() {
+ protected void showTitleBar() {
if (canShowTitleBar()) {
- getTitleBar().show();
+ mTitleBar.show();
}
}
protected void hideTitleBar() {
- if (getTitleBar().isShowing()) {
- getTitleBar().hide();
+ if (mTitleBar.isShowing()) {
+ mTitleBar.hide();
}
}
protected boolean isTitleBarShowing() {
- return getTitleBar().isShowing();
+ return mTitleBar.isShowing();
}
public boolean isEditingUrl() {
- return getTitleBar().isEditingUrl();
+ return mTitleBar.isEditingUrl();
}
- protected abstract TitleBarBase getTitleBar();
+ public TitleBar getTitleBar() {
+ return mTitleBar;
+ }
protected void setTitleGravity(int gravity) {
WebView web = getWebView();
@@ -464,20 +475,20 @@ public abstract class BaseUi implements UI, OnTouchListener {
@Override
public void showVoiceTitleBar(String title, List<String> results) {
- getTitleBar().setInVoiceMode(true, results);
- getTitleBar().setDisplayTitle(title);
+ mNavigationBar.setInVoiceMode(true, results);
+ mNavigationBar.setDisplayTitle(title);
}
@Override
public void revertVoiceTitleBar(Tab tab) {
- getTitleBar().setInVoiceMode(false, null);
+ mNavigationBar.setInVoiceMode(false, null);
String url = tab.getUrl();
- getTitleBar().setDisplayTitle(url);
+ mNavigationBar.setDisplayTitle(url);
}
@Override
public void registerDropdownChangeListener(DropdownChangeListener d) {
- getTitleBar().registerDropdownChangeListener(d);
+ mNavigationBar.registerDropdownChangeListener(d);
}
@Override
@@ -492,7 +503,7 @@ public abstract class BaseUi implements UI, OnTouchListener {
FrameLayout wrapper =
(FrameLayout) mContentView.findViewById(R.id.webview_wrapper);
wrapper.setVisibility(View.GONE);
- getTitleBar().stopEditingUrl();
+ mNavigationBar.stopEditingUrl();
dismissIME();
hideTitleBar();
if (mActiveTab != null) {
@@ -599,7 +610,7 @@ public abstract class BaseUi implements UI, OnTouchListener {
}
protected void updateAutoLogin(Tab tab, boolean animate) {
- getTitleBar().updateAutoLogin(tab, animate);
+ mTitleBar.updateAutoLogin(tab, animate);
}
/**
@@ -621,7 +632,7 @@ public abstract class BaseUi implements UI, OnTouchListener {
} else if (lockIconType == LockIcon.LOCK_ICON_MIXED) {
d = mMixLockIcon;
}
- getTitleBar().setLock(d);
+ mNavigationBar.setLock(d);
}
protected void setUrlTitle(Tab tab) {
@@ -632,7 +643,7 @@ public abstract class BaseUi implements UI, OnTouchListener {
}
if (tab.isInVoiceSearchMode()) return;
if (tab.inForeground()) {
- getTitleBar().setDisplayTitle(url);
+ mNavigationBar.setDisplayTitle(url);
}
}
@@ -640,7 +651,7 @@ public abstract class BaseUi implements UI, OnTouchListener {
protected void setFavicon(Tab tab) {
if (tab.inForeground()) {
Bitmap icon = tab.getFavicon();
- getTitleBar().setFavicon(icon);
+ mNavigationBar.setFavicon(icon);
}
}
@@ -793,7 +804,7 @@ public abstract class BaseUi implements UI, OnTouchListener {
}
}
- protected Drawable getFaviconDrawable(Bitmap icon) {
+ public Drawable getFaviconDrawable(Bitmap icon) {
Drawable[] array = new Drawable[3];
array[0] = new PaintDrawable(Color.BLACK);
PaintDrawable p = new PaintDrawable(Color.WHITE);
@@ -819,7 +830,7 @@ public abstract class BaseUi implements UI, OnTouchListener {
* as if the user is editing the URL bar or if the page is loading
*/
public void suggestHideTitleBar() {
- if (!isLoading() && !isEditingUrl()) {
+ if (!isLoading() && !isEditingUrl() && !mTitleBar.inAutoLogin()) {
hideTitleBar();
}
}