diff options
Diffstat (limited to 'src/com/android/settings/DisplaySettings.java')
-rw-r--r-- | src/com/android/settings/DisplaySettings.java | 23 |
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); |