Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3532)

Unified Diff: chrome/android/java_staging/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkFolder.java

Issue 1141283003: Upstream oodles of Chrome for Android code into Chromium. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: final patch? Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/android/java_staging/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkFolder.java
diff --git a/chrome/android/java_staging/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkFolder.java b/chrome/android/java_staging/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkFolder.java
new file mode 100644
index 0000000000000000000000000000000000000000..493a5db6fbf5c629331e807ba73ee3ff4282af93
--- /dev/null
+++ b/chrome/android/java_staging/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkFolder.java
@@ -0,0 +1,120 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.chrome.browser.enhancedbookmarks;
+
+import android.annotation.SuppressLint;
+import android.content.Context;
+import android.graphics.BitmapFactory;
+import android.graphics.drawable.BitmapDrawable;
+import android.util.AttributeSet;
+import android.view.View;
+import android.widget.FrameLayout;
+import android.widget.TextView;
+
+import com.google.android.apps.chrome.R;
+
+import org.chromium.base.ApiCompatibilityUtils;
+import org.chromium.chrome.browser.enhancedbookmarks.EnhancedBookmarkItemsAdapter.BookmarkGrid;
+import org.chromium.chrome.browser.widget.CustomShapeDrawable.DarkBackgroundCircularDrawable;
+import org.chromium.chrome.browser.widget.TintedDrawable;
+import org.chromium.components.bookmarks.BookmarkId;
+
+/**
+ * A view that shows a bookmark folder's title, in the enhanced bookmarks UI.
+ */
+abstract class EnhancedBookmarkFolder extends FrameLayout implements BookmarkGrid {
+
+ @SuppressLint("Instantiatable")
+ static class EnhancedBookmarkListFolder extends EnhancedBookmarkFolder {
+ public EnhancedBookmarkListFolder(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ }
+
+ @Override
+ protected void setupIcon() {
+ DarkBackgroundCircularDrawable icon = new DarkBackgroundCircularDrawable(
+ BitmapFactory.decodeResource(getResources(), R.drawable.eb_folder));
+ int size = getResources().getDimensionPixelSize(
+ R.dimen.enhanced_bookmark_folder_item_icon_size);
+ icon.setBounds(0, 0, size, size);
+ ApiCompatibilityUtils.setCompoundDrawablesRelative(mTitle, icon, null, null, null);
+ }
+ }
+
+ @SuppressLint("Instantiatable")
+ static class EnhancedBookmarkGridFolder extends EnhancedBookmarkFolder {
+ public EnhancedBookmarkGridFolder(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ }
+
+ @Override
+ protected void setupIcon() {
+ BitmapDrawable icon = TintedDrawable.constructTintedDrawable(
+ getResources(), R.drawable.eb_folder);
+ ApiCompatibilityUtils.setCompoundDrawablesRelativeWithIntrinsicBounds(
+ mTitle, icon, null, null, null);
+ }
+ }
+
+ private BookmarkId mBookmarkId;
+ private EnhancedBookmarkItemHighlightView mHighlightView;
+ private EnhancedBookmarkDelegate mDelegate;
+ protected TextView mTitle;
+
+ /**
+ * Constructor for inflating from XML.
+ */
+ public EnhancedBookmarkFolder(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ }
+
+ @Override
+ protected void onFinishInflate() {
+ super.onFinishInflate();
+ mHighlightView = (EnhancedBookmarkItemHighlightView) findViewById(R.id.highlight);
+ mTitle = (TextView) findViewById(R.id.title);
+ setupIcon();
+ }
+
+ protected abstract void setupIcon();
+
+ @Override
+ public void setBookmarkId(BookmarkId bookmarkId) {
+ mBookmarkId = bookmarkId;
+ mTitle.setText(mDelegate.getModel().getBookmarkTitle(bookmarkId));
+ }
+
+ @Override
+ public BookmarkId getBookmarkId() {
+ return mBookmarkId;
+ }
+
+ /**
+ * Sets the delegate the folder holds.
+ */
+ void setDelegate(EnhancedBookmarkDelegate delegate) {
+ mDelegate = delegate;
+ }
+
+ @Override
+ public boolean isChecked() {
+ return mHighlightView.isChecked();
+ }
+
+ @Override
+ public void toggle() {
+ setChecked(!isChecked());
+ }
+
+ @Override
+ public void setChecked(boolean checked) {
+ mHighlightView.setChecked(checked);
+ }
+
+ @Override
+ public void onClick(View v) {
+ mDelegate.openFolder(mBookmarkId);
+ }
+}

Powered by Google App Engine
This is Rietveld 408576698