Commit 60679765 authored by Yacumima's avatar Yacumima

bug fix

parent e774181b
/* /*
* The MIT License (MIT) * The MIT License (MIT)
* *
* Copyright (c) 2019 Alibaba Group * Copyright (c) 2019 Alibaba Group
* *
* Permission is hereby granted, free of charge, to any person obtaining a copy * Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal * of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights * in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is * copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions: * furnished to do so, subject to the following conditions:
* *
* The above copyright notice and this permission notice shall be included in * The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software. * all copies or substantial portions of the Software.
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
...@@ -115,8 +115,8 @@ public class FlutterBoostPlugin implements MethodChannel.MethodCallHandler, Appl ...@@ -115,8 +115,8 @@ public class FlutterBoostPlugin implements MethodChannel.MethodCallHandler, Appl
mMediator = new PageResultMediator(); mMediator = new PageResultMediator();
} }
public IFlutterViewContainer findContainerById(String id){ public IFlutterViewContainer findContainerById(String id) {
return mManager.findContainerById(id); return mManager.findContainerById(id);
} }
@Override @Override
...@@ -147,7 +147,7 @@ public class FlutterBoostPlugin implements MethodChannel.MethodCallHandler, Appl ...@@ -147,7 +147,7 @@ public class FlutterBoostPlugin implements MethodChannel.MethodCallHandler, Appl
} }
//Handling page result. //Handling page result.
if (sInstance.needResult(params)){ if (sInstance.needResult(params)) {
sInstance.mMediator.setHandler(url, new PageResultHandler() { sInstance.mMediator.setHandler(url, new PageResultHandler() {
@Override @Override
public void onResult(String key, Map resultData) { public void onResult(String key, Map resultData) {
...@@ -166,7 +166,7 @@ public class FlutterBoostPlugin implements MethodChannel.MethodCallHandler, Appl ...@@ -166,7 +166,7 @@ public class FlutterBoostPlugin implements MethodChannel.MethodCallHandler, Appl
public void notImplemented() { public void notImplemented() {
//Doing nothing now. //Doing nothing now.
} }
},"no use",key,resultData,params); }, "no use", key, resultData, params);
} }
}); });
} }
...@@ -174,37 +174,37 @@ public class FlutterBoostPlugin implements MethodChannel.MethodCallHandler, Appl ...@@ -174,37 +174,37 @@ public class FlutterBoostPlugin implements MethodChannel.MethodCallHandler, Appl
sInstance.mPlatform.startActivity(ctx, concatUrl(url, params), requestCode); sInstance.mPlatform.startActivity(ctx, concatUrl(url, params), requestCode);
} }
private Boolean needResult(Map params){ private Boolean needResult(Map params) {
if(params == null) return false; if (params == null) return false;
final String key = "needResult"; final String key = "needResult";
if(params.containsKey(key)){ if (params.containsKey(key)) {
if(params.get(key) instanceof Boolean){ if (params.get(key) instanceof Boolean) {
return (Boolean) params.get(key); return (Boolean) params.get(key);
} }
} }
return false; return false;
} }
public static void onPageResult(String key , Map resultData){ public static void onPageResult(String key, Map resultData) {
if (sInstance == null) { if (sInstance == null) {
throw new RuntimeException("FlutterBoostPlugin not init yet!"); throw new RuntimeException("FlutterBoostPlugin not init yet!");
} }
sInstance.mMediator.onPageResult(key,resultData); sInstance.mMediator.onPageResult(key, resultData);
} }
public static void setHandler(String key, PageResultHandler handler){ public static void setHandler(String key, PageResultHandler handler) {
if (sInstance == null) { if (sInstance == null) {
throw new RuntimeException("FlutterBoostPlugin not init yet!"); throw new RuntimeException("FlutterBoostPlugin not init yet!");
} }
sInstance.mMediator.setHandler(key,handler); sInstance.mMediator.setHandler(key, handler);
} }
public static void removeHandler(String key){ public static void removeHandler(String key) {
if (sInstance == null) { if (sInstance == null) {
throw new RuntimeException("FlutterBoostPlugin not init yet!"); throw new RuntimeException("FlutterBoostPlugin not init yet!");
} }
...@@ -246,9 +246,11 @@ public class FlutterBoostPlugin implements MethodChannel.MethodCallHandler, Appl ...@@ -246,9 +246,11 @@ public class FlutterBoostPlugin implements MethodChannel.MethodCallHandler, Appl
if (mCurrentActiveActivity == null) { if (mCurrentActiveActivity == null) {
Debuger.log("Application entry foreground"); Debuger.log("Application entry foreground");
Map<String, String> map = new HashMap<>(); if (mViewProvider.tryGetFlutterView() != null) {
map.put("type", "foreground"); Map<String, String> map = new HashMap<>();
NavigationService.getService().emitEvent(map); map.put("type", "foreground");
NavigationService.getService().emitEvent(map);
}
} }
mCurrentActiveActivity = activity; mCurrentActiveActivity = activity;
} }
...@@ -268,9 +270,11 @@ public class FlutterBoostPlugin implements MethodChannel.MethodCallHandler, Appl ...@@ -268,9 +270,11 @@ public class FlutterBoostPlugin implements MethodChannel.MethodCallHandler, Appl
if (mCurrentActiveActivity == activity) { if (mCurrentActiveActivity == activity) {
Debuger.log("Application entry background"); Debuger.log("Application entry background");
Map<String, String> map = new HashMap<>(); if (mViewProvider.tryGetFlutterView() != null) {
map.put("type", "background"); Map<String, String> map = new HashMap<>();
NavigationService.getService().emitEvent(map); map.put("type", "background");
NavigationService.getService().emitEvent(map);
}
mCurrentActiveActivity = null; mCurrentActiveActivity = null;
} }
} }
...@@ -285,29 +289,31 @@ public class FlutterBoostPlugin implements MethodChannel.MethodCallHandler, Appl ...@@ -285,29 +289,31 @@ public class FlutterBoostPlugin implements MethodChannel.MethodCallHandler, Appl
if (mCurrentActiveActivity == activity) { if (mCurrentActiveActivity == activity) {
Debuger.log("Application entry background"); Debuger.log("Application entry background");
Map<String, String> map = new HashMap<>(); if (mViewProvider.tryGetFlutterView() != null) {
map.put("type", "background"); Map<String, String> map = new HashMap<>();
NavigationService.getService().emitEvent(map); map.put("type", "background");
NavigationService.getService().emitEvent(map);
}
mCurrentActiveActivity = null; mCurrentActiveActivity = null;
} }
} }
public static void setBoostResult(Activity activity, HashMap result){ public static void setBoostResult(Activity activity, HashMap result) {
Intent intent = new Intent(); Intent intent = new Intent();
if(result != null) { if (result != null) {
intent.putExtra(IFlutterViewContainer.RESULT_KEY, result); intent.putExtra(IFlutterViewContainer.RESULT_KEY, result);
} }
activity.setResult(Activity.RESULT_OK,intent); activity.setResult(Activity.RESULT_OK, intent);
} }
public static void onBoostResult(IFlutterViewContainer container, int requestCode,int resultCode,Intent intent){ public static void onBoostResult(IFlutterViewContainer container, int requestCode, int resultCode, Intent intent) {
Map map = new HashMap(); Map map = new HashMap();
if(intent != null) { if (intent != null) {
map.put("result",intent.getSerializableExtra(IFlutterViewContainer.RESULT_KEY)); map.put("result", intent.getSerializableExtra(IFlutterViewContainer.RESULT_KEY));
} }
map.put("requestCode",requestCode); map.put("requestCode", requestCode);
map.put("responseCode",resultCode); map.put("responseCode", resultCode);
containerManager().onContainerResult(container,map); containerManager().onContainerResult(container, map);
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment