diff --git a/src/com/android/settings/TestingSettingsBroadcastReceiver.java b/src/com/android/settings/TestingSettingsBroadcastReceiver.java index 9965630ea1b..f5bb1bb0167 100644 --- a/src/com/android/settings/TestingSettingsBroadcastReceiver.java +++ b/src/com/android/settings/TestingSettingsBroadcastReceiver.java @@ -20,12 +20,17 @@ import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.os.Build; +import android.os.Process; +import android.os.UserHandle; +import android.os.UserManager; import android.telephony.TelephonyManager; +import android.util.Log; import com.android.settings.Settings.TestingSettingsActivity; public class TestingSettingsBroadcastReceiver extends BroadcastReceiver { + private final static String TAG = "TestingSettingsBroadcastReceiver"; public TestingSettingsBroadcastReceiver() { } @@ -35,10 +40,18 @@ public class TestingSettingsBroadcastReceiver extends BroadcastReceiver { if (intent != null && intent.getAction() != null && intent.getAction().equals(TelephonyManager.ACTION_SECRET_CODE) && !isDisabled(context)) { - Intent i = new Intent(Intent.ACTION_MAIN); - i.setClass(context, TestingSettingsActivity.class); - i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - context.startActivity(i); + UserManager userManager = context.getSystemService(UserManager.class); + UserHandle currentUser = Process.myUserHandle(); + if (userManager != null) { + if (userManager.getUserInfo(currentUser.hashCode()).isMain()) { + Intent i = new Intent(Intent.ACTION_MAIN); + i.setClass(context, TestingSettingsActivity.class); + i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + context.startActivity(i); + } else { + Log.d(TAG, "Not main user, not starting TestingSettingsActivity."); + } + } } }