From 9873f67139d04f8df735921edd2e1d4bb0a6fab1 Mon Sep 17 00:00:00 2001 From: Karim Abou Zeid Date: Wed, 3 Feb 2016 20:10:16 +0100 Subject: [PATCH] Witched to supportv7 prefs. Should fix a NPE when opening settings for some devices. --- app/build.gradle | 2 +- .../ui/activities/SettingsActivity.java | 70 ++++++++++--------- app/src/main/res/values/styles_parents.xml | 4 ++ app/src/main/res/xml/pref_audio.xml | 12 ++-- app/src/main/res/xml/pref_colors.xml | 16 ++--- app/src/main/res/xml/pref_general.xml | 12 ++-- app/src/main/res/xml/pref_images.xml | 12 ++-- app/src/main/res/xml/pref_lockscreen.xml | 12 ++-- .../main/res/xml/pref_now_playing_screen.xml | 10 +-- 9 files changed, 78 insertions(+), 72 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 4ba2c7f6..2ff2e7bc 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -115,7 +115,7 @@ dependencies { transitive = true } - compile('com.github.kabouzeid:app-theme-helper:0.7.12kmod@aar') { + compile('com.github.kabouzeid:app-theme-helper:0.7.13kmod@aar') { transitive = true } diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/SettingsActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/SettingsActivity.java index fd805319..da9cef0f 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/SettingsActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/SettingsActivity.java @@ -12,7 +12,6 @@ import android.support.annotation.Nullable; import android.support.annotation.StyleRes; import android.support.v7.preference.ListPreference; import android.support.v7.preference.Preference; -import android.support.v7.preference.PreferenceFragmentCompat; import android.support.v7.preference.PreferenceManager; import android.support.v7.preference.TwoStatePreference; import android.support.v7.widget.Toolbar; @@ -21,6 +20,9 @@ import android.view.View; import com.afollestad.materialdialogs.color.ColorChooserDialog; import com.kabouzeid.appthemehelper.ThemeStore; +import com.kabouzeid.appthemehelper.common.prefs.supportv7.ATEColorPreference; +import com.kabouzeid.appthemehelper.common.prefs.supportv7.ATEPreferenceFragmentCompat; +import com.kabouzeid.appthemehelper.util.ColorUtil; import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.ui.activities.base.AbsBaseActivity; import com.kabouzeid.gramophone.util.NavigationUtil; @@ -84,7 +86,7 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia return super.onOptionsItemSelected(item); } - public static class SettingsFragment extends PreferenceFragmentCompat { + public static class SettingsFragment extends ATEPreferenceFragmentCompat { private static void setSummary(@NonNull Preference preference) { setSummary(preference, PreferenceManager @@ -120,7 +122,7 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia @Override public void onViewCreated(View view, Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); - view.findViewById(android.R.id.list).setPadding(0, 0, 0, 0); + getListView().setPadding(0, 0, 0, 0); invalidateSettings(); } @@ -159,37 +161,37 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia } }); -// ATEColorPreference primaryColorPref = (ATEColorPreference) findPreference("primary_color"); -// final int primaryColor = ThemeStore.primaryColor(getActivity()); -// primaryColorPref.setColor(primaryColor, ColorUtil.darkenColor(primaryColor)); -// primaryColorPref.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { -// @Override -// public boolean onPreferenceClick(@NonNull Preference preference) { -// new ColorChooserDialog.Builder(((SettingsActivity) getActivity()), R.string.primary_color) -// .accentMode(false) -// .allowUserColorInput(true) -// .allowUserColorInputAlpha(false) -// .preselect(primaryColor) -// .show(); -// return true; -// } -// }); -// -// ATEColorPreference accentColorPref = (ATEColorPreference) findPreference("accent_color"); -// final int accentColor = ThemeStore.accentColor(getActivity()); -// accentColorPref.setColor(accentColor, ColorUtil.darkenColor(accentColor)); -// accentColorPref.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { -// @Override -// public boolean onPreferenceClick(@NonNull Preference preference) { -// new ColorChooserDialog.Builder(((SettingsActivity) getActivity()), R.string.accent_color) -// .accentMode(true) -// .allowUserColorInput(true) -// .allowUserColorInputAlpha(false) -// .preselect(accentColor) -// .show(); -// return true; -// } -// }); + ATEColorPreference primaryColorPref = (ATEColorPreference) findPreference("primary_color"); + final int primaryColor = ThemeStore.primaryColor(getActivity()); + primaryColorPref.setColor(primaryColor, ColorUtil.darkenColor(primaryColor)); + primaryColorPref.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { + @Override + public boolean onPreferenceClick(@NonNull Preference preference) { + new ColorChooserDialog.Builder(((SettingsActivity) getActivity()), R.string.primary_color) + .accentMode(false) + .allowUserColorInput(true) + .allowUserColorInputAlpha(false) + .preselect(primaryColor) + .show(); + return true; + } + }); + + ATEColorPreference accentColorPref = (ATEColorPreference) findPreference("accent_color"); + final int accentColor = ThemeStore.accentColor(getActivity()); + accentColorPref.setColor(accentColor, ColorUtil.darkenColor(accentColor)); + accentColorPref.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { + @Override + public boolean onPreferenceClick(@NonNull Preference preference) { + new ColorChooserDialog.Builder(((SettingsActivity) getActivity()), R.string.accent_color) + .accentMode(true) + .allowUserColorInput(true) + .allowUserColorInputAlpha(false) + .preselect(accentColor) + .show(); + return true; + } + }); TwoStatePreference colorNavBar = (TwoStatePreference) findPreference("should_color_navigation_bar"); if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) { diff --git a/app/src/main/res/values/styles_parents.xml b/app/src/main/res/values/styles_parents.xml index b7f75c80..45f85b6b 100644 --- a/app/src/main/res/values/styles_parents.xml +++ b/app/src/main/res/values/styles_parents.xml @@ -27,6 +27,8 @@ @style/Widget.ActionButton.Overflow + + @style/PreferenceThemeOverlay