summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSvetoslav Ganov <svetoslavganov@google.com>2012-05-29 20:02:50 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-05-29 20:02:50 -0700
commita99d1125e2ede99391e8cff6c4bee179fdc81d06 (patch)
treed10b6e99106672ccba524493c2df362c15af2def /src
parent10be9eaa812b38d4ad5d40afaeb05dfdf7d448b1 (diff)
parent3aa58b0f35c60f7bf4c97a6e12c201abf90824c7 (diff)
downloadpackages_apps_settings-a99d1125e2ede99391e8cff6c4bee179fdc81d06.zip
packages_apps_settings-a99d1125e2ede99391e8cff6c4bee179fdc81d06.tar.gz
packages_apps_settings-a99d1125e2ede99391e8cff6c4bee179fdc81d06.tar.bz2
Merge "Lock screen rotation accessibility preference not updated." into jb-dev
Diffstat (limited to 'src')
-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();
}