diff --git a/src/com/android/settings/password/PasswordUtils.java b/src/com/android/settings/password/PasswordUtils.java index 5b75033f0f2..e8e309c40ec 100644 --- a/src/com/android/settings/password/PasswordUtils.java +++ b/src/com/android/settings/password/PasswordUtils.java @@ -79,18 +79,20 @@ public final class PasswordUtils extends com.android.settingslib.Utils { } /** Crashes the calling application and provides it with {@code message}. */ - public static void crashCallingApplication(IBinder activityToken, String message) { + public static void crashCallingApplication(IBinder activityToken, String message, + int exceptionTypeId) { IActivityManager am = ActivityManager.getService(); try { int uid = am.getLaunchedFromUid(activityToken); int userId = UserHandle.getUserId(uid); - am.crashApplication( + am.crashApplicationWithType( uid, /* initialPid= */ -1, getCallingAppPackageName(activityToken), userId, message, - false); + false, + exceptionTypeId); } catch (RemoteException e) { Log.v(TAG, "Could not talk to activity manager.", e); } diff --git a/src/com/android/settings/password/SetNewPasswordActivity.java b/src/com/android/settings/password/SetNewPasswordActivity.java index 22825872128..fc664eccde1 100644 --- a/src/com/android/settings/password/SetNewPasswordActivity.java +++ b/src/com/android/settings/password/SetNewPasswordActivity.java @@ -29,6 +29,7 @@ import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_I import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_REQUESTED_MIN_COMPLEXITY; import android.app.Activity; +import android.app.RemoteServiceException.MissingRequestPasswordComplexityPermissionException; import android.app.admin.DevicePolicyManager; import android.app.admin.DevicePolicyManager.PasswordComplexity; import android.app.admin.PasswordMetrics; @@ -101,7 +102,8 @@ public class SetNewPasswordActivity extends Activity implements SetNewPasswordCo PasswordUtils.crashCallingApplication(activityToken, "Must have permission " + REQUEST_PASSWORD_COMPLEXITY + " to use extra " - + EXTRA_PASSWORD_COMPLEXITY); + + EXTRA_PASSWORD_COMPLEXITY, + MissingRequestPasswordComplexityPermissionException.TYPE_ID); finish(); return; } diff --git a/src/com/android/settings/password/SetupChooseLockGeneric.java b/src/com/android/settings/password/SetupChooseLockGeneric.java index 3261b81083b..968af3232f8 100644 --- a/src/com/android/settings/password/SetupChooseLockGeneric.java +++ b/src/com/android/settings/password/SetupChooseLockGeneric.java @@ -21,6 +21,7 @@ import static android.app.admin.DevicePolicyManager.EXTRA_PASSWORD_COMPLEXITY; import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_REQUESTED_MIN_COMPLEXITY; +import android.app.RemoteServiceException.MissingRequestPasswordComplexityPermissionException; import android.content.Context; import android.content.Intent; import android.os.Bundle; @@ -79,7 +80,8 @@ public class SetupChooseLockGeneric extends ChooseLockGeneric { if (!hasPermission) { PasswordUtils.crashCallingApplication(activityToken, "Must have permission " + REQUEST_PASSWORD_COMPLEXITY - + " to use extra " + EXTRA_PASSWORD_COMPLEXITY); + + " to use extra " + EXTRA_PASSWORD_COMPLEXITY, + MissingRequestPasswordComplexityPermissionException.TYPE_ID); finish(); return; }