NavigationBar code cleanup
- Unified code for phone and tablet UI
- Chagned Favicon to use Tiles
- Updates to Tile class
Change-Id: Iecb699a3e5eb848db149705a9142f8f199f02c04
diff --git a/src/com/android/browser/PhoneUi.java b/src/com/android/browser/PhoneUi.java
index f3a08f7..774d2ba 100644
--- a/src/com/android/browser/PhoneUi.java
+++ b/src/com/android/browser/PhoneUi.java
@@ -24,10 +24,7 @@
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Matrix;
-import android.graphics.Paint;
-import android.graphics.Rect;
import android.os.Bundle;
-import android.os.Message;
import android.util.Log;
import android.view.ActionMode;
import android.view.KeyEvent;
@@ -38,16 +35,14 @@
import android.view.ViewStub;
import android.view.accessibility.AccessibilityEvent;
import android.view.animation.DecelerateInterpolator;
-import android.webkit.ValueCallback;
+
import org.codeaurora.swe.WebView;
-import android.widget.FrameLayout;
import android.widget.ImageView;
import com.android.browser.UrlInputView.StateListener;
import org.codeaurora.net.NetworkServices;
-import org.codeaurora.swe.WebView;
/**
* Ui for regular phone screen sizes
@@ -55,15 +50,12 @@
public class PhoneUi extends BaseUi {
private static final String LOGTAG = "PhoneUi";
- private static final int MSG_INIT_NAVSCREEN = 100;
private NavScreen mNavScreen;
private AnimScreen mAnimScreen;
private final NavigationBarPhone mNavigationBar;
- private final Activity mBrowser;
private boolean mNavScreenRequested = false;
- boolean mAnimating;
boolean mShowNav = false;
private ComboView mComboView;
@@ -75,7 +67,6 @@
public PhoneUi(Activity browser, UiController controller) {
super(browser, controller);
mNavigationBar = (NavigationBarPhone) mTitleBar.getNavigationBar();
- mBrowser = browser;
}
@Override
@@ -96,8 +87,11 @@
public void showComboView(ComboViews startingView, Bundle extras) {
if (mComboView == null) {
- mNavScreen.setVisibility(View.GONE);
- ViewStub stub = (ViewStub) mActivity.getWindow().getDecorView().findViewById(R.id.combo_view_stub);
+ if (mNavScreen != null) {
+ mNavScreen.setVisibility(View.GONE);
+ }
+ ViewStub stub = (ViewStub) mActivity.getWindow().
+ getDecorView().findViewById(R.id.combo_view_stub);
mComboView = (ComboView) stub.inflate();
mComboView.setVisibility(View.GONE);
mComboView.setupViews(mActivity);
@@ -125,7 +119,7 @@
mNavScreen.close(mUiController.getTabControl().getCurrentPosition());
return true;
}
- if (showingComboView()) {
+ if (isComboViewShowing()) {
hideComboView();
return true;
}
@@ -136,39 +130,12 @@
return mNavScreen != null && mNavScreen.getVisibility() == View.VISIBLE;
}
- private boolean showingComboView() {
- return mComboView != null && mComboView.getVisibility() == View.VISIBLE;
- }
-
@Override
public boolean dispatchKey(int code, KeyEvent event) {
return false;
}
@Override
- public void onProgressChanged(Tab tab) {
- super.onProgressChanged(tab);
- if (mNavScreen == null && getTitleBar().getHeight() > 0) {
- mHandler.sendEmptyMessage(MSG_INIT_NAVSCREEN);
- }
- }
-
- @Override
- protected void handleMessage(Message msg) {
- super.handleMessage(msg);
- if (msg.what == MSG_INIT_NAVSCREEN) {
- if (mNavScreen == null) {
- mNavScreen = new NavScreen(mActivity, mUiController, this);
- mCustomViewContainer.addView(mNavScreen, COVER_SCREEN_PARAMS);
- mNavScreen.setVisibility(View.GONE);
- }
- if (mAnimScreen == null) {
- mAnimScreen = new AnimScreen(mActivity);
- }
- }
- }
-
- @Override
public void setActiveTab(final Tab tab) {
mTitleBar.cancelTitleBarAnimation(true);
mTitleBar.setSkipTitleBarAnimations(true);
@@ -191,8 +158,6 @@
// update nav bar state
mNavigationBar.onStateChanged(StateListener.STATE_NORMAL);
- updateLockIconToLatest(tab);
- mTitleBar.setSkipTitleBarAnimations(false);
}
// menu handling callbacks
@@ -223,7 +188,7 @@
menu.setGroupVisible(R.id.NAV_MENU, false);
}
- if (showingComboView()) {
+ if (isComboViewShowing()) {
menu.setGroupVisible(R.id.MAIN_MENU, false);
menu.setGroupEnabled(R.id.MAIN_MENU, false);
menu.setGroupEnabled(R.id.MAIN_SHORTCUT_MENU, false);
@@ -273,12 +238,12 @@
@Override
public boolean isWebShowing() {
- return super.isWebShowing() && !showingNavScreen() && !showingComboView();
+ return super.isWebShowing() && !showingNavScreen() && !isComboViewShowing();
}
@Override
public boolean isComboViewShowing() {
- return showingComboView();
+ return mComboView != null && mComboView.getVisibility() == View.VISIBLE;
}
@Override
@@ -386,7 +351,8 @@
ObjectAnimator tx = ObjectAnimator.ofInt(mAnimScreen.mContent, "left", fromLeft, toLeft);
ObjectAnimator ty = ObjectAnimator.ofInt(mAnimScreen.mContent, "top", fromTop, toTop);
ObjectAnimator tr = ObjectAnimator.ofInt(mAnimScreen.mContent, "right", fromRight, toRight);
- ObjectAnimator tb = ObjectAnimator.ofInt(mAnimScreen.mContent, "bottom", fromBottom, toBottom);
+ ObjectAnimator tb = ObjectAnimator.ofInt(mAnimScreen.mContent, "bottom",
+ fromBottom, toBottom);
ObjectAnimator sx = ObjectAnimator.ofFloat(mAnimScreen, "scaleFactor", 1f, toScaleFactor);
ObjectAnimator navTabsIn = mNavScreen.createToolbarInAnimator();
mAnimScreen.mContent.layout(fromLeft, fromTop, fromRight, fromBottom);
@@ -493,7 +459,8 @@
ObjectAnimator l = ObjectAnimator.ofInt(mAnimScreen.mContent, "left", fromLeft, toLeft);
ObjectAnimator t = ObjectAnimator.ofInt(mAnimScreen.mContent, "top", fromTop, toTop);
ObjectAnimator r = ObjectAnimator.ofInt(mAnimScreen.mContent, "right", fromRight, toRight);
- ObjectAnimator b = ObjectAnimator.ofInt(mAnimScreen.mContent, "bottom", fromBottom, toBottom);
+ ObjectAnimator b = ObjectAnimator.ofInt(mAnimScreen.mContent, "bottom",
+ fromBottom, toBottom);
ObjectAnimator scale = ObjectAnimator.ofFloat(mAnimScreen, "scaleFactor", 1f, scaleFactor);
set.playTogether(animAppear, l, t, r, b, scale);
set.setInterpolator(new DecelerateInterpolator());
@@ -563,7 +530,9 @@
}
private void finishAnimateOut() {
- mNavScreen.setVisibility(View.GONE);
+ if (mNavScreen != null) {
+ mNavScreen.setVisibility(View.GONE);
+ }
mCustomViewContainer.setAlpha(1f);
mCustomViewContainer.setVisibility(View.GONE);
mAnimScreen.set(null);
@@ -582,11 +551,6 @@
}
}
- @Override
- public boolean shouldCaptureThumbnails() {
- return true;
- }
-
static class AnimScreen {
private View mMain;
@@ -615,15 +579,6 @@
mContent.setImageBitmap(viewportBitmap);
}
- /*private Bitmap safeCreateBitmap(int width, int height) {
- if (width <= 0 || height <= 0) {
- Log.w(LOGTAG, "safeCreateBitmap failed! width: " + width
- + ", height: " + height);
- return null;
- }
- return Bitmap.createBitmap(width, height, Bitmap.Config.RGB_565);
- }*/
-
public void set(Bitmap image) {
mContent.setImageBitmap(image);
}