Created
December 5, 2016 07:25
-
-
Save phamquyhai/2003501ad7c47eb6c85191d67b8d3d23 to your computer and use it in GitHub Desktop.
Auto Chatwork
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package asia.fivejuly.chatwork; | |
import android.accessibilityservice.AccessibilityService; | |
import android.os.Bundle; | |
import android.support.v4.view.accessibility.AccessibilityEventCompat; | |
import android.support.v4.view.accessibility.AccessibilityNodeInfoCompat; | |
import android.support.v4.view.accessibility.AccessibilityRecordCompat; | |
import android.util.Log; | |
import android.view.accessibility.AccessibilityEvent; | |
import android.view.accessibility.AccessibilityNodeInfo; | |
import java.util.List; | |
import java.util.Random; | |
/** | |
* Created by haipq on 12/5/16. | |
*/ | |
public class ChatWorkAccessibilityService extends AccessibilityService { | |
private static final String[] MSG = new String[] { | |
"Hồi xưa mình đẹp trai lắm\n" + | |
"Bây giờ đỡ nhiều rồi. ", | |
"Tình chỉ đẹp khi còn dang dở\n" + | |
"Lấy nhau về nham nhở lắm em ơi.", | |
"Đời trai nghèo không xu dính túi\n" + | |
"Biết khi nào được xơ múi gái xinh.", | |
"Dân thường chơi đẹp\n" + | |
"Đè bẹp dân chơi.", | |
"Hãy cho tôi tâm hồn của đá\n" + | |
"Để lạnh giá với tình yêu.", | |
"Sống phải có phong cách\n" + | |
"Lớn phải có lông nách.", | |
"Ngu không phải cái tội mà cái tội là không biết mình ngu." | |
}; | |
@Override | |
public void onAccessibilityEvent(AccessibilityEvent accessibilityEvent) { | |
AccessibilityRecordCompat record = AccessibilityEventCompat.asRecord(accessibilityEvent); | |
AccessibilityNodeInfoCompat nodeInfoCompat = record.getSource(); | |
Log("nodeInfoCompat " + nodeInfoCompat); | |
if (nodeInfoCompat == null || !ChatWorkApplication.isEnable) return; | |
// Tự động cấp quyền android M | |
List<AccessibilityNodeInfoCompat> list = nodeInfoCompat | |
.findAccessibilityNodeInfosByViewId("com.android.packageinstaller:id/permission_allow_button"); | |
for (AccessibilityNodeInfoCompat node : list) { | |
Log("AccessibilityEvent: permission_allow_button " + node); | |
node.performAction(AccessibilityNodeInfo.ACTION_CLICK); | |
} | |
// Chatwork | |
if (nodeInfoCompat.getPackageName().equals("jp.ecstudio.chatworkandroid")) { | |
Log(" Selected Chatwork App"); | |
list = nodeInfoCompat | |
.findAccessibilityNodeInfosByViewId("jp.ecstudio.chatworkandroid:id/timeline_toolbar"); | |
for (AccessibilityNodeInfoCompat node : list) { | |
Log(" Selected Header Box " + node.getText()); | |
List<AccessibilityNodeInfoCompat> editTexts = | |
nodeInfoCompat.findAccessibilityNodeInfosByViewId("jp.ecstudio.chatworkandroid:id/edit_message"); | |
for (AccessibilityNodeInfoCompat edittext : editTexts) { | |
Log(" Selected Editext " + edittext); | |
Bundle arguments = new Bundle(); | |
arguments.putCharSequence( | |
AccessibilityNodeInfo.ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE, | |
MSG[new Random().nextInt(MSG.length)]); | |
edittext.performAction(AccessibilityNodeInfo.ACTION_SET_TEXT, arguments); | |
} | |
List<AccessibilityNodeInfoCompat> buttonSends = | |
nodeInfoCompat.findAccessibilityNodeInfosByViewId("jp.ecstudio.chatworkandroid:id/action_select_task_and_send"); | |
for (AccessibilityNodeInfoCompat send : buttonSends) { | |
Log(" Selected buttonSend " + send); | |
send.performAction(AccessibilityNodeInfo.ACTION_CLICK); | |
} | |
} | |
} | |
} | |
private void Log(String str) { | |
Log.d(ChatWorkAccessibilityService.class.getCanonicalName(),str); | |
} | |
@Override | |
public void onInterrupt() {} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment