History log of /packages/services/Telephony/src/com/android/phone/vvm/omtp/sms/StatusMessage.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
a96501cff3ca998bb705b49feede6af28a53189d 13-Jul-2016 Ta-wei Yen <twyen@google.com> Implement UI for changing voicemail PIN

The temporary dialog for chagin PIN is replaced.

The setting still reside in Dialer->settings->call->voicemail
https://screenshot.googleplex.com/gKzDdP9DnHH

To change the PIN, the user must enter their old PIN first.
https://screenshot.googleplex.com/jMBcrkiJquJ
Which will be checked with the server.
https://screenshot.googleplex.com/38iz4wOySF9
https://screenshot.googleplex.com/mxjnXgSWNAH

After the old PIN is confirmed, the user then proceed to enter the new
PIN.
The length requirement from the server will be enforced.
https://screenshot.googleplex.com/d7cigtR08di
https://screenshot.googleplex.com/0MVVzViuArP
https://screenshot.googleplex.com/mwnRda213HO

The user then must confirm their new PIN
https://screenshot.googleplex.com/4R9T5m3sPp4
https://screenshot.googleplex.com/GHmqSDxPr1z

The change will be commited to the server
https://screenshot.googleplex.com/38iz4wOySF9

If it succeeded, the user will return to the setting screen, and a
toast will be shown.
https://screenshot.googleplex.com/a7qPxQOvPJm
else an error message will be shown, and the user will return to the
enter new PIN step.

If the default PIN was set by the OMTP client before, the user will be
asked to "Set PIN" instead
https://screenshot.googleplex.com/RPYRxqOFSkw

The default PIN will be validated first
https://screenshot.googleplex.com/bYZcROA560B
If the server rejects the default PIN, The flow will continue as the
regular change PIN process. Else the enter old pin step is by passed
and the user will go to the enter new PIN step directly.
If other error happens in this step, a message will be shown
https://screenshot.googleplex.com/YRKLo5VmGzL
and the user will then return to the settings screen

+ All phone account dependent storaged is moved to
VisualVoicemailPreferences.
- Retry in OmtpSyncService is removed. It was never ran, and a new retry
mechanism will be added later.

Fixes: 29082418
Fixes: 29102412
Fixes: 29903609

Change-Id: I28dcc08113120abedd907fa8faffd3eb00bd87b4
/packages/services/Telephony/src/com/android/phone/vvm/omtp/sms/StatusMessage.java
4e0e3fb539547765d401079417c1b5eae817142d 09-Jun-2016 Ta-wei Yen <twyen@google.com> Fix NPE in SyncMessage

Integer parsing in SyncMessage is throwing NPE if a field is missing.
Some fields are mandatory in a SYNC SMS, but carriers sometimes does
not send them all.

This CL refactors SyncMessage and StatusMessage so missing fields are
accounted for and all fields will have non null default value.

+ @NeededForTesting to prevent proguard from removing unused methods

Change-Id: I8af34de18cbed4484d592292aaec03456ed05af5
Fixes:29218479
/packages/services/Telephony/src/com/android/phone/vvm/omtp/sms/StatusMessage.java
ce8d0fff0de34c3d982486dd8e92dbfa7b637e2b 25-May-2016 Ta-wei Yen <twyen@google.com> Support Verizon visual voicemail protocol

The VVM3 implementation differs with existing OMTP and CVVM,
especially it does not have the concept of activation/deactivation. VVM3
is activated once it is provisioned, and can not be turned off from
the client side.

To support none data driven features, We defined the
VisualVoicemailProtocol interface for methods that depends on the
implementation. The protocol will be selected based on the vvm_type_string
in the carrier config.

For VVM3 activation, instead of sending a ACTIVATE SMS which they do
not support, we will send a STATUS SMS to check the provisioning status
and get the server credentials. Provisioning is to be handled in a future
CL.

+ Carrier config values for VZW
+ VVM validity for a carrier is checked by
OmtpVvmCarrierConfigHelper.isValid() instead of getVvmType() matching.
A carrier is valid if a protocol for its' type is implemented.
+ All VVM type dependent code refactored into protocols.
+ StatusMessage.getProvisioningStatus() return unquoted status.
+ Fixed bug in ImapConnection that caused all capability to be rejected
if disabledCapability is null.

Change-Id: I512b954b3260138267cb5eeb2fcc5ae016ec0f2d
Fixes:27817303
Bug:27816386
Bug:28696525
/packages/services/Telephony/src/com/android/phone/vvm/omtp/sms/StatusMessage.java
87c49844374decc60a4c0397c2b33e63b7d5548d 14-May-2016 Ta-wei Yen <twyen@google.com> Support VisualVoicemailSmsFilter

+ Implemented storage for related values in framework APIs.
The storage is in device protected storage and can be read when the
phone is locked.
+ OmtpMessageReceiver changed from using data sms to
VOICEMAIL_SMS_RECEIVED sent by the filter.
+ Set filter values on activation and disable filter on deactivation.

Bug:27816386
Bug:27817303
Change-Id: I7542e6af54629b47fc321d96ea30c7f39b277e3f
(cherry picked from commit 7dfe5db8a43ddcccf1c386438d33903a7658a651)
/packages/services/Telephony/src/com/android/phone/vvm/omtp/sms/StatusMessage.java
7ab73ace1a04f8feffc6fa8d271148dd930f197f 18-Feb-2015 Nancy Chen <nancychen@google.com> Receive SYNC and STATUS SMS text messages.

These classes are adopted from the voicemail-example-for-android
voicemail source implementation with these notable differences:
skipping the interface classes, omitting OmtpSmsHandler, returning "null"
instead of throwing an exception, excluding constants that are not being used.
* Message receiver: receives SMS messages and sends to the parser
* Message parser: extracts fields and inserts into a wrapper, then create
StatusMessage and SyncMessage from the fields in the wrapper
* StatusMessage: an object containing the values of a status message
* SyncMessage: an object containing the values of a sync message

Bug:19236241

Change-Id: Ifb2dea832f5e5634fc301e9eb238650770b009e2
/packages/services/Telephony/src/com/android/phone/vvm/omtp/sms/StatusMessage.java