Add setting to disable PIN animation and password am: 30bf66db42
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/21369281 Change-Id: I39f9675c5b3fc234608882780a62141061bf1e74 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -17,29 +17,22 @@
|
||||
package com.android.settings.security.screenlock;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.UserHandle;
|
||||
|
||||
import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceScreen;
|
||||
|
||||
import com.android.internal.widget.LockPatternUtils;
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
import com.android.settings.notification.LockScreenNotificationPreferenceController;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settingslib.core.lifecycle.LifecycleObserver;
|
||||
import com.android.settingslib.core.lifecycle.events.OnResume;
|
||||
|
||||
public class LockScreenPreferenceController extends BasePreferenceController implements
|
||||
LifecycleObserver, OnResume {
|
||||
|
||||
private static final int MY_USER_ID = UserHandle.myUserId();
|
||||
private final LockPatternUtils mLockPatternUtils;
|
||||
private Preference mPreference;
|
||||
|
||||
public LockScreenPreferenceController(Context context, String key) {
|
||||
super(context, key);
|
||||
mLockPatternUtils = FeatureFactory.getFactory(context)
|
||||
.getSecurityFeatureProvider().getLockPatternUtils(context);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -16,7 +16,6 @@
|
||||
|
||||
package com.android.settings.security.screenlock;
|
||||
|
||||
import android.app.admin.DevicePolicyManager;
|
||||
import android.content.Context;
|
||||
|
||||
import androidx.preference.Preference;
|
||||
@@ -58,9 +57,8 @@ public class PatternVisiblePreferenceController extends AbstractPreferenceContro
|
||||
}
|
||||
|
||||
private boolean isPatternLock() {
|
||||
return mLockPatternUtils.isSecure(mUserId)
|
||||
&& mLockPatternUtils.getKeyguardStoredPasswordQuality(mUserId)
|
||||
== DevicePolicyManager.PASSWORD_QUALITY_SOMETHING;
|
||||
return mLockPatternUtils.getCredentialTypeForUser(mUserId)
|
||||
== LockPatternUtils.CREDENTIAL_TYPE_PATTERN;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -0,0 +1,60 @@
|
||||
/*
|
||||
* Copyright (C) 2023 The Android Open Source 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.security.screenlock
|
||||
|
||||
import android.content.Context
|
||||
import android.provider.Settings
|
||||
import androidx.preference.Preference
|
||||
import androidx.preference.TwoStatePreference
|
||||
import com.android.internal.widget.LockPatternUtils
|
||||
import com.android.internal.widget.LockPatternUtils.*
|
||||
import com.android.settings.core.PreferenceControllerMixin
|
||||
import com.android.settingslib.core.AbstractPreferenceController
|
||||
|
||||
class PinPrivacyPreferenceController(
|
||||
context: Context,
|
||||
private val userId: Int,
|
||||
private val lockPatternUtils: LockPatternUtils
|
||||
) : AbstractPreferenceController(context), PreferenceControllerMixin,
|
||||
Preference.OnPreferenceChangeListener {
|
||||
|
||||
companion object {
|
||||
private const val PREF_KEY = "enhancedPinPrivacy"
|
||||
}
|
||||
|
||||
override fun isAvailable(): Boolean {
|
||||
val credentialType = lockPatternUtils.getCredentialTypeForUser(userId)
|
||||
return credentialType == CREDENTIAL_TYPE_PIN
|
||||
}
|
||||
|
||||
override fun getPreferenceKey(): String {
|
||||
return PREF_KEY
|
||||
}
|
||||
|
||||
override fun onPreferenceChange(preference: Preference?, value: Any?): Boolean {
|
||||
lockPatternUtils.setPinEnhancedPrivacyEnabled((value as Boolean), userId)
|
||||
return true
|
||||
}
|
||||
|
||||
override fun updateState(preference: Preference) {
|
||||
(preference as TwoStatePreference).isChecked = getCurrentPreferenceState()
|
||||
}
|
||||
|
||||
private fun getCurrentPreferenceState(): Boolean {
|
||||
return lockPatternUtils.isPinEnhancedPrivacyEnabled(userId)
|
||||
}
|
||||
}
|
@@ -68,9 +68,12 @@ public class ScreenLockSettings extends DashboardFragment
|
||||
|
||||
private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
|
||||
DashboardFragment parent, LockPatternUtils lockPatternUtils) {
|
||||
|
||||
final List<AbstractPreferenceController> controllers = new ArrayList<>();
|
||||
controllers.add(new PatternVisiblePreferenceController(
|
||||
context, MY_USER_ID, lockPatternUtils));
|
||||
controllers.add(new PinPrivacyPreferenceController(
|
||||
context, MY_USER_ID, lockPatternUtils));
|
||||
controllers.add(new PowerButtonInstantLockPreferenceController(
|
||||
context, MY_USER_ID, lockPatternUtils));
|
||||
controllers.add(new LockAfterTimeoutPreferenceController(
|
||||
|
Reference in New Issue
Block a user