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.java93
1 files changed, 15 insertions, 78 deletions
diff --git a/src/com/android/browser/BaseUi.java b/src/com/android/browser/BaseUi.java
index 939874f..cdfc5a2 100644
--- a/src/com/android/browser/BaseUi.java
+++ b/src/com/android/browser/BaseUi.java
@@ -34,6 +34,7 @@ import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.text.TextUtils;
+import android.view.GestureDetector;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.Menu;
@@ -87,16 +88,13 @@ public abstract class BaseUi implements UI {
protected Tab mActiveTab;
private InputMethodManager mInputManager;
- private Drawable mLockIconSecure;
- private Drawable mLockIconMixed;
- protected Drawable mGenericFavicon;
-
protected FrameLayout mContentView;
protected FrameLayout mCustomViewContainer;
protected FrameLayout mFullscreenContainer;
private FrameLayout mFixedTitlebarContainer;
private View mCustomView;
+ private View mDecorView;
private WebChromeClient.CustomViewCallback mCustomViewCallback;
private int mOriginalOrientation;
@@ -125,8 +123,6 @@ public abstract class BaseUi implements UI {
Resources res = mActivity.getResources();
mInputManager = (InputMethodManager)
browser.getSystemService(Activity.INPUT_METHOD_SERVICE);
- mLockIconSecure = res.getDrawable(R.drawable.ic_secure_dark);
- mLockIconMixed = res.getDrawable(R.drawable.ic_secure_partial_dark);
FrameLayout frameLayout = (FrameLayout) mActivity.getWindow()
.getDecorView().findViewById(android.R.id.content);
LayoutInflater.from(mActivity)
@@ -139,9 +135,7 @@ public abstract class BaseUi implements UI {
R.id.fullscreen_custom_content);
mErrorConsoleContainer = (LinearLayout) frameLayout
.findViewById(R.id.error_console);
- setFullscreen(false);
- mGenericFavicon = res.getDrawable(
- R.drawable.app_web_browser_sm);
+ setImmersiveFullscreen(BrowserSettings.getInstance().useFullscreen());
mTitleBar = new TitleBar(mActivity, mUiController, this,
mContentView);
mTitleBar.setProgress(100);
@@ -149,6 +143,8 @@ public abstract class BaseUi implements UI {
mUrlBarAutoShowManager = new UrlBarAutoShowManager(this);
}
+
+
private void cancelStopToast() {
if (mStopToast != null) {
mStopToast.cancel();
@@ -223,8 +219,6 @@ public abstract class BaseUi implements UI {
@Override
public void onTabDataChanged(Tab tab) {
setUrlTitle(tab);
- setFavicon(tab);
- updateLockIconToLatest(tab);
updateNavigationState(tab);
mTitleBar.onTabDataChanged(tab);
mNavigationBar.onTabDataChanged(tab);
@@ -603,31 +597,6 @@ public abstract class BaseUi implements UI {
mTitleBar.updateAutoLogin(tab, animate);
}
- /**
- * Update the lock icon to correspond to our latest state.
- */
- protected void updateLockIconToLatest(Tab t) {
- if (t != null && t.inForeground()) {
- updateLockIconImage(t.getSecurityState());
- }
- }
-
- /**
- * Updates the lock-icon image in the title-bar.
- */
- private void updateLockIconImage(SecurityState securityState) {
- Drawable d = null;
- if (securityState == SecurityState.SECURITY_STATE_SECURE) {
- d = mLockIconSecure;
- } else if (securityState == SecurityState.SECURITY_STATE_MIXED
- || securityState == SecurityState.SECURITY_STATE_BAD_CERTIFICATE) {
- // TODO: It would be good to have different icons for insecure vs mixed content.
- // See http://b/5403800
- d = mLockIconMixed;
- }
- mNavigationBar.setLock(d);
- }
-
protected void setUrlTitle(Tab tab) {
String url = tab.getUrl();
String title = tab.getTitle();
@@ -639,14 +608,6 @@ public abstract class BaseUi implements UI {
}
}
- // Set the favicon in the title bar.
- protected void setFavicon(Tab tab) {
- if (tab.inForeground()) {
- Bitmap icon = tab.getFavicon();
- mNavigationBar.setFavicon(icon);
- }
- }
-
@Override
public void onActionModeFinished(boolean inLoad) {
}
@@ -775,27 +736,19 @@ public abstract class BaseUi implements UI {
}
public void setFullscreen(boolean enabled) {
- Window win = mActivity.getWindow();
- WindowManager.LayoutParams winParams = win.getAttributes();
- final int bits = WindowManager.LayoutParams.FLAG_FULLSCREEN;
+ FrameLayout decor = (FrameLayout) mActivity.getWindow().getDecorView();
+ int systemUiVisibility = decor.getSystemUiVisibility();
+ final int bits = View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
+ | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
+ | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
+ | View.SYSTEM_UI_FLAG_FULLSCREEN
+ | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
if (enabled) {
- winParams.flags |= bits;
+ systemUiVisibility |= bits;
} else {
- winParams.flags &= ~bits;
- if (mCustomView != null) {
- mCustomView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE);
- } else {
- mContentView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE);
- }
+ systemUiVisibility &= ~bits;
}
- win.setAttributes(winParams);
- }
-
- public boolean isFullscreen() {
- Window win = mActivity.getWindow();
- WindowManager.LayoutParams winParams = win.getAttributes();
- final int bits = WindowManager.LayoutParams.FLAG_FULLSCREEN;
- return (winParams.flags & bits) == bits;
+ decor.setSystemUiVisibility(systemUiVisibility);
}
protected void setImmersiveFullscreen (boolean enabled) {
@@ -814,22 +767,6 @@ public abstract class BaseUi implements UI {
decor.setSystemUiVisibility(systemUiVisibility);
}
- public Drawable getFaviconDrawable(Bitmap icon) {
- Drawable[] array = new Drawable[3];
- array[0] = new PaintDrawable(Color.BLACK);
- PaintDrawable p = new PaintDrawable(Color.WHITE);
- array[1] = p;
- if (icon == null) {
- array[2] = mGenericFavicon;
- } else {
- array[2] = new BitmapDrawable(icon);
- }
- LayerDrawable d = new LayerDrawable(array);
- d.setLayerInset(1, 1, 1, 1, 1);
- d.setLayerInset(2, 2, 2, 2, 2);
- return d;
- }
-
public boolean isLoading() {
return mActiveTab != null ? mActiveTab.inPageLoad() : false;
}