diff options
Diffstat (limited to 'media/java/android/mtp/MtpPropertyGroup.java')
-rw-r--r-- | media/java/android/mtp/MtpPropertyGroup.java | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/media/java/android/mtp/MtpPropertyGroup.java b/media/java/android/mtp/MtpPropertyGroup.java index dab5454..48da40f 100644 --- a/media/java/android/mtp/MtpPropertyGroup.java +++ b/media/java/android/mtp/MtpPropertyGroup.java @@ -50,6 +50,7 @@ class MtpPropertyGroup { private final MtpDatabase mDatabase; private final IContentProvider mProvider; + private final String mPackageName; private final String mVolumeName; private final Uri mUri; @@ -65,10 +66,11 @@ class MtpPropertyGroup { private static final String PARENT_WHERE = Files.FileColumns.PARENT + "=?"; private static final String PARENT_FORMAT_WHERE = PARENT_WHERE + " AND " + FORMAT_WHERE; // constructs a property group for a list of properties - public MtpPropertyGroup(MtpDatabase database, IContentProvider provider, String volume, - int[] properties) { + public MtpPropertyGroup(MtpDatabase database, IContentProvider provider, String packageName, + String volume, int[] properties) { mDatabase = database; mProvider = provider; + mPackageName = packageName; mVolumeName = volume; mUri = Files.getMtpObjectsUri(volume); @@ -189,7 +191,7 @@ class MtpPropertyGroup { Cursor c = null; try { // for now we are only reading properties from the "objects" table - c = mProvider.query(mUri, + c = mProvider.query(mPackageName, mUri, new String [] { Files.FileColumns._ID, column }, ID_WHERE, new String[] { Integer.toString(id) }, null, null); if (c != null && c.moveToNext()) { @@ -209,7 +211,7 @@ class MtpPropertyGroup { private String queryAudio(int id, String column) { Cursor c = null; try { - c = mProvider.query(Audio.Media.getContentUri(mVolumeName), + c = mProvider.query(mPackageName, Audio.Media.getContentUri(mVolumeName), new String [] { Files.FileColumns._ID, column }, ID_WHERE, new String[] { Integer.toString(id) }, null, null); if (c != null && c.moveToNext()) { @@ -230,7 +232,7 @@ class MtpPropertyGroup { Cursor c = null; try { Uri uri = Audio.Genres.getContentUriForAudioId(mVolumeName, id); - c = mProvider.query(uri, + c = mProvider.query(mPackageName, uri, new String [] { Files.FileColumns._ID, Audio.GenresColumns.NAME }, null, null, null, null); if (c != null && c.moveToNext()) { @@ -252,7 +254,7 @@ class MtpPropertyGroup { Cursor c = null; try { // for now we are only reading properties from the "objects" table - c = mProvider.query(mUri, + c = mProvider.query(mPackageName, mUri, new String [] { Files.FileColumns._ID, column }, ID_WHERE, new String[] { Integer.toString(id) }, null, null); if (c != null && c.moveToNext()) { @@ -323,7 +325,7 @@ class MtpPropertyGroup { try { // don't query if not necessary if (depth > 0 || handle == 0xFFFFFFFF || mColumns.length > 1) { - c = mProvider.query(mUri, mColumns, where, whereArgs, null, null); + c = mProvider.query(mPackageName, mUri, mColumns, where, whereArgs, null, null); if (c == null) { return new MtpPropertyList(0, MtpConstants.RESPONSE_INVALID_OBJECT_HANDLE); } |