From 99cff03193899ce4d050c53e0d52f8797d947fcc Mon Sep 17 00:00:00 2001 From: enahum Date: Mon, 12 Feb 2018 13:51:29 -0300 Subject: [PATCH] Fix Android stuck when opening from push notification (#1429) --- .../com/mattermost/rnbeta/MainActivity.java | 29 ++++++++++++++++--- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/android/app/src/main/java/com/mattermost/rnbeta/MainActivity.java b/android/app/src/main/java/com/mattermost/rnbeta/MainActivity.java index 844857672..b190dad0c 100644 --- a/android/app/src/main/java/com/mattermost/rnbeta/MainActivity.java +++ b/android/app/src/main/java/com/mattermost/rnbeta/MainActivity.java @@ -1,10 +1,31 @@ package com.mattermost.rnbeta; +import android.os.Bundle; +import android.support.annotation.Nullable; import com.reactnativenavigation.controllers.SplashActivity; public class MainActivity extends SplashActivity { - @Override - public int getSplashLayout() { - return R.layout.launch_screen; - } + @Override + protected void onCreate(@Nullable Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + /** + * Reference: https://stackoverflow.com/questions/7944338/resume-last-activity-when-launcher-icon-is-clicked + * 1. Open app from launcher/appDrawer + * 2. Go home + * 3. Send notification and open + * 4. It creates a new Activity and Destroys the old + * 5. Causing an unnecessary app restart + * 6. This solution short-circuits the restart + */ + if (!isTaskRoot()) { + finish(); + return; + } + } + + @Override + public int getSplashLayout() { + return R.layout.launch_screen; + } }