Fix 2579923: Make changing lock screen method more discoverable.

This changes the organization of lock screen security settings
to make choosing an alternate unlock method more discoverable.

Instead of having to disable the old lock method to use a new
one, the user now just has one set/change option in lock settings,
with a list of method-specific setting below it.

In addition, we ask the user to confirm their old credentials
before prompting them to choose a new one, which eliminates one
source of confusion.

Also, ChooseLockGeneric now shows a UI if quality isn't specified.
Any unlock method less secure than minimum specified by
DevicePolicyManager (if active) is greyed out.

Change-Id: Iecc6f64d4d3368a583f06f8d5fe9655cc3d5bd3b
This commit is contained in:
Jim Miller
2010-04-08 19:40:19 -07:00
parent 8c8185b260
commit bbb4afa19f
13 changed files with 283 additions and 182 deletions

View File

@@ -280,11 +280,19 @@ public class ChooseLockPattern extends Activity implements View.OnClickListener{
R.id.topLayout);
topLayout.setDefaultTouchRecepient(mLockPatternView);
final boolean confirmCredentials = getIntent().getBooleanExtra("confirm_credentials", true);
if (savedInstanceState == null) {
// first launch. As a security measure, we're in NeedToConfirm mode until we know
// there isn't an existing password or the user confirms their password.
updateStage(Stage.NeedToConfirm);
if (!mChooseLockSettingsHelper.launchConfirmationActivity(CONFIRM_EXISTING_REQUEST)) {
if (confirmCredentials) {
// first launch. As a security measure, we're in NeedToConfirm mode until we know
// there isn't an existing password or the user confirms their password.
updateStage(Stage.NeedToConfirm);
boolean launchedConfirmationActivity =
mChooseLockSettingsHelper.launchConfirmationActivity(CONFIRM_EXISTING_REQUEST);
if (!launchedConfirmationActivity) {
updateStage(Stage.Introduction);
}
} else {
updateStage(Stage.Introduction);
}
} else {