| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 package org.chromium.chrome.browser.payments; | 5 package org.chromium.chrome.browser.payments; |
| 6 | 6 |
| 7 import android.content.Context; |
| 8 import android.graphics.Bitmap; |
| 9 import android.graphics.drawable.BitmapDrawable; |
| 10 |
| 7 import org.chromium.base.annotations.CalledByNative; | 11 import org.chromium.base.annotations.CalledByNative; |
| 8 import org.chromium.base.annotations.SuppressFBWarnings; | 12 import org.chromium.base.annotations.SuppressFBWarnings; |
| 13 import org.chromium.chrome.browser.ChromeActivity; |
| 9 import org.chromium.content_public.browser.WebContents; | 14 import org.chromium.content_public.browser.WebContents; |
| 10 import org.chromium.payments.mojom.PaymentDetailsModifier; | 15 import org.chromium.payments.mojom.PaymentDetailsModifier; |
| 11 import org.chromium.payments.mojom.PaymentItem; | 16 import org.chromium.payments.mojom.PaymentItem; |
| 12 import org.chromium.payments.mojom.PaymentMethodData; | 17 import org.chromium.payments.mojom.PaymentMethodData; |
| 13 | 18 |
| 14 import java.util.ArrayList; | 19 import java.util.ArrayList; |
| 15 import java.util.HashSet; | 20 import java.util.HashSet; |
| 16 import java.util.List; | 21 import java.util.List; |
| 17 import java.util.Set; | 22 import java.util.Set; |
| 18 | 23 |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 55 modifiers.toArray(new PaymentDetailsModifier[0]), instrumentId,
callback); | 60 modifiers.toArray(new PaymentDetailsModifier[0]), instrumentId,
callback); |
| 56 } | 61 } |
| 57 | 62 |
| 58 @CalledByNative | 63 @CalledByNative |
| 59 private static List<PaymentInstrument> createInstrumentList() { | 64 private static List<PaymentInstrument> createInstrumentList() { |
| 60 return new ArrayList<PaymentInstrument>(); | 65 return new ArrayList<PaymentInstrument>(); |
| 61 } | 66 } |
| 62 | 67 |
| 63 @CalledByNative | 68 @CalledByNative |
| 64 private static void addInstrument(List<PaymentInstrument> instruments, WebCo
ntents webContents, | 69 private static void addInstrument(List<PaymentInstrument> instruments, WebCo
ntents webContents, |
| 65 long swRegistrationId, String instrumentId, String label, String[] m
ethodNameArray) { | 70 long swRegistrationId, String instrumentId, String label, String[] m
ethodNameArray, |
| 71 Bitmap icon) { |
| 72 Context context = ChromeActivity.fromWebContents(webContents); |
| 73 if (context == null) return; |
| 74 |
| 66 Set<String> methodNames = new HashSet<String>(); | 75 Set<String> methodNames = new HashSet<String>(); |
| 67 for (int i = 0; i < methodNameArray.length; i++) { | 76 for (int i = 0; i < methodNameArray.length; i++) { |
| 68 methodNames.add(methodNameArray[i]); | 77 methodNames.add(methodNameArray[i]); |
| 69 } | 78 } |
| 70 instruments.add(new ServiceWorkerPaymentInstrument( | 79 |
| 71 webContents, swRegistrationId, instrumentId, label, methodNames)
); | 80 instruments.add( |
| 81 new ServiceWorkerPaymentInstrument(webContents, swRegistrationId
, instrumentId, |
| 82 label, methodNames, new BitmapDrawable(context.getResour
ces(), icon))); |
| 72 } | 83 } |
| 73 | 84 |
| 74 @CalledByNative | 85 @CalledByNative |
| 75 private static String[] getSupportedMethodsFromMethodData(PaymentMethodData
data) { | 86 private static String[] getSupportedMethodsFromMethodData(PaymentMethodData
data) { |
| 76 return data.supportedMethods; | 87 return data.supportedMethods; |
| 77 } | 88 } |
| 78 | 89 |
| 79 @CalledByNative | 90 @CalledByNative |
| 80 private static String getStringifiedDataFromMethodData(PaymentMethodData dat
a) { | 91 private static String getStringifiedDataFromMethodData(PaymentMethodData dat
a) { |
| 81 return data.stringifiedData; | 92 return data.stringifiedData; |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 142 /* | 153 /* |
| 143 * TODO(tommyt): crbug.com/505554. Change the |callback| parameter below to | 154 * TODO(tommyt): crbug.com/505554. Change the |callback| parameter below to |
| 144 * be of type PaymentInstrument.InstrumentDetailsCallback, once this JNI bug | 155 * be of type PaymentInstrument.InstrumentDetailsCallback, once this JNI bug |
| 145 * has been resolved. | 156 * has been resolved. |
| 146 */ | 157 */ |
| 147 private static native void nativeInvokePaymentApp(WebContents webContents, l
ong registrationId, | 158 private static native void nativeInvokePaymentApp(WebContents webContents, l
ong registrationId, |
| 148 String topLevelOrigin, String paymentRequestOrigin, String paymentRe
questId, | 159 String topLevelOrigin, String paymentRequestOrigin, String paymentRe
questId, |
| 149 PaymentMethodData[] methodData, PaymentItem total, PaymentDetailsMod
ifier[] modifiers, | 160 PaymentMethodData[] methodData, PaymentItem total, PaymentDetailsMod
ifier[] modifiers, |
| 150 String instrumentKey, Object callback); | 161 String instrumentKey, Object callback); |
| 151 } | 162 } |
| OLD | NEW |