You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
- #!/bin/sh
-
- unlock() {
- ### Activates the screen and unlocks the phone
- # Reads the current screen state eturns any combination of ON/OFF and
- # LOCKED/UNLOCKED (i.e. OFF_LOCKED).
- # Works only on NFC enabled phones but alternative methods exist.
- IFS='_' read -ra screenstate <<< $(adb shell dumpsys nfc | awk -F'=' \
- '/mScreenState/ {print $2}')
- # Emulate Power-Button press if screen is OFF.
- [ "${screenstate[0]}" == "OFF" ] && adb shell input keyevent 26 && \
- echo Screen activated
- # Emulate Menu-button press if phone is locked. Requires the phone to
- # unlock without PIN or password.
- [ "${screenstate[1]}" == "LOCKED" ] && adb shell input keyevent 82 && \
- echo Device unlocked
- }
-
- blank() {
- ### Blanks the screen (optionally wait X seconds)
- [ -z "${1}" ] && sleep "${1}"
- IFS='_' read -ra screenstate <<< $(adb shell dumpsys nfc | awk -F'=' \
- '/mScreenState/ {print $2}')
- [ "${screenstate[0]}" == "ON" ] && adb shell input keyevent 26 && \
- echo Screen deactivated
- }
-
- run() {
- # Unlock phone
- unlock
- # Start intent
- [ -z "${1}" ] && APP="com.dev47apps.obsdroidcam" || APP="${1}"
- adb shell am start -n "${APP}/.MainActivity"
- blank 5
- }
-
- usage() {
- echo "Usage: ${0} [-u|b] [-r INTENT]
-
- -u unlock device (default if no option is given)
- -b blank device screen
- -r INTENT unlock device, run given intent and blank device screen
- -h this help"
- }
-
- while getopts ":ubr:h" opt; do
- case "${opt}" in
- u) unlock ;;
- b) blank ;;
- r) run "${OPTARG}" ;;
- h) usage ;;
- *) unlock ;;
- esac
- done
|