diff options
Diffstat (limited to 'src/com/android/browser/SnapshotBar.java')
| -rw-r--r-- | src/com/android/browser/SnapshotBar.java | 209 |
1 files changed, 0 insertions, 209 deletions
diff --git a/src/com/android/browser/SnapshotBar.java b/src/com/android/browser/SnapshotBar.java deleted file mode 100644 index 51e1226c3..000000000 --- a/src/com/android/browser/SnapshotBar.java +++ /dev/null @@ -1,209 +0,0 @@ -/* - * Copyright (C) 2011 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.android.browser; - -import android.content.Context; -import android.graphics.Bitmap; -import android.os.Handler; -import android.os.Message; -import android.text.TextUtils; -import android.util.AttributeSet; -import android.view.MenuItem; -import android.view.View; -import android.view.View.OnClickListener; -import android.view.ViewConfiguration; -import android.view.ViewPropertyAnimator; -import android.widget.ImageView; -import android.widget.LinearLayout; -import android.widget.PopupMenu.OnMenuItemClickListener; -import android.widget.TextView; - -import com.android.browser.UI.ComboViews; - -import java.text.DateFormat; -import java.util.Date; - -public class SnapshotBar extends LinearLayout implements OnClickListener { - - private static final int MSG_SHOW_TITLE = 1; - private static final long DURATION_SHOW_DATE = BaseUi.HIDE_TITLEBAR_DELAY; - - private ImageView mFavicon; - private TextView mDate; - private TextView mTitle; - private View mBookmarks; - private TitleBar mTitleBar; - private View mTabSwitcher; - private View mOverflowMenu; - private View mToggleContainer; - private boolean mIsAnimating; - private ViewPropertyAnimator mTitleAnimator, mDateAnimator; - private float mAnimRadius = 20f; - - public SnapshotBar(Context context) { - super(context); - } - - public SnapshotBar(Context context, AttributeSet attrs) { - super(context, attrs); - } - - public SnapshotBar(Context context, AttributeSet attrs, int defStyle) { - super(context, attrs, defStyle); - } - - public void setTitleBar(TitleBar titleBar) { - mTitleBar = titleBar; - setFavicon(null); - } - - private Handler mHandler = new Handler() { - @Override - public void handleMessage(Message msg) { - if (msg.what == MSG_SHOW_TITLE) { - mIsAnimating = false; - showTitle(); - mTitleBar.getUi().showTitleBarForDuration(); - } - } - }; - - @Override - protected void onFinishInflate() { - super.onFinishInflate(); - mFavicon = (ImageView) findViewById(R.id.favicon); - mDate = (TextView) findViewById(R.id.date); - mTitle = (TextView) findViewById(R.id.title); - mBookmarks = findViewById(R.id.all_btn); - mTabSwitcher = findViewById(R.id.tab_switcher); - mOverflowMenu = findViewById(R.id.more); - mToggleContainer = findViewById(R.id.toggle_container); - - if (mBookmarks != null) { - mBookmarks.setOnClickListener(this); - } - if (mTabSwitcher != null) { - mTabSwitcher.setOnClickListener(this); - } - if (mOverflowMenu != null) { - mOverflowMenu.setOnClickListener(this); - boolean showMenu = !ViewConfiguration.get(getContext()) - .hasPermanentMenuKey(); - mOverflowMenu.setVisibility(showMenu ? VISIBLE : GONE); - } - if (mToggleContainer != null) { - mToggleContainer.setOnClickListener(this); - resetAnimation(); - } - } - - @Override - protected void onLayout(boolean changed, int l, int t, int r, int b) { - super.onLayout(changed, l, t, r, b); - if (mToggleContainer != null) { - mAnimRadius = mToggleContainer.getHeight() / 2f; - } - } - - void resetAnimation() { - if (mToggleContainer == null) { - // No animation needed/used - return; - } - if (mTitleAnimator != null) { - mTitleAnimator.cancel(); - mTitleAnimator = null; - } - if (mDateAnimator != null) { - mDateAnimator.cancel(); - mDateAnimator = null; - } - mIsAnimating = false; - mHandler.removeMessages(MSG_SHOW_TITLE); - mTitle.setAlpha(1f); - mTitle.setTranslationY(0f); - mTitle.setRotationX(0f); - mDate.setAlpha(0f); - mDate.setTranslationY(-mAnimRadius); - mDate.setRotationX(90f); - } - - private void showDate() { - mTitleAnimator = mTitle.animate() - .alpha(0f) - .translationY(mAnimRadius) - .rotationX(-90f); - mDateAnimator = mDate.animate() - .alpha(1f) - .translationY(0f) - .rotationX(0f); - } - - private void showTitle() { - mTitleAnimator = mTitle.animate() - .alpha(1f) - .translationY(0f) - .rotationX(0f); - mDateAnimator = mDate.animate() - .alpha(0f) - .translationY(-mAnimRadius) - .rotationX(90f); - } - - @Override - public void onClick(View v) { - if (mBookmarks == v) { - mTitleBar.getUiController().bookmarksOrHistoryPicker(ComboViews.Bookmarks); - } else if (mTabSwitcher == v) { - ((PhoneUi) mTitleBar.getUi()).toggleNavScreen(); - } else if (mOverflowMenu == v) { - NavigationBarBase navBar = mTitleBar.getNavigationBar(); - if (navBar instanceof NavigationBarPhone) { - ((NavigationBarPhone)navBar).showMenu(mOverflowMenu); - } - } else if (mToggleContainer == v && !mIsAnimating) { - mIsAnimating = true; - showDate(); - mTitleBar.getUi().showTitleBar(); - Message m = mHandler.obtainMessage(MSG_SHOW_TITLE); - mHandler.sendMessageDelayed(m, DURATION_SHOW_DATE); - } - } - - public void onTabDataChanged(Tab tab) { - if (!tab.isSnapshot()) return; - SnapshotTab snapshot = (SnapshotTab) tab; - DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.LONG); - mDate.setText(dateFormat.format(new Date(snapshot.getDateCreated()))); - String title = snapshot.getTitle(); - if (TextUtils.isEmpty(title)) { - title = UrlUtils.stripUrl(snapshot.getUrl()); - } - mTitle.setText(title); - setFavicon(tab.getFavicon()); - resetAnimation(); - } - - public void setFavicon(Bitmap icon) { - if (mFavicon == null) return; - mFavicon.setImageDrawable(mTitleBar.getUi().getFaviconDrawable(icon)); - } - - public boolean isAnimating() { - return mIsAnimating; - } - -} |
