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;
}
};