cold sim cleanup

Bug: 28567303
Change-Id: Id5e593f5851460686a7fcd6a1ba352ce23cfb320
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 9b67bea..334e186 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -55,8 +55,9 @@
     <protected-broadcast android:name= "android.intent.action.stk.session_end" />
     <protected-broadcast android:name= "android.intent.action.stk.icc_status_change" />
     <protected-broadcast android:name= "android.intent.action.stk.alpha_notify" />
-    <protected-broadcast android:name= "android.intent.action.REDIRECTION_DETECTED" />
-    <protected-broadcast android:name= "android.intent.action.REQUEST_NETWORK_FAILED" />
+    <protected-broadcast android:name= "android.intent.action.CARRIER_SIGNAL_REDIRECTED" />
+    <protected-broadcast android:name= "android.intent.action.CARRIER_SIGNAL_REQUEST_NETWORK_FAILED" />
+    <protected-broadcast android:name= "android.intent.action.CARRIER_SIGNAL_PCO_VALUE" />
     <protected-broadcast android:name= "com.android.intent.isim_refresh" />
 
     <uses-permission android:name="android.permission.BROADCAST_STICKY" />
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index f644051..2ace8e1 100644
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -3247,4 +3247,46 @@
         return (List<CarrierIdentifier>) sendRequest(CMD_GET_ALLOWED_CARRIERS, null, subId);
     }
 
+    /**
+     * Action set from carrier signalling broadcast receivers to enable/disable metered apns
+     * @param subId the subscription ID that this action applies to.
+     * @param enabled control enable or disable metered apns.
+     * {@hide}
+     */
+    @Override
+    public void carrierActionSetMeteredApnsEnabled(int subId, boolean enabled) {
+        enforceModifyPermission();
+        final Phone phone = getPhone(subId);
+        if (phone == null) {
+            loge("carrierAction: SetMeteredApnsEnabled fails with invalid subId: " + subId);
+            return;
+        }
+        try {
+            phone.carrierActionSetMeteredApnsEnabled(enabled);
+        } catch (Exception e) {
+            Log.e(LOG_TAG, "carrierAction: SetMeteredApnsEnabled fails. Exception ex=" + e);
+        }
+    }
+
+    /**
+     * Action set from carrier signalling broadcast receivers to enable/disable radio
+     * @param subId the subscription ID that this action applies to.
+     * @param enabled control enable or disable radio.
+     * {@hide}
+     */
+    @Override
+    public void carrierActionSetRadioEnabled(int subId, boolean enabled) {
+        enforceModifyPermission();
+        final Phone phone = getPhone(subId);
+        if (phone == null) {
+            loge("carrierAction: SetRadioEnabled fails with invalid sibId: " + subId);
+            return;
+        }
+        try {
+            phone.carrierActionSetRadioEnabled(enabled);
+        } catch (Exception e) {
+            Log.e(LOG_TAG, "carrierAction: SetRadioEnabled fails. Exception ex=" + e);
+        }
+    }
+
 }