Kaydet (Commit) d4b4c94a authored tarafından Artur Dryomov's avatar Artur Dryomov

Add saving current mode when showing a slide show.

Should be helpful on orientation changes.

Change-Id: I0a00c980882decc3da3460f63b82c5d0bb308298
üst c76434ae
......@@ -46,10 +46,10 @@ public class SlideShowActivity extends SherlockFragmentActivity implements Servi
private IntentsReceiver mIntentsReceiver;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
protected void onCreate(Bundle aSavedInstanceState) {
super.onCreate(aSavedInstanceState);
mMode = Mode.PAGER;
mMode = loadMode(aSavedInstanceState);
setUpHomeButton();
setUpFragment();
......@@ -57,6 +57,14 @@ public class SlideShowActivity extends SherlockFragmentActivity implements Servi
bindService();
}
private Mode loadMode(Bundle aSavedInstanceState) {
if (aSavedInstanceState == null) {
return Mode.PAGER;
}
return (Mode) aSavedInstanceState.getSerializable("MODE");
}
private void setUpHomeButton() {
getSupportActionBar().setHomeButtonEnabled(true);
}
......@@ -131,6 +139,7 @@ public class SlideShowActivity extends SherlockFragmentActivity implements Servi
if (Intents.Actions.TIMER_STARTED.equals(aIntent.getAction())) {
int aMinutesLength = aIntent.getIntExtra(Intents.Extras.MINUTES, 0);
mSlideShowActivity.startTimer(aMinutesLength);
mSlideShowActivity.setUpSlideShowInformation();
return;
}
......@@ -208,8 +217,6 @@ public class SlideShowActivity extends SherlockFragmentActivity implements Servi
aTimer.setMinutesLength(aMinutesLength);
aTimer.start();
setUpSlideShowInformation();
}
private void resumeTimer() {
......@@ -357,10 +364,25 @@ public class SlideShowActivity extends SherlockFragmentActivity implements Servi
}
}
@Override
protected void onSaveInstanceState(Bundle aOutState) {
super.onSaveInstanceState(aOutState);
saveMode(aOutState);
}
private void saveMode(Bundle aOutState) {
aOutState.putSerializable("MODE", mMode);
}
@Override
protected void onDestroy() {
super.onDestroy();
if (!isServiceBound()) {
return;
}
stopTimer();
disconnectComputer();
......@@ -373,18 +395,10 @@ public class SlideShowActivity extends SherlockFragmentActivity implements Servi
}
private void disconnectComputer() {
if (!isServiceBound()) {
return;
}
mCommunicationService.disconnect();
}
private void unbindService() {
if (!isServiceBound()) {
return;
}
unbindService(this);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment