diff options
author | Pankaj Garg <pgarg@codeaurora.org> | 2015-07-07 17:29:03 -0700 |
---|---|---|
committer | jrizzoli <joey@cyanogenmoditalia.it> | 2015-08-28 13:15:45 +0200 |
commit | 66f8cef21dee091292fdf8aa346c829ff43ed26a (patch) | |
tree | 63d19529694099c2a235ccee1ecf2d3c31061448 /src/com/android/browser/NavigationBarTablet.java | |
parent | 33551ffea822cb02d1ad88f5a33e046e98eca43f (diff) | |
download | android_packages_apps_Gello-66f8cef21dee091292fdf8aa346c829ff43ed26a.tar.gz android_packages_apps_Gello-66f8cef21dee091292fdf8aa346c829ff43ed26a.tar.bz2 android_packages_apps_Gello-66f8cef21dee091292fdf8aa346c829ff43ed26a.zip |
NavigationBar code cleanup
- Unified code for phone and tablet UI
- Chagned Favicon to use Tiles
- Updates to Tile class
Change-Id: Iecb699a3e5eb848db149705a9142f8f199f02c04
Diffstat (limited to 'src/com/android/browser/NavigationBarTablet.java')
-rw-r--r-- | src/com/android/browser/NavigationBarTablet.java | 177 |
1 files changed, 8 insertions, 169 deletions
diff --git a/src/com/android/browser/NavigationBarTablet.java b/src/com/android/browser/NavigationBarTablet.java index c6c88cd3..ce482d94 100644 --- a/src/com/android/browser/NavigationBarTablet.java +++ b/src/com/android/browser/NavigationBarTablet.java @@ -15,18 +15,10 @@ */ package com.android.browser; -import android.animation.Animator; -import android.animation.AnimatorListenerAdapter; -import android.animation.AnimatorSet; -import android.animation.ObjectAnimator; import android.content.Context; import android.content.Intent; import android.content.res.Configuration; import android.content.res.Resources; -import android.graphics.Bitmap; -import android.graphics.drawable.Drawable; -import android.os.Bundle; -import android.text.TextUtils; import android.util.AttributeSet; import android.view.View; import android.widget.ImageButton; @@ -34,33 +26,17 @@ import android.widget.ImageView; import com.android.browser.UI.ComboViews; import com.android.browser.UrlInputView.StateListener; -import com.android.browser.preferences.SiteSpecificPreferencesFragment; - -import org.codeaurora.swe.WebRefiner; -import org.codeaurora.swe.WebView; - -import java.io.ByteArrayOutputStream; public class NavigationBarTablet extends NavigationBarBase implements StateListener { - private Drawable mStopDrawable; - private Drawable mReloadDrawable; - private String mStopDescription; - private String mRefreshDescription; - private View mUrlContainer; private ImageButton mBackButton; private ImageButton mForwardButton; private ImageView mStar; - private ImageView mUrlIcon; private ImageView mSearchButton; - private ImageView mStopButton; private View mAllButton; - private View mClearButton; - private View mVoiceButton; private View mNavButtons; private boolean mHideNavButtons; - private Drawable mFaviconDrawable; public NavigationBarTablet(Context context) { super(context); @@ -78,41 +54,26 @@ public class NavigationBarTablet extends NavigationBarBase implements StateListe } private void init(Context context) { - Resources resources = context.getResources(); - mStopDrawable = resources.getDrawable(R.drawable.ic_action_stop); - mReloadDrawable = resources.getDrawable(R.drawable.ic_action_reload); - mStopDescription = resources.getString(R.string.accessibility_button_stop); - mRefreshDescription = resources.getString(R.string.accessibility_button_refresh); - mHideNavButtons = resources.getBoolean(R.bool.hide_nav_buttons); + mHideNavButtons = getResources().getBoolean(R.bool.hide_nav_buttons); } @Override protected void onFinishInflate() { super.onFinishInflate(); mAllButton = findViewById(R.id.all_btn); - // TODO: Change enabled states based on whether you can go - // back/forward. Probably should be done inside onPageStarted. mNavButtons = findViewById(R.id.navbuttons); mBackButton = (ImageButton) findViewById(R.id.back); mForwardButton = (ImageButton) findViewById(R.id.forward); - mUrlIcon = (ImageView) findViewById(R.id.url_icon); mStar = (ImageView) findViewById(R.id.star); - mStopButton = (ImageView) findViewById(R.id.stop); mSearchButton = (ImageView) findViewById(R.id.search); - mClearButton = findViewById(R.id.clear); - mVoiceButton = findViewById(R.id.voice); mUrlContainer = findViewById(R.id.urlbar_focused); mBackButton.setOnClickListener(this); mForwardButton.setOnClickListener(this); mStar.setOnClickListener(this); mAllButton.setOnClickListener(this); - mStopButton.setOnClickListener(this); mSearchButton.setOnClickListener(this); - mClearButton.setOnClickListener(this); - mVoiceButton.setOnClickListener(this); mUrlInput.setContainer(mUrlContainer); mUrlInput.setStateListener(this); - mUrlIcon.setOnClickListener(this); } public void onConfigurationChanged(Configuration config) { @@ -121,14 +82,9 @@ public class NavigationBarTablet extends NavigationBarBase implements StateListe mHideNavButtons = res.getBoolean(R.bool.hide_nav_buttons); if (mUrlInput.hasFocus()) { if (mHideNavButtons && (mNavButtons.getVisibility() == View.VISIBLE)) { - int aw = mNavButtons.getMeasuredWidth(); - mNavButtons.setVisibility(View.GONE); - mNavButtons.setAlpha(0f); - mNavButtons.setTranslationX(-aw); + hideNavButtons(); } else if (!mHideNavButtons && (mNavButtons.getVisibility() == View.GONE)) { - mNavButtons.setVisibility(View.VISIBLE); - mNavButtons.setAlpha(1f); - mNavButtons.setTranslationX(0); + showNavButtons(); } } } @@ -144,7 +100,6 @@ public class NavigationBarTablet extends NavigationBarBase implements StateListe mBackButton.setEnabled(tab.canGoBack()); mForwardButton.setEnabled(tab.canGoForward()); } - updateUrlIcon(); } @Override @@ -173,47 +128,11 @@ public class NavigationBarTablet extends NavigationBarBase implements StateListe mUiController.bookmarksOrHistoryPicker(ComboViews.Bookmarks); } else if (mSearchButton == v) { mBaseUi.editUrl(true, true); - } else if (mStopButton == v) { - stopOrRefresh(); - } else if (mClearButton == v) { - clearOrClose(); - } else if (mVoiceButton == v) { - mUiController.startVoiceRecognizer(); - } else if (mUrlIcon == v) { - showSiteSpecificSettings(); } else { super.onClick(v); } } - private void clearOrClose() { - if (TextUtils.isEmpty(mUrlInput.getText())) { - // close - mUrlInput.clearFocus(); - } else { - // clear - mUrlInput.setText(""); - } - } - - @Override - public void setFavicon(Bitmap icon) { - super.setFavicon(icon); - mFaviconDrawable = mBaseUi.getFaviconDrawable(icon); - updateUrlIcon(); - } - - void updateUrlIcon() { - if (mUrlInput.hasFocus()) { - mUrlIcon.setImageResource(R.drawable.ic_action_search_normal); - } else { - if (mFaviconDrawable == null) { - mFaviconDrawable = mBaseUi.getFaviconDrawable(null); - } - mUrlIcon.setImageDrawable(mFaviconDrawable); - } - } - @Override protected void setFocusState(boolean focus) { super.setFocusState(focus); @@ -223,85 +142,26 @@ public class NavigationBarTablet extends NavigationBarBase implements StateListe } mSearchButton.setVisibility(View.GONE); mStar.setVisibility(View.GONE); - mUrlIcon.setImageResource(R.drawable.ic_action_search_normal); } else { if (mHideNavButtons) { showNavButtons(); } showHideStar(mUiController.getCurrentTab()); mSearchButton.setVisibility(View.VISIBLE); - updateUrlIcon(); - } - } - - private void stopOrRefresh() { - if (mUiController == null) return; - if (mTitleBar.isInLoad()) { - mUiController.stopLoading(); - } else { - if (mUiController.getCurrentTopWebView() != null) { - Tab currTab = mUiController.getTabControl().getCurrentTab(); - mUiController.getCurrentTopWebView().reload(); - } } } - @Override - public void onProgressStarted() { - mStopButton.setImageDrawable(mStopDrawable); - mStopButton.setContentDescription(mStopDescription); - } - - @Override - public void onProgressStopped() { - mStopButton.setImageDrawable(mReloadDrawable); - mStopButton.setContentDescription(mRefreshDescription); - } - - private AnimatorSet mAnimation; - private void hideNavButtons() { - if (mBaseUi.blockFocusAnimations()) { - mNavButtons.setVisibility(View.GONE); - return; - } - int awidth = mNavButtons.getMeasuredWidth(); - Animator anim1 = ObjectAnimator.ofFloat(mNavButtons, View.TRANSLATION_X, 0, - awidth); - Animator anim2 = ObjectAnimator.ofInt(mUrlContainer, "left", mUrlContainer.getLeft(), - mUrlContainer.getPaddingLeft()); - Animator anim3 = ObjectAnimator.ofFloat(mNavButtons, View.ALPHA, 1f, 0f); - mAnimation = new AnimatorSet(); - mAnimation.playTogether(anim1, anim2, anim3); - mAnimation.addListener(new AnimatorListenerAdapter() { - @Override - public void onAnimationEnd(Animator animation) { - mNavButtons.setVisibility(View.GONE); - mAnimation = null; - } - }); - mAnimation.setDuration(150); - mAnimation.start(); + int aw = mNavButtons.getMeasuredWidth(); + mNavButtons.setVisibility(View.GONE); + mNavButtons.setAlpha(0f); + mNavButtons.setTranslationX(-aw); } private void showNavButtons() { - if (mAnimation != null) { - mAnimation.cancel(); - } mNavButtons.setVisibility(View.VISIBLE); + mNavButtons.setAlpha(1f); mNavButtons.setTranslationX(0); - if (!mBaseUi.blockFocusAnimations()) { - int awidth = mNavButtons.getMeasuredWidth(); - Animator anim1 = ObjectAnimator.ofFloat(mNavButtons, - View.TRANSLATION_X, -awidth, 0); - Animator anim2 = ObjectAnimator.ofInt(mUrlContainer, "left", 0, - awidth); - Animator anim3 = ObjectAnimator.ofFloat(mNavButtons, View.ALPHA, - 0f, 1f); - AnimatorSet combo = new AnimatorSet(); - combo.playTogether(anim1, anim2, anim3); - combo.setDuration(150); - combo.start(); - } } private void showHideStar(Tab tab) { @@ -315,25 +175,4 @@ public class NavigationBarTablet extends NavigationBarBase implements StateListe mStar.setVisibility(starVisibility); } } - - @Override - public void onStateChanged(int state) { - super.onStateChanged(state); - mVoiceButton.setVisibility(View.GONE); - switch(state) { - case STATE_NORMAL: - mClearButton.setVisibility(View.GONE); - break; - case STATE_HIGHLIGHTED: - mClearButton.setVisibility(View.GONE); - if ((mUiController != null) && mUiController.supportsVoice()) { - mVoiceButton.setVisibility(View.VISIBLE); - } - break; - case STATE_EDITED: - mClearButton.setVisibility(View.VISIBLE); - break; - } - } - } |