Notify the system dialer when the Carrier VVM app is installed
Before O the telephony VVM app will disable itself if the carrier
VVM app is installed by the user. After O the system dialer which
is in charge of VVM should still respect this behavior.
In this CL a hidden API broadcast will be sent to the system dialer
if the carrier VVM app listed in CarrierConfig is installed.
This is a intermediate solution for O. In P this will either be removed
or made system API.
Bug: 38329114
Test: manual - install carrier VVM app
install non-VVM app
install carrier VVM app without a SIM
install app on carrier without VVM app
Change-Id: I14d3914ceb3abb99a38ad601bb739c15b82f393f
diff --git a/src/com/android/phone/PhoneGlobals.java b/src/com/android/phone/PhoneGlobals.java
index 0bb271e..37e62b1 100644
--- a/src/com/android/phone/PhoneGlobals.java
+++ b/src/com/android/phone/PhoneGlobals.java
@@ -57,6 +57,7 @@
import com.android.internal.telephony.TelephonyIntents;
import com.android.phone.common.CallLogAsync;
import com.android.phone.settings.SettingsConstants;
+import com.android.phone.vvm.CarrierVvmPackageInstalledReceiver;
import com.android.services.telephony.sip.SipUtil;
/**
@@ -157,6 +158,9 @@
// Broadcast receiver for various intent broadcasts (see onCreate())
private final BroadcastReceiver mReceiver = new PhoneAppBroadcastReceiver();
+ private final CarrierVvmPackageInstalledReceiver mCarrierVvmPackageInstalledReceiver =
+ new CarrierVvmPackageInstalledReceiver();
+
Handler mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
@@ -333,6 +337,8 @@
intentFilter.addAction(TelephonyIntents.ACTION_EMERGENCY_CALLBACK_MODE_CHANGED);
registerReceiver(mReceiver, intentFilter);
+ mCarrierVvmPackageInstalledReceiver.register(this);
+
//set the default values for the preferences in the phone.
PreferenceManager.setDefaultValues(this, R.xml.network_setting_fragment, false);