Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
F
flutter_boost_1.22.4
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
李增强
flutter_boost_1.22.4
Commits
3c4a70e6
Commit
3c4a70e6
authored
Apr 30, 2019
by
Yacumima
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'develop'
parents
4168880a
388d0a3c
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
61 additions
and
36 deletions
+61
-36
android/src/main/java/com/taobao/idlefish/flutterboost/FlutterBoostPlugin.java
.../com/taobao/idlefish/flutterboost/FlutterBoostPlugin.java
+56
-35
example/android/app/src/main/java/com/taobao/idlefish/flutterboostexample/MyApplication.java
...om/taobao/idlefish/flutterboostexample/MyApplication.java
+5
-1
No files found.
android/src/main/java/com/taobao/idlefish/flutterboost/FlutterBoostPlugin.java
View file @
3c4a70e6
...
...
@@ -28,6 +28,7 @@ import android.app.Application;
import
android.content.Context
;
import
android.content.Intent
;
import
android.net.Uri
;
import
android.os.Build
;
import
android.os.Bundle
;
import
com.alibaba.fastjson.JSON
;
...
...
@@ -49,6 +50,7 @@ import fleamarket.taobao.com.xservicekit.handler.MessageResult;
import
io.flutter.plugin.common.MethodCall
;
import
io.flutter.plugin.common.MethodChannel
;
import
io.flutter.plugin.common.PluginRegistry
;
import
io.flutter.view.FlutterView
;
public
class
FlutterBoostPlugin
implements
MethodChannel
.
MethodCallHandler
,
Application
.
ActivityLifecycleCallbacks
{
...
...
@@ -115,7 +117,7 @@ public class FlutterBoostPlugin implements MethodChannel.MethodCallHandler, Appl
mMediator
=
new
PageResultMediator
();
}
public
IFlutterViewContainer
findContainerById
(
String
id
){
public
IFlutterViewContainer
findContainerById
(
String
id
)
{
return
mManager
.
findContainerById
(
id
);
}
...
...
@@ -147,7 +149,7 @@ public class FlutterBoostPlugin implements MethodChannel.MethodCallHandler, Appl
}
//Handling page result.
if
(
sInstance
.
needResult
(
params
)){
if
(
sInstance
.
needResult
(
params
))
{
sInstance
.
mMediator
.
setHandler
(
url
,
new
PageResultHandler
()
{
@Override
public
void
onResult
(
String
key
,
Map
resultData
)
{
...
...
@@ -166,7 +168,7 @@ public class FlutterBoostPlugin implements MethodChannel.MethodCallHandler, Appl
public
void
notImplemented
()
{
//Doing nothing now.
}
},
"no use"
,
key
,
resultData
,
params
);
},
"no use"
,
key
,
resultData
,
params
);
}
});
}
...
...
@@ -174,37 +176,37 @@ public class FlutterBoostPlugin implements MethodChannel.MethodCallHandler, Appl
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"
;
if
(
params
.
containsKey
(
key
))
{
if
(
params
.
get
(
key
)
instanceof
Boolean
)
{
if
(
params
.
containsKey
(
key
))
{
if
(
params
.
get
(
key
)
instanceof
Boolean
)
{
return
(
Boolean
)
params
.
get
(
key
);
}
}
return
false
;
}
public
static
void
onPageResult
(
String
key
,
Map
resultData
)
{
public
static
void
onPageResult
(
String
key
,
Map
resultData
)
{
if
(
sInstance
==
null
)
{
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
)
{
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
)
{
throw
new
RuntimeException
(
"FlutterBoostPlugin not init yet!"
);
}
...
...
@@ -246,10 +248,12 @@ public class FlutterBoostPlugin implements MethodChannel.MethodCallHandler, Appl
if
(
mCurrentActiveActivity
==
null
)
{
Debuger
.
log
(
"Application entry foreground"
);
if
(
mViewProvider
.
tryGetFlutterView
()
!=
null
)
{
Map
<
String
,
String
>
map
=
new
HashMap
<>();
map
.
put
(
"type"
,
"foreground"
);
NavigationService
.
getService
().
emitEvent
(
map
);
}
}
mCurrentActiveActivity
=
activity
;
}
...
...
@@ -268,9 +272,11 @@ public class FlutterBoostPlugin implements MethodChannel.MethodCallHandler, Appl
if
(
mCurrentActiveActivity
==
activity
)
{
Debuger
.
log
(
"Application entry background"
);
if
(
mViewProvider
.
tryGetFlutterView
()
!=
null
)
{
Map
<
String
,
String
>
map
=
new
HashMap
<>();
map
.
put
(
"type"
,
"background"
);
NavigationService
.
getService
().
emitEvent
(
map
);
}
mCurrentActiveActivity
=
null
;
}
}
...
...
@@ -285,29 +291,44 @@ public class FlutterBoostPlugin implements MethodChannel.MethodCallHandler, Appl
if
(
mCurrentActiveActivity
==
activity
)
{
Debuger
.
log
(
"Application entry background"
);
if
(
mViewProvider
.
tryGetFlutterView
()
!=
null
)
{
Map
<
String
,
String
>
map
=
new
HashMap
<>();
map
.
put
(
"type"
,
"background"
);
NavigationService
.
getService
().
emitEvent
(
map
);
}
mCurrentActiveActivity
=
null
;
}
//reset view provider when single instance context is destroyed
// final FlutterView flutterView = mViewProvider.tryGetFlutterView();
// if(flutterView != null) {
// Activity ctxActivity = (Activity)flutterView.getContext();
// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
// if((ctxActivity.isDestroyed() || ctxActivity == activity) &&
// mManager.getLastRecord() == null) {
// mViewProvider.reset();
// }
// }
// }
}
public
static
void
setBoostResult
(
Activity
activity
,
HashMap
result
){
public
static
void
setBoostResult
(
Activity
activity
,
HashMap
result
)
{
Intent
intent
=
new
Intent
();
if
(
result
!=
null
)
{
if
(
result
!=
null
)
{
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
();
if
(
intent
!=
null
)
{
map
.
put
(
"result"
,
intent
.
getSerializableExtra
(
IFlutterViewContainer
.
RESULT_KEY
));
if
(
intent
!=
null
)
{
map
.
put
(
"result"
,
intent
.
getSerializableExtra
(
IFlutterViewContainer
.
RESULT_KEY
));
}
map
.
put
(
"requestCode"
,
requestCode
);
map
.
put
(
"responseCode"
,
resultCode
);
containerManager
().
onContainerResult
(
container
,
map
);
map
.
put
(
"requestCode"
,
requestCode
);
map
.
put
(
"responseCode"
,
resultCode
);
containerManager
().
onContainerResult
(
container
,
map
);
}
}
...
...
example/android/app/src/main/java/com/taobao/idlefish/flutterboostexample/MyApplication.java
View file @
3c4a70e6
...
...
@@ -31,9 +31,13 @@ public class MyApplication extends FlutterApplication {
*/
@Override
public
Activity
getMainActivity
()
{
if
(
MainActivity
.
sRef
!=
null
)
{
return
MainActivity
.
sRef
.
get
();
}
return
null
;
}
@Override
public
boolean
isDebug
()
{
return
true
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment