diff options
Diffstat (limited to 'src/org/cyanogenmod/wallpapers/photophase/preferences/LayoutPreferenceFragment.java')
-rw-r--r-- | src/org/cyanogenmod/wallpapers/photophase/preferences/LayoutPreferenceFragment.java | 39 |
1 files changed, 32 insertions, 7 deletions
diff --git a/src/org/cyanogenmod/wallpapers/photophase/preferences/LayoutPreferenceFragment.java b/src/org/cyanogenmod/wallpapers/photophase/preferences/LayoutPreferenceFragment.java index 46a55e9..f5326d2 100644 --- a/src/org/cyanogenmod/wallpapers/photophase/preferences/LayoutPreferenceFragment.java +++ b/src/org/cyanogenmod/wallpapers/photophase/preferences/LayoutPreferenceFragment.java @@ -94,6 +94,7 @@ public class LayoutPreferenceFragment extends PreferenceFragment { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + final String formatOnRotation = getString(R.string.format_rotate_only); final String formatSeconds = getString(R.string.format_seconds); final String formatMinutes = getString(R.string.format_minutes); final String formatHours = getString(R.string.format_hours); @@ -128,22 +129,27 @@ public class LayoutPreferenceFragment extends PreferenceFragment { mRandomDispositionsInterval.setOnDisplayProgress(new OnDisplayProgress() { @Override public String onDisplayProgress(int progress) { - if (randomDispositionsIntervals[progress] < 60000) { + int interval = randomDispositionsIntervals[progress]; + if (interval == 0) { + // Disabled + mRandomDispositionsInterval.setFormat(formatOnRotation); + return null; + } else if (interval < 60000) { // Seconds mRandomDispositionsInterval.setFormat(formatSeconds); - return String.valueOf(randomDispositionsIntervals[progress] / 1000); - } else if (randomDispositionsIntervals[progress] < 3600000) { + return String.valueOf(interval / 1000); + } else if (interval < 3600000) { // Minutes mRandomDispositionsInterval.setFormat(formatMinutes); - return String.valueOf(randomDispositionsIntervals[progress] / 1000 / 60); - } else if (randomDispositionsIntervals[progress] < 86400000) { + return String.valueOf(interval / 1000 / 60); + } else if (interval < 86400000) { // Hours mRandomDispositionsInterval.setFormat(formatHours); - return String.valueOf(randomDispositionsIntervals[progress] / 1000 / 60 / 60); + return String.valueOf(interval / 1000 / 60 / 60); } // Days mRandomDispositionsInterval.setFormat(formatDays); - return String.valueOf(randomDispositionsIntervals[progress] / 1000 / 60 / 60 / 24); + return String.valueOf(interval / 1000 / 60 / 60 / 24); } }); mRandomDispositionsInterval.setOnPreferenceChangeListener(mOnChangeListener); @@ -156,4 +162,23 @@ public class LayoutPreferenceFragment extends PreferenceFragment { mLandscapeDisposition = findPreference("ui_disposition_landscape"); mLandscapeDisposition.setEnabled(!Preferences.Layout.isRandomDispositions()); } + + @Override + public void onResume() { + super.onResume(); + + updateArrangementSummary(mPortraitDisposition, + PreferencesProvider.Preferences.Layout.getPortraitDisposition().size(), + R.string.disposition_orientation_portrait); + updateArrangementSummary(mLandscapeDisposition, + PreferencesProvider.Preferences.Layout.getLandscapeDisposition().size(), + R.string.disposition_orientation_landscape); + } + + private void updateArrangementSummary(Preference pref, int count, int orientationLabelResId) { + String orientation = getString(orientationLabelResId); + String summary = getResources().getQuantityString( + R.plurals.pref_disposition_summary_format, count, count, orientation); + pref.setSummary(summary); + } } |