diff --git a/dependencies/extension-api/src/org/haxe/extension/Extension.java b/dependencies/extension-api/src/org/haxe/extension/Extension.java index b1458388d..852747846 100644 --- a/dependencies/extension-api/src/org/haxe/extension/Extension.java +++ b/dependencies/extension-api/src/org/haxe/extension/Extension.java @@ -143,6 +143,23 @@ public class Extension { } + + + /** + * Called to retrieve per-instance state from an activity before being + * killed so that the state can be restored in onCreate + */ + public void onSaveInstanceState (Bundle outState) { + + } + + /** + * Called after onStart() when the activity is being re-initialized from + * a previously saved state. + */ + public void onRestoreInstanceState (Bundle savedState) { + + } + - -} \ No newline at end of file +} diff --git a/templates/android/template/src/org/haxe/lime/GameActivity.java b/templates/android/template/src/org/haxe/lime/GameActivity.java index acb5fbdf0..54dd8e142 100644 --- a/templates/android/template/src/org/haxe/lime/GameActivity.java +++ b/templates/android/template/src/org/haxe/lime/GameActivity.java @@ -496,6 +496,21 @@ public class GameActivity extends Activity implements SensorEventListener { } } + + + @Override protected void onSaveInstanceState (Bundle outState) { + super.onSaveInstanceState(outState); + for (Extension extension : extensions) { + extension.onSaveInstanceState (outState); + } + } + + @Override protected void onRestoreInstanceState (Bundle savedState) { + super.onRestoreInstanceState(savedState); + for (Extension extension : extensions) { + extension.onRestoreInstanceState (savedState); + } + } @Override public void onSensorChanged (SensorEvent event) {