Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
sxychenjing
engine
提交
b1b388f1
E
engine
项目概览
sxychenjing
/
engine
与 Fork 源项目一致
从无法访问的项目Fork
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
E
engine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
b1b388f1
编写于
3月 13, 2019
作者:
J
Jason Simmons
提交者:
GitHub
3月 13, 2019
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Encode scroll motion events in the Android touch processor (#8149)
上级
2daebebf
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
16 addition
and
4 deletion
+16
-4
shell/platform/android/io/flutter/embedding/engine/android/AndroidTouchProcessor.java
...utter/embedding/engine/android/AndroidTouchProcessor.java
+16
-4
未找到文件。
shell/platform/android/io/flutter/embedding/engine/android/AndroidTouchProcessor.java
浏览文件 @
b1b388f1
...
...
@@ -150,7 +150,9 @@ public class AndroidTouchProcessor {
// Mouse hover support is not implemented for API < 18.
boolean
isPointerEvent
=
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
JELLY_BEAN_MR2
&&
event
.
isFromSource
(
InputDevice
.
SOURCE_CLASS_POINTER
);
if
(!
isPointerEvent
||
event
.
getActionMasked
()
!=
MotionEvent
.
ACTION_HOVER_MOVE
)
{
boolean
isMovementEvent
=
(
event
.
getActionMasked
()
==
MotionEvent
.
ACTION_HOVER_MOVE
||
event
.
getActionMasked
()
==
MotionEvent
.
ACTION_SCROLL
);
if
(!
isPointerEvent
||
!
isMovementEvent
)
{
return
false
;
}
...
...
@@ -181,7 +183,9 @@ public class AndroidTouchProcessor {
int
pointerKind
=
getPointerDeviceTypeForToolType
(
event
.
getToolType
(
pointerIndex
));
int
signalKind
=
PointerSignalKind
.
NONE
;
int
signalKind
=
event
.
getActionMasked
()
==
MotionEvent
.
ACTION_SCROLL
?
PointerSignalKind
.
SCROLL
:
PointerSignalKind
.
NONE
;
long
timeStamp
=
event
.
getEventTime
()
*
1000
;
// Convert from milliseconds to microseconds.
...
...
@@ -242,8 +246,13 @@ public class AndroidTouchProcessor {
packet
.
putLong
(
pointerData
);
// platformData
packet
.
putDouble
(
0.0
);
// scroll_delta_x
packet
.
putDouble
(
0.0
);
// scroll_delta_y
if
(
signalKind
==
PointerSignalKind
.
SCROLL
)
{
packet
.
putDouble
(-
event
.
getAxisValue
(
MotionEvent
.
AXIS_HSCROLL
));
// scroll_delta_x
packet
.
putDouble
(-
event
.
getAxisValue
(
MotionEvent
.
AXIS_VSCROLL
));
// scroll_delta_y
}
else
{
packet
.
putDouble
(
0.0
);
// scroll_delta_x
packet
.
putDouble
(
0.0
);
// scroll_delta_x
}
}
@PointerChange
...
...
@@ -269,6 +278,9 @@ public class AndroidTouchProcessor {
if
(
maskedAction
==
MotionEvent
.
ACTION_CANCEL
)
{
return
PointerChange
.
CANCEL
;
}
if
(
maskedAction
==
MotionEvent
.
ACTION_SCROLL
)
{
return
PointerChange
.
HOVER
;
}
return
-
1
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录