summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/com/android/settings/AccessibilitySettings.java24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/com/android/settings/AccessibilitySettings.java b/src/com/android/settings/AccessibilitySettings.java
index 7647d01..d2bfc0d 100644
--- a/src/com/android/settings/AccessibilitySettings.java
+++ b/src/com/android/settings/AccessibilitySettings.java
@@ -30,6 +30,7 @@ import android.content.SharedPreferences;
import android.content.pm.ResolveInfo;
import android.content.pm.ServiceInfo;
import android.content.res.Configuration;
+import android.database.ContentObserver;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
@@ -44,6 +45,7 @@ import android.preference.PreferenceActivity;
import android.preference.PreferenceCategory;
import android.preference.PreferenceScreen;
import android.provider.Settings;
+import android.provider.Settings.SettingNotFoundException;
import android.text.TextUtils;
import android.text.TextUtils.SimpleStringSplitter;
import android.util.Log;
@@ -149,6 +151,25 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
}
};
+ private final Uri mLockScreenRotationUri = Uri.withAppendedPath(Settings.System.CONTENT_URI,
+ Settings.System.ACCELEROMETER_ROTATION);
+
+ private final ContentObserver mSettingsContentObserver = new ContentObserver(mHandler) {
+ @Override
+ public void onChange(boolean selfChange, Uri uri) {
+ if (mLockScreenRotationUri.equals(uri)) {
+ try {
+ final boolean lockRotationEnabled = (Settings.System.getInt(
+ getActivity().getContentResolver(),
+ Settings.System.ACCELEROMETER_ROTATION) == 0);
+ mToggleLockScreenRotationPreference.setChecked(lockRotationEnabled);
+ } catch (SettingNotFoundException e) {
+ /* ignore */
+ }
+ }
+ }
+ };
+
// Preference controls.
private PreferenceCategory mServicesCategory;
private PreferenceCategory mSystemsCategory;
@@ -179,11 +200,14 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
offerInstallAccessibilitySerivceOnce();
}
mSettingsPackageMonitor.register(getActivity(), getActivity().getMainLooper(), false);
+ getActivity().getContentResolver().registerContentObserver(mLockScreenRotationUri, false,
+ mSettingsContentObserver);
}
@Override
public void onPause() {
mSettingsPackageMonitor.unregister();
+ getContentResolver().unregisterContentObserver(mSettingsContentObserver);
super.onPause();
}