From 2d541dd5e773408a787b54a410e0ceda2d5aa9b6 Mon Sep 17 00:00:00 2001 From: Todd Volkert Date: Thu, 8 Jun 2017 08:13:52 -0700 Subject: [PATCH] Only handle refresh intent when the app is marked as debuggable. (#3752) --- .../android/io/flutter/app/FlutterActivityDelegate.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/shell/platform/android/io/flutter/app/FlutterActivityDelegate.java b/shell/platform/android/io/flutter/app/FlutterActivityDelegate.java index 05f316a49..40e8c6f85 100644 --- a/shell/platform/android/io/flutter/app/FlutterActivityDelegate.java +++ b/shell/platform/android/io/flutter/app/FlutterActivityDelegate.java @@ -7,6 +7,7 @@ package io.flutter.app; import android.app.Activity; import android.content.Context; import android.content.Intent; +import android.content.pm.ApplicationInfo; import android.content.res.Configuration; import android.os.Build; import android.os.Bundle; @@ -153,7 +154,9 @@ public final class FlutterActivityDelegate @Override public void onNewIntent(Intent intent) { - if (!loadIntent(intent)) { + // Only attempt to reload the Flutter Dart code during development. Use + // the debuggable flag as an indicator that we are in development mode. + if (!isDebuggable() || !loadIntent(intent)) { for (NewIntentListener listener : newIntentListeners) { if (listener.onNewIntent(intent)) { return; @@ -162,6 +165,10 @@ public final class FlutterActivityDelegate } } + private boolean isDebuggable() { + return (activity.getApplicationInfo().flags & ApplicationInfo.FLAG_DEBUGGABLE) != 0; + } + @Override public void onPause() { if (flutterView != null) { -- GitLab