Evolver: Allow toggling screen off UDFPS

Co-authored-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: AnierinB <anierin@evolution-x.org>
This commit is contained in:
jhonboy121
2024-05-16 02:02:35 +00:00
committed by Joey Huab
parent b6e2a18b2f
commit cfe4d191e4
3 changed files with 33 additions and 0 deletions

View File

@@ -90,6 +90,8 @@
<string name="lock_screen_fingerprint_category">Fingerprint</string>
<string name="lock_screen_fingerprint_ripple_title">Ripple animation</string>
<string name="lock_screen_fingerprint_ripple_summary">Show ripple animation when unlocked with fingerprint</string>
<string name="lock_screen_screen_off_udfps_title">Screen-Off UDFPS</string>
<string name="lock_screen_screen_off_udfps_summary">Keep UDFPS enabled while the screen is off</string>
<!-- Status bar -->
<string name="status_bar_gestures_category">Gestures</string>

View File

@@ -31,5 +31,12 @@
android:title="@string/lock_screen_fingerprint_ripple_title"
android:summary="@string/lock_screen_fingerprint_ripple_summary"
android:defaultValue="true" />
<!-- Screen-Off UDFPS -->
<org.evolution.settings.preferences.SecureSettingSwitchPreference
android:key="screen_off_udfps_enabled"
android:title="@string/lock_screen_screen_off_udfps_title"
android:summary="@string/lock_screen_screen_off_udfps_summary"
android:defaultValue="false" />
</PreferenceCategory>
</PreferenceScreen>

View File

@@ -10,6 +10,7 @@ import android.content.Context;
import android.content.res.Resources;
import android.hardware.fingerprint.FingerprintManager;
import android.os.Bundle;
import android.text.TextUtils;
import androidx.preference.Preference;
import androidx.preference.Preference.OnPreferenceChangeListener;
@@ -24,6 +25,8 @@ import com.android.settingslib.search.SearchIndexable;
import java.util.List;
import org.evolution.settings.preferences.SecureSettingSwitchPreference;
@SearchIndexable
public class LockScreen extends SettingsPreferenceFragment implements
Preference.OnPreferenceChangeListener {
@@ -32,8 +35,10 @@ public class LockScreen extends SettingsPreferenceFragment implements
private static final String KEY_FINGERPRINT_CATEGORY = "lock_screen_fingerprint_category";
private static final String KEY_RIPPLE_EFFECT = "enable_ripple_effect";
private static final String KEY_SCREEN_OFF_UDFPS = "screen_off_udfps_enabled";
private PreferenceCategory mFingerprintCategory;
private SecureSettingSwitchPreference mScreenOffUdfps;
@Override
public void onCreate(Bundle savedInstanceState) {
@@ -46,12 +51,22 @@ public class LockScreen extends SettingsPreferenceFragment implements
final Resources resources = context.getResources();
mFingerprintCategory = (PreferenceCategory) findPreference(KEY_FINGERPRINT_CATEGORY);
mScreenOffUdfps = (SecureSettingSwitchPreference) findPreference(KEY_SCREEN_OFF_UDFPS);
FingerprintManager fingerprintManager = (FingerprintManager)
getActivity().getSystemService(Context.FINGERPRINT_SERVICE);
if (fingerprintManager == null || !fingerprintManager.isHardwareDetected()) {
prefScreen.removePreference(mFingerprintCategory);
} else {
boolean screenOffUdfpsAvailable = resources.getBoolean(
com.android.internal.R.bool.config_supportScreenOffUdfps) ||
!TextUtils.isEmpty(resources.getString(
com.android.internal.R.string.config_dozeUdfpsLongPressSensorType));
if (!screenOffUdfpsAvailable) {
mFingerprintCategory.removePreference(mScreenOffUdfps);
}
}
}
@@ -80,6 +95,15 @@ public class LockScreen extends SettingsPreferenceFragment implements
if (fingerprintManager == null || !fingerprintManager.isHardwareDetected()) {
keys.add(KEY_RIPPLE_EFFECT);
keys.add(KEY_SCREEN_OFF_UDFPS);
} else {
boolean screenOffUdfpsAvailable = resources.getBoolean(
com.android.internal.R.bool.config_supportScreenOffUdfps) ||
!TextUtils.isEmpty(resources.getString(
com.android.internal.R.string.config_dozeUdfpsLongPressSensorType));
if (!screenOffUdfpsAvailable) {
keys.add(KEY_SCREEN_OFF_UDFPS);
}
}
return keys;
}