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

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

Issue 2026353002: [Autofill] Credit Card Assist Infobar (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: cleaning Created 4 years, 4 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/AutofillCreditCardFillingInfoBar.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/infobar/AutofillCreditCardFillingInfoBar.java b/chrome/android/java/src/org/chromium/chrome/browser/infobar/AutofillCreditCardFillingInfoBar.java
new file mode 100644
index 0000000000000000000000000000000000000000..b34ca865a3cb3d80690dac5f80b90a0924404b5b
--- /dev/null
+++ b/chrome/android/java/src/org/chromium/chrome/browser/infobar/AutofillCreditCardFillingInfoBar.java
@@ -0,0 +1,84 @@
+// Copyright 2016 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.infobar;
+
+import android.graphics.Bitmap;
+
+import org.chromium.base.annotations.CalledByNative;
+import org.chromium.chrome.browser.ResourceId;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * An infobar for assisted credit card filling.
+ */
+public class AutofillCreditCardFillingInfoBar extends ConfirmInfoBar {
+ private final List<CardDetail> mCardDetails = new ArrayList<>();
+
+ /**
+ * Creates a new instance of the infobar.
+ *
+ * @param nativeAutofillCreditCardFillingInfoBar The pointer to the native object for callbacks.
+ * @param enumeratedIconId ID corresponding to the icon that will be shown for the InfoBar.
+ * The ID must have been mapped using the ResourceMapper class before
+ * passing it to this function.
+ * @param iconBitmap Bitmap to use if there is no equivalent Java resource for enumeratedIconId.
+ * @param message Message to display to the user indicating what the InfoBar is for.
+ * @param buttonOk String to display on the OK button.
+ * @param buttonCancel String to display on the Cancel button.
+ */
+ private AutofillCreditCardFillingInfoBar(long nativeAutofillCreditCardFillingInfoBar,
+ int enumeratedIconId, Bitmap iconBitmap, String message, String buttonOk,
+ String buttonCancel) {
+ super(ResourceId.mapToDrawableId(enumeratedIconId), iconBitmap, message, null, buttonOk,
+ buttonCancel);
+ }
+
+ /**
+ * Creates an infobar for assisted credit card filling.
+ *
+ * @param nativeAutofillCreditCardFillingInfoBar The pointer to the native object for callbacks.
+ * @param enumeratedIconId ID corresponding to the icon that will be shown for the InfoBar.
+ * The ID must have been mapped using the ResourceMapper class before
+ * passing it to this function.
+ * @param iconBitmap Bitmap to use if there is no equivalent Java resource for enumeratedIconId.
+ * @param message Message to display to the user indicating what the InfoBar is for.
+ * @param buttonOk String to display on the OK button.
+ * @param buttonCancel String to display on the Cancel button.
+ * @return A new instance of the infobar.
+ */
+ @CalledByNative
+ private static AutofillCreditCardFillingInfoBar create(
+ long nativeAutofillCreditCardFillingInfoBar, int enumeratedIconId, Bitmap iconBitmap,
+ String message, String buttonOk, String buttonCancel) {
+ return new AutofillCreditCardFillingInfoBar(nativeAutofillCreditCardFillingInfoBar,
+ enumeratedIconId, iconBitmap, message, buttonOk, buttonCancel);
+ }
+
+ /**
+ * Adds information to the infobar about the credit card that will be proposed for the assist.
+ *
+ * @param enumeratedIconId ID corresponding to the icon that will be shown for this credit card.
+ * The ID must have been mapped using the ResourceMapper class before
+ * passing it to this function.
+ * @param label The credit card label, for example "***1234".
+ * @param subLabel The credit card sub-label, for example "Exp: 06/17".
+ */
+ @CalledByNative
+ private void addDetail(int enumeratedIconId, String label, String subLabel) {
+ mCardDetails.add(new CardDetail(enumeratedIconId, label, subLabel));
+ }
+
+ @Override
+ public void createContent(InfoBarLayout layout) {
+ super.createContent(layout);
+ InfoBarControlLayout control = layout.addControlLayout();
+ for (int i = 0; i < mCardDetails.size(); i++) {
+ CardDetail detail = mCardDetails.get(i);
+ control.addIcon(detail.issuerIconDrawableId, 0, detail.label, detail.subLabel);
+ }
+ }
+}

Powered by Google App Engine
This is Rietveld 408576698