diff options
author | twyen <twyen@google.com> | 2018-02-23 01:14:17 -0800 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-02-23 01:15:33 -0800 |
commit | 80f3d35f64a720a1d59552589cb77e2061eadf6d (patch) | |
tree | e7a090925332a963adc41eb97d0adac6de39b36c /java/com/android/voicemail/impl/ActivationTask.java | |
parent | ca2ef804166230c9370e402b1d9295f2889288eb (diff) |
Prevent VVM subscribing when carrier reset subscription status
On VVM3 when the user upgrade to premium VVM through the carrier, the carrier will actively send STATUS SMSes first indicating the status is unknown, then the new premium status.
STATUS updates sent by the carrier were ignored until recently. Currently seeing the unknown status the provisioning process will be triggered, and the user will be downgraded back to basic VVM.
In this CL if the STATUS update is initiated by the carrier instead by a STATUS request, provisioning will be ignored.
Bug: 73625577
Test: N/A
PiperOrigin-RevId: 186737242
Change-Id: Ieb10f9a50e0c3001d02cefc31256a9adac1ae5d1
Diffstat (limited to 'java/com/android/voicemail/impl/ActivationTask.java')
-rw-r--r-- | java/com/android/voicemail/impl/ActivationTask.java | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/java/com/android/voicemail/impl/ActivationTask.java b/java/com/android/voicemail/impl/ActivationTask.java index 3cdbee484..d8ec4e252 100644 --- a/java/com/android/voicemail/impl/ActivationTask.java +++ b/java/com/android/voicemail/impl/ActivationTask.java @@ -196,7 +196,8 @@ public class ActivationTask extends BaseTask { VisualVoicemailProtocol protocol = helper.getProtocol(); Bundle data; - if (messageData != null) { + boolean isCarrierInitiated = messageData != null; + if (isCarrierInitiated) { // The content of STATUS SMS is provided to launch this task, no need to request it // again. data = messageData; @@ -237,7 +238,8 @@ public class ActivationTask extends BaseTask { } else { if (helper.supportsProvisioning()) { VvmLog.i(TAG, "Subscriber not ready, start provisioning"); - helper.startProvisioning(this, phoneAccountHandle, status, message, data); + helper.startProvisioning( + this, phoneAccountHandle, status, message, data, isCarrierInitiated); } else if (message.getProvisioningStatus().equals(OmtpConstants.SUBSCRIBER_NEW)) { VvmLog.i(TAG, "Subscriber new but provisioning is not supported"); |