summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
authorTreehugger Robot <treehugger-gerrit@google.com>2018-06-29 21:54:56 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2018-06-29 21:54:56 +0000
commited5b76a12e19c474ba8b157be9296fe6743933ad (patch)
tree215979c6cd2b4ec80f6fe1b8c3f803ceb9d08665 /java
parent949e476e47437b676b5a4a97feaeb9754a95f680 (diff)
parentba93c4fe5016341d06be1ce47410885522e09a58 (diff)
Merge "Strip +1 when subscribing to VVM3"
Diffstat (limited to 'java')
-rw-r--r--java/com/android/voicemail/impl/protocol/Vvm3Subscriber.java25
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