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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/infobar/InfoBarLayout.java

Issue 889613003: Add support for passing bitmaps to Android infobars (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Comments Created 5 years, 11 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/src/org/chromium/chrome/browser/infobar/InfoBarLayout.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/infobar/InfoBarLayout.java b/chrome/android/java/src/org/chromium/chrome/browser/infobar/InfoBarLayout.java
index a28886ed3546de0706aeaac544e9e4ceaba6c097..399ea215dc9496e164065e8537cd6bbd373344de 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/infobar/InfoBarLayout.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/infobar/InfoBarLayout.java
@@ -7,6 +7,7 @@ package org.chromium.chrome.browser.infobar;
import android.content.Context;
import android.content.res.Resources;
import android.content.res.TypedArray;
+import android.graphics.Bitmap;
import android.graphics.Color;
import android.graphics.drawable.Drawable;
import android.text.TextUtils;
@@ -140,10 +141,11 @@ public class InfoBarLayout extends ViewGroup implements View.OnClickListener {
* @param context The context used to render.
* @param infoBarView InfoBarView that listens to events.
* @param iconResourceId ID of the icon to use for the InfoBar.
+ * @param iconBitmap Bitmap for the icon to use, if the resource ID wasn't passed through.
* @param message The message to show in the infobar.
*/
public InfoBarLayout(Context context, InfoBarView infoBarView, int iconResourceId,
- CharSequence message) {
+ Bitmap iconBitmap, CharSequence message) {
super(context);
mInfoBarView = infoBarView;
@@ -170,13 +172,17 @@ public class InfoBarLayout extends ViewGroup implements View.OnClickListener {
addView(mCloseButton);
// Set up the icon.
- if (iconResourceId != 0) {
+ if (iconResourceId != 0 || iconBitmap != null) {
mIconView = new ImageView(context);
- mIconView.setImageResource(iconResourceId);
- mIconView.setFocusable(false);
+ if (iconResourceId != 0) {
+ mIconView.setImageResource(iconResourceId);
+ } else if (iconBitmap != null) {
+ mIconView.setImageBitmap(iconBitmap);
+ }
mIconView.setLayoutParams(new LayoutParams(0, 0, mMargin / 2, 0));
mIconView.getLayoutParams().width = mIconSize;
mIconView.getLayoutParams().height = mIconSize;
+ mIconView.setFocusable(false);
}
// Set up the message view.
@@ -186,10 +192,10 @@ public class InfoBarLayout extends ViewGroup implements View.OnClickListener {
mMessageView.setLinkTextColor(mAccentColor);
mMessageView.setLayoutParams(new LayoutParams(0, mMargin / 4, 0, 0));
- if (mIconView != null) {
- mMainGroup = addGroup(mIconView, mMessageView);
- } else {
+ if (mIconView == null) {
mMainGroup = addGroup(mMessageView);
+ } else {
+ mMainGroup = addGroup(mIconView, mMessageView);
}
}

Powered by Google App Engine
This is Rietveld 408576698