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

Side by Side Diff: chrome/android/java/src/org/chromium/chrome/browser/autofill/CreditCardScanner.java

Issue 2784353002: Android: Remove GetApplicationContext part 2 (Closed)
Patch Set: Fix tests Created 3 years, 8 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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.autofill; 5 package org.chromium.chrome.browser.autofill;
6 6
7 import android.content.Context;
8
9 import org.chromium.base.annotations.SuppressFBWarnings; 7 import org.chromium.base.annotations.SuppressFBWarnings;
10 import org.chromium.content_public.browser.WebContents; 8 import org.chromium.content_public.browser.WebContents;
11 9
12 /** 10 /**
13 * Helper for detecting whether the device supports scanning credit cards and fo r scanning credit 11 * Helper for detecting whether the device supports scanning credit cards and fo r scanning credit
14 * cards. The default implementation cannot scan cards. An implementing subclass must provide a 12 * cards. The default implementation cannot scan cards. An implementing subclass must provide a
15 * factory that builds its instances. 13 * factory that builds its instances.
16 */ 14 */
17 public class CreditCardScanner { 15 public class CreditCardScanner {
18 /** 16 /**
19 * Can be used to build subclasses of the scanner without the user of the cl ass knowing about 17 * Can be used to build subclasses of the scanner without the user of the cl ass knowing about
20 * the subclass name. 18 * the subclass name.
21 */ 19 */
22 private static Factory sFactory; 20 private static Factory sFactory;
23 21
24 /** The delegate to notify of scanning result. */ 22 /** The delegate to notify of scanning result. */
25 protected final Delegate mDelegate; 23 protected final Delegate mDelegate;
26 24
27 /** Application context. Used in subclass. */
28 @SuppressFBWarnings({"URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD"})
29 protected final Context mContext;
30
31 /** The web contents that's requesting a scan. Used in subclass. */ 25 /** The web contents that's requesting a scan. Used in subclass. */
32 @SuppressFBWarnings({"URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD"}) 26 @SuppressFBWarnings({"URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD"})
33 protected final WebContents mWebContents; 27 protected final WebContents mWebContents;
34 28
35 /** Builds instances of credit card scanners. */ 29 /** Builds instances of credit card scanners. */
36 public interface Factory { 30 public interface Factory {
37 /** 31 /**
38 * Builds an instance of credit card scanner. 32 * Builds an instance of credit card scanner.
39 * 33 *
40 * @param context Application context.
41 * @param webContents The web contents that are requesting a scan. 34 * @param webContents The web contents that are requesting a scan.
42 * @param delegate The delegate to notify of scanning result. 35 * @param delegate The delegate to notify of scanning result.
43 * @return An object that can scan a credit card. 36 * @return An object that can scan a credit card.
44 */ 37 */
45 CreditCardScanner create(Context context, WebContents webContents, Deleg ate delegate); 38 CreditCardScanner create(WebContents webContents, Delegate delegate);
46 } 39 }
47 40
48 /** The delegate for credit card scanning. */ 41 /** The delegate for credit card scanning. */
49 public interface Delegate { 42 public interface Delegate {
50 /** 43 /**
51 * Notifies the delegate that scanning was cancelled. 44 * Notifies the delegate that scanning was cancelled.
52 */ 45 */
53 void onScanCancelled(); 46 void onScanCancelled();
54 47
55 /** 48 /**
(...skipping 13 matching lines...) Expand all
69 * 62 *
70 * @param factory Can build instances of credit card scanners. 63 * @param factory Can build instances of credit card scanners.
71 */ 64 */
72 public static void setFactory(Factory factory) { 65 public static void setFactory(Factory factory) {
73 sFactory = factory; 66 sFactory = factory;
74 } 67 }
75 68
76 /** 69 /**
77 * Creates an instance of a credit card scanner. 70 * Creates an instance of a credit card scanner.
78 * 71 *
79 * @param context Application context.
80 * @param webContents The web contents that are requesting a scan. 72 * @param webContents The web contents that are requesting a scan.
81 * @param delegate The delegate to notify of scanning result. 73 * @param delegate The delegate to notify of scanning result.
82 * @return An object that can scan a credit card. 74 * @return An object that can scan a credit card.
83 */ 75 */
84 public static CreditCardScanner create( 76 public static CreditCardScanner create(WebContents webContents, Delegate del egate) {
85 Context context, WebContents webContents, Delegate delegate) { 77 return sFactory != null ? sFactory.create(webContents, delegate)
86 return sFactory != null ? sFactory.create(context, webContents, delegate ) 78 : new CreditCardScanner(webContents, delegate);
87 : new CreditCardScanner(context, webContents, de legate);
88 } 79 }
89 80
90 /** 81 /**
91 * Constructor for the credit card scanner. 82 * Constructor for the credit card scanner.
92 * 83 * @param webContents The web contents that are requesting a scan.
93 * @param context Application context.
94 * @param webContents The web contents that are requesting a scan.
95 * @param delegate The delegate to notify of scanning result. 84 * @param delegate The delegate to notify of scanning result.
96 */ 85 */
97 protected CreditCardScanner(Context context, WebContents webContents, Delega te delegate) { 86 protected CreditCardScanner(WebContents webContents, Delegate delegate) {
98 mContext = context;
99 mWebContents = webContents; 87 mWebContents = webContents;
100 mDelegate = delegate; 88 mDelegate = delegate;
101 } 89 }
102 90
103 /** 91 /**
104 * Returns true if this instance has the ability to scan credit cards. 92 * Returns true if this instance has the ability to scan credit cards.
105 * 93 *
106 * @return True if has ability to scan credit cards. 94 * @return True if has ability to scan credit cards.
107 */ 95 */
108 public boolean canScan() { 96 public boolean canScan() {
109 return false; 97 return false;
110 } 98 }
111 99
112 /** 100 /**
113 * Scans a credit card. Will invoke a delegate callback with the result. 101 * Scans a credit card. Will invoke a delegate callback with the result.
114 */ 102 */
115 public void scan() { 103 public void scan() {
116 mDelegate.onScanCancelled(); 104 mDelegate.onScanCancelled();
117 } 105 }
118 } 106 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698