Index: chrome/android/java/src/org/chromium/chrome/browser/autofill/PersonalDataManager.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/autofill/PersonalDataManager.java b/chrome/android/java/src/org/chromium/chrome/browser/autofill/PersonalDataManager.java |
index d1fd3ad8218643a8cc7914fbfa786ab0a121c322..50b910e49edf0e228b2a27f4c490d89380121842 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/autofill/PersonalDataManager.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/autofill/PersonalDataManager.java |
@@ -62,6 +62,19 @@ public class PersonalDataManager { |
} |
/** |
+ * Callback for subKeys request. |
+ */ |
+ public interface GetSubKeysRequestDelegate { |
+ /** |
+ * Called when the sub-keys are received sucessfully. |
+ * |
+ * @param subKeys The subKeys. |
+ */ |
+ @CalledByNative("GetSubKeysRequestDelegate") |
+ void onSubKeysReceived(String[] subKeys); |
+ } |
+ |
+ /** |
* Callback for normalized addresses. |
*/ |
public interface NormalizedAddressRequestDelegate { |
@@ -520,7 +533,7 @@ public class PersonalDataManager { |
return sManager; |
} |
- private static int sNormalizationTimeoutSeconds = 5; |
+ private static int sLoadingTimeoutSeconds = 5; |
private final long mPersonalDataManagerAndroid; |
private final List<PersonalDataManagerObserver> mDataObservers = |
@@ -805,9 +818,29 @@ public class PersonalDataManager { |
* |
* @param regionCode The code of the region for which to load the rules. |
*/ |
- public void loadRulesForRegion(String regionCode) { |
+ public void loadRulesForAddressNormalization(String regionCode) { |
ThreadUtils.assertOnUiThread(); |
- nativeLoadRulesForRegion(mPersonalDataManagerAndroid, regionCode); |
+ nativeLoadRulesForAddressNormalization(mPersonalDataManagerAndroid, regionCode); |
+ } |
+ |
+ /** |
+ * Starts loading the address validation rules for the specified {@code regionCode}. |
sebsg
2017/02/28 16:13:59
s/address validation/ subkeys ?
Parastoo
2017/03/21 14:30:44
Done.
|
+ * |
+ * @param regionCode The code of the region for which to load the rules. |
+ */ |
+ public void loadRulesForSubKeys(String regionCode) { |
+ ThreadUtils.assertOnUiThread(); |
+ nativeLoadRulesForSubKeys(mPersonalDataManagerAndroid, regionCode); |
+ } |
+ |
+ /** |
+ * Starts loading the sub keys for the specified {@code regionCode}. |
+ * |
+ * @param regionCode The code of the region for which to load the sub keys. |
+ */ |
+ public void getRegionSubKeys(String regionCode, GetSubKeysRequestDelegate delegate) { |
+ ThreadUtils.assertOnUiThread(); |
+ nativeStartGettingRegionSubKeys(mPersonalDataManagerAndroid, regionCode, delegate); |
} |
/** |
@@ -815,7 +848,7 @@ public class PersonalDataManager { |
* associated with the {@code regionCode} are done loading. Otherwise sets up the callback to |
* start normalizing the address when the rules are loaded. The normalized profile will be sent |
* to the {@code delegate}. If the profile is not normalized in the specified |
- * {@code sNormalizationTimeoutSeconds}, the {@code delegate} will be notified. |
+ * {@code sLoadingTimeoutSeconds}, the {@code delegate} will be notified. |
* |
* @param guid The GUID of the profile to normalize. |
* @param regionCode The region code indicating which rules to use for normalization. |
@@ -825,7 +858,13 @@ public class PersonalDataManager { |
String guid, String regionCode, NormalizedAddressRequestDelegate delegate) { |
ThreadUtils.assertOnUiThread(); |
nativeStartAddressNormalization(mPersonalDataManagerAndroid, guid, regionCode, |
- sNormalizationTimeoutSeconds, delegate); |
+ sLoadingTimeoutSeconds, delegate); |
+ } |
+ |
+ /** Cancels the pending sub keys request. */ |
+ public void cancelPendingGetSubKeys() { |
+ ThreadUtils.assertOnUiThread(); |
+ nativeCancelPendingGetSubKeys(mPersonalDataManagerAndroid); |
} |
/** |
@@ -884,8 +923,12 @@ public class PersonalDataManager { |
} |
@VisibleForTesting |
- public static void setNormalizationTimeoutForTesting(int timeout) { |
- sNormalizationTimeoutSeconds = timeout; |
+ public static void setLoadingTimeoutForTesting(int timeout) { |
+ sLoadingTimeoutSeconds = timeout; |
+ } |
+ |
+ public static int getLoadingTimeoutMS() { |
+ return sLoadingTimeoutSeconds * 1000; |
} |
private native long nativeInit(); |
@@ -947,8 +990,12 @@ public class PersonalDataManager { |
long nativePersonalDataManagerAndroid, String guid); |
private native void nativeGetFullCardForPaymentRequest(long nativePersonalDataManagerAndroid, |
WebContents webContents, CreditCard card, FullCardRequestDelegate delegate); |
- private native void nativeLoadRulesForRegion( |
+ private native void nativeLoadRulesForAddressNormalization( |
+ long nativePersonalDataManagerAndroid, String regionCode); |
+ private native void nativeLoadRulesForSubKeys( |
long nativePersonalDataManagerAndroid, String regionCode); |
+ private native void nativeStartGettingRegionSubKeys(long nativePersonalDataManagerAndroid, |
+ String regionCode, GetSubKeysRequestDelegate delegate); |
private native void nativeStartAddressNormalization(long nativePersonalDataManagerAndroid, |
String guid, String regionCode, int timeoutSeconds, |
NormalizedAddressRequestDelegate delegate); |
@@ -960,4 +1007,5 @@ public class PersonalDataManager { |
private static native boolean nativeIsPaymentsIntegrationEnabled(); |
private static native void nativeSetPaymentsIntegrationEnabled(boolean enable); |
private static native String nativeToCountryCode(String countryName); |
+ private static native void nativeCancelPendingGetSubKeys(long nativePersonalDataManagerAndroid); |
} |