diff options
author | Ben Gruver <bgruv@google.com> | 2012-09-28 11:05:03 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2012-09-28 11:05:03 -0700 |
commit | 565918c034a53323871617df38f796036c1105b3 (patch) | |
tree | 9db2c5d51df105af2d3e634004bf8f2b2a0864c8 | |
parent | adcb6296782d25f9cf85610c7cd859f7d00901a9 (diff) | |
parent | 46bb7dd18c9b092d352d76ab44a4e52951941b2c (diff) | |
download | android_packages_providers_DownloadProvider-565918c034a53323871617df38f796036c1105b3.tar.gz android_packages_providers_DownloadProvider-565918c034a53323871617df38f796036c1105b3.tar.bz2 android_packages_providers_DownloadProvider-565918c034a53323871617df38f796036c1105b3.zip |
am 46bb7dd1: Send uid of the application that initiated the download
* commit '46bb7dd18c9b092d352d76ab44a4e52951941b2c':
Send uid of the application that initiated the download
-rw-r--r-- | src/com/android/providers/downloads/OpenHelper.java | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/com/android/providers/downloads/OpenHelper.java b/src/com/android/providers/downloads/OpenHelper.java index 0151c8de..c7d90edd 100644 --- a/src/com/android/providers/downloads/OpenHelper.java +++ b/src/com/android/providers/downloads/OpenHelper.java @@ -59,6 +59,7 @@ public class OpenHelper { final Uri remoteUri = getCursorUri(cursor, COLUMN_URI); intent.putExtra(Intent.EXTRA_ORIGINATING_URI, remoteUri); intent.putExtra(Intent.EXTRA_REFERRER, getRefererUri(context, id)); + intent.putExtra(Intent.EXTRA_ORIGINATING_UID, getOriginatingUid(context, id)); } else if ("file".equals(localUri.getScheme())) { intent.setDataAndType( ContentUris.withAppendedId(ALL_DOWNLOADS_CONTENT_URI, id), mimeType); @@ -91,6 +92,22 @@ public class OpenHelper { return null; } + private static int getOriginatingUid(Context context, long id) { + final Uri uri = ContentUris.withAppendedId(ALL_DOWNLOADS_CONTENT_URI, id); + final Cursor cursor = context.getContentResolver().query(uri, new String[]{Constants.UID}, + null, null, null); + if (cursor != null) { + try { + if (cursor.moveToFirst()) { + return cursor.getInt(cursor.getColumnIndexOrThrow(Constants.UID)); + } + } finally { + cursor.close(); + } + } + return -1; + } + private static String getCursorString(Cursor cursor, String column) { return cursor.getString(cursor.getColumnIndexOrThrow(column)); } |