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
5 years ago
by
yangwu.jia
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixed crash and activity leak
parent
f887dd98
master
patch-1
v1.22.4-hotfixes
1.17.1
1.12.13+3
1.12.13+2
1.12.13+1
1.12.13
1.9.1+2
1.9.1+1
0.1.66
0.1.65
0.1.64
0.1.63
0.1.62
0.1.61
0.1.60
0.1.54
0.1.53
v5_flutter_1.5_upgrade_opt
v4_flutter_1.5_upgrade_opt
v3_flutter_1.5_upgrade_opt
v2_flutter_1.5_upgrade_opt
v1.12.13_support+10
v1.12.13_support+9
v1.12.13_support+8
v1.12.13_support+7
v1.12.13_support+6
v1.12.13_support+5
v1.12.13_support+4
v1.12.13_support+3
v1.12.13_support+2
v1.12.13_support+1
v1.12.13_support_xianyu+15
v1.12.13_support_xianyu+14
v1.12.13_support_xianyu+13
v1.12.13_support_xianyu+12
v1.12.13_support_xianyu+11
v1.12.13_support_xianyu+10
v1.9.1_suport+1
v1_flutter_1.5_upgrade_opt
v0.1.61-androidx-hotfixes
No related merge requests found
Changes
2
Hide 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
);
}
...
...
This diff is collapsed.
Click to expand it.
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
);
sendLocalesToFlutter
(
newConfig
);
sendUserSettingsToFlutter
();
try
{
sendLocalesToFlutter
(
newConfig
);
sendUserSettingsToFlutter
();
}
catch
(
Throwable
e
){
Log
.
e
(
TAG
,
"onConfigurationChanged error "
);
}
}
/**
...
...
@@ -462,25 +468,31 @@ public class XFlutterView extends FrameLayout {
textInputPlugin
);
androidTouchProcessor
=
new
AndroidTouchProcessor
(
this
.
flutterEngine
.
getRenderer
());
accessibilityBridge
=
new
AccessibilityBridge
(
this
,
flutterEngine
.
getAccessibilityChannel
(),
(
AccessibilityManager
)
getContext
().
getSystemService
(
Context
.
ACCESSIBILITY_SERVICE
),
getContext
().
getContentResolver
(),
// TODO(mattcaroll): plumb the platform views controller to the accessibility bridge.
// https://github.com/flutter/flutter/issues/29618
null
);
accessibilityBridge
.
setOnAccessibilityChangeListener
(
onAccessibilityChangeListener
);
resetWillNotDraw
(
accessibilityBridge
.
isAccessibilityEnabled
(),
accessibilityBridge
.
isTouchExplorationEnabled
()
);
if
(
accessibilityBridge
==
null
){
accessibilityBridge
=
new
AccessibilityBridge
(
this
,
flutterEngine
.
getAccessibilityChannel
(),
(
AccessibilityManager
)
getContext
().
getSystemService
(
Context
.
ACCESSIBILITY_SERVICE
),
getContext
().
getContentResolver
(),
// TODO(mattcaroll): plumb the platform views controller to the accessibility bridge.
// https://github.com/flutter/flutter/issues/29618
null
);
accessibilityBridge
.
setOnAccessibilityChangeListener
(
onAccessibilityChangeListener
);
resetWillNotDraw
(
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,10 +571,13 @@ public class XFlutterView extends FrameLayout {
* FlutterEngine must be non-null when this method is invoked.
*/
private
void
sendUserSettingsToFlutter
()
{
flutterEngine
.
getSettingsChannel
().
startMessage
()
.
setTextScaleFactor
(
getResources
().
getConfiguration
().
fontScale
)
.
setUse24HourFormat
(
DateFormat
.
is24HourFormat
(
getContext
()))
.
send
();
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
...
...
This diff is collapsed.
Click to expand it.
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