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}. */
|
/** 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();
|
IActivityManager am = ActivityManager.getService();
|
||||||
try {
|
try {
|
||||||
int uid = am.getLaunchedFromUid(activityToken);
|
int uid = am.getLaunchedFromUid(activityToken);
|
||||||
int userId = UserHandle.getUserId(uid);
|
int userId = UserHandle.getUserId(uid);
|
||||||
am.crashApplication(
|
am.crashApplicationWithType(
|
||||||
uid,
|
uid,
|
||||||
/* initialPid= */ -1,
|
/* initialPid= */ -1,
|
||||||
getCallingAppPackageName(activityToken),
|
getCallingAppPackageName(activityToken),
|
||||||
userId,
|
userId,
|
||||||
message,
|
message,
|
||||||
false);
|
false,
|
||||||
|
exceptionTypeId);
|
||||||
} catch (RemoteException e) {
|
} catch (RemoteException e) {
|
||||||
Log.v(TAG, "Could not talk to activity manager.", 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 static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_REQUESTED_MIN_COMPLEXITY;
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
|
import android.app.RemoteServiceException.MissingRequestPasswordComplexityPermissionException;
|
||||||
import android.app.admin.DevicePolicyManager;
|
import android.app.admin.DevicePolicyManager;
|
||||||
import android.app.admin.DevicePolicyManager.PasswordComplexity;
|
import android.app.admin.DevicePolicyManager.PasswordComplexity;
|
||||||
import android.app.admin.PasswordMetrics;
|
import android.app.admin.PasswordMetrics;
|
||||||
@@ -101,7 +102,8 @@ public class SetNewPasswordActivity extends Activity implements SetNewPasswordCo
|
|||||||
PasswordUtils.crashCallingApplication(activityToken,
|
PasswordUtils.crashCallingApplication(activityToken,
|
||||||
"Must have permission "
|
"Must have permission "
|
||||||
+ REQUEST_PASSWORD_COMPLEXITY + " to use extra "
|
+ REQUEST_PASSWORD_COMPLEXITY + " to use extra "
|
||||||
+ EXTRA_PASSWORD_COMPLEXITY);
|
+ EXTRA_PASSWORD_COMPLEXITY,
|
||||||
|
MissingRequestPasswordComplexityPermissionException.TYPE_ID);
|
||||||
finish();
|
finish();
|
||||||
return;
|
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 static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_REQUESTED_MIN_COMPLEXITY;
|
||||||
|
|
||||||
|
import android.app.RemoteServiceException.MissingRequestPasswordComplexityPermissionException;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
@@ -79,7 +80,8 @@ public class SetupChooseLockGeneric extends ChooseLockGeneric {
|
|||||||
if (!hasPermission) {
|
if (!hasPermission) {
|
||||||
PasswordUtils.crashCallingApplication(activityToken,
|
PasswordUtils.crashCallingApplication(activityToken,
|
||||||
"Must have permission " + REQUEST_PASSWORD_COMPLEXITY
|
"Must have permission " + REQUEST_PASSWORD_COMPLEXITY
|
||||||
+ " to use extra " + EXTRA_PASSWORD_COMPLEXITY);
|
+ " to use extra " + EXTRA_PASSWORD_COMPLEXITY,
|
||||||
|
MissingRequestPasswordComplexityPermissionException.TYPE_ID);
|
||||||
finish();
|
finish();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user