1
1
package li.songe.gkd.shizuku
2
2
3
- import android.app.ActivityManager
4
- import android.app.ActivityManagerHidden
5
3
import android.app.ITaskStackListener
6
- import android.content.ComponentName
7
- import android.os.IBinder
8
- import android.window.TaskSnapshot
9
- import java.lang.reflect.Modifier
10
- import kotlin.reflect.full.declaredFunctions
4
+ import android.os.Parcel
5
+
11
6
12
7
class TaskListener (private val onStackChanged : () -> Unit ) : ITaskStackListener.Stub() {
13
- companion object {
14
- // https://github.com/gkd-kit/gkd/issues/941
15
- val unadaptedMethodList by lazy {
16
- val allAdaptedMethodList = TaskListener ::class .declaredFunctions
17
- val currentSystemMethodList =
18
- Class .forName(" android.app.ITaskStackListener" ).methods.filter {
19
- it.returnType == Void .TYPE && ! it.isDefault && Modifier .isAbstract(it.modifiers) && ! Modifier .isStatic(
20
- it.modifiers
21
- )
22
- }
23
- currentSystemMethodList.filterNot { v1 ->
24
- allAdaptedMethodList.any { v2 -> v1.name == v2.name && v1.parameters.size == v2.parameters.size - 1 }
25
- }
8
+
9
+ public override fun onTransact (code : Int , data : Parcel , reply : Parcel ? , flags : Int ): Boolean {
10
+ // https://github.com/gkd-kit/gkd/issues/941#issuecomment-2784035441
11
+ return try {
12
+ super .onTransact(code, data, reply, flags)
13
+ } catch (_: Throwable ) {
14
+ true
26
15
}
27
16
}
28
17
29
18
override fun onTaskStackChanged () = onStackChanged()
30
-
31
- override fun onActivityPinned (
32
- packageName : String? ,
33
- userId : Int ,
34
- taskId : Int ,
35
- stackId : Int
36
- ) {
37
- }
38
-
39
- override fun onActivityUnpinned () {
40
- }
41
-
42
- override fun onPinnedActivityRestartAttempt (clearedTask : Boolean ) {
43
- }
44
-
45
- override fun onPinnedStackAnimationStarted () {
46
- }
47
-
48
- override fun onPinnedStackAnimationEnded () {
49
- }
50
-
51
- override fun onActivityForcedResizable (
52
- packageName : String? ,
53
- taskId : Int ,
54
- reason : Int
55
- ) {
56
- }
57
-
58
- override fun onActivityDismissingDockedStack () {
59
- }
60
-
61
- override fun onActivityLaunchOnSecondaryDisplayFailed (
62
- taskInfo : ActivityManager .RunningTaskInfo ? ,
63
- requestedDisplayId : Int
64
- ) {
65
- }
66
-
67
- override fun onActivityLaunchOnSecondaryDisplayRerouted (
68
- taskInfo : ActivityManager .RunningTaskInfo ? ,
69
- requestedDisplayId : Int
70
- ) {
71
- }
72
-
73
- override fun onTaskCreated (taskId : Int , componentName : ComponentName ? ) {
74
- }
75
-
76
- override fun onTaskRemoved (taskId : Int ) {
77
- }
78
-
79
- override fun onTaskMovedToFront (taskInfo : ActivityManager .RunningTaskInfo ? ) {}
80
-
81
- override fun onTaskDescriptionChanged (taskInfo : ActivityManager .RunningTaskInfo ? ) {}
82
-
83
- override fun onActivityRequestedOrientationChanged (
84
- taskId : Int ,
85
- requestedOrientation : Int
86
- ) {
87
- }
88
-
89
- override fun onTaskRemovalStarted (taskInfo : ActivityManager .RunningTaskInfo ? ) {}
90
-
91
- override fun onTaskProfileLocked (taskId : Int , userId : Int ) {
92
- }
93
-
94
- override fun onTaskSnapshotChanged (
95
- taskId : Int ,
96
- snapshot : ActivityManagerHidden .TaskSnapshot ?
97
- ) {
98
- }
99
-
100
- override fun onSizeCompatModeActivityChanged (
101
- displayId : Int ,
102
- activityToken : IBinder ?
103
- ) {
104
- }
105
-
106
- override fun onBackPressedOnTaskRoot (taskInfo : ActivityManager .RunningTaskInfo ? ) {}
107
-
108
- override fun onTaskDisplayChanged (taskId : Int , newDisplayId : Int ) {}
109
-
110
- override fun onActivityRestartAttempt (
111
- task : ActivityManager .RunningTaskInfo ? ,
112
- homeTaskVisible : Boolean ,
113
- clearedTask : Boolean ,
114
- wasVisible : Boolean
115
- ) {
116
- }
117
-
118
- override fun onSingleTaskDisplayDrawn (displayId : Int ) {
119
- }
120
-
121
- override fun onSingleTaskDisplayEmpty (displayId : Int ) {
122
- }
123
-
124
- override fun onRecentTaskListUpdated () {}
125
-
126
- override fun onRecentTaskListFrozenChanged (frozen : Boolean ) {}
127
-
128
- override fun onTaskFocusChanged (taskId : Int , focused : Boolean ) {}
129
-
130
- override fun onTaskRequestedOrientationChanged (
131
- taskId : Int ,
132
- requestedOrientation : Int
133
- ) {
134
- }
135
-
136
- override fun onActivityRotation (displayId : Int ) {}
137
-
138
- override fun onTaskSnapshotChanged (taskId : Int , snapshot : TaskSnapshot ? ) {}
139
-
140
- override fun onTaskMovedToBack (taskInfo : ActivityManager .RunningTaskInfo ? ) {}
141
-
142
- override fun onLockTaskModeChanged (mode : Int ) {}
143
- override fun onActivityDismissingSplitTask (str : String? ) {}
144
-
145
- override fun onOccludeChangeNotice (
146
- componentName : ComponentName ? ,
147
- z : Boolean
148
- ) {
149
- }
150
-
151
- override fun onTaskbarIconVisibleChangeRequest (
152
- componentName : ComponentName ? ,
153
- z : Boolean
154
- ) {
155
- }
156
-
157
- override fun onTaskWindowingModeChanged (i : Int ) {}
158
- override fun onRecentTaskRemovedForAddTask (taskId : Int ) {}
159
- override fun onActivityDismissingDockedTask () {}
160
- override fun onTaskSnapshotInvalidated (taskId : Int ) {}
161
19
}
0 commit comments