From 491132188e25b8657a314395294617e6565de1d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C6=B0ng=20Phan?= Date: Wed, 30 Sep 2020 12:15:43 +0700 Subject: [PATCH] Cherish:Import ThemePicker Browser 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 | 4 ++++ res/xml/cherish_settings_theme.xml | 16 +++++++++++++++ .../settings/fragments/ThemeSettings.java | 20 ++++++++++++++++++- 3 files changed, 39 insertions(+), 1 deletion(-) diff --git a/res/values/cherish_strings.xml b/res/values/cherish_strings.xml index 1822c28..a12f179 100644 --- a/res/values/cherish_strings.xml +++ b/res/values/cherish_strings.xml @@ -105,4 +105,8 @@ Gradient Maker Gradient picker Gradient effect maker + + + Styles and Wallpapers + Browse and select installed themes diff --git a/res/xml/cherish_settings_theme.xml b/res/xml/cherish_settings_theme.xml index fa5f73d..4d424e0 100644 --- a/res/xml/cherish_settings_theme.xml +++ b/res/xml/cherish_settings_theme.xml @@ -18,6 +18,21 @@ android:title="@string/theme_title" xmlns:settings="http://schemas.android.com/apk/res/com.android.settings"> + + + + + + + \ No newline at end of file diff --git a/src/com/cherish/settings/fragments/ThemeSettings.java b/src/com/cherish/settings/fragments/ThemeSettings.java index 313737f..af247a1 100644 --- a/src/com/cherish/settings/fragments/ThemeSettings.java +++ b/src/com/cherish/settings/fragments/ThemeSettings.java @@ -13,10 +13,14 @@ import android.content.Intent; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.os.UserHandle; +import android.os.Bundle; import android.os.SystemProperties; import android.os.ServiceManager; import android.content.om.IOverlayManager; +import android.content.om.OverlayInfo; import android.os.RemoteException; +import android.provider.SearchIndexableResource; +import android.provider.Settings; import android.content.ContentResolver; import android.content.res.Resources; import androidx.preference.ListPreference; @@ -26,8 +30,14 @@ import androidx.preference.PreferenceManager; import androidx.preference.Preference.OnPreferenceChangeListener; import androidx.preference.SwitchPreference; import com.cherish.settings.preferences.CustomSeekBarPreference; +import com.android.settings.search.BaseSearchIndexProvider; +import com.android.settingslib.search.SearchIndexable; +import com.android.settings.display.OverlayCategoryPreferenceController; +import com.android.settingslib.core.lifecycle.Lifecycle; import android.provider.Settings; import com.android.settings.R; +import androidx.fragment.app.Fragment; +import com.android.settingslib.core.AbstractPreferenceController; import com.android.settings.SettingsPreferenceFragment; import java.util.Locale; import android.text.TextUtils; @@ -48,6 +58,7 @@ public class ThemeSettings extends SettingsPreferenceFragment implements private static final String ACCENT_COLOR_PROP = "persist.sys.theme.accentcolor"; private static final String GRADIENT_COLOR = "gradient_color"; private static final String GRADIENT_COLOR_PROP = "persist.sys.theme.gradientcolor"; + private static final String CUSTOM_THEME_BROWSE = "theme_select_activity"; static final int DEFAULT_QS_PANEL_COLOR = 0xffffffff; private IOverlayManager mOverlayService; @@ -55,6 +66,7 @@ public class ThemeSettings extends SettingsPreferenceFragment implements private ColorPickerPreference mThemeColor; private ColorPickerPreference mGradientColor; private ListPreference mThemeSwitch; + private Preference mThemeBrowse; @Override public void onCreate(Bundle icicle) { @@ -227,6 +239,13 @@ public class ThemeSettings extends SettingsPreferenceFragment implements mGradientColor.setOnPreferenceChangeListener(this); } + private boolean isBrowseThemesAvailable() { + PackageManager pm = getPackageManager(); + Intent browse = new Intent(); + browse.setClassName("com.android.customization", "com.android.customization.picker.CustomizationPickerActivity"); + return pm.resolveActivity(browse, 0) != null; + } + private void handleBackgrounds(Boolean state, Context context, int mode, String[] overlays) { if (context != null) { Objects.requireNonNull(context.getSystemService(UiModeManager.class)) @@ -246,5 +265,4 @@ public class ThemeSettings extends SettingsPreferenceFragment implements public int getMetricsCategory() { return MetricsProto.MetricsEvent.CHERISH_SETTINGS; } - } \ No newline at end of file