Skip to content

Commit 96e0177

Browse files
committed
feat: 适配微信7.0.3
1 parent d108ce9 commit 96e0177

File tree

5 files changed

+22
-44
lines changed

5 files changed

+22
-44
lines changed

app/src/main/java/com/coderpig/wechathelper/Constant.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,8 @@ class Constant {
1616

1717
val MEMBER = "member"
1818
val GROUP_NAME_1 = "小猪的Python学习交流1群"
19-
val GROUP_NAME_2 = "小猪的Python学习交流2群"
19+
val GROUP_NAME_2 = "小猪的Python基友群"
2020
val GROUP_NAME_3 = "小猪的Android学习交流群"
21-
val GROUP_NAME_4 = "技♂术交流\uD83C\uDE32"
2221
val GROUP_NAME_5 = "抠腚男孩的妙妙屋"
2322
}
2423
}

app/src/main/java/com/coderpig/wechathelper/HelperService.kt

Lines changed: 17 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -88,25 +88,24 @@ class HelperService : AccessibilityService() {
8888
//1.打开群聊
8989
private fun openGroup() {
9090
mMember = Hawk.get<Member>(Constant.MEMBER)
91-
if(mMember.python_1.size != 0 || mMember.android.size != 0 || mMember.speak.size != 0 || mMember.python_2.size != 0 || mMember.guy.size != 0) {
91+
if(mMember.python_1.size != 0 || mMember.android.size != 0 || mMember.python_2.size != 0 || mMember.guy.size != 0) {
9292
curGroup = when {
9393
mMember.python_1.size > 0 -> Constant.GROUP_NAME_1
9494
mMember.python_2.size > 0 -> Constant.GROUP_NAME_2
9595
mMember.android.size > 0 -> Constant.GROUP_NAME_3
96-
mMember.speak.size > 0 -> Constant.GROUP_NAME_4
9796
mMember.guy.size > 0 -> Constant.GROUP_NAME_5
9897
else -> ""
9998
}
10099
val nodeInfo = rootInActiveWindow
101100
if (nodeInfo != null) {
102-
val tabNodes = nodeInfo.findAccessibilityNodeInfosByViewId("com.tencent.mm:id/cw2")
101+
val tabNodes = nodeInfo.findAccessibilityNodeInfosByViewId("com.tencent.mm:id/d7b")
103102
for (tabNode in tabNodes) {
104103
if (tabNode.text.toString() == "通讯录") {
105104
tabNode.parent.performAction(AccessibilityNodeInfo.ACTION_CLICK)
106105
handler.postDelayed({
107106
val newNodeInfo = rootInActiveWindow
108107
if (newNodeInfo != null) {
109-
val tagNodes = newNodeInfo.findAccessibilityNodeInfosByViewId("com.tencent.mm:id/lv")
108+
val tagNodes = newNodeInfo.findAccessibilityNodeInfosByViewId("com.tencent.mm:id/mw")
110109
for (tagNode in tagNodes) {
111110
if (tagNode.text.toString() == "群聊") {
112111
tagNode.parent.parent.performAction(AccessibilityNodeInfo.ACTION_CLICK)
@@ -125,7 +124,7 @@ class HelperService : AccessibilityService() {
125124
private fun searchGroup() {
126125
val nodeInfo = rootInActiveWindow
127126
if (nodeInfo != null) {
128-
val nodes = nodeInfo.findAccessibilityNodeInfosByViewId("com.tencent.mm:id/m6")
127+
val nodes = nodeInfo.findAccessibilityNodeInfosByViewId("com.tencent.mm:id/n7")
129128
for (info in nodes) {
130129
if (info.text.toString() == curGroup) {
131130
info.parent.performAction(AccessibilityNodeInfo.ACTION_CLICK)
@@ -142,39 +141,31 @@ class HelperService : AccessibilityService() {
142141
if(mMember.python_1.size > 0) {
143142
val nodeInfo = rootInActiveWindow
144143
if (nodeInfo != null) {
145-
nodeInfo.findAccessibilityNodeInfosByViewId("com.tencent.mm:id/j1")[0].performAction(AccessibilityNodeInfo.ACTION_CLICK)
144+
nodeInfo.findAccessibilityNodeInfosByViewId("com.tencent.mm:id/jy")[0].performAction(AccessibilityNodeInfo.ACTION_CLICK)
146145
}
147146
}
148147
}
149148
Constant.GROUP_NAME_2 -> {
150149
if(mMember.python_2.size > 0) {
151150
val nodeInfo = rootInActiveWindow
152151
if (nodeInfo != null) {
153-
nodeInfo.findAccessibilityNodeInfosByViewId("com.tencent.mm:id/j1")[0].performAction(AccessibilityNodeInfo.ACTION_CLICK)
152+
nodeInfo.findAccessibilityNodeInfosByViewId("com.tencent.mm:id/jy")[0].performAction(AccessibilityNodeInfo.ACTION_CLICK)
154153
}
155154
}
156155
}
157156
Constant.GROUP_NAME_3 -> {
158157
if(mMember.android.size > 0) {
159158
val nodeInfo = rootInActiveWindow
160159
if (nodeInfo != null) {
161-
nodeInfo.findAccessibilityNodeInfosByViewId("com.tencent.mm:id/j1")[0].performAction(AccessibilityNodeInfo.ACTION_CLICK)
162-
}
163-
}
164-
}
165-
Constant.GROUP_NAME_4 -> {
166-
if(mMember.speak.size > 0) {
167-
val nodeInfo = rootInActiveWindow
168-
if (nodeInfo != null) {
169-
nodeInfo.findAccessibilityNodeInfosByViewId("com.tencent.mm:id/j1")[0].performAction(AccessibilityNodeInfo.ACTION_CLICK)
160+
nodeInfo.findAccessibilityNodeInfosByViewId("com.tencent.mm:id/jy")[0].performAction(AccessibilityNodeInfo.ACTION_CLICK)
170161
}
171162
}
172163
}
173164
Constant.GROUP_NAME_5 -> {
174165
if(mMember.guy.size > 0) {
175166
val nodeInfo = rootInActiveWindow
176167
if (nodeInfo != null) {
177-
nodeInfo.findAccessibilityNodeInfosByViewId("com.tencent.mm:id/j1")[0].performAction(AccessibilityNodeInfo.ACTION_CLICK)
168+
nodeInfo.findAccessibilityNodeInfosByViewId("com.tencent.mm:id/jy")[0].performAction(AccessibilityNodeInfo.ACTION_CLICK)
178169
}
179170
}
180171
}
@@ -193,7 +184,6 @@ class HelperService : AccessibilityService() {
193184
Constant.GROUP_NAME_1 -> members = mMember.python_1
194185
Constant.GROUP_NAME_2 -> members = mMember.python_2
195186
Constant.GROUP_NAME_3 -> members = mMember.android
196-
Constant.GROUP_NAME_4 -> members = mMember.speak
197187
Constant.GROUP_NAME_5 -> members = mMember.guy
198188
}
199189
if (members.size > 0) {
@@ -209,7 +199,7 @@ class HelperService : AccessibilityService() {
209199
val scrollNodeInfo = rootInActiveWindow
210200
if (scrollNodeInfo != null) {
211201
handler.postDelayed({
212-
val nodes = scrollNodeInfo.findAccessibilityNodeInfosByViewId("com.tencent.mm:id/dnm")
202+
val nodes = scrollNodeInfo.findAccessibilityNodeInfosByViewId("com.tencent.mm:id/e0c")
213203
for (info in nodes) {
214204
if (info.contentDescription.toString() == "添加成员") {
215205
info.parent.performAction(AccessibilityNodeInfo.ACTION_CLICK)
@@ -234,15 +224,14 @@ class HelperService : AccessibilityService() {
234224
Constant.GROUP_NAME_1 -> members = mMember.python_1
235225
Constant.GROUP_NAME_2 -> members = mMember.python_2
236226
Constant.GROUP_NAME_3 -> members = mMember.android
237-
Constant.GROUP_NAME_4 -> members = mMember.speak
238227
Constant.GROUP_NAME_5 -> members = mMember.guy
239228
}
240229
if (members.size > 0) {
241230
for (i in 0 until members.size) {
242231
handler.postDelayed({
243232
val nodeInfo = rootInActiveWindow
244233
if (nodeInfo != null) {
245-
val editNodes = nodeInfo.findAccessibilityNodeInfosByViewId("com.tencent.mm:id/b26")
234+
val editNodes = nodeInfo.findAccessibilityNodeInfosByViewId("com.tencent.mm:id/b8a")
246235
if (editNodes != null && editNodes.size > 0) {
247236
val editNode = editNodes[0]
248237
val arguments = Bundle()
@@ -252,7 +241,7 @@ class HelperService : AccessibilityService() {
252241
}
253242
}, 500L * (i + 1))
254243
handler.postDelayed({
255-
val cbNodes = rootInActiveWindow.findAccessibilityNodeInfosByViewId("com.tencent.mm:id/om")
244+
val cbNodes = rootInActiveWindow.findAccessibilityNodeInfosByViewId("com.tencent.mm:id/q0")
256245
if (cbNodes != null) {
257246
val cbNode: AccessibilityNodeInfo?
258247
if (cbNodes.size > 0) {
@@ -267,25 +256,24 @@ class HelperService : AccessibilityService() {
267256
Constant.GROUP_NAME_1 -> m.python_1 = arrayListOf()
268257
Constant.GROUP_NAME_2 -> m.python_2 = arrayListOf()
269258
Constant.GROUP_NAME_3 -> m.android = arrayListOf()
270-
Constant.GROUP_NAME_4 -> m.speak = arrayListOf()
271259
Constant.GROUP_NAME_5 -> m.guy = arrayListOf()
272260
}
273261
Hawk.put(Constant.MEMBER, m)
274262
curGroup = ""
275-
val sureNodes = rootInActiveWindow.findAccessibilityNodeInfosByViewId("com.tencent.mm:id/j0")
263+
val sureNodes = rootInActiveWindow.findAccessibilityNodeInfosByViewId("com.tencent.mm:id/jx")
276264
if (sureNodes != null && sureNodes.size > 0) {
277265
sureNodes[0].performAction(AccessibilityNodeInfo.ACTION_CLICK)
278266
}
279267

280268
}
281-
}, 800L * (i + 1))
269+
}, 700L * (i + 1))
282270
}
283271
}
284272
}
285273

286274
//对话框自动点击
287275
private fun dialogClick() {
288-
val inviteNode = rootInActiveWindow.findAccessibilityNodeInfosByViewId("com.tencent.mm:id/au_")[0]
276+
val inviteNode = rootInActiveWindow.findAccessibilityNodeInfosByViewId("com.tencent.mm:id/az_")[0]
289277
inviteNode.performAction(AccessibilityNodeInfo.ACTION_CLICK)
290278
}
291279

@@ -296,14 +284,14 @@ class HelperService : AccessibilityService() {
296284
while (true) {
297285
val rootNode = rootInActiveWindow
298286
if (rootNode != null) {
299-
val listNodes = rootNode.findAccessibilityNodeInfosByViewId("com.tencent.mm:id/e2p")
287+
val listNodes = rootNode.findAccessibilityNodeInfosByViewId("com.tencent.mm:id/eew")
300288
if (listNodes != null && listNodes.size > 0) {
301289
val listNode = listNodes[0]
302-
val zanNodes = listNode.findAccessibilityNodeInfosByViewId("com.tencent.mm:id/e2c")
290+
val zanNodes = listNode.findAccessibilityNodeInfosByViewId("com.tencent.mm:id/ee2")
303291
for (zan in zanNodes) {
304292
zan.performAction(AccessibilityNodeInfo.ACTION_CLICK)
305293
Thread.sleep(300)
306-
val zsNodes = rootInActiveWindow.findAccessibilityNodeInfosByViewId("com.tencent.mm:id/e1j")
294+
val zsNodes = rootInActiveWindow.findAccessibilityNodeInfosByViewId("com.tencent.mm:id/edq")
307295
Thread.sleep(300)
308296
if (zsNodes != null && zsNodes.size > 0) {
309297
if (zsNodes[0].findAccessibilityNodeInfosByText("").size > 0) {

app/src/main/java/com/coderpig/wechathelper/Member.java

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
public class Member implements Serializable {
1414
@SerializedName("Python") private ArrayList<String> python_1 = new ArrayList<>();
1515
@SerializedName("Android") private ArrayList<String> android = new ArrayList<>();
16-
@SerializedName("Speak") private ArrayList<String> speak = new ArrayList<>();
1716
@SerializedName("Python2") private ArrayList<String> python_2 = new ArrayList<>();
1817
@SerializedName("Guy") private ArrayList<String> guy = new ArrayList<>();
1918

@@ -33,14 +32,6 @@ public void setAndroid(ArrayList<String> android) {
3332
this.android = android;
3433
}
3534

36-
public ArrayList<String> getSpeak() {
37-
return speak;
38-
}
39-
40-
public void setSpeak(ArrayList<String> speak) {
41-
this.speak = speak;
42-
}
43-
4435
public ArrayList<String> getPython_2() {
4536
return python_2;
4637
}

build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
// Top-level build file where you can add configuration options common to all sub-projects/modules.
22

33
buildscript {
4-
ext.kotlin_version = '1.2.30'
4+
ext.kotlin_version = '1.2.51'
55

66
repositories {
77
google()
88
jcenter()
99
}
1010
dependencies {
11-
classpath 'com.android.tools.build:gradle:3.1.3'
11+
classpath 'com.android.tools.build:gradle:3.2.1'
1212
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
1313

1414
// NOTE: Do not place your application dependencies here; they belong
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
#Wed Apr 04 13:41:01 CST 2018
1+
#Thu Nov 08 12:28:23 CST 2018
22
distributionBase=GRADLE_USER_HOME
33
distributionPath=wrapper/dists
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists
6-
distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip
6+
distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip

0 commit comments

Comments
 (0)