diff options
Diffstat (limited to 'DeviceSettings/src/com/cyanogenmod/settings/device/SensorsFragmentActivity.java')
-rw-r--r-- | DeviceSettings/src/com/cyanogenmod/settings/device/SensorsFragmentActivity.java | 32 |
1 files changed, 24 insertions, 8 deletions
diff --git a/DeviceSettings/src/com/cyanogenmod/settings/device/SensorsFragmentActivity.java b/DeviceSettings/src/com/cyanogenmod/settings/device/SensorsFragmentActivity.java index 015dd7b..bbe5f08 100644 --- a/DeviceSettings/src/com/cyanogenmod/settings/device/SensorsFragmentActivity.java +++ b/DeviceSettings/src/com/cyanogenmod/settings/device/SensorsFragmentActivity.java @@ -36,8 +36,8 @@ public class SensorsFragmentActivity extends PreferenceFragment { private static final String TAG = "GalaxyNoteParts_General"; private static final String FILE_USE_GYRO_CALIB = "/sys/class/sec/gsensorcal/calibration"; - private static final String FILE_TOUCHKEY_LIGHT = "/data/.disable_touchlight"; - private static final String FILE_TOUCHKEY_TOGGLE = "/sys/class/sec/sec_touchkey/brightness"; + private static final String FILE_TOUCHKEY_DISABLE = "/sys/class/sec/sec_touchkey/force_disable"; + private static final String FILE_TOUCHKEY_BRIGHTNESS = "/sys/class/sec/sec_touchkey/brightness"; @Override public void onCreate(Bundle savedInstanceState) { @@ -47,6 +47,12 @@ public class SensorsFragmentActivity extends PreferenceFragment { PreferenceScreen prefSet = getPreferenceScreen(); + if (((CheckBoxPreference)prefSet.findPreference(DeviceSettings.KEY_TOUCHKEY_LIGHT)).isChecked()) { + prefSet.findPreference(DeviceSettings.KEY_TOUCHKEY_TIMEOUT).setEnabled(true); + } else { + prefSet.findPreference(DeviceSettings.KEY_TOUCHKEY_TIMEOUT).setEnabled(false); + } + } @Override @@ -67,8 +73,15 @@ public class SensorsFragmentActivity extends PreferenceFragment { Utils.writeValue(FILE_USE_GYRO_CALIB, "1"); Utils.showDialog((Context)getActivity(), "Calibration done", "The gyroscope has been successfully calibrated!"); } else if (key.compareTo(DeviceSettings.KEY_TOUCHKEY_LIGHT) == 0) { - Utils.writeValue(FILE_TOUCHKEY_LIGHT, ((CheckBoxPreference)preference).isChecked() ? "1" : "0"); - Utils.writeValue(FILE_TOUCHKEY_TOGGLE, ((CheckBoxPreference)preference).isChecked() ? "1" : "2"); + if (((CheckBoxPreference)preference).isChecked()) { + Utils.writeValue(FILE_TOUCHKEY_DISABLE, "0"); + Utils.writeValue(FILE_TOUCHKEY_BRIGHTNESS, "1"); + preferenceScreen.findPreference(DeviceSettings.KEY_TOUCHKEY_TIMEOUT).setEnabled(true); + } else { + Utils.writeValue(FILE_TOUCHKEY_DISABLE, "1"); + Utils.writeValue(FILE_TOUCHKEY_BRIGHTNESS, "2"); + preferenceScreen.findPreference(DeviceSettings.KEY_TOUCHKEY_TIMEOUT).setEnabled(false); + } } return true; @@ -80,14 +93,17 @@ public class SensorsFragmentActivity extends PreferenceFragment { public static void restore(Context context) { SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context); - String gyroCalib = sharedPrefs.getString(DeviceSettings.KEY_USE_GYRO_CALIBRATION, "1"); + boolean gyroCalib = sharedPrefs.getBoolean(DeviceSettings.KEY_USE_GYRO_CALIBRATION, true); // When use gyro calibration value is set to 1, calibration is done at the same time, which // means it is reset at each boot, providing wrong calibration most of the time at each reboot. // So we only set it to "0" if user wants it, as it defaults to 1 at boot - if (gyroCalib.compareTo("1") != 0) - Utils.writeValue(FILE_USE_GYRO_CALIB, gyroCalib); + if (!gyroCalib) + Utils.writeValue(FILE_USE_GYRO_CALIB, "0"); + + boolean light = sharedPrefs.getBoolean(DeviceSettings.KEY_TOUCHKEY_LIGHT, true); - Utils.writeValue(FILE_TOUCHKEY_LIGHT, sharedPrefs.getString(DeviceSettings.KEY_TOUCHKEY_LIGHT, "1")); + Utils.writeValue(FILE_TOUCHKEY_BRIGHTNESS, light ? "1" : "0"); + Utils.writeValue(FILE_TOUCHKEY_DISABLE, light ? "0" : "1"); } } |