Implement VisualVoicemailService cascading.
This CL determines which VisualVoicemailService should be active.
The order is:
1. Current default dialer
The dialer might disable itself when a carrier VVM package is
installed.
2. The carrier packages
Designated with CarrierConfig using KEY_CARRIER_VVM_PACKAGE_NAME_STRING.
This value is used before solely to disable the system client.
KEY_CARRIER_VVM_PACKAGE_NAME_STRING_ARRAY should be added to allow
multiple clients.
3. The system package.
A device specific package override-able with
R.string.system_visual_voicemail_client
4. The system dialer.
Bug: 34132028
Bug: 32414216
Change-Id: Ifa6d0bbb3033a14757ab99226f28aca245848c0f
Fixes: 34132028
Test: manual test using the dialer and the system package.
diff --git a/res/values/config.xml b/res/values/config.xml
index 1f23c6b..279d274 100644
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -207,6 +207,10 @@
<!-- Flag indicating whether to allow visual voicemail if available on the device.[DO NOT TRANSLATE] -->
<bool name="allow_visual_voicemail">true</bool>
+ <!-- The package to handle visual voicemail if the default dialer or the package
+ CarrierConfigManager.KEY_CARRIER_VVM_PACKAGE_NAME_STRING does not handle it -->
+ <string name="system_visual_voicemail_client"></string>
+
<!-- Flag to enable VVM3 visual voicemail. VVM3 is used by Verizon Wireless. -->
<bool name="vvm3_enabled">false</bool>