summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2020-04-08 02:10:06 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2020-04-08 02:10:06 +0000
commita1af27f7a8e775f3374c32a4672197ac115452e7 (patch)
treeefba138ac2ae22eea6fe9a1f3e379c67b295ac0f
parentbb361e846d36f96e640219d1dcfbf0087025c546 (diff)
parent073d5efa7c3dc330609ba662b45b94cf02324a59 (diff)
downloadplatform_packages_services_Mtp-android11-d1-s1-release.tar.gz
platform_packages_services_Mtp-android11-d1-s1-release.tar.bz2
platform_packages_services_Mtp-android11-d1-s1-release.zip
Change-Id: I03bcd77dd5996940b6fe10775300d07f7a0a6e35
-rw-r--r--src/com/android/mtp/MtpDatabase.java5
-rw-r--r--tests/src/com/android/mtp/MtpDatabaseTest.java11
2 files changed, 15 insertions, 1 deletions
diff --git a/src/com/android/mtp/MtpDatabase.java b/src/com/android/mtp/MtpDatabase.java
index bfb5cb8..f3b1549 100644
--- a/src/com/android/mtp/MtpDatabase.java
+++ b/src/com/android/mtp/MtpDatabase.java
@@ -535,7 +535,8 @@ class MtpDatabase {
// TODO Remove mappingState.
return deleted != 0;
} catch (SQLiteException exSql) {
- Log.w(TAG, "SQLiteException:" + selection, exSql);
+ Log.w(TAG, "deleteDocumentsAndRoots.SQLiteException (bypassed): "
+ + selection + ", dump:", exSql);
return false;
} finally {
mDatabase.endTransaction();
@@ -684,6 +685,8 @@ class MtpDatabase {
deleteDocumentsAndRoots(
Document.COLUMN_DOCUMENT_ID + " NOT IN " + getIdList(ids), null);
mDatabase.setTransactionSuccessful();
+ } catch (IllegalArgumentException exArg) {
+ Log.w(TAG, "cleanDatabase.IllegalArgumentException (bypassed), dump:", exArg);
} finally {
mDatabase.endTransaction();
}
diff --git a/tests/src/com/android/mtp/MtpDatabaseTest.java b/tests/src/com/android/mtp/MtpDatabaseTest.java
index 32b169e..05d7b23 100644
--- a/tests/src/com/android/mtp/MtpDatabaseTest.java
+++ b/tests/src/com/android/mtp/MtpDatabaseTest.java
@@ -1055,6 +1055,17 @@ public class MtpDatabaseTest extends AndroidTestCase {
mDatabase.getMapper().startAddingDocuments(null);
mDatabase.getMapper().stopAddingDocuments(null);
+ // Clean database with error column
+ mDatabase.cleanDatabase(new Uri[] {
+ DocumentsContract.buildDocumentUri(MtpDocumentsProvider.AUTHORITY,
+ "wrong_id_test")
+ });
+
+ // Clean database with error uri
+ mDatabase.cleanDatabase(new Uri[] {
+ Uri.parse("content://com.android.providers.downloads.documents/wrong_uri_test")
+ });
+
// Clean database.
mDatabase.cleanDatabase(new Uri[] {
DocumentsContract.buildDocumentUri(MtpDocumentsProvider.AUTHORITY, "3")