summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/ChooseLockPattern.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/settings/ChooseLockPattern.java')
-rw-r--r--src/com/android/settings/ChooseLockPattern.java31
1 files changed, 25 insertions, 6 deletions
diff --git a/src/com/android/settings/ChooseLockPattern.java b/src/com/android/settings/ChooseLockPattern.java
index 328312c..3d3ef16 100644
--- a/src/com/android/settings/ChooseLockPattern.java
+++ b/src/com/android/settings/ChooseLockPattern.java
@@ -17,20 +17,21 @@
package com.android.settings;
import com.google.android.collect.Lists;
-
import com.android.internal.widget.LinearLayoutWithDefaultTouchRecepient;
import com.android.internal.widget.LockPatternUtils;
import com.android.internal.widget.LockPatternView;
import com.android.internal.widget.LockPatternView.Cell;
-import com.android.settings.ChooseLockGeneric.ChooseLockGenericFragment;
+import com.android.settings.notification.RedactionInterstitial;
import static com.android.internal.widget.LockPatternView.DisplayMode;
import android.app.Activity;
import android.app.Fragment;
+import android.content.ContentResolver;
+import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
-import android.preference.PreferenceActivity;
+import android.provider.Settings;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
@@ -49,7 +50,7 @@ import java.util.List;
* - asks for confirmation / restart
* - saves chosen password when confirmed
*/
-public class ChooseLockPattern extends PreferenceActivity {
+public class ChooseLockPattern extends SettingsActivity {
/**
* Used by the choose lock pattern wizard to indicate the wizard is
* finished, and each activity in the wizard should finish.
@@ -65,10 +66,19 @@ public class ChooseLockPattern extends PreferenceActivity {
public Intent getIntent() {
Intent modIntent = new Intent(super.getIntent());
modIntent.putExtra(EXTRA_SHOW_FRAGMENT, ChooseLockPatternFragment.class.getName());
- modIntent.putExtra(EXTRA_NO_HEADERS, true);
return modIntent;
}
+ public static Intent createIntent(Context context, final boolean isFallback,
+ boolean requirePassword, boolean confirmCredentials) {
+ Intent intent = new Intent(context, ChooseLockPattern.class);
+ intent.putExtra("key_lock_method", "pattern");
+ intent.putExtra(ChooseLockGeneric.CONFIRM_CREDENTIALS, confirmCredentials);
+ intent.putExtra(LockPatternUtils.LOCKSCREEN_BIOMETRIC_WEAK_FALLBACK, isFallback);
+ intent.putExtra(EncryptionInterstitial.EXTRA_REQUIRE_PASSWORD, requirePassword);
+ return intent;
+ }
+
@Override
protected boolean isValidFragment(String fragmentName) {
if (ChooseLockPatternFragment.class.getName().equals(fragmentName)) return true;
@@ -80,7 +90,7 @@ public class ChooseLockPattern extends PreferenceActivity {
// requestWindowFeature(Window.FEATURE_NO_TITLE);
super.onCreate(savedInstanceState);
CharSequence msg = getText(R.string.lockpassword_choose_your_pattern_header);
- showBreadCrumbs(msg, msg);
+ setTitle(msg);
}
@Override
@@ -292,6 +302,7 @@ public class ChooseLockPattern extends PreferenceActivity {
}
private Stage mUiStage = Stage.Introduction;
+ private boolean mDone = false;
private Runnable mClearPatternRunnable = new Runnable() {
public void run() {
@@ -365,6 +376,7 @@ public class ChooseLockPattern extends PreferenceActivity {
}
updateStage(Stage.values()[savedInstanceState.getInt(KEY_UI_STAGE)]);
}
+ mDone = false;
return view;
}
@@ -521,11 +533,16 @@ public class ChooseLockPattern extends PreferenceActivity {
}
private void saveChosenPatternAndFinish() {
+ if (mDone) return;
LockPatternUtils utils = mChooseLockSettingsHelper.utils();
final boolean lockVirgin = !utils.isPatternEverChosen();
final boolean isFallback = getActivity().getIntent()
.getBooleanExtra(LockPatternUtils.LOCKSCREEN_BIOMETRIC_WEAK_FALLBACK, false);
+
+ final boolean required = getActivity().getIntent().getBooleanExtra(
+ EncryptionInterstitial.EXTRA_REQUIRE_PASSWORD, true);
+ utils.setCredentialRequiredToDecrypt(required);
utils.saveLockPattern(mChosenPattern, isFallback);
utils.setLockPatternEnabled(true);
@@ -535,6 +552,8 @@ public class ChooseLockPattern extends PreferenceActivity {
getActivity().setResult(RESULT_FINISHED);
getActivity().finish();
+ mDone = true;
+ startActivity(RedactionInterstitial.createStartIntent(getActivity()));
}
}
}