Protect "Lock after timeout" page with an auth challenge.

Test: manual
Bug: 315937886

Change-Id: Ib3da9f783892828c0c9cfdc4ebb27b2d982e5274
This commit is contained in:
Jan Tomljanovic
2023-12-21 13:54:03 +00:00
parent 6ca4c0fb5a
commit c4ec19acfa
3 changed files with 49 additions and 1 deletions

View File

@@ -0,0 +1,8 @@
package: "com.android.settings.flags"
flag {
name: "protect_lock_after_timeout_with_auth"
namespace: "safety_center"
description: "Require an auth challenge to open Lock after timeout page"
bug: "315937886"
}

View File

@@ -40,7 +40,7 @@
<!-- available in pin/pattern/password -->
<com.android.settings.display.TimeoutListPreference
<com.android.settings.security.screenlock.ProtectedTimeoutListPreference
android:key="lock_after_timeout"
android:title="@string/lock_after_timeout"
android:summary="@string/summary_placeholder"

View File

@@ -0,0 +1,40 @@
/*
* 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.util.AttributeSet;
import com.android.settings.display.TimeoutListPreference;
import com.android.settings.flags.Flags;
import com.android.settings.wifi.dpp.WifiDppUtils;
/** Wraps {@link TimeoutListPreference} with an authentication challenge for user. */
public class ProtectedTimeoutListPreference extends TimeoutListPreference {
public ProtectedTimeoutListPreference(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public void performClick() {
if (Flags.protectLockAfterTimeoutWithAuth()) {
WifiDppUtils.showLockScreen(getContext(), super::performClick);
} else {
super.performClick();
}
}
}