Skip to content

Commit 4f13942

Browse files
committed
feat: add adbe press media (next | previous | play | pause) to CLI
1 parent 271491f commit 4f13942

File tree

2 files changed

+20
-3
lines changed

2 files changed

+20
-3
lines changed

adbe/adb_enhanced.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -814,11 +814,21 @@ def input_text(text: str) -> None:
814814
print_error_and_exit(f'Failed to input text "{text}"')
815815

816816

817+
# https://developer.android.com/reference/android/view/KeyEvent#KEYCODE_BACK
817818
def press_back() -> None:
818-
cmd = "input keyevent 4"
819+
press_key("KEYCODE_BACK")
820+
821+
822+
# Ref: https://developer.android.com/reference/android/view/KeyEvent#KEYCODE_MEDIA_NEXT
823+
def press_media_next() -> None:
824+
press_key("KEYCODE_MEDIA_NEXT")
825+
826+
827+
def press_key(keycode: str | int) -> None:
828+
cmd = f"input keyevent {keycode}"
819829
return_code, _, _ = execute_adb_shell_command2(cmd)
820830
if return_code != 0:
821-
print_error_and_exit("Failed to press back")
831+
print_error_and_exit(f"Failed to press {keycode}")
822832

823833

824834
def open_url(url: str) -> None:

adbe/main.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@
6565
adbe [options] permissions (grant | revoke) <app_name> (calendar | camera | contacts | location | microphone | notifications | phone | sensors | sms | storage)
6666
adbe [options] permissions list (all | dangerous)
6767
adbe [options] press back
68+
adbe [options] press media (next | previous | play | pause)
6869
adbe [options] pull [-a] <file_path_on_android>
6970
adbe [options] pull [-a] <file_path_on_android> <file_path_on_machine>
7071
adbe [options] push <file_path_on_machine> <file_path_on_android>
@@ -177,7 +178,13 @@ def _get_actions(args: dict[str, typing.Any]) -> dict[tuple[str, str], typing.Ca
177178
("apps", "list", "backup-enabled"): adb_enhanced.print_allow_backup_apps,
178179

179180
# Input-related
180-
("back",): adb_enhanced.press_back,
181+
# Ref: https://developer.android.com/reference/android/view/KeyEvent#KEYCODE_BACK
182+
("press", "back"): lambda: adb_enhanced.press_key("KEYCODE_BACK"),
183+
# Ref: https://developer.android.com/reference/android/view/KeyEvent#KEYCODE_MEDIA_NEXT
184+
("press", "media", "next"): lambda: adb_enhanced.press_key("KEYCODE_MEDIA_NEXT"),
185+
("press", "media", "previous"): lambda: adb_enhanced.press_key("KEYCODE_MEDIA_PREVIOUS"),
186+
("press", "media", "play"): lambda: adb_enhanced.press_key("KEYCODE_MEDIA_PLAY"),
187+
("press", "media", "pause"): lambda: adb_enhanced.press_key("KEYCODE_MEDIA_PAUSE"),
181188
("input-text",): lambda: adb_enhanced.input_text(args["<text>"]),
182189
("open-url",): lambda: adb_enhanced.open_url(args["<url>"]),
183190

0 commit comments

Comments
 (0)