bigrushdog

scheduler_script

Oct 16th, 2011
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.99 KB | None | 0 0
  1. #!/system/bin/sh
  2.  
  3. SCHED_PATH=/sys/block/mmcblk1/queue/scheduler
  4. SETTINGS_PATH=/data/data/com.android.settings/app_tiamat_controls/scheduler
  5. DEFAULT_MISSING=bfq
  6. NUM_ENTRIES="-1"
  7. SCHED_NAMES="-1"
  8. EXIT="-1"
  9.  
  10. if [ ! -e $SETTINGS_PATH ]; then  
  11.   echo $DEFAULT_MISSING > $SETTINGS_PATH
  12. fi
  13.  
  14. USER_DEF=$(cat $SETTINGS_PATH)
  15. echo $USER_DEF > $SCHED_PATH
  16.  
  17. writeEntry()
  18. {
  19. val="$1"
  20. echo "Writing $val scheduler to system..."
  21. echo $val > $SCHED_PATH
  22. echo $val > $SETTINGS_PATH
  23. sleep 1
  24. }
  25.  
  26. menu()
  27. {
  28. clear
  29. unset SCHED_NAMES
  30. a=0
  31.  
  32. items=$(cat $SCHED_PATH | awk '{print $0}')
  33. echo " "
  34. echo "**************************************"
  35. echo "*                                    *"
  36. echo "* Currently available io schedulers: *"
  37. echo "*                                    *"
  38. echo "**************************************"
  39. echo " "
  40. for i in $items; do
  41.   SCHED_NAMES=( ${SCHED_NAMES[@]-} $(echo "$i") )
  42.   echo $(( $a + 1 ))") "${SCHED_NAMES[$a]}
  43.   echo " "
  44.   len=${#i}
  45.   len1=$(($len-2))
  46.   tmp=${i: -$len:1}
  47.   echo $len $len1 $tmp
  48.   if [ "$tmp" == "[" ]; then
  49.     DEFAULT_CURRENT=${i:1:$len1}
  50.   fi
  51.   (( a++ ))
  52. done
  53. NUM_ENTRIES=${#SCHED_NAMES[@]}
  54. echo "The current default io scheduler is set to \"$DEFAULT_CURRENT\""
  55. echo "Enter 1-$NUM_ENTRIES to select an io scheduler or \"x\" to exit"
  56. echo "Make selection now: "
  57. }
  58.  
  59. getInput()
  60. {
  61. read CHOICE
  62.  
  63. #filter for valid entry
  64. i=1
  65. valid_entry="-1"
  66. exit="-1"
  67.  
  68. #check for exit
  69. if [ "$CHOICE" == "x" -o "$CHOICE" == "X" ]; then
  70.   EXIT="true"
  71.   clear
  72.   echo "Exiting script..."
  73.   sleep 1
  74.   clear
  75.   return 0
  76. fi
  77.  
  78. while [ $i -le $CHOICE ]; do
  79.   if [ "$i" == "$CHOICE" ]; then
  80.     valid_entry="true"
  81.     writeEntry ${SCHED_NAMES[(($i-1))]}
  82.     echo "Done!"
  83.     sleep 1
  84.     break    
  85.   fi
  86.   (( i++ ))
  87. done
  88.  
  89. if [ "$valid_entry" == "true" ]; then
  90.   return 0
  91. else
  92.    echo " \"$CHOICE\" is not a valid entry"
  93.    sleep 1
  94.    return 1
  95. fi
  96. }
  97.  
  98. while [ true ]; do
  99.   menu
  100.   getInput
  101.   if [ "$EXIT" == "true" ]; then break; fi
  102. done
  103. exit 0
  104.  
  105.  
  106.  
  107.  
Advertisement
Add Comment
Please, Sign In to add comment