From c0dc6520339cda4737f88cc92c3913945d55e4f4 Mon Sep 17 00:00:00 2001 From: Andrew Lord Date: Sat, 27 Feb 2016 18:40:28 +0000 Subject: [PATCH 1/9] Mark the Settings and About options in navigation drawer as not selectable. This means they won't be automatically marked after you select them, you should do this for all navigation drawer options that start a new activity instead of switching the fragment. Fixes #444 --- .../com/habitrpg/android/habitica/ui/MainDrawerBuilder.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Habitica/src/com/habitrpg/android/habitica/ui/MainDrawerBuilder.java b/Habitica/src/com/habitrpg/android/habitica/ui/MainDrawerBuilder.java index 33bfcfac1..bacafb772 100644 --- a/Habitica/src/com/habitrpg/android/habitica/ui/MainDrawerBuilder.java +++ b/Habitica/src/com/habitrpg/android/habitica/ui/MainDrawerBuilder.java @@ -92,9 +92,9 @@ public class MainDrawerBuilder { new DividerDrawerItem(), //new SecondaryDrawerItem().withName(activity.getString(R.string.sidebar_news)), - new PrimaryDrawerItem().withName(activity.getString(R.string.sidebar_settings)).withIdentifier(SIDEBAR_SETTINGS), + new PrimaryDrawerItem().withName(activity.getString(R.string.sidebar_settings)).withIdentifier(SIDEBAR_SETTINGS).withSelectable(false), new PrimaryDrawerItem().withName(activity.getString(R.string.sidebar_help)).withIdentifier(SIDEBAR_HELP), - new PrimaryDrawerItem().withName(activity.getString(R.string.sidebar_about)).withIdentifier(SIDEBAR_ABOUT) + new PrimaryDrawerItem().withName(activity.getString(R.string.sidebar_about)).withIdentifier(SIDEBAR_ABOUT).withSelectable(false) ) .withStickyFooterDivider(false) From 5d76167df0f2b708ac91d120fe9616f49c2c65ce Mon Sep 17 00:00:00 2001 From: Andrew Lord Date: Sat, 27 Feb 2016 20:20:33 +0000 Subject: [PATCH 2/9] Back navigation wasn't working properly in settings due to it being a PreferenceFragment which extends from Fragment, whereas the activity is an AppCompatActivity so looks in the support library fragment manager when handling the back key. Switching to use the support-v7 preference library and PreferenceFragmentCompat then allows this to work. This commit has the time preference working (works slightly differently with support library preferences). Switching to account page not working yet and styling of main settings page needs some fixes. --- Habitica/AndroidManifest.xml | 1 - Habitica/build.gradle | 1 + Habitica/res/values/styles.xml | 7 +- Habitica/res/xml/preferences_fragment.xml | 54 +++++++++-- .../habitica/prefs/TimePreference.java | 63 +++---------- .../habitica/ui/activities/PrefsActivity.java | 2 +- .../ui/fragments/PreferencesFragment.java | 90 +++++++++++++++---- .../prefs/TimePreferenceDialogFragment.java | 87 ++++++++++++++++++ 8 files changed, 224 insertions(+), 81 deletions(-) create mode 100644 Habitica/src/com/habitrpg/android/habitica/ui/fragments/prefs/TimePreferenceDialogFragment.java diff --git a/Habitica/AndroidManifest.xml b/Habitica/AndroidManifest.xml index befddad3c..f862a3dc7 100644 --- a/Habitica/AndroidManifest.xml +++ b/Habitica/AndroidManifest.xml @@ -37,7 +37,6 @@ @style/PopupTheme @style/PopupTheme @style/PopupTheme + @style/PreferenceThemeOverlay - - diff --git a/Habitica/res/xml/preferences_fragment.xml b/Habitica/res/xml/preferences_fragment.xml index 2289ac7b3..d1ee0696d 100644 --- a/Habitica/res/xml/preferences_fragment.xml +++ b/Habitica/res/xml/preferences_fragment.xml @@ -1,28 +1,72 @@ + - + + + + + + + + + + + + + + + + - + + + + \ No newline at end of file diff --git a/Habitica/src/com/habitrpg/android/habitica/prefs/TimePreference.java b/Habitica/src/com/habitrpg/android/habitica/prefs/TimePreference.java index c1182f832..84c19f9ff 100644 --- a/Habitica/src/com/habitrpg/android/habitica/prefs/TimePreference.java +++ b/Habitica/src/com/habitrpg/android/habitica/prefs/TimePreference.java @@ -2,19 +2,12 @@ package com.habitrpg.android.habitica.prefs; import android.content.Context; import android.content.res.TypedArray; -import android.os.Build; -import android.preference.DialogPreference; +import android.support.v7.preference.DialogPreference; import android.util.AttributeSet; -import android.view.View; -import android.widget.TimePicker; -// public class TimePreference extends DialogPreference { - private int lastHour = 0; - private int lastMinute = 0; private String timeval; - private CharSequence mSummary; - private TimePicker picker = null; + public static int getHour(String timeval) { String[] pieces = timeval.split(":"); return (Integer.parseInt(pieces[0])); @@ -33,48 +26,6 @@ public class TimePreference extends DialogPreference { setNegativeButtonText("Cancel"); } - @Override - protected View onCreateDialogView() { - picker = new TimePicker(getContext()); - return (picker); - } - - @Override - protected void onBindDialogView(View v) { - super.onBindDialogView(v); - - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { - picker.setHour(lastHour); - picker.setMinute(lastMinute); - } else { - picker.setCurrentHour(lastHour); - picker.setCurrentMinute(lastMinute); - } - } - - @Override - protected void onDialogClosed(boolean positiveResult) { - super.onDialogClosed(positiveResult); - - if (positiveResult) { - - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { - lastHour = picker.getHour(); - lastMinute = picker.getMinute(); - } else { - lastHour = picker.getCurrentHour(); - lastMinute = picker.getCurrentMinute(); - } - String timeval = String.valueOf(lastHour) + ":" + String.format("%02d", lastMinute); - - this.setSummary(timeval); - - if (callChangeListener(timeval)) { - persistString(timeval); - } - } - } - @Override protected Object onGetDefaultValue(TypedArray a, int index) { return (a.getString(index)); @@ -94,8 +45,6 @@ public class TimePreference extends DialogPreference { timeval = defaultValue.toString(); } setSummary(timeval); - lastHour = getHour(timeval); - lastMinute = getMinute(timeval); } public void setText(String text) { @@ -111,6 +60,14 @@ public class TimePreference extends DialogPreference { } } + public int getLastHour() { + return getHour(timeval); + } + + public int getLastMinute() { + return getMinute(timeval); + } + public String getText() { return timeval; } diff --git a/Habitica/src/com/habitrpg/android/habitica/ui/activities/PrefsActivity.java b/Habitica/src/com/habitrpg/android/habitica/ui/activities/PrefsActivity.java index 803b92566..704485576 100644 --- a/Habitica/src/com/habitrpg/android/habitica/ui/activities/PrefsActivity.java +++ b/Habitica/src/com/habitrpg/android/habitica/ui/activities/PrefsActivity.java @@ -18,7 +18,7 @@ public class PrefsActivity extends AppCompatActivity { super.onCreate(savedInstanceState); setupActionBar(); - getFragmentManager().beginTransaction() + getSupportFragmentManager().beginTransaction() .replace(android.R.id.content, new PreferencesFragment()) .commit(); } diff --git a/Habitica/src/com/habitrpg/android/habitica/ui/fragments/PreferencesFragment.java b/Habitica/src/com/habitrpg/android/habitica/ui/fragments/PreferencesFragment.java index d0317cd55..b458cc8d2 100644 --- a/Habitica/src/com/habitrpg/android/habitica/ui/fragments/PreferencesFragment.java +++ b/Habitica/src/com/habitrpg/android/habitica/ui/fragments/PreferencesFragment.java @@ -2,36 +2,49 @@ package com.habitrpg.android.habitica.ui.fragments; import android.app.AlarmManager; import android.app.PendingIntent; +import android.content.ClipData; +import android.content.ClipboardManager; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.os.Bundle; -import android.preference.Preference; -import android.preference.PreferenceFragment; -import android.preference.PreferenceScreen; +import android.support.v7.preference.Preference; +import android.support.v7.preference.PreferenceFragmentCompat; +import android.support.v7.preference.PreferenceScreen; +import android.widget.Toast; import com.habitrpg.android.habitica.HabiticaApplication; import com.habitrpg.android.habitica.NotificationPublisher; import com.habitrpg.android.habitica.R; import com.habitrpg.android.habitica.prefs.TimePreference; +import com.habitrpg.android.habitica.ui.fragments.prefs.TimePreferenceDialogFragment; +import java.util.Arrays; import java.util.Calendar; +import java.util.Map; /** * Created by franzejr on 28/11/15. */ -public class PreferencesFragment extends PreferenceFragment implements SharedPreferences.OnSharedPreferenceChangeListener { +public class PreferencesFragment extends PreferenceFragmentCompat implements + SharedPreferences.OnSharedPreferenceChangeListener, + PreferenceFragmentCompat.OnPreferenceStartScreenCallback { + private Context context; private TimePreference timePreference; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - context = this.getActivity(); + context = getActivity(); + } + + @Override + public void onCreatePreferences(Bundle bundle, String key) { addPreferencesFromResource(R.xml.preferences_fragment); timePreference = (TimePreference) findPreference("reminder_time"); - boolean use_reminder = getPreferenceManager().getSharedPreferences().getBoolean("use_reminder", false); - timePreference.setEnabled(use_reminder); + boolean useReminder = getPreferenceManager().getSharedPreferences().getBoolean("use_reminder", false); + timePreference.setEnabled(useReminder); } @Override @@ -48,23 +61,33 @@ public class PreferencesFragment extends PreferenceFragment implements SharedPre } @Override - public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) { - + public boolean onPreferenceTreeClick(Preference preference) { if (preference.getKey().equals("logout")) { HabiticaApplication.logout(context); getActivity().finish(); - }else if(preference.getKey().equals("accountDetails")) { - openAccountDetailsFragment(); + } + if (shouldCopyToClipboardOnClick(preference)) { + copyPreferenceToClipboard(preference); + return true; } return false; } - private void openAccountDetailsFragment() { - getFragmentManager().beginTransaction() - .replace(android.R.id.content, new AccountDetailsFragment()).addToBackStack(null) - .commit(); + private boolean shouldCopyToClipboardOnClick(Preference preference) { + String username = getString(R.string.SP_username); + String email = getString(R.string.SP_email); + String userId = getString(R.string.SP_userID); + String apiToken = getString(R.string.SP_APIToken); + String prefKey = preference.getKey(); + return prefKey.equals(username) || prefKey.equals(email) || + prefKey.equals(userId) || prefKey.equals(apiToken); } + private void copyPreferenceToClipboard(Preference preference) { + ClipboardManager clipMan = (ClipboardManager) getActivity().getSystemService(Context.CLIPBOARD_SERVICE); + clipMan.setPrimaryClip(ClipData.newPlainText(preference.getKey(), preference.getSummary())); + Toast.makeText(getActivity(), "Copied " + preference.getKey() + " to clipboard.", Toast.LENGTH_SHORT).show(); + } private void scheduleNotifications() { @@ -114,4 +137,41 @@ public class PreferencesFragment extends PreferenceFragment implements SharedPre scheduleNotifications(); } } + + @Override + public void onDisplayPreferenceDialog(Preference preference) { + if (preference instanceof TimePreference) { + if (getFragmentManager().findFragmentByTag(TimePreferenceDialogFragment.TAG) == null) { + TimePreferenceDialogFragment.newInstance(this, preference.getKey()) + .show(getFragmentManager(), TimePreferenceDialogFragment.TAG); + } + } else { + super.onDisplayPreferenceDialog(preference); + } + } + + @Override + public boolean onPreferenceStartScreen(PreferenceFragmentCompat preferenceFragmentCompat, + PreferenceScreen preferenceScreen) { + if (preferenceScreen.getKey().equals("accountDetails")) { + setupAccountPreferences(preferenceScreen); + } + return false; + } + + private void setupAccountPreferences(PreferenceScreen screen) { + String[] accountDetailsPreferences = { + context.getResources().getString(R.string.SP_username), + context.getResources().getString(R.string.SP_email), + context.getResources().getString(R.string.SP_APIToken), + context.getResources().getString(R.string.SP_userID) + }; + + for (Map.Entry preference : screen.getSharedPreferences().getAll().entrySet()) { + String key = preference.getKey(); + if (Arrays.asList(accountDetailsPreferences).contains(key)) { + findPreference(key).setSummary(preference.getValue().toString()); + } + } + } } diff --git a/Habitica/src/com/habitrpg/android/habitica/ui/fragments/prefs/TimePreferenceDialogFragment.java b/Habitica/src/com/habitrpg/android/habitica/ui/fragments/prefs/TimePreferenceDialogFragment.java new file mode 100644 index 000000000..5af6682b3 --- /dev/null +++ b/Habitica/src/com/habitrpg/android/habitica/ui/fragments/prefs/TimePreferenceDialogFragment.java @@ -0,0 +1,87 @@ +package com.habitrpg.android.habitica.ui.fragments.prefs; + +import android.content.Context; +import android.os.Build; +import android.os.Bundle; +import android.support.v7.preference.PreferenceDialogFragmentCompat; +import android.support.v7.preference.PreferenceFragmentCompat; +import android.view.View; +import android.widget.TimePicker; + +import com.habitrpg.android.habitica.prefs.TimePreference; + +import java.util.Locale; + +public class TimePreferenceDialogFragment extends PreferenceDialogFragmentCompat { + + public static final String TAG = TimePreferenceDialogFragment.class.getSimpleName(); + + private TimePicker picker = null; + + public TimePreferenceDialogFragment() { + } + + public static TimePreferenceDialogFragment newInstance( + PreferenceFragmentCompat preferenceFragment, String key) { + TimePreferenceDialogFragment fragment = new TimePreferenceDialogFragment(); + Bundle arguments = new Bundle(1); + arguments.putString(ARG_KEY, key); + fragment.setArguments(arguments); + fragment.setTargetFragment(preferenceFragment, 0); + return fragment; + } + + private TimePreference getTimePreference() { + return (TimePreference) getPreference(); + } + + @Override + protected View onCreateDialogView(Context context) { + picker = new TimePicker(getContext()); + return picker; + } + + protected void onBindDialogView(View view) { + super.onBindDialogView(view); + + TimePreference preference = getTimePreference(); + int lastHour = preference.getLastHour(); + int lastMinute = preference.getLastMinute(); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + picker.setHour(lastHour); + picker.setMinute(lastMinute); + } else { + picker.setCurrentHour(lastHour); + picker.setCurrentMinute(lastMinute); + } + } + + @Override + public void onDialogClosed(boolean positiveResult) { + if (positiveResult) { + TimePreference preference = getTimePreference(); + String time = getNewTimeValue(); + + preference.setSummary(time); + + if (preference.callChangeListener(time)) { + preference.setText(time); + } + } + + } + + private String getNewTimeValue() { + int lastHour; + int lastMinute; + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + lastHour = picker.getHour(); + lastMinute = picker.getMinute(); + } else { + lastHour = picker.getCurrentHour(); + lastMinute = picker.getCurrentMinute(); + } + return String.valueOf(lastHour) + ":" + String.format(Locale.UK, "%02d", lastMinute); + } +} + From e15edfa67412de56d47eadff48a9bd430cf3f835 Mon Sep 17 00:00:00 2001 From: Andrew Lord Date: Sat, 27 Feb 2016 22:26:05 +0000 Subject: [PATCH 3/9] Switching preferences pages working correctly. --- Habitica/res/layout/activity_prefs.xml | 7 +++ Habitica/res/xml/preferences_fragment.xml | 4 +- .../habitica/ui/activities/PrefsActivity.java | 42 +++++++++---- .../ui/fragments/AccountDetailsFragment.java | 41 ++++-------- .../ui/fragments/BasePreferencesFragment.java | 18 ++++++ .../ui/fragments/PreferencesFragment.java | 62 ++----------------- .../TimePreferenceDialogFragment.java | 2 +- 7 files changed, 75 insertions(+), 101 deletions(-) create mode 100644 Habitica/res/layout/activity_prefs.xml create mode 100644 Habitica/src/com/habitrpg/android/habitica/ui/fragments/BasePreferencesFragment.java rename Habitica/src/com/habitrpg/android/habitica/ui/fragments/{prefs => }/TimePreferenceDialogFragment.java (97%) diff --git a/Habitica/res/layout/activity_prefs.xml b/Habitica/res/layout/activity_prefs.xml new file mode 100644 index 000000000..440d74335 --- /dev/null +++ b/Habitica/res/layout/activity_prefs.xml @@ -0,0 +1,7 @@ + + \ No newline at end of file diff --git a/Habitica/res/xml/preferences_fragment.xml b/Habitica/res/xml/preferences_fragment.xml index d1ee0696d..65f4fdf66 100644 --- a/Habitica/res/xml/preferences_fragment.xml +++ b/Habitica/res/xml/preferences_fragment.xml @@ -50,8 +50,8 @@ + android:key="logout" + android:summary="Log out of your account"/> preference : getPreferenceScreen().getSharedPreferences().getAll().entrySet() ){ + protected void setupPreferences() { + for (Map.Entry preference : getPreferenceScreen().getSharedPreferences().getAll().entrySet()) { String key = preference.getKey(); - if (Arrays.asList(accountDetailsPreferences).contains(key)) { - findPreference(key).setSummary(preference.getValue().toString()); + if (getAccountDetailsPreferences().contains(key)) { + findPreference(key).setSummary(preference.getValue().toString()); } } } + protected List getAccountDetailsPreferences() { + return Arrays.asList(getString(R.string.SP_username), getString(R.string.SP_email), + getString(R.string.SP_APIToken), getString(R.string.SP_userID)); + } @Override - public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) { + public boolean onPreferenceTreeClick(Preference preference) { ClipboardManager clipMan = (ClipboardManager) getActivity().getSystemService(Context.CLIPBOARD_SERVICE); clipMan.setPrimaryClip(ClipData.newPlainText(preference.getKey(), preference.getSummary())); Toast.makeText(getActivity(), "Copied " + preference.getKey() + " to clipboard.", Toast.LENGTH_SHORT).show(); - return super.onPreferenceTreeClick(preferenceScreen, preference); + return true; } } diff --git a/Habitica/src/com/habitrpg/android/habitica/ui/fragments/BasePreferencesFragment.java b/Habitica/src/com/habitrpg/android/habitica/ui/fragments/BasePreferencesFragment.java new file mode 100644 index 000000000..b47f8ab9c --- /dev/null +++ b/Habitica/src/com/habitrpg/android/habitica/ui/fragments/BasePreferencesFragment.java @@ -0,0 +1,18 @@ +package com.habitrpg.android.habitica.ui.fragments; + +import android.os.Bundle; +import android.support.v7.preference.PreferenceFragmentCompat; + +import com.habitrpg.android.habitica.R; + +public abstract class BasePreferencesFragment extends PreferenceFragmentCompat { + + @Override + public void onCreatePreferences(Bundle bundle, String rootKey) { + setPreferencesFromResource(R.xml.preferences_fragment, rootKey); + setupPreferences(); + } + + protected abstract void setupPreferences(); + +} diff --git a/Habitica/src/com/habitrpg/android/habitica/ui/fragments/PreferencesFragment.java b/Habitica/src/com/habitrpg/android/habitica/ui/fragments/PreferencesFragment.java index b458cc8d2..6fcba602a 100644 --- a/Habitica/src/com/habitrpg/android/habitica/ui/fragments/PreferencesFragment.java +++ b/Habitica/src/com/habitrpg/android/habitica/ui/fragments/PreferencesFragment.java @@ -2,33 +2,23 @@ package com.habitrpg.android.habitica.ui.fragments; import android.app.AlarmManager; import android.app.PendingIntent; -import android.content.ClipData; -import android.content.ClipboardManager; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.os.Bundle; import android.support.v7.preference.Preference; -import android.support.v7.preference.PreferenceFragmentCompat; -import android.support.v7.preference.PreferenceScreen; -import android.widget.Toast; import com.habitrpg.android.habitica.HabiticaApplication; import com.habitrpg.android.habitica.NotificationPublisher; -import com.habitrpg.android.habitica.R; import com.habitrpg.android.habitica.prefs.TimePreference; -import com.habitrpg.android.habitica.ui.fragments.prefs.TimePreferenceDialogFragment; -import java.util.Arrays; import java.util.Calendar; -import java.util.Map; /** * Created by franzejr on 28/11/15. */ -public class PreferencesFragment extends PreferenceFragmentCompat implements - SharedPreferences.OnSharedPreferenceChangeListener, - PreferenceFragmentCompat.OnPreferenceStartScreenCallback { +public class PreferencesFragment extends BasePreferencesFragment implements + SharedPreferences.OnSharedPreferenceChangeListener { private Context context; private TimePreference timePreference; @@ -36,12 +26,12 @@ public class PreferencesFragment extends PreferenceFragmentCompat implements @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + context = getActivity(); } @Override - public void onCreatePreferences(Bundle bundle, String key) { - addPreferencesFromResource(R.xml.preferences_fragment); + protected void setupPreferences() { timePreference = (TimePreference) findPreference("reminder_time"); boolean useReminder = getPreferenceManager().getSharedPreferences().getBoolean("use_reminder", false); timePreference.setEnabled(useReminder); @@ -66,29 +56,9 @@ public class PreferencesFragment extends PreferenceFragmentCompat implements HabiticaApplication.logout(context); getActivity().finish(); } - if (shouldCopyToClipboardOnClick(preference)) { - copyPreferenceToClipboard(preference); - return true; - } return false; } - private boolean shouldCopyToClipboardOnClick(Preference preference) { - String username = getString(R.string.SP_username); - String email = getString(R.string.SP_email); - String userId = getString(R.string.SP_userID); - String apiToken = getString(R.string.SP_APIToken); - String prefKey = preference.getKey(); - return prefKey.equals(username) || prefKey.equals(email) || - prefKey.equals(userId) || prefKey.equals(apiToken); - } - - private void copyPreferenceToClipboard(Preference preference) { - ClipboardManager clipMan = (ClipboardManager) getActivity().getSystemService(Context.CLIPBOARD_SERVICE); - clipMan.setPrimaryClip(ClipData.newPlainText(preference.getKey(), preference.getSummary())); - Toast.makeText(getActivity(), "Copied " + preference.getKey() + " to clipboard.", Toast.LENGTH_SHORT).show(); - } - private void scheduleNotifications() { String timeval = getPreferenceManager().getSharedPreferences().getString("reminder_time", "19:00"); @@ -150,28 +120,4 @@ public class PreferencesFragment extends PreferenceFragmentCompat implements } } - @Override - public boolean onPreferenceStartScreen(PreferenceFragmentCompat preferenceFragmentCompat, - PreferenceScreen preferenceScreen) { - if (preferenceScreen.getKey().equals("accountDetails")) { - setupAccountPreferences(preferenceScreen); - } - return false; - } - - private void setupAccountPreferences(PreferenceScreen screen) { - String[] accountDetailsPreferences = { - context.getResources().getString(R.string.SP_username), - context.getResources().getString(R.string.SP_email), - context.getResources().getString(R.string.SP_APIToken), - context.getResources().getString(R.string.SP_userID) - }; - - for (Map.Entry preference : screen.getSharedPreferences().getAll().entrySet()) { - String key = preference.getKey(); - if (Arrays.asList(accountDetailsPreferences).contains(key)) { - findPreference(key).setSummary(preference.getValue().toString()); - } - } - } } diff --git a/Habitica/src/com/habitrpg/android/habitica/ui/fragments/prefs/TimePreferenceDialogFragment.java b/Habitica/src/com/habitrpg/android/habitica/ui/fragments/TimePreferenceDialogFragment.java similarity index 97% rename from Habitica/src/com/habitrpg/android/habitica/ui/fragments/prefs/TimePreferenceDialogFragment.java rename to Habitica/src/com/habitrpg/android/habitica/ui/fragments/TimePreferenceDialogFragment.java index 5af6682b3..ac75be8e3 100644 --- a/Habitica/src/com/habitrpg/android/habitica/ui/fragments/prefs/TimePreferenceDialogFragment.java +++ b/Habitica/src/com/habitrpg/android/habitica/ui/fragments/TimePreferenceDialogFragment.java @@ -1,4 +1,4 @@ -package com.habitrpg.android.habitica.ui.fragments.prefs; +package com.habitrpg.android.habitica.ui.fragments; import android.content.Context; import android.os.Build; From 823f6a93bf58943b46c74a5e50bb8cd4ed8e2c12 Mon Sep 17 00:00:00 2001 From: Andrew Lord Date: Sat, 27 Feb 2016 22:46:32 +0000 Subject: [PATCH 4/9] Fixed material styling on the preferences pages. --- Habitica/build.gradle | 2 +- Habitica/res/values/colors.xml | 3 +++ Habitica/res/values/styles.xml | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/Habitica/build.gradle b/Habitica/build.gradle index 844eec49f..e955c35cf 100644 --- a/Habitica/build.gradle +++ b/Habitica/build.gradle @@ -59,7 +59,7 @@ dependencies { compile 'com.android.support:design:23.1.1' compile 'com.android.support:gridlayout-v7:23.1.1' compile 'com.android.support:recyclerview-v7:23.1.1' - compile 'com.android.support:preference-v7:23.1.1' + compile 'com.android.support:preference-v14:23.1.1' // Image Loading/Caching compile 'com.squareup.picasso:picasso:2.5.2' diff --git a/Habitica/res/values/colors.xml b/Habitica/res/values/colors.xml index 1988736b7..741d76c59 100644 --- a/Habitica/res/values/colors.xml +++ b/Habitica/res/values/colors.xml @@ -91,4 +91,7 @@ #50ffffff #c8ffffff #32000000 + + + @color/colorAccent \ No newline at end of file diff --git a/Habitica/res/values/styles.xml b/Habitica/res/values/styles.xml index 6bf587e44..2b12db529 100644 --- a/Habitica/res/values/styles.xml +++ b/Habitica/res/values/styles.xml @@ -36,7 +36,7 @@ @style/PopupTheme @style/PopupTheme @style/PopupTheme - @style/PreferenceThemeOverlay + @style/PreferenceThemeOverlay.v14.Material