diff options
author | Christopher Tate <ctate@google.com> | 2012-10-03 18:54:48 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-10-03 18:54:49 -0700 |
commit | 1a2fac3eeda031ac5f4c7d17c883d54af5661a66 (patch) | |
tree | 4928deac55763c4160046be19672d85c6350b3a6 /packages/SettingsProvider | |
parent | ac2fc16373fb93f28c9335c27dff744194b28678 (diff) | |
parent | afccaa84c8d1b9aa45040ddeb0edd42ba80e80d6 (diff) | |
download | frameworks_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.java | 12 |
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; } |