summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Gruver <bgruv@google.com>2012-09-28 11:05:03 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2012-09-28 11:05:03 -0700
commit565918c034a53323871617df38f796036c1105b3 (patch)
tree9db2c5d51df105af2d3e634004bf8f2b2a0864c8
parentadcb6296782d25f9cf85610c7cd859f7d00901a9 (diff)
parent46bb7dd18c9b092d352d76ab44a4e52951941b2c (diff)
downloadandroid_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.java17
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));
}