diff options
Diffstat (limited to 'src/com/android/providers/downloads/DownloadProvider.java')
-rw-r--r-- | src/com/android/providers/downloads/DownloadProvider.java | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/com/android/providers/downloads/DownloadProvider.java b/src/com/android/providers/downloads/DownloadProvider.java index 66d49227..80e0d22f 100644 --- a/src/com/android/providers/downloads/DownloadProvider.java +++ b/src/com/android/providers/downloads/DownloadProvider.java @@ -145,6 +145,9 @@ public final class DownloadProvider extends ContentProvider { private static final List<String> downloadManagerColumnsList = Arrays.asList(DownloadManager.UNDERLYING_COLUMNS); + // TODO is there a better way to get this package name + private static final Object GSF_PACKAGE_NAME = "com.google.android.gsf"; + /** The database that lies underneath this content provider */ private SQLiteOpenHelper mOpenHelper = null; @@ -617,6 +620,13 @@ public final class DownloadProvider extends ContentProvider { copyBoolean(Downloads.Impl.COLUMN_ALLOW_ROAMING, values, filteredValues); } + // TODO: replace this hack with something cleaner + if (pckg.equals(GSF_PACKAGE_NAME) && + (getContext().checkCallingPermission(Downloads.Impl.PERMISSION_ACCESS_ADVANCED) + == PackageManager.PERMISSION_GRANTED)) { + filteredValues.put(Constants.OTA_UPDATE, Boolean.TRUE); + } + if (Constants.LOGVV) { Log.v(Constants.TAG, "initiating download with UID " + filteredValues.getAsInteger(Constants.UID)); |