From 41fc613d39b5d4b090d165a2134eab2c2a4d34df Mon Sep 17 00:00:00 2001 From: Phillip Hsu Date: Tue, 20 Sep 2016 22:14:17 -0700 Subject: [PATCH] Restore selected ringotne URI on rotation --- .../com/philliphsu/clock2/RingtonePickerDialog.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/app/src/main/java/com/philliphsu/clock2/RingtonePickerDialog.java b/app/src/main/java/com/philliphsu/clock2/RingtonePickerDialog.java index 5cd4a58..fd5e972 100644 --- a/app/src/main/java/com/philliphsu/clock2/RingtonePickerDialog.java +++ b/app/src/main/java/com/philliphsu/clock2/RingtonePickerDialog.java @@ -27,6 +27,7 @@ import com.philliphsu.clock2.ringtone.RingtoneLoop; */ public class RingtonePickerDialog extends BaseAlertDialogFragment { private static final String TAG = "RingtonePickerDialog"; + private static final String KEY_RINGTONE_URI = "key_ringtone_uri"; private RingtoneManager mRingtoneManager; private OnRingtoneSelectedListener mOnRingtoneSelectedListener; @@ -50,6 +51,9 @@ public class RingtonePickerDialog extends BaseAlertDialogFragment { @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); + if (savedInstanceState != null) { + mRingtoneUri = savedInstanceState.getParcelable(KEY_RINGTONE_URI); + } mRingtoneManager = new RingtoneManager(getActivity()); mRingtoneManager.setType(RingtoneManager.TYPE_ALARM); } @@ -84,6 +88,12 @@ public class RingtonePickerDialog extends BaseAlertDialogFragment { destroyLocalPlayer(); } + @Override + public void onSaveInstanceState(Bundle outState) { + super.onSaveInstanceState(outState); + outState.putParcelable(KEY_RINGTONE_URI, mRingtoneUri); + } + @Override protected void onOk() { if (mOnRingtoneSelectedListener != null) {