summaryrefslogtreecommitdiffstats
path: root/packages/SettingsProvider
diff options
context:
space:
mode:
authorChristopher Tate <ctate@google.com>2012-10-03 18:54:48 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-10-03 18:54:49 -0700
commit1a2fac3eeda031ac5f4c7d17c883d54af5661a66 (patch)
tree4928deac55763c4160046be19672d85c6350b3a6 /packages/SettingsProvider
parentac2fc16373fb93f28c9335c27dff744194b28678 (diff)
parentafccaa84c8d1b9aa45040ddeb0edd42ba80e80d6 (diff)
downloadframeworks_base-1a2fac3eeda031ac5f4c7d17c883d54af5661a66.zip
frameworks_base-1a2fac3eeda031ac5f4c7d17c883d54af5661a66.tar.gz
frameworks_base-1a2fac3eeda031ac5f4c7d17c883d54af5661a66.tar.bz2
Merge "Use myUserId() only in registerContentObserver()" into jb-mr1-dev
Diffstat (limited to 'packages/SettingsProvider')
-rw-r--r--packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java12
1 files changed, 11 insertions, 1 deletions
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
index ad35f7f..c42272b 100644
--- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
@@ -33,6 +33,7 @@ import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.PackageManager;
import android.content.res.AssetFileDescriptor;
+import android.database.AbstractCursor;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteException;
@@ -685,7 +686,16 @@ public class SettingsProvider extends ContentProvider {
qb.setTables(args.table);
Cursor ret = qb.query(db, select, args.where, args.args, null, null, sort);
- ret.setNotificationUri(getContext().getContentResolver(), url);
+ // the default Cursor interface does not support per-user observation
+ try {
+ AbstractCursor c = (AbstractCursor) ret;
+ c.setNotificationUri(getContext().getContentResolver(), url, forUser);
+ } catch (ClassCastException e) {
+ // details of the concrete Cursor implementation have changed and this code has
+ // not been updated to match -- complain and fail hard.
+ Log.wtf(TAG, "Incompatible cursor derivation!");
+ throw e;
+ }
return ret;
}