Skip to content

Commit f20f6af

Browse files
Add type ability
1 parent d948b26 commit f20f6af

1 file changed

Lines changed: 11 additions & 2 deletions

File tree

app/src/main/java/com/termux/api/apis/AccessibilityAPI.java

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
import android.content.pm.ServiceInfo;
3939
import java.util.List;
4040
import android.accessibilityservice.AccessibilityService;
41+
import android.os.Bundle;
4142

4243
public class AccessibilityAPI {
4344

@@ -57,9 +58,10 @@ public static void onReceive(TermuxApiReceiver apiReceiver, final Context contex
5758
final ContentResolver contentResolver = context.getContentResolver();
5859
if (intent.hasExtra("dump")) {
5960
out.print(dump());
60-
}
61-
else if (intent.hasExtra("click")) {
61+
} else if (intent.hasExtra("click")) {
6262
click(intent.getIntExtra("x", 0), intent.getIntExtra("y", 0));
63+
} else if (intent.hasExtra("type")) {
64+
type(intent.getStringExtra("type"));
6365
}
6466
});
6567
}
@@ -171,4 +173,11 @@ private static void dumpNodeAuxiliary(Document document, Element element, Access
171173
private static String getCharSequenceAsString(CharSequence charSequence) {
172174
return charSequence != null ? charSequence.toString() : "";
173175
}
176+
177+
private static void type(String toType) {
178+
AccessibilityNodeInfo focusedNode = TermuxAccessibilityService.instance.getRootInActiveWindow().findFocus(AccessibilityNodeInfo.FOCUS_INPUT);
179+
Bundle arguments = new Bundle();
180+
arguments.putCharSequence(AccessibilityNodeInfo.ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE, toType);
181+
focusedNode.performAction(AccessibilityNodeInfo.ACTION_SET_TEXT, arguments);
182+
}
174183
}

0 commit comments

Comments
 (0)