summaryrefslogtreecommitdiffstats
path: root/src/com/android/browser/view
diff options
context:
space:
mode:
authorKulanthaivel Palanichamy <kulanthaivel@codeaurora.org>2015-01-29 19:32:14 -0800
committerWebTech Code Review <code-review@localhost>2015-02-03 15:30:47 -0800
commita94b4d312f8d19d7cfbfdc7215d662d03b4ea6f1 (patch)
treeeadefc8627aafb1d40b9b03dfdd2263fa98f00b6 /src/com/android/browser/view
parent361ac5c727a84545e5dd6915344d6fce2cdd5a28 (diff)
downloadandroid_packages_apps_Gello-a94b4d312f8d19d7cfbfdc7215d662d03b4ea6f1.tar.gz
android_packages_apps_Gello-a94b4d312f8d19d7cfbfdc7215d662d03b4ea6f1.tar.bz2
android_packages_apps_Gello-a94b4d312f8d19d7cfbfdc7215d662d03b4ea6f1.zip
Cleanup Bookmarks, History, and SavedPages screen
- Redesigned bookmark thumbnail view - Custom ImageView to scale the thumbnail properly - Fix column count in bookmark expandable view - Disable GroupView if we have only one account in bookmark Change-Id: I2fccae50b9e96c909744bd5c7d0af7b373136c54
Diffstat (limited to 'src/com/android/browser/view')
-rw-r--r--src/com/android/browser/view/BookmarkContainer.java4
-rw-r--r--src/com/android/browser/view/BookmarkExpandableView.java13
-rw-r--r--src/com/android/browser/view/BookmarkThumbImageView.java78
3 files changed, 92 insertions, 3 deletions
diff --git a/src/com/android/browser/view/BookmarkContainer.java b/src/com/android/browser/view/BookmarkContainer.java
index 5175589d..54f281cc 100644
--- a/src/com/android/browser/view/BookmarkContainer.java
+++ b/src/com/android/browser/view/BookmarkContainer.java
@@ -24,9 +24,9 @@ import android.util.AttributeSet;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewConfiguration;
-import android.widget.RelativeLayout;
+import android.widget.LinearLayout;
-public class BookmarkContainer extends RelativeLayout implements OnClickListener {
+public class BookmarkContainer extends LinearLayout implements OnClickListener {
private OnClickListener mClickListener;
private boolean mIgnoreRequestLayout = false;
diff --git a/src/com/android/browser/view/BookmarkExpandableView.java b/src/com/android/browser/view/BookmarkExpandableView.java
index aec00ffb..db19c339 100644
--- a/src/com/android/browser/view/BookmarkExpandableView.java
+++ b/src/com/android/browser/view/BookmarkExpandableView.java
@@ -109,7 +109,8 @@ public class BookmarkExpandableView extends ExpandableListView
LayoutInflater infalter = LayoutInflater.from(mContext);
View v = infalter.inflate(layout, this, false);
v.measure(MeasureSpec.UNSPECIFIED, MeasureSpec.UNSPECIFIED);
- mColumnWidth = v.getMeasuredWidth();
+ int margin = getResources().getDimensionPixelSize(R.dimen.combo_bookmark_thumbnail_margin);
+ mColumnWidth = v.getMeasuredWidth() + (margin * 2);
}
public void clearAccounts() {
@@ -402,6 +403,16 @@ public class BookmarkExpandableView extends ExpandableListView
if (view == null) {
view = mInflater.inflate(R.layout.bookmark_group_view, parent, false);
view.setOnClickListener(mGroupOnClickListener);
+ if (getGroupCount() == 1 && isExpanded) {
+ // Hide the group view if we have only one group in this expandable list.
+ ViewGroup.LayoutParams lp = view.getLayoutParams();
+ lp.height = 0;
+ view.setLayoutParams(lp);
+ view.setVisibility(View.INVISIBLE);
+ if (parent instanceof ExpandableListView) {
+ ((ExpandableListView) parent).setGroupIndicator(null);
+ }
+ }
}
view.setTag(R.id.group_position, groupPosition);
FrameLayout crumbHolder = (FrameLayout) view.findViewById(R.id.crumb_holder);
diff --git a/src/com/android/browser/view/BookmarkThumbImageView.java b/src/com/android/browser/view/BookmarkThumbImageView.java
new file mode 100644
index 00000000..50b35447
--- /dev/null
+++ b/src/com/android/browser/view/BookmarkThumbImageView.java
@@ -0,0 +1,78 @@
+/*
+ * Copyright (c) 2015, The Linux Foundation. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials provided
+ * with the distribution.
+ * * Neither the name of The Linux Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+ * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+package com.android.browser.view;
+
+import android.content.Context;
+import android.graphics.Matrix;
+import android.graphics.drawable.Drawable;
+import android.util.AttributeSet;
+import android.widget.ImageView;
+
+public class BookmarkThumbImageView extends ImageView {
+
+ public BookmarkThumbImageView(Context context) {
+ this(context, null);
+ }
+
+ public BookmarkThumbImageView(Context context, AttributeSet attrs) {
+ this(context, attrs, 0);
+ }
+
+ public BookmarkThumbImageView(Context context, AttributeSet attrs, int defStyleAttr) {
+ super(context, attrs, defStyleAttr);
+ }
+
+ @Override
+ public void setImageDrawable(Drawable drawable) {
+ int drawableWidth = drawable.getIntrinsicWidth();
+ int drawableHeight = drawable.getIntrinsicHeight();
+ int containerWidth = getWidth() - getPaddingLeft() - getPaddingRight();
+ int containerHeight = getHeight() - getPaddingTop() - getPaddingBottom();
+
+ float scale;
+ Matrix m = new Matrix();
+ if ( (drawableWidth * containerHeight) > (containerWidth * drawableHeight)) {
+ scale = (float) containerHeight / (float) drawableHeight;
+ } else {
+ scale = (float) containerWidth / (float) drawableWidth;
+ float translateY = (containerHeight - drawableHeight * scale) / 2;
+ if (translateY < 0) {
+ translateY = 0;
+ }
+ m.postTranslate(0, translateY + 0.5f);
+ }
+ m.setScale(scale, scale);
+
+ this.setScaleType(ScaleType.MATRIX);
+ this.setImageMatrix(m);
+ super.setImageDrawable(drawable);
+ }
+}