diff options
Diffstat (limited to 'CrespoParts/src/com/cyanogenmod/settings/device/LulzactiveTuningPreference.java')
-rwxr-xr-x | CrespoParts/src/com/cyanogenmod/settings/device/LulzactiveTuningPreference.java | 312 |
1 files changed, 0 insertions, 312 deletions
diff --git a/CrespoParts/src/com/cyanogenmod/settings/device/LulzactiveTuningPreference.java b/CrespoParts/src/com/cyanogenmod/settings/device/LulzactiveTuningPreference.java deleted file mode 100755 index 18a9a8a..0000000 --- a/CrespoParts/src/com/cyanogenmod/settings/device/LulzactiveTuningPreference.java +++ /dev/null @@ -1,312 +0,0 @@ -/* - * Copyright (C) 2011 The CyanogenMod Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.cyanogenmod.settings.device; - -import android.content.Context; -import android.content.SharedPreferences; -import android.content.SharedPreferences.Editor; -import android.preference.DialogPreference; -import android.preference.PreferenceManager; -import android.util.AttributeSet; -import android.view.View; -import android.view.View.OnClickListener; -import android.widget.Button; -import android.widget.SeekBar; -import android.widget.TextView; -import android.util.Log; - -/** - * Special preference type that allows configuration of both the ring volume and - * notification volume. - */ -public class LulzactiveTuningPreference extends DialogPreference implements OnClickListener { - - private static final String TAG = "LULZACTIVE..."; - - - private static final int[] SEEKBAR_ID = new int[] { - R.id.inccpuload_seekbar, R.id.pumpup_seekbar, R.id.pumpdown_seekbar, - R.id.upsampletime_seekbar, R.id.downsampletime_seekbar - }; - - private static final int[] VALUE_DISPLAY_ID = new int[] { - R.id.inccpuload_value, R.id.pumpup_value, R.id.pumpdown_value, - R.id.upsampletime_value, R.id.downsampletime_value - }; - - private static final String[] FILE_PATH = new String[] { - "/sys/devices/system/cpu/cpufreq/lulzactive/inc_cpu_load", - "/sys/devices/system/cpu/cpufreq/lulzactive/pump_up_step", - "/sys/devices/system/cpu/cpufreq/lulzactive/pump_down_step", - "/sys/devices/system/cpu/cpufreq/lulzactive/up_sample_time", - "/sys/devices/system/cpu/cpufreq/lulzactive/down_sample_time" - }; - - private LulzactiveSeekBar mSeekBars[] = new LulzactiveSeekBar[5]; - - private static final int [] MAX_VALUE = new int[] { - 99, - 5, - 5, - 50000, - 50000 - }; - - private static final int [] MIN_VALUE = new int[] { - 30, - 1, - 1, - 10000, - 10000 - }; - - - // Track instances to know when to restore original color - // (when the orientation changes, a new dialog is created before the old one - // is destroyed) - private static int sInstances = 0; - - public LulzactiveTuningPreference(Context context, AttributeSet attrs) { - super(context, attrs); - - setDialogLayoutResource(R.layout.preference_dialog_lulzactive_tuning); - } - - @Override - protected void onBindDialogView(View view) { - super.onBindDialogView(view); - - sInstances++; - - for (int i = 0; i < SEEKBAR_ID.length; i++) { - SeekBar seekBar = (SeekBar) view.findViewById(SEEKBAR_ID[i]); - TextView valueDisplay = (TextView) view.findViewById(VALUE_DISPLAY_ID[i]); - mSeekBars[i] = new LulzactiveSeekBar(seekBar, valueDisplay, FILE_PATH[i], MAX_VALUE[i], MIN_VALUE[i]); - } - SetupButtonClickListeners(view); - } - - private void SetupButtonClickListeners(View view) { - Button mDefaultButton = (Button)view.findViewById(R.id.btnLulzDefault); - Button mBatteryButton = (Button)view.findViewById(R.id.btnLulzBatt); - Button mSpeedButton = (Button)view.findViewById(R.id.btnLulzSpeed); - mDefaultButton.setOnClickListener(this); - mBatteryButton.setOnClickListener(this); - mSpeedButton.setOnClickListener(this); - } - - @Override - protected void onDialogClosed(boolean positiveResult) { - super.onDialogClosed(positiveResult); - int iBar; - - sInstances--; - iBar = 0; - - if (positiveResult) { - for (LulzactiveSeekBar csb : mSeekBars) { - csb.save(iBar); - iBar++; - } - } else if (sInstances == 0) { - for (LulzactiveSeekBar csb : mSeekBars) { - csb.reset(iBar); - iBar++; - } - } - } - - /** - * Restore screen color tuning from SharedPreferences. (Write to kernel.) - * - * @param context The context to read the SharedPreferences from - */ - public static void restore(Context context) { - if (!isSupported()) { - return; - } - - SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context); - for (String filePath : FILE_PATH) { - String sDefaultValue = Utils.readOneLine(filePath); - int iValue = sharedPrefs.getInt(filePath, Integer.valueOf(sDefaultValue)); - Utils.writeValue(filePath, String.valueOf((long) iValue)); - } - } - - /** - * Check whether the running kernel supports lulzactive tuning or not. - * - * @return Whether lulzactive tuning is supported or not - */ - public static boolean isSupported() { - boolean supported = true; - for (String filePath : FILE_PATH) { - if (!Utils.fileExists(filePath)) { - supported = false; - } - } - - return supported; - } - - class LulzactiveSeekBar implements SeekBar.OnSeekBarChangeListener { - - private String mFilePath; - - private int mOriginal; - - private SeekBar mSeekBar; - - private TextView mValueDisplay; - - public LulzactiveSeekBar(SeekBar seekBar, TextView valueDisplay, String filePath, int iMaxValue, int iMinValue) { - int iValue; - - mSeekBar = seekBar; - mValueDisplay = valueDisplay; - mFilePath = filePath; - - SharedPreferences sharedPreferences = getSharedPreferences(); - - // Read original value - if (Utils.fileExists(mFilePath)) { - String sDefaultValue = Utils.readOneLine(mFilePath); - iValue = Integer.valueOf(sDefaultValue)-iMinValue; - Log.w(TAG, "LulzactiveSeekBar: iValue: " + iValue + " File: " + mFilePath); - } else { - iValue = iMaxValue; - } - mOriginal = iValue; - - mSeekBar.setMax(iMaxValue-iMinValue); - reset(CheckBarNumber(seekBar.getId())); - mSeekBar.setOnSeekBarChangeListener(this); - } - - public void reset(int iBar) { - int iValue; - - iValue = mOriginal; - mSeekBar.setProgress(iValue); - updateValue(mOriginal, MIN_VALUE[iBar]); - } - - public void save(int iBar) { - int iValue; - - iValue = mSeekBar.getProgress() + MIN_VALUE[iBar]; - Editor editor = getEditor(); - editor.putInt(mFilePath, iValue); - editor.commit(); - } - - public int CheckBarNumber(int iId) { - int iBar; - - switch(iId) { - case R.id.inccpuload_seekbar: - iBar = 0; - break; - case R.id.pumpup_seekbar: - iBar = 1; - break; - case R.id.pumpdown_seekbar: - iBar = 2; - break; - case R.id.upsampletime_seekbar: - iBar = 3; - break; - case R.id.downsampletime_seekbar: - iBar = 4; - break; - default: - iBar = -1; - } - return iBar; - } - - @Override - public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { - int iValue, iSave; - - iValue = progress; - iSave = iValue + MIN_VALUE[CheckBarNumber(seekBar.getId())]; - Utils.writeValue(mFilePath, String.valueOf((long) iSave)); - updateValue(iValue, MIN_VALUE[CheckBarNumber(seekBar.getId())]); - } - - @Override - public void onStartTrackingTouch(SeekBar seekBar) { - // Do nothing - } - - @Override - public void onStopTrackingTouch(SeekBar seekBar) { - // Do nothing - } - - private void updateValue(int progress, int iMin) { - mValueDisplay.setText(String.format("%d", (int) progress + iMin)); - } - - public void SetNewValue(int iValue, int iPos) { - mOriginal = iValue - MIN_VALUE[iPos]; - reset(iPos); - } - - } - - public void onClick(View v) { - switch(v.getId()){ - case R.id.btnLulzDefault: - SetDefaultSettings(); - break; - case R.id.btnLulzBatt: - SetBatterySaveSettings(); - break; - case R.id.btnLulzSpeed: - SetSpeedUpSettings(); - break; - } - } - - private void SetSpeedUpSettings() { - mSeekBars[0].SetNewValue(60, 0); - mSeekBars[1].SetNewValue(4, 1); - mSeekBars[2].SetNewValue(1, 2); - mSeekBars[3].SetNewValue(10000, 3); - mSeekBars[4].SetNewValue(50000, 4); - } - - private void SetBatterySaveSettings() { - mSeekBars[0].SetNewValue(90, 0); - mSeekBars[1].SetNewValue(1, 1); - mSeekBars[2].SetNewValue(2, 2); - mSeekBars[3].SetNewValue(50000, 3); - mSeekBars[4].SetNewValue(40000, 4); - } - - private void SetDefaultSettings() { - mSeekBars[0].SetNewValue(60, 0); - mSeekBars[1].SetNewValue(1, 1); - mSeekBars[2].SetNewValue(1, 2); - mSeekBars[3].SetNewValue(20000, 3); - mSeekBars[4].SetNewValue(35000, 4); - } - -} |