diff --git a/res/values/cherish_strings.xml b/res/values/cherish_strings.xml
index 224d346..2b6019d 100644
--- a/res/values/cherish_strings.xml
+++ b/res/values/cherish_strings.xml
@@ -698,5 +698,9 @@
Udfps icon picker
Choose your favorite fingerprint icon
+
+
+ Udfps Options
+ Different menus for customizing the udfps
diff --git a/res/xml/cherish_settings_lockscreen.xml b/res/xml/cherish_settings_lockscreen.xml
index e51d1dd..de7e0f2 100644
--- a/res/xml/cherish_settings_lockscreen.xml
+++ b/res/xml/cherish_settings_lockscreen.xml
@@ -94,30 +94,12 @@
-
-
-
-
-
-
+ android:key="udfps_settings"
+ android:title="@string/udfps_settings_title"
+ android:summary="@string/udfps_settings_summary"
+ android:fragment="com.cherish.settings.fragments.UdfpsSettings" />
diff --git a/res/xml/cherish_settings_udfps.xml b/res/xml/cherish_settings_udfps.xml
new file mode 100644
index 0000000..5ed2971
--- /dev/null
+++ b/res/xml/cherish_settings_udfps.xml
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/com/cherish/settings/fragments/LockScreenSettings.java b/src/com/cherish/settings/fragments/LockScreenSettings.java
index 4d024db..3236962 100644
--- a/src/com/cherish/settings/fragments/LockScreenSettings.java
+++ b/src/com/cherish/settings/fragments/LockScreenSettings.java
@@ -60,8 +60,6 @@ public class LockScreenSettings extends SettingsPreferenceFragment implements
Preference.OnPreferenceChangeListener {
private static final String AOD_SCHEDULE_KEY = "always_on_display_schedule";
- private static final String SCREEN_OFF_FOD_KEY = "screen_off_fod";
- private static final String UDFPS_HAPTIC_FEEDBACK = "udfps_haptic_feedback";
static final int MODE_DISABLED = 0;
static final int MODE_NIGHT = 1;
@@ -71,8 +69,6 @@ public class LockScreenSettings extends SettingsPreferenceFragment implements
Preference mAODPref;
Preference mFODPref;
- private SystemSettingSwitchPreference mFODScreenOff;
- private SystemSettingSwitchPreference mUdfpsHapticFeedback;
@Override
public void onCreate(Bundle icicle) {
@@ -94,8 +90,6 @@ public class LockScreenSettings extends SettingsPreferenceFragment implements
}
PreferenceCategory udfps = (PreferenceCategory) prefScreen.findPreference("udfps_category");
- mFODScreenOff = (SystemSettingSwitchPreference) findPreference(SCREEN_OFF_FOD_KEY);
- mUdfpsHapticFeedback = (SystemSettingSwitchPreference) findPreference(UDFPS_HAPTIC_FEEDBACK);
if (!FodUtils.hasFodSupport(getContext())) {
prefScreen.removePreference(udfps);
}
diff --git a/src/com/cherish/settings/fragments/UdfpsSettings.java b/src/com/cherish/settings/fragments/UdfpsSettings.java
new file mode 100644
index 0000000..60b1394
--- /dev/null
+++ b/src/com/cherish/settings/fragments/UdfpsSettings.java
@@ -0,0 +1,78 @@
+/*
+ * Copyright (C) 2020-22 The CherishOS Projects
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
+package com.cherish.settings.fragments;
+
+import com.android.internal.logging.nano.MetricsProto;
+
+import android.app.Activity;
+import android.content.Context;
+import android.content.ContentResolver;
+import android.app.WallpaperManager;
+import android.content.Intent;
+import android.content.res.Resources;
+import android.hardware.fingerprint.FingerprintManager;
+import android.net.Uri;
+import android.os.Bundle;
+import androidx.preference.ListPreference;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceCategory;
+import androidx.preference.PreferenceFragment;
+import androidx.preference.PreferenceManager;
+import androidx.preference.SwitchPreference;
+import androidx.preference.PreferenceScreen;
+import androidx.preference.Preference.OnPreferenceChangeListener;
+import android.provider.Settings;
+import com.android.settings.R;
+import com.android.settings.SettingsPreferenceFragment;
+
+import com.android.internal.util.cherish.fod.FodUtils;
+import com.android.internal.util.cherish.CherishUtils;
+
+import com.cherish.settings.preferences.SystemSettingSwitchPreference;
+
+public class UdfpsSettings extends SettingsPreferenceFragment implements
+ Preference.OnPreferenceChangeListener {
+
+ @Override
+ public void onCreate(Bundle icicle) {
+ super.onCreate(icicle);
+ addPreferencesFromResource(R.xml.cherish_settings_udfps);
+
+ final PreferenceScreen prefScreen = getPreferenceScreen();
+ Resources resources = getResources();
+
+ boolean udfpsResPkgInstalled = CherishUtils.isPackageInstalled(getContext(),
+ "com.cherish.udfps.resources");
+ PreferenceCategory udfps_custom = (PreferenceCategory) prefScreen.findPreference("udfps_customization");
+ if (!udfpsResPkgInstalled) {
+ prefScreen.removePreference(udfps_custom);
+ }
+ }
+
+ public boolean onPreferenceChange(Preference preference, Object newValue) {
+ ContentResolver resolver = getActivity().getContentResolver();
+ return false;
+ }
+
+ @Override
+ public int getMetricsCategory() {
+ return MetricsProto.MetricsEvent.CHERISH_SETTINGS;
+ }
+}
+