diff options
Diffstat (limited to 'app')
4 files changed, 46 insertions, 44 deletions
diff --git a/app/src/main/java/com/grarak/kerneladiutor/elements/SeekBarCardView.java b/app/src/main/java/com/grarak/kerneladiutor/elements/SeekBarCardView.java index 1fd4d86..1323112 100644 --- a/app/src/main/java/com/grarak/kerneladiutor/elements/SeekBarCardView.java +++ b/app/src/main/java/com/grarak/kerneladiutor/elements/SeekBarCardView.java @@ -77,10 +77,8 @@ public class SeekBarCardView extends BaseCardView { progress = seekBar.getProgress(); changed = true; } - if (onSeekBarCardListener != null && changed) { - onSeekBarCardListener.onChanged(SeekBarCardView.this, seekBar.getProgress()); + if (onSeekBarCardListener != null && changed) onSeekBarCardListener.onStop(SeekBarCardView.this, seekBar.getProgress()); - } } }); seekBarView.setProgress(progress); diff --git a/app/src/main/java/com/grarak/kerneladiutor/fragments/kernel/ScreenFragment.java b/app/src/main/java/com/grarak/kerneladiutor/fragments/kernel/ScreenFragment.java index 1d29810..150ab38 100644 --- a/app/src/main/java/com/grarak/kerneladiutor/fragments/kernel/ScreenFragment.java +++ b/app/src/main/java/com/grarak/kerneladiutor/fragments/kernel/ScreenFragment.java @@ -270,7 +270,11 @@ public class ScreenFragment extends RecyclerViewFragment implements SeekBarCardV if (Screen.getColorCalibrationMin() > current) Screen.setColorCalibrationMin(current, getActivity()); } - setScreenColor(dSeekBarCardView, position); + int r = mColorCalibrationCard[0].getProgress(); + int g = mColorCalibrationCard[1].getProgress(); + int b = mColorCalibrationCard[2].getProgress(); + Screen.setColorCalibration(mColorCalibrationLimits.get(r) + " " + + mColorCalibrationLimits.get(g) + " " + mColorCalibrationLimits.get(b), getActivity()); return; } } @@ -301,16 +305,4 @@ public class ScreenFragment extends RecyclerViewFragment implements SeekBarCardV } } - private void setScreenColor(SeekBarCardView.DSeekBarCardView dSeekBarCardView, int position) { - String command = ""; - for (SeekBarCardView.DSeekBarCardView colorCard : mColorCalibrationCard) { - String color; - if (dSeekBarCardView == colorCard) - color = mColorCalibrationLimits.get(position); - else color = mColorCalibrationLimits.get(colorCard.getProgress()); - command += command.isEmpty() ? color : " " + color; - } - Screen.setColorCalibration(command, getActivity()); - } - } diff --git a/app/src/main/java/com/grarak/kerneladiutor/utils/kernel/Screen.java b/app/src/main/java/com/grarak/kerneladiutor/utils/kernel/Screen.java index ef9b21f..3cf9e6b 100644 --- a/app/src/main/java/com/grarak/kerneladiutor/utils/kernel/Screen.java +++ b/app/src/main/java/com/grarak/kerneladiutor/utils/kernel/Screen.java @@ -178,23 +178,23 @@ public class Screen implements Constants { return Utils.existFile(SCREEN_KCAL_CTRL_MIN); } - public static void setColorCalibration(String colors, Context context) { - List<String> list = new ArrayList<>(Arrays.asList(colors.split(" "))); - + public static void setColorCalibration(final String colors, final Context context) { + String[] col = colors.split(" "); switch (SCREEN_CALIBRATION) { case SCREEN_SAMOLED_COLOR_RED: - Control.runCommand(String.valueOf(Utils.stringToLong(list.get(0)) * 10000000), SCREEN_SAMOLED_COLOR_RED, + Control.runCommand(String.valueOf(Utils.stringToLong(col[0]) * 10000000), SCREEN_SAMOLED_COLOR_RED, Control.CommandType.GENERIC, context); - Control.runCommand(String.valueOf(Utils.stringToLong(list.get(1)) * 10000000), SCREEN_SAMOLED_COLOR_GREEN, + Control.runCommand(String.valueOf(Utils.stringToLong(col[1]) * 10000000), SCREEN_SAMOLED_COLOR_GREEN, Control.CommandType.GENERIC, context); - Control.runCommand(String.valueOf(Utils.stringToLong(list.get(2)) * 10000000), SCREEN_SAMOLED_COLOR_BLUE, + Control.runCommand(String.valueOf(Utils.stringToLong(col[2]) * 10000000), SCREEN_SAMOLED_COLOR_BLUE, Control.CommandType.GENERIC, context); break; case SCREEN_COLOR_CONTROL: - String red = String.valueOf(Utils.stringToLong(list.get(0)) * 10000000); - String green = String.valueOf(Utils.stringToLong(list.get(1)) * 10000000); - String blue = String.valueOf(Utils.stringToLong(list.get(2)) * 10000000); - Control.runCommand(red + " " + green + " " + blue, SCREEN_COLOR_CONTROL, Control.CommandType.GENERIC, context); + String red = String.valueOf(Utils.stringToLong(col[0]) * 10000000); + String green = String.valueOf(Utils.stringToLong(col[1]) * 10000000); + String blue = String.valueOf(Utils.stringToLong(col[2]) * 10000000); + Control.runCommand(red + " " + green + " " + blue, + SCREEN_COLOR_CONTROL, Control.CommandType.GENERIC, context); break; default: Control.runCommand(colors, SCREEN_CALIBRATION, Control.CommandType.GENERIC, context); @@ -261,7 +261,7 @@ public class Screen implements Constants { for (String file : SCREEN_KCAL_CTRL_ARRAY) if (Utils.existFile(file)) { SCREEN_CALIBRATION_CTRL = file; - break; + return true; } return SCREEN_CALIBRATION_CTRL != null; } @@ -270,7 +270,7 @@ public class Screen implements Constants { if (SCREEN_CALIBRATION == null) for (String file : SCREEN_KCAL_ARRAY) if (Utils.existFile(file)) { SCREEN_CALIBRATION = file; - break; + return true; } return SCREEN_CALIBRATION != null; } diff --git a/app/src/main/java/com/grarak/kerneladiutor/utils/root/Control.java b/app/src/main/java/com/grarak/kerneladiutor/utils/root/Control.java index 5a2dbd7..de24cd6 100644 --- a/app/src/main/java/com/grarak/kerneladiutor/utils/root/Control.java +++ b/app/src/main/java/com/grarak/kerneladiutor/utils/root/Control.java @@ -35,8 +35,7 @@ public class Control implements Constants { GENERIC, CPU, TCP_CONGESTION, FAUX_GENERIC, SELINUX } - public static void commandSaver(Context context, String sys, String command) { - Log.i(TAG, "Run command: " + command); + public static void commandSaver(final Context context, final String sys, final String command) { SysDB sysDB = new SysDB(context); sysDB.create(); @@ -47,9 +46,12 @@ public class Control implements Constants { sysDB.insertSys(sys, command); sysDB.close(); + + Log.i(TAG, "Run command: " + command); + } - private static synchronized void run(String command, String sys, Context context) { + private static void run(String command, String sys, Context context) { RootUtils.runCommand(command); commandSaver(context, sys, command); } @@ -105,27 +107,37 @@ public class Control implements Constants { } } + private static Thread mThread; + public static void runCommand(final String value, final String file, final CommandType command, final int id, final Context context) { - if (command == CommandType.CPU) { - new Thread(new Runnable() { - @Override - public void run() { + Thread thread = new Thread(new Runnable() { + @Override + public void run() { + if (command == CommandType.CPU) { for (int i = 0; i < CPU.getCoreCount(); i++) { setPermission(String.format(file, i), 644, context); runGeneric(String.format(file, i), value, id, context); setPermission(String.format(file, i), 444, context); } + } else if (command == CommandType.GENERIC) { + runGeneric(file, value, id, context); + } else if (command == CommandType.TCP_CONGESTION) { + runTcpCongestion(value, context); + } else if (command == CommandType.FAUX_GENERIC) { + runFauxGeneric(file, value, context); + } else if (command == CommandType.SELINUX) { + runSelinux(Utils.stringToInt(value), context); } - }).start(); - } else if (command == CommandType.GENERIC) { - runGeneric(file, value, id, context); - } else if (command == CommandType.TCP_CONGESTION) { - runTcpCongestion(value, context); - } else if (command == CommandType.FAUX_GENERIC) { - runFauxGeneric(file, value, context); - } else if (command == CommandType.SELINUX) { - runSelinux(Utils.stringToInt(value), context); + } + }); + + try { + if (mThread != null) mThread.join(); + thread.start(); + mThread = thread; + } catch (InterruptedException e) { + e.printStackTrace(); } } |
