Commit a9c7bc85f13aec192e3a747eb50beb3341989980

Ryan C. Gordon 2017-05-19T15:06:05

android: add screenSize to AndroidManifest's configChanges (thanks, Daniel!). Fixes Bugzilla #3448. "Starting with Android API 13, another configuration change must be declared to be handled by the app if it is desired to not let the system handle rotation itself: https://developer.android.com/guide/topics/resources/runtime-changes.html#HandlingTheChange This will have effect if either a developer or SDL per default will set target API > 12. Currently it is set to 12, but this might change in the future, like when applying this patch: https://bugzilla.libsdl.org/show_bug.cgi?id=3445 The effect of not having this change applied is that the SDL app is destroyed upon rotation. Even when the manifest has an additional entry to e.g. always stay in landscape mode, the onDestroy() call will happen on devices that are portrait per default, when switching off screen due to power save. The device will then (at least try to) rotate into portrait to show the portrait screen lock after resume. I believe it is safe to apply this patch even with target API still set to 12, the additional parameter is simply ignored."

1
2
3
4
5
6
7
8
9
10
11
12
13
diff --git a/android-project/AndroidManifest.xml b/android-project/AndroidManifest.xml
index 8557a4b..d3897f2 100644
--- a/android-project/AndroidManifest.xml
+++ b/android-project/AndroidManifest.xml
@@ -36,7 +36,7 @@
                  android:hardwareAccelerated="true" >
         <activity android:name="SDLActivity"
                   android:label="@string/app_name"
-                  android:configChanges="keyboardHidden|orientation"
+                  android:configChanges="keyboardHidden|orientation|screenSize"
                   >
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />