boolean instantRestore = false;
if(savedInstanceState != null) {
long lastrun = savedInstanceState.getLong("lastrun");
- if(((new Date()).getTime()/1000) - lastrun < 30) {
+ lastrun = ((new Date()).getTime()/1000) - lastrun;
+ Log.i("CampusApp", "Restored from Idle state! Idled: "+lastrun+" secs");
+ if(lastrun < 30) {
instantRestore = true;
AppContext.setTitle(savedInstanceState.getString("activetitle"));
+ }
+
+ Bundle contextVars = savedInstanceState.getBundle("savedContextVariables");
+ if(contextVars != null) {
+ Bundle contextVariables = AppContext.getContextVariables();
+ contextVariables.putAll(contextVars);
}
}
TextView titleView = (TextView) findViewById(R.id.title);
savedInstanceState.putString("activetitle", titleView.getText().toString());
+ Bundle contextVariables = AppContext.getContextVariables();
+ savedInstanceState.putBundle("savedContextVariables", contextVariables);
+
// Always call the superclass so it can save the view hierarchy state
super.onSaveInstanceState(savedInstanceState);
+
+ AppContext = null; // simulate GC
}
public void prepareMainUi() {
AppContext.getNavigationManager().navigatePage("News");
break;
case R.id.nav_settings:
- Intent settings = new Intent(AppContext.getMainActivity(), SettingsActivity.class);
- AppContext.getMainActivity().startActivity(settings);
+ AppContext.getNavigationManager().navigatePage("Settings");
+ break;
+ case R.id.nav_wifi:
+ AppContext.getNavigationManager().navigatePage("WifiSettings");
break;
case R.id.nav_impressum:
AppContext.getNavigationManager().navigatePage("Impressum");
/* nfc listener related callbacks */
@Override
public void onResume() {
+ if(AppContext == null)
+ AppContext = new CampusAppContext(this, R.id.fragment_container);
+ else
+ AppContext.setMainActivity(this);
+
super.onResume();
Log.i("CampusApp", "onResume event");
AppContext.getNfcCardListener().resumeForefrontDispatcher();