Files
packages_apps_Settings/src/com/android/settings/biometrics/fingerprint/FingerprintRequireScreenOnToAuthToggle.java
Grace Cheng 13d3bdc4c0 Implement SFPS “require screen on to auth”
Creates new setting on SFPS to require screen on before unlocking a
device. Also sets up toggles for this setting at the end of fingerprint
enrollment and on the fingerprint settings page, and adds tests to
verify expected behavior.

Test: make RunSettingsRoboTests ROBOTEST_FILTER=FingerprintSettingsRequireScreenOnToAuthPreferenceControllerTest
Fixes: 249169615
Fixes: 245343077
Fixes: 248530806
Change-Id: Id588796426d071860b3cc2af9ec5798c0027c202
Merged-In: Ia44604b059c4847c40608419b2e16219976ced3e
2022-11-02 14:34:59 +00:00

78 lines
2.2 KiB
Java

/*
* Copyright (C) 2022 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.biometrics.fingerprint;
import android.content.Context;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.widget.CompoundButton;
import android.widget.LinearLayout;
import android.widget.Switch;
import com.android.settings.R;
/**
* A layout that contains a start-justified title, and an end-justified switch.
*/
public class FingerprintRequireScreenOnToAuthToggle extends LinearLayout {
private Switch mSwitch;
public FingerprintRequireScreenOnToAuthToggle(Context context) {
this(context, null /* attrs */);
}
public FingerprintRequireScreenOnToAuthToggle(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
public FingerprintRequireScreenOnToAuthToggle(
Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
LayoutInflater.from(context).inflate(R.layout.sfps_require_screen_on_to_auth_toggle,
this, true /* attachToRoot */);
mSwitch = findViewById(R.id.toggle);
mSwitch.setClickable(true);
mSwitch.setFocusable(false);
}
public boolean isChecked() {
return mSwitch.isChecked();
}
/**
*
* @param checked
*/
public void setChecked(boolean checked) {
mSwitch.setChecked(checked);
}
/**
*
* @param listener
*/
public void setListener(CompoundButton.OnCheckedChangeListener listener) {
mSwitch.setOnCheckedChangeListener(listener);
}
public Switch getSwitch() {
return mSwitch;
}
}