diff options
author | Jorge Ruesga <jorge@ruesga.com> | 2013-11-03 22:40:07 +0100 |
---|---|---|
committer | Jorge Ruesga <jorge@ruesga.com> | 2013-11-03 22:40:07 +0100 |
commit | bb9f2c8cb16829c3f011c0259cd1ae5096c85816 (patch) | |
tree | f12eb380f47eb5ce00010cdd82adccd4d8974762 | |
parent | cfa23b580d7d50eb4c1e739f590bedd6b0a84bd8 (diff) | |
download | android_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>
-rw-r--r-- | src/org/cyanogenmod/wallpapers/photophase/preferences/DispositionFragment.java | 37 |
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: |