Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/system/bin/sh
- SCHED_PATH=/sys/block/mmcblk1/queue/scheduler
- SETTINGS_PATH=/data/data/com.android.settings/app_tiamat_controls/scheduler
- DEFAULT_MISSING=bfq
- NUM_ENTRIES="-1"
- SCHED_NAMES="-1"
- EXIT="-1"
- if [ ! -e $SETTINGS_PATH ]; then
- echo $DEFAULT_MISSING > $SETTINGS_PATH
- fi
- USER_DEF=$(cat $SETTINGS_PATH)
- echo $USER_DEF > $SCHED_PATH
- writeEntry()
- {
- val="$1"
- echo "Writing $val scheduler to system..."
- echo $val > $SCHED_PATH
- echo $val > $SETTINGS_PATH
- sleep 1
- }
- menu()
- {
- clear
- unset SCHED_NAMES
- a=0
- items=$(cat $SCHED_PATH | awk '{print $0}')
- echo " "
- echo "**************************************"
- echo "* *"
- echo "* Currently available io schedulers: *"
- echo "* *"
- echo "**************************************"
- echo " "
- for i in $items; do
- SCHED_NAMES=( ${SCHED_NAMES[@]-} $(echo "$i") )
- echo $(( $a + 1 ))") "${SCHED_NAMES[$a]}
- echo " "
- len=${#i}
- len1=$(($len-2))
- tmp=${i: -$len:1}
- echo $len $len1 $tmp
- if [ "$tmp" == "[" ]; then
- DEFAULT_CURRENT=${i:1:$len1}
- fi
- (( a++ ))
- done
- NUM_ENTRIES=${#SCHED_NAMES[@]}
- echo "The current default io scheduler is set to \"$DEFAULT_CURRENT\""
- echo "Enter 1-$NUM_ENTRIES to select an io scheduler or \"x\" to exit"
- echo "Make selection now: "
- }
- getInput()
- {
- read CHOICE
- #filter for valid entry
- i=1
- valid_entry="-1"
- exit="-1"
- #check for exit
- if [ "$CHOICE" == "x" -o "$CHOICE" == "X" ]; then
- EXIT="true"
- clear
- echo "Exiting script..."
- sleep 1
- clear
- return 0
- fi
- while [ $i -le $CHOICE ]; do
- if [ "$i" == "$CHOICE" ]; then
- valid_entry="true"
- writeEntry ${SCHED_NAMES[(($i-1))]}
- echo "Done!"
- sleep 1
- break
- fi
- (( i++ ))
- done
- if [ "$valid_entry" == "true" ]; then
- return 0
- else
- echo " \"$CHOICE\" is not a valid entry"
- sleep 1
- return 1
- fi
- }
- while [ true ]; do
- menu
- getInput
- if [ "$EXIT" == "true" ]; then break; fi
- done
- exit 0
Advertisement
Add Comment
Please, Sign In to add comment