diff --git a/res/values/cherish_strings.xml b/res/values/cherish_strings.xml index 6d20916..97841e5 100644 --- a/res/values/cherish_strings.xml +++ b/res/values/cherish_strings.xml @@ -490,5 +490,11 @@ Use stock aosp layout for homepage Settings UserCard Toggle in order not to show the usercard on main settings page + + + UDFPS haptic feedback + Vibrate when touching UDFPS icon + UDFPS settings + Customizations for the UDFPS diff --git a/res/xml/cherish_settings_lockscreen.xml b/res/xml/cherish_settings_lockscreen.xml index 433e512..acb2164 100644 --- a/res/xml/cherish_settings_lockscreen.xml +++ b/res/xml/cherish_settings_lockscreen.xml @@ -48,6 +48,19 @@ android:summary="@string/lockscreen_charging_info_summary" android:defaultValue="true" /> + + + + + + + diff --git a/res/xml/cherish_settings_udfps.xml b/res/xml/cherish_settings_udfps.xml new file mode 100644 index 0000000..f44a253 --- /dev/null +++ b/res/xml/cherish_settings_udfps.xml @@ -0,0 +1,17 @@ + + + + + + + diff --git a/src/com/cherish/settings/fragments/LockScreenSettings.java b/src/com/cherish/settings/fragments/LockScreenSettings.java index 98c23f8..f5cc3d7 100644 --- a/src/com/cherish/settings/fragments/LockScreenSettings.java +++ b/src/com/cherish/settings/fragments/LockScreenSettings.java @@ -41,6 +41,7 @@ import android.os.SystemProperties; import android.provider.Settings; import com.android.settings.R; import com.android.settings.SettingsPreferenceFragment; +import com.android.internal.util.cherish.udfps.UdfpsUtils; import com.android.internal.util.cherish.CherishUtils; import com.cherish.settings.preferences.SystemSettingListPreference; import com.cherish.settings.preferences.CustomSeekBarPreference; @@ -58,6 +59,13 @@ import java.util.List; public class LockScreenSettings extends SettingsPreferenceFragment implements Preference.OnPreferenceChangeListener { + private static final String UDFPS_CATEGORY = "udfps_category"; + + + private ListPreference mLockClockStyles; + private PreferenceCategory mUdfpsCategory; + private Context mContext; + @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); @@ -75,6 +83,11 @@ public class LockScreenSettings extends SettingsPreferenceFragment implements res = ctx.getPackageManager().getResourcesForApplication("com.android.systemui"); } catch (NameNotFoundException e) { e.printStackTrace(); + } + + mUdfpsCategory = findPreference(UDFPS_CATEGORY); + if (!UdfpsUtils.hasUdfpsSupport(getContext())) { + prefSet.removePreference(mUdfpsCategory); } } diff --git a/src/com/cherish/settings/fragments/Udfps.java b/src/com/cherish/settings/fragments/Udfps.java new file mode 100644 index 0000000..ee373b4 --- /dev/null +++ b/src/com/cherish/settings/fragments/Udfps.java @@ -0,0 +1,78 @@ +/* + * Copyright (C) 2019-2022 The CherishOS Projects + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.cherish.settings.fragments; + +import android.app.Activity; +import android.app.WallpaperManager; +import android.content.ContentResolver; +import android.content.Context; +import android.content.Intent; +import android.content.res.Resources; +import android.hardware.fingerprint.FingerprintManager; +import android.net.Uri; +import android.os.Bundle; +import android.os.UserHandle; +import android.provider.Settings; + +import androidx.preference.ListPreference; +import androidx.preference.Preference.OnPreferenceChangeListener; +import androidx.preference.Preference; +import androidx.preference.PreferenceCategory; +import androidx.preference.PreferenceFragment; +import androidx.preference.PreferenceManager; +import androidx.preference.PreferenceScreen; +import androidx.preference.SwitchPreference; + +import com.android.internal.logging.nano.MetricsProto; +import com.android.internal.util.cherish.CherishUtils; + +import com.android.settings.R; +import com.android.settings.SettingsPreferenceFragment; +import com.android.settings.search.BaseSearchIndexProvider; +import com.android.settingslib.search.SearchIndexable; + +@SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC) +public class Udfps extends SettingsPreferenceFragment implements + Preference.OnPreferenceChangeListener { + + + @Override + public void onCreate(Bundle icicle) { + super.onCreate(icicle); + addPreferencesFromResource(R.xml.cherish_settings_udfps); + + final PreferenceScreen prefSet = getPreferenceScreen(); + Resources resources = getResources(); + + } + + @Override + public boolean onPreferenceChange(Preference preference, Object newValue) { + ContentResolver resolver = getActivity().getContentResolver(); + return false; + } + + @Override + public int getMetricsCategory() { + return MetricsProto.MetricsEvent.CHERISH_SETTINGS; + } + + /** + * For Search. + */ + public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER = + new BaseSearchIndexProvider(R.xml.cherish_settings_udfps); +}