#!/bin/bash
######################################################################
#Copyright (C) 2020  Kris Occhipinti
#https://filmsbykris.com

#uses ADB to make a phone call on your Android device
#script tries to unlock your screen if it is off and locked

#This program is free software: you can redistribute it and/or modify
#it under the terms of the GNU General Public License as published by
#the Free Software Foundation, either version 3 of the License, or
#(at your option) any later version.

#This program is distributed in the hope that it will be useful,
#but WITHOUT ANY WARRANTY; without even the implied warranty of
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#GNU General Public License for more details.

#You should have received a copy of the GNU General Public License
#along with this program.  If not, see <http://www.gnu.org/licenses/>.
######################################################################

function unlock(){
  read -p "Your lock screen code: " code
  adb shell input swipe 1000 200 200 200
  adb shell input swipe 1000 200 200 200
  adb shell input text "$code"
  adb shell input keyevent 66
}

locked="$(adb shell dumpsys power | grep 'mHoldingWakeLockSuspendBlocker'|cut -d\= -f2)"

read -p "Number to call (with area code): " number

#unlock screen
screen="$(adb shell dumpsys power | grep 'mHoldingDisplaySuspendBlocker'|cut -d\= -f2)"
[[ "$locked" == "false" ]] && adb shell input keyevent 26
#is screen on
[[ "$screen" == "false" ]] && unlock
adb shell service call phone 1 s16 "+$number"
adb shell input keyevent 66
