diff --git a/res/values/cherish_strings.xml b/res/values/cherish_strings.xml index 196f265..831d044 100644 --- a/res/values/cherish_strings.xml +++ b/res/values/cherish_strings.xml @@ -476,6 +476,10 @@ Udfps icon picker Choose your favorite fingerprint icon + + Udfps Options + Different menus for customizing the udfps + FOD haptic feedback Vibrate when touching FOD icon diff --git a/res/xml/cherish_settings_lockscreen.xml b/res/xml/cherish_settings_lockscreen.xml index f58c7f1..a3915fa 100644 --- a/res/xml/cherish_settings_lockscreen.xml +++ b/res/xml/cherish_settings_lockscreen.xml @@ -88,30 +88,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; + } +} +