summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/DisplaySettings.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/settings/DisplaySettings.java')
-rw-r--r--src/com/android/settings/DisplaySettings.java23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/com/android/settings/DisplaySettings.java b/src/com/android/settings/DisplaySettings.java
index 0e17810..cdb0147 100644
--- a/src/com/android/settings/DisplaySettings.java
+++ b/src/com/android/settings/DisplaySettings.java
@@ -21,7 +21,9 @@ import static android.provider.Settings.System.SCREEN_OFF_TIMEOUT;
import android.app.admin.DevicePolicyManager;
import android.content.ContentResolver;
import android.content.Context;
+import android.database.ContentObserver;
import android.os.Bundle;
+import android.os.Handler;
import android.os.RemoteException;
import android.os.ServiceManager;
import android.preference.CheckBoxPreference;
@@ -53,6 +55,13 @@ public class DisplaySettings extends SettingsPreferenceFragment implements
private ListPreference mScreenTimeoutPreference;
+ private ContentObserver mAccelerometerRotationObserver = new ContentObserver(new Handler()) {
+ @Override
+ public void onChange(boolean selfChange) {
+ updateAccelerometerRotationCheckbox();
+ }
+ };
+
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -131,6 +140,16 @@ public class DisplaySettings extends SettingsPreferenceFragment implements
super.onResume();
updateState(true);
+ getContentResolver().registerContentObserver(
+ Settings.System.getUriFor(Settings.System.ACCELEROMETER_ROTATION), true,
+ mAccelerometerRotationObserver);
+ }
+
+ @Override
+ public void onPause() {
+ super.onPause();
+
+ getContentResolver().unregisterContentObserver(mAccelerometerRotationObserver);
}
private void updateState(boolean force) {
@@ -159,6 +178,10 @@ public class DisplaySettings extends SettingsPreferenceFragment implements
}
mAnimations.setValueIndex(idx);
updateAnimationsSummary(mAnimations.getValue());
+ updateAccelerometerRotationCheckbox();
+ }
+
+ private void updateAccelerometerRotationCheckbox() {
mAccelerometer.setChecked(Settings.System.getInt(
getContentResolver(),
Settings.System.ACCELEROMETER_ROTATION, 0) != 0);