diff options
author | twyen <twyen@google.com> | 2018-06-29 15:30:44 -0700 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2018-06-29 15:30:44 -0700 |
commit | cffb85e5f66a72b67b665a235d6ea3ea3825e9e2 (patch) | |
tree | e3c33c0370ea5359385c9896ec8751b87463fa43 /java/com | |
parent | c3ac48adbff3186aca8808f48128e32d060ae8c4 (diff) | |
parent | 6d37f466d180d03e9e2e05c7985a3c9ab514934d (diff) |
Merge "Strip +1 when subscribing to VVM3" am: ed5b76a12e am: 26c925693e
am: 6d37f466d1
Change-Id: Ib3bf8afa2b0baa5a04a4e1ac4fc7eeab4727266f
Diffstat (limited to 'java/com')
-rw-r--r-- | java/com/android/voicemail/impl/protocol/Vvm3Subscriber.java | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/java/com/android/voicemail/impl/protocol/Vvm3Subscriber.java b/java/com/android/voicemail/impl/protocol/Vvm3Subscriber.java index 3bbda4797..41598e047 100644 --- a/java/com/android/voicemail/impl/protocol/Vvm3Subscriber.java +++ b/java/com/android/voicemail/impl/protocol/Vvm3Subscriber.java @@ -89,7 +89,7 @@ public class Vvm3Subscriber { private static final String OPERATION_GET_SPG_URL = "retrieveSPGURL"; private static final String SPG_URL_TAG = "spgurl"; private static final String TRANSACTION_ID_TAG = "transactionid"; - //language=XML + // language=XML private static final String VMG_XML_REQUEST_FORMAT = "" + "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" @@ -159,6 +159,7 @@ public class Vvm3Subscriber { } @WorkerThread + @SuppressWarnings("missingPermission") public Vvm3Subscriber( ActivationTask task, PhoneAccountHandle handle, @@ -175,11 +176,23 @@ public class Vvm3Subscriber { // Assuming getLine1Number() will work with VVM3. For unprovisioned users the IMAP username // is not included in the status SMS, thus no other way to get the current phone number. number = - this.helper - .getContext() - .getSystemService(TelephonyManager.class) - .createForPhoneAccountHandle(this.handle) - .getLine1Number(); + stripInternational( + this.helper + .getContext() + .getSystemService(TelephonyManager.class) + .createForPhoneAccountHandle(this.handle) + .getLine1Number()); + } + + /** + * Self provisioning gateway expects 10 digit national format, but {@link + * TelephonyManager#getLine1Number()} might return e164 with "+1" at front. + */ + private static String stripInternational(String number) { + if (number.startsWith("+1")) { + number = number.substring(2); + } + return number; } @WorkerThread |