diff options
author | Rowan Decker <smasher816@gmail.com> | 2012-12-17 19:57:32 +0100 |
---|---|---|
committer | Gerrit Code Review <gerrit@review.cyanogenmod.com> | 2012-12-30 12:29:52 -0800 |
commit | 913fdaaf02b026918e62d0025af632ca78b3ca4a (patch) | |
tree | d7bef62670d6ff010f48ea924bd1b517b8a7ac11 /src/com/android/settings/ChooseLockPatternSize.java | |
parent | d2ea9ad3b78ece97eb4c93536dea506f002ca89c (diff) | |
download | packages_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.java | 83 |
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; + } + } +} |