Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 694d374a authored by Makoto Onuki's avatar Makoto Onuki Committed by Automerger Merge Worker
Browse files

Merge "Use different exceptions for different crash reasons" into sc-v2-dev...

Merge "Use different exceptions for different crash reasons" into sc-v2-dev am: fcb067b5 am: 0fefda68

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/16276438

Change-Id: I81b0c86610090a295801fb13295b15b94a501ba6
parents 80274595 0fefda68
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -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);
        }
+3 −1
Original line number Diff line number Diff line
@@ -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;
            }
+3 −1
Original line number Diff line number Diff line
@@ -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;
            }