aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJorge Ruesga <jorge@ruesga.com>2013-11-03 22:40:07 +0100
committerJorge Ruesga <jorge@ruesga.com>2013-11-03 22:40:07 +0100
commitbb9f2c8cb16829c3f011c0259cd1ae5096c85816 (patch)
treef12eb380f47eb5ce00010cdd82adccd4d8974762 /src
parentcfa23b580d7d50eb4c1e739f590bedd6b0a84bd8 (diff)
downloadandroid_packages_wallpapers_PhotoPhase-bb9f2c8cb16829c3f011c0259cd1ae5096c85816.tar.gz
android_packages_wallpapers_PhotoPhase-bb9f2c8cb16829c3f011c0259cd1ae5096c85816.tar.bz2
android_packages_wallpapers_PhotoPhase-bb9f2c8cb16829c3f011c0259cd1ae5096c85816.zip
Save dispositions when user press Ok button only
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
Diffstat (limited to 'src')
-rw-r--r--src/org/cyanogenmod/wallpapers/photophase/preferences/DispositionFragment.java37
1 files changed, 22 insertions, 15 deletions
diff --git a/src/org/cyanogenmod/wallpapers/photophase/preferences/DispositionFragment.java b/src/org/cyanogenmod/wallpapers/photophase/preferences/DispositionFragment.java
index 5040178..d175728 100644
--- a/src/org/cyanogenmod/wallpapers/photophase/preferences/DispositionFragment.java
+++ b/src/org/cyanogenmod/wallpapers/photophase/preferences/DispositionFragment.java
@@ -60,6 +60,8 @@ public abstract class DispositionFragment extends PreferenceFragment
private MenuItem mRestoreMenu;
private MenuItem mDeleteMenu;
+ private boolean mOkPressed;
+
/**
* Constructor of <code>DispositionFragment</code>
*/
@@ -120,6 +122,7 @@ public abstract class DispositionFragment extends PreferenceFragment
getPreferenceManager().setSharedPreferencesName(PreferencesProvider.PREFERENCES_FILE);
getPreferenceManager().setSharedPreferencesMode(Context.MODE_PRIVATE);
+ mOkPressed = false;
setHasOptionsMenu(true);
}
@@ -153,25 +156,28 @@ public abstract class DispositionFragment extends PreferenceFragment
*/
@Override
public void onDestroyView() {
- boolean saved = false;
-
- if (mCurrentDispositionView == null) {
- mCurrentDispositionView = mAdapter.getView(0);
- }
+ // Saved ?
+ if (mOkPressed) {
+ boolean saved = false;
- if (mCurrentDispositionView != null) {
- if (mCurrentPage != 0 || mCurrentDispositionView.isChanged()) {
- saveDispositions(mCurrentDispositionView.getDispositions());
- saved = true;
+ if (mCurrentDispositionView == null) {
+ mCurrentDispositionView = mAdapter.getView(0);
}
- // Notify that the settings was changed
- Intent intent = new Intent(PreferencesProvider.ACTION_SETTINGS_CHANGED);
- if (saved) {
- intent.putExtra(PreferencesProvider.EXTRA_FLAG_REDRAW, Boolean.TRUE);
- intent.putExtra(PreferencesProvider.EXTRA_FLAG_RECREATE_WORLD, Boolean.TRUE);
+ if (mCurrentDispositionView != null) {
+ if (mCurrentPage != 0 || mCurrentDispositionView.isChanged()) {
+ saveDispositions(mCurrentDispositionView.getDispositions());
+ saved = true;
+ }
+
+ // Notify that the settings was changed
+ Intent intent = new Intent(PreferencesProvider.ACTION_SETTINGS_CHANGED);
+ if (saved) {
+ intent.putExtra(PreferencesProvider.EXTRA_FLAG_REDRAW, Boolean.TRUE);
+ intent.putExtra(PreferencesProvider.EXTRA_FLAG_RECREATE_WORLD, Boolean.TRUE);
+ }
+ getActivity().sendBroadcast(intent);
}
- getActivity().sendBroadcast(intent);
}
super.onDestroyView();
@@ -195,6 +201,7 @@ public abstract class DispositionFragment extends PreferenceFragment
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.mnu_ok:
+ mOkPressed = true;
getActivity().finish();
return true;
case R.id.mnu_restore: