From efea291cb6f3087169865a3c84095aebf5b690ff Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E4=BD=99=E7=8E=A0?= <xujian.xj@alibaba-inc.com>
Date: Mon, 30 Mar 2020 21:56:01 +0800
Subject: [PATCH] =?UTF-8?q?=E6=9C=80=E5=A5=BD=E4=B8=80=E4=B8=AAflutter?=
 =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E5=85=B3=E9=97=AD=E7=9A=84=E6=97=B6=E5=80=99?=
 =?UTF-8?q?=E5=9B=9E=E8=B0=83=E5=AF=B9Engine=E7=9A=84OwnerViewController?=
 =?UTF-8?q?=E6=B8=85=E7=A9=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 ios/Classes/1.5/FLB2FlutterApplication.m           | 9 +++++++++
 ios/Classes/1.5/FLB2FlutterViewContainer.m         | 1 -
 ios/Classes/Boost/FLBFlutterApplicationInterface.h | 3 +++
 ios/Classes/Boost/FlutterBoostPlugin2.m            | 9 ++++++++-
 4 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/ios/Classes/1.5/FLB2FlutterApplication.m b/ios/Classes/1.5/FLB2FlutterApplication.m
index 4cded78..835a1eb 100755
--- a/ios/Classes/1.5/FLB2FlutterApplication.m
+++ b/ios/Classes/1.5/FLB2FlutterApplication.m
@@ -211,4 +211,13 @@
     }
 }
 
+- (void)onShownContainerChanged:(NSString *)uniqueId
+                         params:(NSDictionary *)params{
+    NSString *oldName = params[@"oldName"];
+    NSString *newName = params[@"newName"];
+    if (oldName!=nil && [newName isEqualToString:@"default"]) {
+        [self.flutterProvider detach];
+    }
+}
+
 @end
diff --git a/ios/Classes/1.5/FLB2FlutterViewContainer.m b/ios/Classes/1.5/FLB2FlutterViewContainer.m
index ce7528f..f5ab334 100755
--- a/ios/Classes/1.5/FLB2FlutterViewContainer.m
+++ b/ios/Classes/1.5/FLB2FlutterViewContainer.m
@@ -255,7 +255,6 @@ static NSUInteger kInstanceCounter = 0;
     //     [self surfaceUpdated:NO];
     // }
     [super bridge_viewDidDisappear:animated];
-    [FLUTTER_APP resume];
 }
 
 - (void)installSplashScreenViewIfNecessary {
diff --git a/ios/Classes/Boost/FLBFlutterApplicationInterface.h b/ios/Classes/Boost/FLBFlutterApplicationInterface.h
index ff1f05a..0902857 100644
--- a/ios/Classes/Boost/FLBFlutterApplicationInterface.h
+++ b/ios/Classes/Boost/FLBFlutterApplicationInterface.h
@@ -74,6 +74,9 @@ NS_ASSUME_NONNULL_BEGIN
                           params:(NSDictionary *)params
                         uniqueId:(NSString *)uniqueId;
 
+- (void)onShownContainerChanged:(NSString *)uniqueId
+                         params:(NSDictionary *)params;
+
 @end
 NS_ASSUME_NONNULL_END
 
diff --git a/ios/Classes/Boost/FlutterBoostPlugin2.m b/ios/Classes/Boost/FlutterBoostPlugin2.m
index 51c3190..d8f1d30 100755
--- a/ios/Classes/Boost/FlutterBoostPlugin2.m
+++ b/ios/Classes/Boost/FlutterBoostPlugin2.m
@@ -67,8 +67,15 @@
                                                         result(@(r));
                                                     }];
     }else if([@"onShownContainerChanged" isEqualToString:call.method]){
-        NSString *newName = call.arguments[@"newName"];
+        NSDictionary *args = [FLBCollectionHelper deepCopyNSDictionary:call.arguments
+        filter:^bool(id  _Nonnull value) {
+            return ![value isKindOfClass:NSNull.class];
+        }];
+        
+        NSString *newName = args[@"newName"];
+        NSString *uid = args[@"uniqueId"];
         if(newName){
+            [[FlutterBoostPlugin2 sharedInstance].application onShownContainerChanged:uid params:args];
             [NSNotificationCenter.defaultCenter postNotificationName:@"flutter_boost_container_showed"
                                                               object:newName];
         }
-- 
2.26.2