b29425b49c3ed353a114291712ef4d484ef645c5 |
|
22-Sep-2016 |
Ta-wei Yen <twyen@google.com> |
Disable MWI suppression if VVM cannot be activated MWI is the traditional voicemail notification which should be suppressed if visual voicemail is active. NotificationMgr.updateMwi() currently checks the CONFIGURATION_STATE to suppress the MWI, but there are several issues. b/31229016 is a bug that when the device boots the configuration state will be cleared and the MWI for voicemail that arrives when the device is offline will be cleared, even if the account cannot be activated. A full solution will be adding a setMwiEnabled() method and stop checking the configuration state, but that is too risky at this moment (ag/1467545). This is a temporary workaround to shut down the configuration state check if visual voicemail cannot be activated. + Don't clear MWI when signal is restored. Checking the notification state to hide MWI is obsolete in ag/1333776 Change-Id: I03b7e5cde2aa7ad4c1a31526eaf63d6832717e0a Fixes: 31229016
/packages/services/Telephony/src/com/android/phone/vvm/omtp/VvmPhoneStateListener.java
|
7df340d3e6dc0277c0a8307e34d40837e8106403 |
|
25-Jul-2016 |
Ta-wei Yen <twyen@google.com> |
Fix NPE when trying to clear MWI for invalid subId VvmPhoneStateListener can be trigger with a when the PhoneAccountHanlde no longer has a valid subId. why this can happen still needs investigation. This CL changed VvmPhoneStateListener to ignore invalid subIds, and guard PhoneGlobals.clearMwiIndicator against null phone. Bug: 30315483 Change-Id: I3d062991d8af63aaf0ebc76b3961a335dace3192
/packages/services/Telephony/src/com/android/phone/vvm/omtp/VvmPhoneStateListener.java
|
016df6b594d4a5aba8c1e325a646a0bcf5d6d263 |
|
22-Jul-2016 |
Ta-wei Yen <twyen@google.com> |
Postpone error until no more retries are available Error messages generated from tasks that have retries are often short lived and not actionable. These errors should wait until no more retries are available before being shown. Before this CL, All error codes are written directly to the database when a event is triggered. After this CL, writing to the database requires a VoicemailStatus.Editor() object to be passed in. Usually the object will be the same direct-write object as before. But in retrying tasks, the object passed in will have the writes deferred until the result of the task is determined. The writes will only be committed if the task is successful or no more retries are left. Passing a error handling object deep down is not ideal. A better way will be throwing a exception back up so the task can decide how to handle it. Unfortunately, deeper codes cannot handle escaping exceptions gracefully, and changing it involves too much risk at this moment. + Subsequent activation does not show the activating message Fixes: 30284894 Change-Id: I523e8aa2f89ff3af13016eccd2392cee302e79dc
/packages/services/Telephony/src/com/android/phone/vvm/omtp/VvmPhoneStateListener.java
|
ccb523db571855a8bcffe8e1a719d0221e01919b |
|
13-Jul-2016 |
Ta-wei Yen <twyen@google.com> |
Implement VVM Task Scheduling Before CL multiple activate events will be fired during boot and each one of them will be processed, which is redundant. The activation will also trigger multiple sync events. During the initial download of multiple voicemails an upload will also be trigger for each voicemail. The flood of connections is know to have the client banned by the server. Codes exists for retrying, but does not actually do anything. In this CL TaskSchedulerService is implemented which will prevent duplicated tasks from being queued, throttle requests, and handle retries. "Activate" event is not in scheduling yet. - OmtpVvmSyncService is no longer a service. It will be renamed later. It can now be called to sync voicemail in a single threaded manner. Fixes: 28729940 Bug: 28730056 Change-Id: I3678d8a16326e9a181bb401c003574928f02ae00
/packages/services/Telephony/src/com/android/phone/vvm/omtp/VvmPhoneStateListener.java
|
ceeed0fd74ba1390d5c820952dd7903b8efc7356 |
|
28-Jun-2016 |
Ta-wei Yen <twyen@google.com> |
Tweak VVM error handling + Losing cellular signal also set DATA_CHANNEL_STATE_NO_CONNECTION_CELLULAR_REQUIRED, instead of launching a separate event. + handle SUBSCRIBER_PROVISIONED and SUBSCRIBER_BLOCKED for VVM3 SUBSCRIBER_PROVISIONED will deactivate VVM client, as required for VVM3 Bug: 28968317 Change-Id: If683f5c4caf62562318ea2bb415e46de70b0f66f
/packages/services/Telephony/src/com/android/phone/vvm/omtp/VvmPhoneStateListener.java
|
a0d3aec9f17236e8618d9a9aaeaec611215bc5e4 |
|
22-Jun-2016 |
Ta-wei Yen <twyen@google.com> |
Add Error handling for VVM3 This CL requires the prebuilt dialer to be updated, else PIN not being set will be considered an error and the dialer will not show the voicemail tab. b/29577838 will disable VVM3 by default so dialer support is ensured. Bug:29082418 Bug:28968317 Change-Id: Iaad58711853ce350916ce3f49db69ef8f92156e4
/packages/services/Telephony/src/com/android/phone/vvm/omtp/VvmPhoneStateListener.java
|
99282e0eb8f04d03c9464bea94fa2d8959edbd13 |
|
22-Jun-2016 |
Ta-wei Yen <twyen@google.com> |
Log visual voicemail to LocalLog Up to 100 entries of visual voicemail log will be preserved and dumped into the bug report. The status of the config will also be dumped. Sample output: https://paste.googleplex.com/4537194828005376 Fixes: 29517754 Change-Id: I9c460a6544f3b834009667e2eefb863735f82f9a
/packages/services/Telephony/src/com/android/phone/vvm/omtp/VvmPhoneStateListener.java
|
f5c5d934a418a6c28313f284eec4f98a6fbbdc5c |
|
02-Jun-2016 |
Ta-wei Yen <twyen@google.com> |
Centralize VVM error Processing To prepare for vendor specific error codes every error that is written to the voicemail status table is centralized to the VoicemailProtocol, which determines what error code will be actually written. + Use PhoneAccountHandleConverter to convert subId instead of PhoneUtils. PhoneAccountHandleConverter still uses PhoneUtils under the hood but it will be changed to using public API in the future. Bug:28968317 Bug:28977379 Change-Id: I69232b276ec0d456fb9ca1fb08f25b2d51d89462
/packages/services/Telephony/src/com/android/phone/vvm/omtp/VvmPhoneStateListener.java
|
8a6f86c702ed29f43a346ef1ea6c837478be19fa |
|
25-May-2016 |
Ta-wei Yen <twyen@google.com> |
Support SOURCE_TYPE in VoicemailContract.Status Visual voicemail protocol type is written to the SOURCE_TYPE field upon activation. For example, "vvm_type_omtp". This string will help the dialer interpret protocol-specific error codes. Helper methods in VoicemailContract.Status is removed in ag/1074791. This CL replaces VoicemailUtils with VoicemailStatus to support the removed functionality. It is also changed to an editor to update multiple values with a single query. Bug:26944391 Change-Id: Id5fae6852e7f15f6d9ddcdbde6577e379f16a5f3
/packages/services/Telephony/src/com/android/phone/vvm/omtp/VvmPhoneStateListener.java
|
bb49d410b5266d288f65bbb0f2584ac7c2abf6dd |
|
23-Jul-2015 |
Nancy Chen <nancychen@google.com> |
Dismiss MWI when vvm status is received. The message waiting indicator should not appear when visual voicemail is set up. Sometimes the MWI will trigger before visual voicemail is registered, so we need to manually disable it after visual voicemail is available. Bug: 22375837 Change-Id: I0fe62d34f6f773a466c0b18592fe9087d5477080
/packages/services/Telephony/src/com/android/phone/vvm/omtp/VvmPhoneStateListener.java
|