diff --git a/res/values/evolution_strings.xml b/res/values/evolution_strings.xml index 7b225b4..6a82445 100644 --- a/res/values/evolution_strings.xml +++ b/res/values/evolution_strings.xml @@ -82,6 +82,9 @@ Interface Charging stats Display current, voltage, wattage, and temperature stats while charging + Fingerprint + Ripple animation + Show ripple animation when unlocked with fingerprint Gestures diff --git a/res/xml/evolution_settings_lock_screen.xml b/res/xml/evolution_settings_lock_screen.xml index 0517e72..9806537 100644 --- a/res/xml/evolution_settings_lock_screen.xml +++ b/res/xml/evolution_settings_lock_screen.xml @@ -20,4 +20,16 @@ android:summary="@string/lock_screen_charging_stats_summary" android:defaultValue="true" /> + + + + + + diff --git a/src/org/evolution/settings/fragments/lockscreen/LockScreen.java b/src/org/evolution/settings/fragments/lockscreen/LockScreen.java index 82fdb97..f8cf5a1 100644 --- a/src/org/evolution/settings/fragments/lockscreen/LockScreen.java +++ b/src/org/evolution/settings/fragments/lockscreen/LockScreen.java @@ -8,6 +8,7 @@ package org.evolution.settings.fragments.lockscreen; import android.content.ContentResolver; import android.content.Context; import android.content.res.Resources; +import android.hardware.fingerprint.FingerprintManager; import android.os.Bundle; import androidx.preference.Preference; @@ -29,6 +30,11 @@ public class LockScreen extends SettingsPreferenceFragment implements private static final String TAG = "LockScreen"; + private static final String KEY_FINGERPRINT_CATEGORY = "lock_screen_fingerprint_category"; + private static final String KEY_RIPPLE_EFFECT = "enable_ripple_effect"; + + private PreferenceCategory mFingerprintCategory; + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -38,6 +44,15 @@ public class LockScreen extends SettingsPreferenceFragment implements final ContentResolver resolver = context.getContentResolver(); final PreferenceScreen prefScreen = getPreferenceScreen(); final Resources resources = context.getResources(); + + mFingerprintCategory = (PreferenceCategory) findPreference(KEY_FINGERPRINT_CATEGORY); + + FingerprintManager fingerprintManager = (FingerprintManager) + getActivity().getSystemService(Context.FINGERPRINT_SERVICE); + + if (fingerprintManager == null || !fingerprintManager.isHardwareDetected()) { + prefScreen.removePreference(mFingerprintCategory); + } } @Override @@ -59,6 +74,13 @@ public class LockScreen extends SettingsPreferenceFragment implements public List getNonIndexableKeys(Context context) { List keys = super.getNonIndexableKeys(context); final Resources resources = context.getResources(); + + FingerprintManager fingerprintManager = (FingerprintManager) + context.getSystemService(Context.FINGERPRINT_SERVICE); + + if (fingerprintManager == null || !fingerprintManager.isHardwareDetected()) { + keys.add(KEY_RIPPLE_EFFECT); + } return keys; } };