From 2a8495d42ff608571c4d21488735c46060777290 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C6=B0ng=20Phan?= Date: Sun, 4 Jul 2021 14:14:15 +0700 Subject: [PATCH] Cherish:Hide FOD if devices not supported MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Hưng Phan --- res/values/cherish_strings.xml | 7 +- res/xml/cherish_settings_lockscreen.xml | 64 +++++++++-- res/xml/fod_settings.xml | 69 ------------ .../settings/fragments/FODSettings.java | 103 ------------------ .../fragments/LockScreenSettings.java | 25 ++++- 5 files changed, 80 insertions(+), 188 deletions(-) delete mode 100644 res/xml/fod_settings.xml delete mode 100644 src/com/cherish/settings/fragments/FODSettings.java diff --git a/res/values/cherish_strings.xml b/res/values/cherish_strings.xml index 5011efc..4874afa 100644 --- a/res/values/cherish_strings.xml +++ b/res/values/cherish_strings.xml @@ -1132,8 +1132,11 @@ Qs clock Display an oos like clock on qs - - Fingerprint On Display + + FOD settings + + + FOD animation Configure FOD View diff --git a/res/xml/cherish_settings_lockscreen.xml b/res/xml/cherish_settings_lockscreen.xml index 0cfc5cd..02b5211 100644 --- a/res/xml/cherish_settings_lockscreen.xml +++ b/res/xml/cherish_settings_lockscreen.xml @@ -269,13 +269,61 @@ android:entryValues="@array/lockscreen_albumart_filter_values" android:dependency="lockscreen_media_metadata" android:defaultValue="0" /> - - - + + + + + + + + + + + + + + + + + + + + diff --git a/res/xml/fod_settings.xml b/res/xml/fod_settings.xml deleted file mode 100644 index 9758e9f..0000000 --- a/res/xml/fod_settings.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/src/com/cherish/settings/fragments/FODSettings.java b/src/com/cherish/settings/fragments/FODSettings.java deleted file mode 100644 index dc784c1..0000000 --- a/src/com/cherish/settings/fragments/FODSettings.java +++ /dev/null @@ -1,103 +0,0 @@ -/* - * Copyright (C) 2021 The CherishOS Project - * - * 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.lockscreen; - -import com.android.internal.logging.nano.MetricsProto; - -import android.os.Bundle; -import android.content.Context; -import android.content.Intent; -import android.content.pm.PackageManager; -import android.content.pm.ResolveInfo; -import android.os.UserHandle; -import android.provider.SearchIndexableResource; -import android.content.ContentResolver; -import android.content.res.Resources; -import android.provider.Settings; -import com.android.settings.R; - -import android.os.SystemProperties; -import androidx.preference.ListPreference; -import androidx.preference.Preference; -import androidx.preference.PreferenceScreen; -import androidx.preference.PreferenceGroup; -import androidx.preference.PreferenceCategory; -import androidx.preference.Preference.OnPreferenceChangeListener; -import androidx.preference.SwitchPreference; - -import com.android.settings.search.BaseSearchIndexProvider; -import com.android.settingslib.search.Indexable; -import com.android.settingslib.search.SearchIndexable; - -import java.util.Locale; -import android.text.TextUtils; -import android.view.View; - -import com.android.settings.SettingsPreferenceFragment; -import com.cherish.settings.preferences.SystemSettingSwitchPreference; -import com.android.settings.Utils; -import android.util.Log; -import android.hardware.fingerprint.FingerprintManager; - -import java.util.List; -import java.util.ArrayList; -import java.util.Map; -import java.util.HashMap; -import java.util.Collections; - - -@SearchIndexable -public class FODSettings extends SettingsPreferenceFragment implements - Preference.OnPreferenceChangeListener, Indexable { - - private ContentResolver mResolver; - - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - addPreferencesFromResource(R.xml.fod_settings); - PreferenceScreen prefScreen = getPreferenceScreen(); - } - - public boolean onPreferenceChange(Preference preference, Object newValue) { - return false; - } - - @Override - public int getMetricsCategory() { - return MetricsProto.MetricsEvent.CHERISH_SETTINGS; - } - - public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER = - new BaseSearchIndexProvider() { - @Override - public List getXmlResourcesToIndex(Context context, - boolean enabled) { - final ArrayList result = new ArrayList<>(); - final SearchIndexableResource sir = new SearchIndexableResource(context); - sir.xmlResId = R.xml.fod_settings; - result.add(sir); - return result; - } - - @Override - public List getNonIndexableKeys(Context context) { - final List keys = super.getNonIndexableKeys(context); - return keys; - } - }; -} diff --git a/src/com/cherish/settings/fragments/LockScreenSettings.java b/src/com/cherish/settings/fragments/LockScreenSettings.java index 6b5a277..8e75ba9 100644 --- a/src/com/cherish/settings/fragments/LockScreenSettings.java +++ b/src/com/cherish/settings/fragments/LockScreenSettings.java @@ -39,6 +39,7 @@ import android.provider.Settings; import com.android.settings.R; import com.android.settings.SettingsPreferenceFragment; import com.android.internal.util.cherish.FodUtils; +import com.android.internal.util.cherish.CherishUtils; import com.cherish.settings.preferences.SystemSettingListPreference; import com.cherish.settings.preferences.CustomSeekBarPreference; import com.cherish.settings.preferences.SecureSettingListPreference; @@ -61,7 +62,8 @@ public class LockScreenSettings extends SettingsPreferenceFragment implements private static final String DATE_FONT_SIZE = "lockdate_font_size"; private static final String LOCKOWNER_FONT_SIZE = "lockowner_font_size"; private static final String AOD_SCHEDULE_KEY = "always_on_display_schedule"; - private static final String LOCKSCREEN_FOD_CATEGORY = "lockscreen_fod_category"; + private static final String FOD_ANIMATION_CATEGORY = "fod_animations"; + private static final String FOD_ICON_PICKER_CATEGORY = "fod_icon_picker"; private ContentResolver mResolver; private Preference FODSettings; @@ -75,6 +77,7 @@ public class LockScreenSettings extends SettingsPreferenceFragment implements private CustomSeekBarPreference mDateFontSize; private CustomSeekBarPreference mOwnerInfoFontSize; private CustomSeekBarPreference mCustomTextClockFontSize; + private PreferenceCategory mFODIconPickerCategory; private Preference mAODPref; @Override @@ -83,13 +86,20 @@ public class LockScreenSettings extends SettingsPreferenceFragment implements addPreferencesFromResource(R.xml.cherish_settings_lockscreen); ContentResolver resolver = getActivity().getContentResolver(); - final PreferenceScreen prefScreen = getPreferenceScreen(); + PreferenceScreen prefScreen = getPreferenceScreen(); Resources resources = getResources(); - FODSettings = (Preference) findPreference(LOCKSCREEN_FOD_CATEGORY); - if (FODSettings != null - && !getResources().getBoolean(com.android.internal.R.bool.config_needCustomFODView)) { - prefScreen.removePreference(FODSettings); + mFODIconPickerCategory = findPreference(FOD_ICON_PICKER_CATEGORY); + if (mFODIconPickerCategory != null && !FodUtils.hasFodSupport(getContext())) { + prefScreen.removePreference(mFODIconPickerCategory); + } + + final PreferenceCategory fodCat = (PreferenceCategory) prefScreen + .findPreference(FOD_ANIMATION_CATEGORY); + final boolean isFodAnimationResources = CherishUtils.isPackageInstalled(getContext(), + getResources().getString(com.android.internal.R.string.config_fodAnimationPackage)); + if (!isFodAnimationResources) { + prefScreen.removePreference(fodCat); } // Lock Clock Size @@ -197,6 +207,9 @@ public class LockScreenSettings extends SettingsPreferenceFragment implements @Override public List getNonIndexableKeys(Context context) { List keys = super.getNonIndexableKeys(context); + if (!FodUtils.hasFodSupport(context)) { + keys.add(FOD_ICON_PICKER_CATEGORY); + } return keys; } };