OMADM Trigger in *#*#INFO#*#* hidden menu.

Test: make

Bug:32874442
Change-Id: Ie64eb28671ec4afafd352d1f86b61c4ce1108338
diff --git a/res/layout/radio_info.xml b/res/layout/radio_info.xml
index e11e997..a0ecf49 100644
--- a/res/layout/radio_info.xml
+++ b/res/layout/radio_info.xml
@@ -302,5 +302,21 @@
                       android:textSize="12sp" />
         </LinearLayout>
 
+        <!-- Carrier Provisioning -->
+        <LinearLayout style="@style/entry_layout">
+            <Button android:id="@+id/carrier_provisioning"
+                    android:layout_marginTop="8dip"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:text="@string/carrier_provisioning"
+                    android:textSize="14sp"/>
+            <Button android:id="@+id/trigger_carrier_provisioning"
+                    android:layout_marginTop="8dip"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:text="@string/trigger_carrier_provisioning"
+                    android:textSize="14sp"/>
+        </LinearLayout>
+
     </LinearLayout>
 </ScrollView>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 8e82c44..4657e31 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -8646,4 +8646,10 @@
     <!-- Title for the installed app info storage page. The total storage space taken up by this app. [CHAR LIMIT=40]-->
     <string name="app_info_storage_title">Space used</string>
 
+    <!-- Carrier Provisioning Info [CHAR LIMIT=NONE] -->
+    <string name="carrier_provisioning">Carrier Provisioning Info</string>
+    <!-- Trigger Carrier Provisioning [CHAR LIMIT=NONE] -->
+    <string name="trigger_carrier_provisioning">Trigger Carrier Provisioning</string>
+
+
 </resources>
diff --git a/src/com/android/settings/RadioInfo.java b/src/com/android/settings/RadioInfo.java
index ddf0dec..dde3461 100644
--- a/src/com/android/settings/RadioInfo.java
+++ b/src/com/android/settings/RadioInfo.java
@@ -20,6 +20,7 @@
 import android.app.AlertDialog;
 import android.app.Dialog;
 import android.app.QueuedWork;
+import android.content.ComponentName;
 import android.content.Intent;
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
@@ -195,6 +196,8 @@
     private Button updateSmscButton;
     private Button refreshSmscButton;
     private Button oemInfoButton;
+    private Button carrierProvisioningButton;
+    private Button triggercarrierProvisioningButton;
     private Switch imsVolteProvisionedSwitch;
     private Switch imsVtProvisionedSwitch;
     private Switch imsWfcProvisionedSwitch;
@@ -414,6 +417,11 @@
         refreshSmscButton.setOnClickListener(mRefreshSmscButtonHandler);
         dnsCheckToggleButton = (Button) findViewById(R.id.dns_check_toggle);
         dnsCheckToggleButton.setOnClickListener(mDnsCheckButtonHandler);
+        carrierProvisioningButton = (Button) findViewById(R.id.carrier_provisioning);
+        carrierProvisioningButton.setOnClickListener(mCarrierProvisioningButtonHandler);
+        triggercarrierProvisioningButton = (Button) findViewById(R.id.trigger_carrier_provisioning);
+        triggercarrierProvisioningButton.setOnClickListener(
+                mTriggerCarrierProvisioningButtonHandler);
 
         oemInfoButton = (Button) findViewById(R.id.oem_info);
         oemInfoButton.setOnClickListener(mOemInfoButtonHandler);
@@ -1295,6 +1303,30 @@
         }
     };
 
+    OnClickListener mCarrierProvisioningButtonHandler = new OnClickListener() {
+        public void onClick(View v) {
+            final Intent intent = new Intent();
+            final ComponentName serviceComponent = new ComponentName("com.android.omadm.service",
+                    "DMIntentReceiver");
+            intent.setComponent(serviceComponent);
+            intent.setAction("com.android.settings.CARRIER_PROVISIONING");
+            getApplicationContext().sendBroadcast(
+                    intent, android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE);
+        }
+    };
+
+    OnClickListener mTriggerCarrierProvisioningButtonHandler = new OnClickListener() {
+        public void onClick(View v) {
+            final Intent intent = new Intent();
+            final ComponentName serviceComponent = new ComponentName("com.android.omadm.service",
+                    "DMIntentReceiver");
+            intent.setComponent(serviceComponent);
+            intent.setAction("com.android.settings.TRIGGER_CARRIER_PROVISIONING");
+            getApplicationContext().sendBroadcast(
+                    intent, android.Manifest.permission.MODIFY_PHONE_STATE);
+        }
+    };
+
     AdapterView.OnItemSelectedListener mPreferredNetworkHandler =
             new AdapterView.OnItemSelectedListener() {