From e4879f521bffd11a40b6b854026eb1ae4186fe17 Mon Sep 17 00:00:00 2001 From: Pascal Peridont Date: Thu, 18 Sep 2014 14:28:48 +0200 Subject: [PATCH] Add on(Save|Restore)InstanceState in Android extensions --- .../src/org/haxe/extension/Extension.java | 21 +++++++++++++++++-- .../src/org/haxe/lime/GameActivity.java | 15 +++++++++++++ 2 files changed, 34 insertions(+), 2 deletions(-) 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) {