diff options
author | Vasu Nori <vnori@google.com> | 2010-10-15 12:43:04 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2010-10-15 12:43:04 -0700 |
commit | f9360e2fdc28e98d2f5c0fb25c18d2f1e6b32645 (patch) | |
tree | 1cf1443e9e42f0c377047cd7125eb8b0188334ee /src/com/android/providers/downloads/DownloadProvider.java | |
parent | 137f02d0e961b5fb761868db85e7f43966f35d52 (diff) | |
parent | 57c4e9180e3a339dba984f1c8dff76ef18443a7a (diff) | |
download | android_packages_providers_DownloadProvider-f9360e2fdc28e98d2f5c0fb25c18d2f1e6b32645.tar.gz android_packages_providers_DownloadProvider-f9360e2fdc28e98d2f5c0fb25c18d2f1e6b32645.tar.bz2 android_packages_providers_DownloadProvider-f9360e2fdc28e98d2f5c0fb25c18d2f1e6b32645.zip |
am 57c4e918: am e00c3120: bug:3069735 in Download UI app, handle deletes correctly
Merge commit '57c4e9180e3a339dba984f1c8dff76ef18443a7a'
* commit '57c4e9180e3a339dba984f1c8dff76ef18443a7a':
bug:3069735 in Download UI app, handle deletes correctly
Diffstat (limited to 'src/com/android/providers/downloads/DownloadProvider.java')
-rw-r--r-- | src/com/android/providers/downloads/DownloadProvider.java | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/src/com/android/providers/downloads/DownloadProvider.java b/src/com/android/providers/downloads/DownloadProvider.java index 6be9073c..47f7623a 100644 --- a/src/com/android/providers/downloads/DownloadProvider.java +++ b/src/com/android/providers/downloads/DownloadProvider.java @@ -49,6 +49,7 @@ import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Map; +import java.util.Set; /** @@ -58,7 +59,7 @@ public final class DownloadProvider extends ContentProvider { /** Database filename */ private static final String DB_NAME = "downloads.db"; /** Current database version */ - private static final int DB_VERSION = 105; + private static final int DB_VERSION = 106; /** Name of table in the database */ private static final String DB_TABLE = "downloads"; @@ -123,6 +124,8 @@ public final class DownloadProvider extends ContentProvider { Downloads.Impl.COLUMN_URI, Downloads.Impl.COLUMN_IS_VISIBLE_IN_DOWNLOADS_UI, Downloads.Impl.COLUMN_FILE_NAME_HINT, + Downloads.Impl.COLUMN_MEDIAPROVIDER_URI, + Downloads.Impl.COLUMN_DELETED, }; private static HashSet<String> sAppReadableColumnsSet; @@ -270,6 +273,12 @@ public final class DownloadProvider extends ContentProvider { fillNullValues(db); break; + case 106: + addColumn(db, DB_TABLE, Downloads.Impl.COLUMN_MEDIAPROVIDER_URI, "TEXT"); + addColumn(db, DB_TABLE, Downloads.Impl.COLUMN_DELETED, + "BOOLEAN NOT NULL DEFAULT 0"); + break; + default: throw new IllegalStateException("Don't know how to upgrade to " + version); } @@ -356,7 +365,9 @@ public final class DownloadProvider extends ContentProvider { Downloads.Impl.COLUMN_OTHER_UID + " INTEGER, " + Downloads.Impl.COLUMN_TITLE + " TEXT, " + Downloads.Impl.COLUMN_DESCRIPTION + " TEXT, " + - Constants.MEDIA_SCANNED + " BOOLEAN);"); + Constants.MEDIA_SCANNED + " BOOLEAN, " + + Downloads.Impl.COLUMN_MEDIAPROVIDER_URI + " TEXT, " + + Downloads.Impl.COLUMN_DELETED + " BOOLEAN NOT NULL DEFAULT 1);"); } catch (SQLException ex) { Log.e(Constants.TAG, "couldn't create table in downloads database"); throw ex; @@ -864,6 +875,13 @@ public final class DownloadProvider extends ContentProvider { int count; boolean startService = false; + if (values.containsKey(Downloads.Impl.COLUMN_DELETED)) { + if (values.getAsInteger(Downloads.Impl.COLUMN_DELETED) == 1) { + // some rows are to be 'deleted'. need to start DownloadService. + startService = true; + } + } + ContentValues filteredValues; if (Binder.getCallingPid() != Process.myPid()) { filteredValues = new ContentValues(); @@ -874,9 +892,12 @@ public final class DownloadProvider extends ContentProvider { filteredValues.put(Downloads.Impl.COLUMN_CONTROL, i); startService = true; } + copyInteger(Downloads.Impl.COLUMN_CONTROL, values, filteredValues); copyString(Downloads.Impl.COLUMN_TITLE, values, filteredValues); + copyString(Downloads.Impl.COLUMN_MEDIAPROVIDER_URI, values, filteredValues); copyString(Downloads.Impl.COLUMN_DESCRIPTION, values, filteredValues); + copyInteger(Downloads.Impl.COLUMN_DELETED, values, filteredValues); } else { filteredValues = values; String filename = values.getAsString(Downloads.Impl._DATA); |