From 6c11d183604c31647264ecfa52c64143a78e3983 Mon Sep 17 00:00:00 2001 From: Satyajit Sahoo Date: Wed, 4 Nov 2015 10:46:01 -0800 Subject: [PATCH] Prevent destroying activity on runtime changes Summary: From http://developer.android.com/guide/topics/resources/runtime-changes.html > Some device configurations can change during runtime (such as screen orientation, keyboard availability, and language). When such a change occurs, Android restarts the running Activity (onDestroy() is called, followed by onCreate()). The restart behavior is designed to help your application adapt to new configurations by automatically reloading your application with alternative resources that match the new device configuration. However, in a React Native app, there is only a single activity for the entire app, unlike a single activity per screen in Android, and resources are not specific to orientation etc. Destroying activity means reloading the entire app. Most of the time, this is not the intended behaviour, and can cause data loss for the user if the developer doesn't disable it explicitly. I'm proposing to disable it by default. Closes https://github.com/facebook/react-native/pull/3813 Reviewed By: svcscm Differential Revision: D2616083 Pulled By: foghina fb-gh-sync-id: 8794e436f61581ff0bf569b1b112845cae77b688 --- .../templates/src/app/src/main/AndroidManifest.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/local-cli/generator-android/templates/src/app/src/main/AndroidManifest.xml b/local-cli/generator-android/templates/src/app/src/main/AndroidManifest.xml index eac472ebad..7adac4f2bc 100644 --- a/local-cli/generator-android/templates/src/app/src/main/AndroidManifest.xml +++ b/local-cli/generator-android/templates/src/app/src/main/AndroidManifest.xml @@ -10,7 +10,8 @@ android:theme="@style/AppTheme"> + android:label="@string/app_name" + android:configChanges="keyboard|keyboardHidden|orientation|screenSize">