Perform master clear via Intent broadcast, rather than using ICheckinService.
diff --git a/src/com/android/settings/MasterClear.java b/src/com/android/settings/MasterClear.java
index d33e1e8..4cf0546 100644
--- a/src/com/android/settings/MasterClear.java
+++ b/src/com/android/settings/MasterClear.java
@@ -60,35 +60,12 @@
      */
     private Button.OnClickListener mFinalClickListener = new Button.OnClickListener() {
             public void onClick(View v) {
-
                 if (Utils.isMonkeyRunning()) {
                     return;
                 }
 
-                ICheckinService service =
-                        ICheckinService.Stub.asInterface(ServiceManager.getService("checkin"));
-                if (service != null) {
-                    try {
-                        // This RPC should never return
-                        service.masterClear();
-                    } catch (android.os.RemoteException e) {
-                        // Intentionally blank - there's nothing we can do here
-                        Log.w("MasterClear", "Unable to invoke ICheckinService.masterClear()");
-                    }
-                } else {
-                    Log.w("MasterClear", "Unable to locate ICheckinService");
-                }
-
-                /* If we reach this point, the master clear didn't happen -- the
-                 * service might have been unregistered with the ServiceManager,
-                 * the RPC might have thrown an exception, or for some reason
-                 * the implementation of masterClear() may have returned instead
-                 * of resetting the device.
-                 */
-                new AlertDialog.Builder(MasterClear.this)
-                        .setMessage(getText(R.string.master_clear_failed))
-                        .setPositiveButton(getText(android.R.string.ok), null)
-                        .show();
+                sendBroadcast(new Intent("android.intent.action.MASTER_CLEAR"));
+                // Intent handling is asynchronous -- assume it will happen soon.
             }
         };
 
diff --git a/src/com/android/settings/SecuritySettings.java b/src/com/android/settings/SecuritySettings.java
index 1ef137d..f646d9d 100644
--- a/src/com/android/settings/SecuritySettings.java
+++ b/src/com/android/settings/SecuritySettings.java
@@ -32,8 +32,6 @@
 import android.database.Cursor;
 import android.location.LocationManager;
 import android.os.Bundle;
-import android.os.ICheckinService;
-import android.os.ServiceManager;
 import android.os.SystemProperties;
 import android.preference.CheckBoxPreference;
 import android.preference.ListPreference;
@@ -444,26 +442,9 @@
                 }
             } else {
                 if (button == DialogInterface.BUTTON_POSITIVE) {
-                    // Perform action
-                    // Reboot and toggle Encrypted File Systems
-                    ICheckinService service =
-                    ICheckinService.Stub.asInterface(ServiceManager.getService("checkin"));
-                    if (service != null) {
-                        try {
-                            // This RPC should never return
-                            if (mWillEnableEncryptedFS) {
-                                service.masterClearAndToggleEFS(true);
-                            } else {
-                                service.masterClearAndToggleEFS(false);
-                            }
-                        } catch (android.os.RemoteException e) {
-                            // Intentionally blank - there's nothing we can do here
-                            Log.w("SecuritySettings",
-                                    "Unable to invoke ICheckinService.masterClearAndToggleEFS()");
-                        }
-                    } else {
-                        Log.w("SecuritySettings", "Unable to locate ICheckinService");
-                    }
+                    Intent intent = new Intent("android.intent.action.MASTER_CLEAR");
+                    intent.putExtra("enableEFS", mWillEnableEncryptedFS);
+                    sendBroadcast(intent);
                     updatePreferences(mState);
                 } else if (button == DialogInterface.BUTTON_NEGATIVE) {
                     // Cancel action