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

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

Issue 868663009: Add infobar layout for app install banners. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebased Created 5 years, 10 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/AppBannerInfoBar.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/infobar/AppBannerInfoBar.java b/chrome/android/java/src/org/chromium/chrome/browser/infobar/AppBannerInfoBar.java
index 123b6aa07628693e593e3a1607f002e4c4b7331b..66eaaf663f684082ea59be5ff196d38906438b2a 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/infobar/AppBannerInfoBar.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/infobar/AppBannerInfoBar.java
@@ -5,9 +5,14 @@
package org.chromium.chrome.browser.infobar;
import android.content.Context;
+import android.content.res.Resources;
import android.graphics.Bitmap;
+import android.view.LayoutInflater;
import android.view.View;
+import android.view.ViewGroup;
import android.widget.Button;
+import android.widget.ImageView;
+import android.widget.RatingBar;
import android.widget.TextView;
import org.chromium.base.ApplicationStatus;
@@ -26,7 +31,7 @@ public class AppBannerInfoBar extends ConfirmInfoBar implements View.OnClickList
// Views composing the infobar.
private Button mButton;
- private View mTitleView;
+ private ViewGroup mTitleView;
private View mIconView;
private final String mAppTitle;
@@ -58,32 +63,45 @@ public class AppBannerInfoBar extends ConfirmInfoBar implements View.OnClickList
@Override
public void createContent(InfoBarLayout layout) {
- if (mAppUrl != null) {
- TextView url = new TextView(layout.getContext());
- url.setText(mAppUrl);
- layout.setCustomContent(url);
- }
-
super.createContent(layout);
- mButton = (Button) layout.findViewById(R.id.button_primary);
- mTitleView = layout.findViewById(R.id.infobar_message);
+ mButton = layout.getPrimaryButton();
+ mIconView = layout.getIcon();
- // TODO(dfalcantara): Grab the icon from the layout.
- // mIconView = layout.findViewById(R.id.infobar_icon);
+ Resources res = getContext().getResources();
+ int iconSize = res.getDimensionPixelSize(R.dimen.app_banner_infobar_icon_size);
+ int iconSpacing = res.getDimensionPixelSize(R.dimen.app_banner_infobar_icon_spacing);
+ layout.setIconSizeAndSpacing(iconSize, iconSize, iconSpacing);
- assert mButton != null && mTitleView != null;
+ mTitleView = (ViewGroup) LayoutInflater.from(getContext()).inflate(
+ R.layout.app_banner_title, null);
+ TextView appName = (TextView) mTitleView.findViewById(R.id.app_name);
+ RatingBar ratingView = (RatingBar) mTitleView.findViewById(R.id.rating_bar);
+ TextView webAppUrl = (TextView) mTitleView.findViewById(R.id.web_app_url);
+ appName.setText(mAppTitle);
+ layout.setMessageView(mTitleView);
- // Set up accessibility text.
Context context = getContext();
if (mAppData != null) {
+ // Native app.
+ ImageView playLogo = new ImageView(layout.getContext());
+ playLogo.setImageResource(R.drawable.google_play);
+ layout.setCustomViewInButtonRow(playLogo);
+
+ ratingView.setRating(mAppData.rating());
+ layout.getPrimaryButton().setButtonColor(getContext().getResources().getColor(
+ R.color.app_banner_install_button_bg));
layout.setContentDescription(context.getString(
R.string.app_banner_view_native_app_accessibility, mAppTitle,
mAppData.rating()));
+ mTitleView.removeView(webAppUrl);
} else {
+ // Web app.
+ webAppUrl.setText(mAppUrl);
layout.setContentDescription(context.getString(
R.string.app_banner_view_web_app_accessibility, mAppTitle,
mAppUrl));
+ mTitleView.removeView(ratingView);
}
// Set up clicking on the controls to bring up the app details.
« no previous file with comments | « chrome/android/java/res/values/dimens.xml ('k') | chrome/android/java/src/org/chromium/chrome/browser/infobar/InfoBar.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698