Skip to content
This repository was archived by the owner on Oct 5, 2019. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -679,6 +679,98 @@ public void onStop(SeekBarView seekBarView, int position, String value) {

items.add(shutDownTemp);
}

if (MSMThermal.hasFrancoThermalStep()) {
List<String> list = new ArrayList<>();
for (int i = 1; i < 7; i++){
list.add(String.valueOf(i));}
SeekBarView francothermalstep = new SeekBarView();
francothermalstep.setTitle(getString(R.string.franco_thermal_step));
francothermalstep.setSummary(getString(R.string.franco_thermal_step_summary));
francothermalstep.setMax(10);
francothermalstep.setMin(0);
francothermalstep.setProgress(MSMThermal.getFrancoThermalStep());
francothermalstep.setOnSeekBarListener(new SeekBarView.OnSeekBarListener() {
@Override
public void onMove(SeekBarView seekBarView, int position, String value) {
}

@Override
public void onStop(SeekBarView seekBarView, int position, String value) {
MSMThermal.setFrancoThermalStep(position, getActivity());
}
});

items.add(francothermalstep);
}

if (MSMThermal.hasFrancoThermalStageOne()) {
List<String> freqs = new ArrayList<>();
SelectView mFrancoThermalStageOneCard = new SelectView();
mFrancoThermalStageOneCard.setTitle(getString(R.string.thermal_franco_stage_one));
mFrancoThermalStageOneCard.setSummary(getString(R.string.throttle_at) + (MSMThermal.getCurTempLimit()) + getString(R.string.throttle_tempc));
mFrancoThermalStageOneCard.setItems(CPUFreq.getAdjustedFreq(getActivity()));
mFrancoThermalStageOneCard.setItem((MSMThermal.getFrancoThermalStageOne() / 1000) + getString(R.string.mhz));
mFrancoThermalStageOneCard.setOnItemSelected(new SelectView.OnItemSelected() {
@Override
public void onItemSelected(SelectView selectView, int position, String item) {
MSMThermal.setFrancoThermalStageOne(CPUFreq.getFreqs().get(position), getActivity());
}
});

items.add(mFrancoThermalStageOneCard);
}

if (MSMThermal.hasFrancoThermalStageTwo()) {
List<String> freqs = new ArrayList<>();
SelectView mFrancoThermalStageTwoCard = new SelectView();
mFrancoThermalStageTwoCard.setTitle(getString(R.string.thermal_franco_stage_two));
mFrancoThermalStageTwoCard.setSummary(getString(R.string.throttle_at) + ((MSMThermal.getCurTempLimit()) + (MSMThermal.getFrancoThermalStep())) + getString(R.string.throttle_tempc));
mFrancoThermalStageTwoCard.setItems(CPUFreq.getAdjustedFreq(getActivity()));
mFrancoThermalStageTwoCard.setItem((MSMThermal.getFrancoThermalStageTwo() / 1000) + getString(R.string.mhz));
mFrancoThermalStageTwoCard.setOnItemSelected(new SelectView.OnItemSelected() {
@Override
public void onItemSelected(SelectView selectView, int position, String item) {
MSMThermal.setFrancoThermalStageTwo(CPUFreq.getFreqs().get(position), getActivity());
}
});

items.add(mFrancoThermalStageTwoCard);
}

if (MSMThermal.hasFrancoThermalStageThree()) {
List<String> freqs = new ArrayList<>();
SelectView mFrancoThermalStageThreeCard = new SelectView();
mFrancoThermalStageThreeCard.setTitle(getString(R.string.thermal_franco_stage_three));
mFrancoThermalStageThreeCard.setSummary(getString(R.string.throttle_at) + ((MSMThermal.getCurTempLimit()) + (MSMThermal.getFrancoThermalStep() * 2)) + getString(R.string.throttle_tempc));
mFrancoThermalStageThreeCard.setItems(CPUFreq.getAdjustedFreq(getActivity()));
mFrancoThermalStageThreeCard.setItem((MSMThermal.getFrancoThermalStageThree() / 1000) + getString(R.string.mhz));
mFrancoThermalStageThreeCard.setOnItemSelected(new SelectView.OnItemSelected() {
@Override
public void onItemSelected(SelectView selectView, int position, String item) {
MSMThermal.setFrancoThermalStageThree(CPUFreq.getFreqs().get(position), getActivity());
}
});

items.add(mFrancoThermalStageThreeCard);
}
if (MSMThermal.hasFrancoThermalStageFour()) {
List<String> freqs = new ArrayList<>();
SelectView mFrancoThermalStageFourCard = new SelectView();
mFrancoThermalStageFourCard.setTitle(getString(R.string.thermal_franco_stage_four));
mFrancoThermalStageFourCard.setSummary(getString(R.string.throttle_at) + ((MSMThermal.getCurTempLimit()) + (MSMThermal.getFrancoThermalStep() * 3)) + getString(R.string.throttle_tempc));
mFrancoThermalStageFourCard.setItems(CPUFreq.getAdjustedFreq(getActivity()));
mFrancoThermalStageFourCard.setItem((MSMThermal.getFrancoThermalStageFour() / 1000) + getString(R.string.mhz));
mFrancoThermalStageFourCard.setOnItemSelected(new SelectView.OnItemSelected() {
@Override
public void onItemSelected(SelectView selectView, int position, String item) {
MSMThermal.setFrancoThermalStageFour(CPUFreq.getFreqs().get(position), getActivity());
}
});

items.add(mFrancoThermalStageFourCard);
}


}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -116,12 +116,20 @@ public boolean exists() {
R.string.wlan_wakelock, R.string.wlan_wakelock_summary));
sWakelocks.add(new Wakelock("/sys/module/wakeup/parameters/enable_bluesleep_ws",
R.string.bluesleep_wakelock, R.string.bluesleep_wakelock_summary));
sWakelocks.add(new Wakelock("/sys/module/wakeup/parameters/enable_ipa_ws"));
sWakelocks.add(new Wakelock("/sys/module/wakeup/parameters/enable_netlink_ws"));
sWakelocks.add(new Wakelock("/sys/module/wakeup/parameters/enable_qcom_rx_wakelock_ws"));
sWakelocks.add(new Wakelock("/sys/module/wakeup/parameters/enable_timerfd_ws"));
sWakelocks.add(new Wakelock("/sys/module/wakeup/parameters/enable_wlan_extscan_wl_ws"));
sWakelocks.add(new Wakelock("/sys/module/wakeup/parameters/enable_wlan_ws"));
sWakelocks.add(new Wakelock("/sys/module/wakeup/parameters/enable_ipa_ws",
R.string.ipa_wakelock, R.string.ipa_wakelock_summary));
sWakelocks.add(new Wakelock("/sys/module/wakeup/parameters/enable_netlink_ws",
R.string.netlink_wakelock, R.string.netlink_wakelock_summary));
sWakelocks.add(new Wakelock("/sys/module/wakeup/parameters/enable_qcom_rx_wakelock_ws",
R.string.qcom_rx_wakelock, R.string.qcom_rx_wakelock_summary));
sWakelocks.add(new Wakelock("/sys/module/wakeup/parameters/enable_timerfd_ws",
R.string.timerfd_wakelock, R.string.timerfd_wakelock_summary));
sWakelocks.add(new Wakelock("/sys/module/wakeup/parameters/enable_wlan_extscan_wl_ws",
R.string.wlan_extscan_wl_ws_wakelock, R.string.wlan_extscan_wl_ws_wakelock_summary));
sWakelocks.add(new Wakelock("/sys/module/wakeup/parameters/enable_wlan_ws",
R.string.wlan_ws_wakelock, R.string.wlan_ws_wakelock_summary));
sWakelocks.add(new Wakelock("sys/module/wakeup/parameters/enable_bluedroid_timer_ws",
R.string.bluedroid_timer_wakelock, R.string.bluedroid_timer_wakelock_summary));
}

public static void setBCMDHDDivider(int value, Context context) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,11 @@ public class MSMThermal {
private static final String PARAMETERS_THERMAL_LIMIT_HIGH = "parameters/thermal_limit_high";
private static final String PARAMETERS_TEMP_SAFETY = "parameters/temp_safety";
private static final String MSM_THERMAL_TEMP_THROTTLE = MSM_THERMAL + "/" + PARAMETERS_ENABLED;
private static final String THERMAL_FRANCO_STEP = "/sys/module/msm_thermal/parameters/temp_step";
private static final String THERMAL_FRANCO_STAGE_ONE = "/sys/module/msm_thermal/parameters/freq_warm";
private static final String THERMAL_FRANCO_STAGE_TWO = "/sys/module/msm_thermal/parameters/freq_hot";
private static final String THERMAL_FRANCO_STAGE_THREE = "/sys/module/msm_thermal/parameters/freq_very_hot";
private static final String THERMAL_FRANCO_STAGE_FOUR = "/sys/module/msm_thermal/parameters/freq_hell";

private static final String MSM_THERMAL_THROTTLE_TEMP = MSM_THERMAL + "/parameters/throttle_temp";
private static final String MSM_THERMAL_TEMP_MAX = MSM_THERMAL + "/parameters/temp_max";
Expand Down Expand Up @@ -525,5 +530,70 @@ public static boolean supported() {
private static void run(String command, String id, Context context) {
Control.runSetting(command, ApplyOnBootFragment.THERMAL, id, context);
}

public static void setFrancoThermalStep(int value, Context context) {
run(Control.write(String.valueOf(value), THERMAL_FRANCO_STEP),
THERMAL_FRANCO_STEP, context);
}

public static int getFrancoThermalStep() {
return Utils.strToInt(Utils.readFile(THERMAL_FRANCO_STEP));
}

public static boolean hasFrancoThermalStep() {
return Utils.existFile(THERMAL_FRANCO_STEP);
}

public static void setFrancoThermalStageOne(int freq, Context context) {
run(Control.write(String.valueOf(freq), THERMAL_FRANCO_STAGE_ONE),
THERMAL_FRANCO_STAGE_ONE, context);
}

public static int getFrancoThermalStageOne() {
return Utils.strToInt(Utils.readFile(THERMAL_FRANCO_STAGE_ONE));
}

public static boolean hasFrancoThermalStageOne() {
return Utils.existFile(THERMAL_FRANCO_STAGE_ONE);
}

public static void setFrancoThermalStageTwo(int freq, Context context) {
run(Control.write(String.valueOf(freq), THERMAL_FRANCO_STAGE_TWO),
THERMAL_FRANCO_STAGE_TWO, context);
}

public static int getFrancoThermalStageTwo() {
return Utils.strToInt(Utils.readFile(THERMAL_FRANCO_STAGE_TWO));
}

public static boolean hasFrancoThermalStageTwo() {
return Utils.existFile(THERMAL_FRANCO_STAGE_TWO);
}

public static void setFrancoThermalStageThree(int freq, Context context) {
run(Control.write(String.valueOf(freq), THERMAL_FRANCO_STAGE_THREE),
THERMAL_FRANCO_STAGE_THREE, context);
}

public static int getFrancoThermalStageThree() {
return Utils.strToInt(Utils.readFile(THERMAL_FRANCO_STAGE_THREE));
}

public static boolean hasFrancoThermalStageThree() {
return Utils.existFile(THERMAL_FRANCO_STAGE_THREE);
}

public static void setFrancoThermalStageFour(int freq, Context context) {
run(Control.write(String.valueOf(freq), THERMAL_FRANCO_STAGE_FOUR),
THERMAL_FRANCO_STAGE_FOUR, context);
}

public static int getFrancoThermalStageFour() {
return Utils.strToInt(Utils.readFile(THERMAL_FRANCO_STAGE_FOUR));
}

public static boolean hasFrancoThermalStageFour() {
return Utils.existFile(THERMAL_FRANCO_STAGE_FOUR);
}

}
27 changes: 25 additions & 2 deletions app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -386,8 +386,17 @@
<string name="allowed_max_freq">Phase 3: Allowed Max Frequency</string>
<string name="check_interval">Check Interval</string>
<string name="shutdown_temp">Shutdown Temperature</string>

<!-- GPU -->
<string name="franco_thermal_step">Thermal Step Value</string>
<string name="franco_thermal_step_summary">This value is added on top of threshold to create trigger thresholds between each stage</string>
<string name="thermal_franco_stage_one">First stage limiting Frequency</string>
<string name="thermal_franco_stage_two">Second stage limiting Frequency</string>
<string name="thermal_franco_stage_three">Third stage limiting Frequency</string>
<string name="thermal_franco_stage_four">Fourth stage limiting Frequency</string>
<string name="throttle_at">This frequency is set as max frequency at :</string>
<string name="throttle_tempc">°C</string>


<!-- GPU -->
<string name="frequencies">Frequencies</string>
<string name="gpu_2d_freq">GPU 2D Frequency</string>
<string name="gpu_2d_max_freq">GPU 2D Maximum Frequency</string>
Expand Down Expand Up @@ -684,6 +693,20 @@
<string name="wlan_wakelock_summary">Prevent wlan wakelock.</string>
<string name="bluesleep_wakelock">BlueSleep Wakelock</string>
<string name="bluesleep_wakelock_summary">Prevent BlueSleep wakelock.</string>
<string name="ipa_wakelock">Ipa Wakelock</string>
<string name="ipa_wakelock_summary">Prevent Ipa wakelock.</string>
<string name="netlink_wakelock">NetLink Wakelock</string>
<string name="netlink_wakelock_summary">Prevent NetLink wakelock.</string>
<string name="qcom_rx_wakelock">Qcom rx Wakelock</string>
<string name="qcom_rx_wakelock_summary">Prevent Qcom rx wakelock.</string>
<string name="timerfd_wakelock">Timerfd Wakelock</string>
<string name="timerfd_wakelock_summary">Prevent Timerfd wakelock.</string>
<string name="wlan_extscan_wl_ws_wakelock">Extscan Wakelock</string>
<string name="wlan_extscan_wl_ws_wakelock_summary">Prevent Extscan wakelock.</string>
<string name="wlan_ws_wakelock">wlan_ws Wakelock</string>
<string name="wlan_ws_wakelock_summary">Prevent wlan_ws wakelock.</string>
<string name="bluedroid_timer_wakelock">Bluedroid Timer Wakelock</string>
<string name="bluedroid_timer_wakelock_summary">Prevent Bluedroid Timer wakelock.</string>
<string name="wlan_rx_wakelock_divider">wlan_rx Wakelock Divider</string>
<string name="wlan_ctrl_wakelock_divider">wlan_ctrl Wakelock Divider</string>
<string name="msm_hsic_wakelock_divider">msm_hsic Wakelock Divider</string>
Expand Down