summaryrefslogtreecommitdiffstats
path: root/src/com/android/providers/downloads/DownloadProvider.java
diff options
context:
space:
mode:
authorJeff Sharkey <jsharkey@android.com>2018-07-19 09:22:16 -0600
committerJeff Sharkey <jsharkey@android.com>2018-07-19 09:54:10 -0600
commitbc091ae8c95ea280327a988c2775042dc792569c (patch)
tree3c40fa9b4fb6fa2c53ec8f15bdeb1ffafbc97703 /src/com/android/providers/downloads/DownloadProvider.java
parentd96afddef186c7fa993d4e82ffc4b8a005990b4d (diff)
downloadandroid_packages_providers_DownloadProvider-bc091ae8c95ea280327a988c2775042dc792569c.tar.gz
android_packages_providers_DownloadProvider-bc091ae8c95ea280327a988c2775042dc792569c.tar.bz2
android_packages_providers_DownloadProvider-bc091ae8c95ea280327a988c2775042dc792569c.zip
Revert SQLiteQueryBuilder for now.
We've encountered subtle bugs in how apps are using this public API, so revert it back to exactly what shipped in the last release, and move functionality to new SQLiteStatementBuilder class, since we already have several customers using it. Test: atest cts/tests/tests/provider/src/android/provider/cts/MediaStore* Test: atest cts/tests/tests/database/src/android/database/sqlite/cts/SQLiteQueryBuilderTest.java Bug: 111486645 Change-Id: I6536f5d841db8ec59457f458a8365ff41fb8278e
Diffstat (limited to 'src/com/android/providers/downloads/DownloadProvider.java')
-rw-r--r--src/com/android/providers/downloads/DownloadProvider.java14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/com/android/providers/downloads/DownloadProvider.java b/src/com/android/providers/downloads/DownloadProvider.java
index a85911d3..212ddd8d 100644
--- a/src/com/android/providers/downloads/DownloadProvider.java
+++ b/src/com/android/providers/downloads/DownloadProvider.java
@@ -44,7 +44,7 @@ import android.database.DatabaseUtils;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
-import android.database.sqlite.SQLiteQueryBuilder;
+import android.database.sqlite.SQLiteStatementBuilder;
import android.net.Uri;
import android.os.Binder;
import android.os.ParcelFileDescriptor;
@@ -910,7 +910,7 @@ public final class DownloadProvider extends ContentProvider {
getContext().enforceCallingOrSelfPermission(
Downloads.Impl.PERMISSION_ACCESS_ALL, Constants.TAG);
- final SQLiteQueryBuilder qb = getQueryBuilder(uri, match);
+ final SQLiteStatementBuilder qb = getStatementBuilder(uri, match);
projection = new String[] {
Downloads.Impl.RequestHeaders.COLUMN_HEADER,
Downloads.Impl.RequestHeaders.COLUMN_VALUE
@@ -944,7 +944,7 @@ public final class DownloadProvider extends ContentProvider {
logVerboseQueryInfo(projection, selection, selectionArgs, sort, db);
}
- final SQLiteQueryBuilder qb = getQueryBuilder(uri, match);
+ final SQLiteStatementBuilder qb = getStatementBuilder(uri, match);
final Cursor ret = qb.query(db, projection, selection, selectionArgs, null, null, sort);
if (ret != null) {
@@ -1112,7 +1112,7 @@ public final class DownloadProvider extends ContentProvider {
break;
}
- final SQLiteQueryBuilder qb = getQueryBuilder(uri, match);
+ final SQLiteStatementBuilder qb = getStatementBuilder(uri, match);
count = qb.update(db, filteredValues, where, whereArgs);
if (updateSchedule || isCompleting) {
final long token = Binder.clearCallingIdentity();
@@ -1166,8 +1166,8 @@ public final class DownloadProvider extends ContentProvider {
* Create a query builder that filters access to the underlying database
* based on both the requested {@link Uri} and permissions of the caller.
*/
- private SQLiteQueryBuilder getQueryBuilder(final Uri uri, int match) {
- final SQLiteQueryBuilder qb = new SQLiteQueryBuilder();
+ private SQLiteStatementBuilder getStatementBuilder(final Uri uri, int match) {
+ final SQLiteStatementBuilder qb = new SQLiteStatementBuilder();
qb.setStrict(true);
switch (match) {
@@ -1232,7 +1232,7 @@ public final class DownloadProvider extends ContentProvider {
case MY_DOWNLOADS_ID:
case ALL_DOWNLOADS:
case ALL_DOWNLOADS_ID:
- final SQLiteQueryBuilder qb = getQueryBuilder(uri, match);
+ final SQLiteStatementBuilder qb = getStatementBuilder(uri, match);
try (Cursor cursor = qb.query(db, null, where, whereArgs, null, null, null)) {
final DownloadInfo.Reader reader = new DownloadInfo.Reader(resolver, cursor);
final DownloadInfo info = new DownloadInfo(context);