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:
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user