1
+ "ui" ;
2
+
3
+ let isRunning = $shizuku . isRunning ( )
4
+ if ( ! isRunning ) {
5
+ toast ( '当前未授权shizuku服务,无法执行,请在抽屉界面打开shizuku服务' )
6
+ exit ( )
7
+ }
8
+
9
+ ui . layout (
10
+ < frame >
11
+ < vertical h = "auto" align = "center" margin = "0 50" >
12
+ < linear gravity = "center" >
13
+ < linear >
14
+ < text w = "56" gravity = "center" color = "#111111" size = "16" > x:</ text >
15
+ < input id = "clickX" w = "*" h = "40" inputType = "number" text = "100" />
16
+ </ linear >
17
+ < linear >
18
+ < text w = "56" gravity = "center" color = "#111111" size = "16" > y:</ text >
19
+ < input id = "clickY" w = "*" h = "40" inputType = "number" text = "500" />
20
+ </ linear >
21
+ </ linear >
22
+ < button id = "click" text = "点击操作" />
23
+ < linear gravity = "center" >
24
+ < linear >
25
+ < text w = "100" gravity = "center" color = "#111111" size = "16" > 结束点x:</ text >
26
+ < input id = "endX" w = "*" h = "40" inputType = "number" text = "500" />
27
+ </ linear >
28
+ < linear >
29
+ < text w = "100" gravity = "center" color = "#111111" size = "16" > 结束点y:</ text >
30
+ < input id = "endY" w = "*" h = "40" inputType = "number" text = "1200" />
31
+ </ linear >
32
+ </ linear >
33
+ < button id = "swipe" text = "滑动操作" />
34
+ < button id = "lockScreen" text = "锁屏" />
35
+ < button id = "pmList" text = "获取第三方应用包名" />
36
+ < linear gravity = "center" align = "center" >
37
+ < button id = "togglePointer" text = "开启指针位置" />
38
+ < button id = "toggleTouches" text = "开启触控反馈" />
39
+ </ linear >
40
+
41
+ < text id = "tips" text = "shizuku可以执行一些高级的ADB命令,因此请勿随意执行来源不明的脚本,避免发生不必要的损失" />
42
+ < scroll >
43
+ < text id = "textView" text = "" />
44
+ </ scroll >
45
+ </ vertical >
46
+ </ frame >
47
+ ) ;
48
+
49
+ ui . click . on ( 'click' , ( ) => {
50
+ let clickX = ui . clickX . getText ( ) , clickY = ui . clickY . getText ( )
51
+ threads . start ( function ( ) {
52
+ $shizuku ( `input tap ${ clickX } ${ clickY } ` )
53
+ } )
54
+ } )
55
+
56
+ ui . swipe . on ( 'click' , ( ) => {
57
+ let clickX = ui . clickX . getText ( ) , clickY = ui . clickY . getText ( )
58
+ let endX = ui . endX . getText ( ) , endY = ui . endY . getText ( )
59
+ threads . start ( function ( ) {
60
+ $shizuku ( `input swipe ${ clickX } ${ clickY } ${ endX } ${ endY } ` )
61
+ } )
62
+ } )
63
+
64
+ ui . lockScreen . on ( 'click' , ( ) => {
65
+ $shizuku ( 'input keyevent KEYCODE_POWER' )
66
+ } )
67
+
68
+ ui . pmList . on ( 'click' , ( ) => {
69
+ let result = $shizuku ( 'pm list package -3' )
70
+ ui . textView . setText ( result . result )
71
+ } )
72
+
73
+ ui . togglePointer . on ( 'click' , ( ) => {
74
+ if ( isPointerEnabled ( ) ) {
75
+ $shizuku ( 'settings put system pointer_location 0' )
76
+ ui . togglePointer . setText ( '开启指针位置' )
77
+ } else {
78
+ $shizuku ( 'settings put system pointer_location 1' )
79
+ ui . togglePointer . setText ( '关闭指针位置' )
80
+ }
81
+ } )
82
+
83
+
84
+ ui . toggleTouches . on ( 'click' , ( ) => {
85
+ if ( isShowTouchesEnabled ( ) ) {
86
+ $shizuku ( 'settings put system show_touches 0' )
87
+ ui . toggleTouches . setText ( '开启触控反馈' )
88
+ } else {
89
+ $shizuku ( 'settings put system show_touches 1' )
90
+ ui . toggleTouches . setText ( '关闭触控反馈' )
91
+ }
92
+ } )
93
+
94
+ if ( isPointerEnabled ( ) ) {
95
+ ui . run ( function ( ) {
96
+ ui . togglePointer . setText ( '关闭指针位置' )
97
+ } )
98
+ }
99
+ if ( isShowTouchesEnabled ( ) ) {
100
+ ui . run ( function ( ) {
101
+ ui . toggleTouches . setText ( '关闭触控反馈' )
102
+ } )
103
+ }
104
+
105
+ function isPointerEnabled ( ) {
106
+ // 是否开启指针位置
107
+ let enabled = $shizuku ( 'settings get system pointer_location' ) . result
108
+ enabled = ( enabled || '' ) . replace ( / \n / , '' )
109
+ return enabled == '1'
110
+ }
111
+
112
+ function isShowTouchesEnabled ( ) {
113
+ // 是否开启触控反馈
114
+ let enabled = $shizuku ( 'settings get system show_touches' ) . result
115
+ enabled = ( enabled || '' ) . replace ( / \n / , '' )
116
+ return enabled == '1'
117
+ }
0 commit comments