Merge "Use different exceptions for different crash reasons" into sc-v2-dev
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
@@ -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;
|
||||
}
|
||||
|
@@ -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;
|
||||
}
|
||||
|
Reference in New Issue
Block a user