From 7c8eb56f04bbd6cab8fc73ec6cf9baec387dc925 Mon Sep 17 00:00:00 2001 From: jules Date: Sat, 19 May 2012 10:23:56 +0100 Subject: [PATCH] Android: fix to prevent app restarts when rotating. --- .../Source/Project Saving/jucer_ProjectExport_Android.h | 1 + extras/JuceDemo/Builds/Android/AndroidManifest.xml | 2 +- extras/JuceDemo/Builds/Android/src/com/juce/JuceDemo.java | 8 ++++++++ modules/juce_core/native/java/JuceAppActivity.java | 8 ++++++++ 4 files changed, 18 insertions(+), 1 deletion(-) diff --git a/extras/Introjucer/Source/Project Saving/jucer_ProjectExport_Android.h b/extras/Introjucer/Source/Project Saving/jucer_ProjectExport_Android.h index 1c8e74489b..364adcb73f 100644 --- a/extras/Introjucer/Source/Project Saving/jucer_ProjectExport_Android.h +++ b/extras/Introjucer/Source/Project Saving/jucer_ProjectExport_Android.h @@ -293,6 +293,7 @@ private: XmlElement* act = app->createNewChildElement ("activity"); act->setAttribute ("android:name", getActivityName()); act->setAttribute ("android:label", "@string/app_name"); + act->setAttribute ("android:configChanges", "keyboardHidden|orientation"); XmlElement* intent = act->createNewChildElement ("intent-filter"); intent->createNewChildElement ("action")->setAttribute ("android:name", "android.intent.action.MAIN"); diff --git a/extras/JuceDemo/Builds/Android/AndroidManifest.xml b/extras/JuceDemo/Builds/Android/AndroidManifest.xml index 11a3c874bb..4e25928736 100644 --- a/extras/JuceDemo/Builds/Android/AndroidManifest.xml +++ b/extras/JuceDemo/Builds/Android/AndroidManifest.xml @@ -8,7 +8,7 @@ - + diff --git a/extras/JuceDemo/Builds/Android/src/com/juce/JuceDemo.java b/extras/JuceDemo/Builds/Android/src/com/juce/JuceDemo.java index dd28f467ee..bc8e46d90a 100644 --- a/extras/JuceDemo/Builds/Android/src/com/juce/JuceDemo.java +++ b/extras/JuceDemo/Builds/Android/src/com/juce/JuceDemo.java @@ -30,6 +30,7 @@ import android.app.AlertDialog; import android.content.DialogInterface; import android.content.Context; import android.content.Intent; +import android.content.res.Configuration; import android.net.Uri; import android.os.Bundle; import android.view.*; @@ -70,6 +71,13 @@ public final class JuceDemo extends Activity super.onDestroy(); } + @Override + public void onConfigurationChanged (Configuration cfg) + { + super.onConfigurationChanged (cfg); + setContentView (viewHolder); + } + private void callAppLauncher() { launchApp (getApplicationInfo().publicSourceDir, diff --git a/modules/juce_core/native/java/JuceAppActivity.java b/modules/juce_core/native/java/JuceAppActivity.java index 99a4779e13..e70a6a2dc8 100644 --- a/modules/juce_core/native/java/JuceAppActivity.java +++ b/modules/juce_core/native/java/JuceAppActivity.java @@ -30,6 +30,7 @@ import android.app.AlertDialog; import android.content.DialogInterface; import android.content.Context; import android.content.Intent; +import android.content.res.Configuration; import android.net.Uri; import android.os.Bundle; import android.view.*; @@ -70,6 +71,13 @@ public final class JuceAppActivity extends Activity super.onDestroy(); } + @Override + public void onConfigurationChanged (Configuration cfg) + { + super.onConfigurationChanged (cfg); + setContentView (viewHolder); + } + private void callAppLauncher() { launchApp (getApplicationInfo().publicSourceDir,