summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/ChooseLockPatternSize.java
diff options
context:
space:
mode:
authorRowan Decker <smasher816@gmail.com>2012-12-17 19:57:32 +0100
committerGerrit Code Review <gerrit@review.cyanogenmod.com>2012-12-30 12:29:52 -0800
commit913fdaaf02b026918e62d0025af632ca78b3ca4a (patch)
treed7bef62670d6ff010f48ea924bd1b517b8a7ac11 /src/com/android/settings/ChooseLockPatternSize.java
parentd2ea9ad3b78ece97eb4c93536dea506f002ca89c (diff)
downloadpackages_apps_settings-913fdaaf02b026918e62d0025af632ca78b3ca4a.zip
packages_apps_settings-913fdaaf02b026918e62d0025af632ca78b3ca4a.tar.gz
packages_apps_settings-913fdaaf02b026918e62d0025af632ca78b3ca4a.tar.bz2
Settings: Add support for variable size pattern lockscreen (Part 2/2)
Part 1: http://review.cyanogenmod.org/#/c/28533/ Forward port of: http://review.cyanogenmod.org/#/c/20614/ Add a menu to choose the pattern unlock screen size (currently 3x3 to 6x6) Default size is specified in the frameworks Patch Set 1+2: Initial port Patch Set 3: Use AOSP code style Patch Set 4: Fix copy/paste issue Patch Set 5+6: Comply with framework changes Change-Id: I5e3d1f8b19b7f5017c854ab9d28b459214f00949
Diffstat (limited to 'src/com/android/settings/ChooseLockPatternSize.java')
-rw-r--r--src/com/android/settings/ChooseLockPatternSize.java83
1 files changed, 83 insertions, 0 deletions
diff --git a/src/com/android/settings/ChooseLockPatternSize.java b/src/com/android/settings/ChooseLockPatternSize.java
new file mode 100644
index 0000000..f6f25c2
--- /dev/null
+++ b/src/com/android/settings/ChooseLockPatternSize.java
@@ -0,0 +1,83 @@
+/*
+ * Copyright (C) 2012 The CyanogenMod Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.preference.Preference;
+import android.preference.PreferenceActivity;
+import android.preference.PreferenceScreen;
+
+import com.android.internal.widget.LockPatternUtils;
+
+public class ChooseLockPatternSize extends PreferenceActivity {
+
+ @Override
+ public Intent getIntent() {
+ Intent modIntent = new Intent(super.getIntent());
+ modIntent.putExtra(EXTRA_SHOW_FRAGMENT, ChooseLockPatternSizeFragment.class.getName());
+ modIntent.putExtra(EXTRA_NO_HEADERS, true);
+ return modIntent;
+ }
+
+ public static class ChooseLockPatternSizeFragment extends SettingsPreferenceFragment {
+ private ChooseLockSettingsHelper mChooseLockSettingsHelper;
+
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ mChooseLockSettingsHelper = new ChooseLockSettingsHelper(this.getActivity());
+ addPreferencesFromResource(R.xml.security_settings_pattern_size);
+ }
+
+ @Override
+ public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen,
+ Preference preference) {
+ final String key = preference.getKey();
+
+ byte patternSize;
+ if ("lock_pattern_size_4".equals(key)) {
+ patternSize = 4;
+ } else if ("lock_pattern_size_5".equals(key)) {
+ patternSize = 5;
+ } else if ("lock_pattern_size_6".equals(key)) {
+ patternSize = 6;
+ } else {
+ patternSize = 3;
+ }
+
+ final boolean isFallback = getActivity().getIntent()
+ .getBooleanExtra(LockPatternUtils.LOCKSCREEN_BIOMETRIC_WEAK_FALLBACK, false);
+ boolean showTutorial = !mChooseLockSettingsHelper.utils().isPatternEverChosen();
+
+ Intent intent = new Intent();
+ intent.setClass(getActivity(), showTutorial
+ ? ChooseLockPatternTutorial.class
+ : ChooseLockPattern.class);
+ intent.putExtra("pattern_size", patternSize);
+ intent.putExtra("key_lock_method", "pattern");
+ intent.putExtra("confirm_credentials", false);
+ intent.putExtra(LockPatternUtils.LOCKSCREEN_BIOMETRIC_WEAK_FALLBACK,
+ isFallback);
+ intent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);
+ startActivity(intent);
+
+ finish();
+ return true;
+ }
+ }
+}