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 ...@@ -46,10 +46,10 @@ public class SlideShowActivity extends SherlockFragmentActivity implements Servi
private IntentsReceiver mIntentsReceiver; private IntentsReceiver mIntentsReceiver;
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle aSavedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(aSavedInstanceState);
mMode = Mode.PAGER; mMode = loadMode(aSavedInstanceState);
setUpHomeButton(); setUpHomeButton();
setUpFragment(); setUpFragment();
...@@ -57,6 +57,14 @@ public class SlideShowActivity extends SherlockFragmentActivity implements Servi ...@@ -57,6 +57,14 @@ public class SlideShowActivity extends SherlockFragmentActivity implements Servi
bindService(); bindService();
} }
private Mode loadMode(Bundle aSavedInstanceState) {
if (aSavedInstanceState == null) {
return Mode.PAGER;
}
return (Mode) aSavedInstanceState.getSerializable("MODE");
}
private void setUpHomeButton() { private void setUpHomeButton() {
getSupportActionBar().setHomeButtonEnabled(true); getSupportActionBar().setHomeButtonEnabled(true);
} }
...@@ -131,6 +139,7 @@ public class SlideShowActivity extends SherlockFragmentActivity implements Servi ...@@ -131,6 +139,7 @@ public class SlideShowActivity extends SherlockFragmentActivity implements Servi
if (Intents.Actions.TIMER_STARTED.equals(aIntent.getAction())) { if (Intents.Actions.TIMER_STARTED.equals(aIntent.getAction())) {
int aMinutesLength = aIntent.getIntExtra(Intents.Extras.MINUTES, 0); int aMinutesLength = aIntent.getIntExtra(Intents.Extras.MINUTES, 0);
mSlideShowActivity.startTimer(aMinutesLength); mSlideShowActivity.startTimer(aMinutesLength);
mSlideShowActivity.setUpSlideShowInformation();
return; return;
} }
...@@ -208,8 +217,6 @@ public class SlideShowActivity extends SherlockFragmentActivity implements Servi ...@@ -208,8 +217,6 @@ public class SlideShowActivity extends SherlockFragmentActivity implements Servi
aTimer.setMinutesLength(aMinutesLength); aTimer.setMinutesLength(aMinutesLength);
aTimer.start(); aTimer.start();
setUpSlideShowInformation();
} }
private void resumeTimer() { private void resumeTimer() {
...@@ -357,10 +364,25 @@ public class SlideShowActivity extends SherlockFragmentActivity implements Servi ...@@ -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 @Override
protected void onDestroy() { protected void onDestroy() {
super.onDestroy(); super.onDestroy();
if (!isServiceBound()) {
return;
}
stopTimer(); stopTimer();
disconnectComputer(); disconnectComputer();
...@@ -373,18 +395,10 @@ public class SlideShowActivity extends SherlockFragmentActivity implements Servi ...@@ -373,18 +395,10 @@ public class SlideShowActivity extends SherlockFragmentActivity implements Servi
} }
private void disconnectComputer() { private void disconnectComputer() {
if (!isServiceBound()) {
return;
}
mCommunicationService.disconnect(); mCommunicationService.disconnect();
} }
private void unbindService() { private void unbindService() {
if (!isServiceBound()) {
return;
}
unbindService(this); 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