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
0
Merge Requests
0
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
308502f7
Commit
308502f7
authored
Sep 05, 2019
by
yangwu.jia
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixed crash and activity leak
parent
f887dd98
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
36 additions
and
27 deletions
+36
-27
android/src/main/java/com/idlefish/flutterboost/BoostFlutterView.java
...main/java/com/idlefish/flutterboost/BoostFlutterView.java
+0
-5
android/src/main/java/com/idlefish/flutterboost/XFlutterView.java
...src/main/java/com/idlefish/flutterboost/XFlutterView.java
+36
-22
No files found.
android/src/main/java/com/idlefish/flutterboost/BoostFlutterView.java
View file @
308502f7
...
...
@@ -55,8 +55,6 @@ public class BoostFlutterView extends FrameLayout {
private
XFlutterView
mFlutterView
;
private
PlatformPlugin
mPlatformPlugin
;
private
Bundle
mArguments
;
private
RenderingProgressCoverCreator
mRenderingProgressCoverCreator
;
...
...
@@ -116,8 +114,6 @@ public class BoostFlutterView extends FrameLayout {
mArguments
=
new
Bundle
();
}
mPlatformPlugin
=
new
PlatformPlugin
((
Activity
)
getContext
(),
mFlutterEngine
.
getPlatformChannel
());
mFlutterView
=
new
XFlutterView
(
getContext
(),
getRenderMode
(),
getTransparencyMode
());
addView
(
mFlutterView
,
new
FrameLayout
.
LayoutParams
(
ViewGroup
.
LayoutParams
.
MATCH_PARENT
,
ViewGroup
.
LayoutParams
.
MATCH_PARENT
));
...
...
@@ -213,7 +209,6 @@ public class BoostFlutterView extends FrameLayout {
@Override
protected
void
onAttachedToWindow
()
{
super
.
onAttachedToWindow
();
mPlatformPlugin
.
onPostResume
();
ViewCompat
.
requestApplyInsets
(
this
);
getViewTreeObserver
().
addOnGlobalLayoutListener
(
mGlobalLayoutListener
);
}
...
...
android/src/main/java/com/idlefish/flutterboost/XFlutterView.java
View file @
308502f7
...
...
@@ -168,8 +168,14 @@ public class XFlutterView extends FrameLayout {
@Override
protected
void
onConfigurationChanged
(
Configuration
newConfig
)
{
super
.
onConfigurationChanged
(
newConfig
);
try
{
sendLocalesToFlutter
(
newConfig
);
sendUserSettingsToFlutter
();
}
catch
(
Throwable
e
){
Log
.
e
(
TAG
,
"onConfigurationChanged error "
);
}
}
/**
...
...
@@ -462,6 +468,8 @@ public class XFlutterView extends FrameLayout {
textInputPlugin
);
androidTouchProcessor
=
new
AndroidTouchProcessor
(
this
.
flutterEngine
.
getRenderer
());
if
(
accessibilityBridge
==
null
){
accessibilityBridge
=
new
AccessibilityBridge
(
this
,
flutterEngine
.
getAccessibilityChannel
(),
...
...
@@ -476,11 +484,15 @@ public class XFlutterView extends FrameLayout {
accessibilityBridge
.
isAccessibilityEnabled
(),
accessibilityBridge
.
isTouchExplorationEnabled
()
);
textInputPlugin
.
getInputMethodManager
().
restartInput
(
this
);
}
// Inform the Android framework that it should retrieve a new InputConnection
// now that an engine is attached.
// TODO(mattcarroll): once this is proven to work, move this line ot TextInputPlugin
textInputPlugin
.
getInputMethodManager
().
restartInput
(
this
);
// Push View and Context related information from Android to Flutter.
sendUserSettingsToFlutter
();
...
...
@@ -511,7 +523,6 @@ public class XFlutterView extends FrameLayout {
// signifies that this View does not process input (until a new engine is attached).
// TODO(mattcarroll): once this is proven to work, move this line ot TextInputPlugin
textInputPlugin
.
getInputMethodManager
().
restartInput
(
this
);
// Instruct our FlutterRenderer that we are no longer interested in being its RenderSurface.
flutterEngine
.
getRenderer
().
detachFromRenderSurface
();
flutterEngine
=
null
;
...
...
@@ -560,12 +571,15 @@ public class XFlutterView extends FrameLayout {
* FlutterEngine must be non-null when this method is invoked.
*/
private
void
sendUserSettingsToFlutter
()
{
if
(
flutterEngine
!=
null
&&
flutterEngine
.
getSettingsChannel
()!=
null
){
flutterEngine
.
getSettingsChannel
().
startMessage
()
.
setTextScaleFactor
(
getResources
().
getConfiguration
().
fontScale
)
.
setUse24HourFormat
(
DateFormat
.
is24HourFormat
(
getContext
()))
.
send
();
}
}
// TODO(mattcarroll): consider introducing a system channel for this communication instead of JNI
private
void
sendViewportMetricsToFlutter
()
{
Log
.
d
(
TAG
,
"sendViewportMetricsToFlutter()"
);
...
...
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