diff options
author | James Wei <jameswei@google.com> | 2020-04-07 04:29:13 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2020-04-07 04:29:13 +0000 |
commit | 8788b998339af115404ec7230d28c06d5dea4424 (patch) | |
tree | efba138ac2ae22eea6fe9a1f3e379c67b295ac0f | |
parent | 826c033668e5820aabdfb61d24710d61c01ec846 (diff) | |
parent | 073d5efa7c3dc330609ba662b45b94cf02324a59 (diff) | |
download | Mtp-android11-d2-release.tar.gz |
MTP: Add MTP host exception handling#2 am: e0297ce1af am: 073d5efa7candroid-11.0.0_r48android-11.0.0_r47android-11.0.0_r46android-11.0.0_r45android-11.0.0_r44android-11.0.0_r43android-11.0.0_r42android-11.0.0_r41android-11.0.0_r40android-11.0.0_r39android-11.0.0_r38android-11.0.0_r37android-11.0.0_r36android-11.0.0_r35android-11.0.0_r34android-11.0.0_r33android-11.0.0_r32android-11.0.0_r31android-11.0.0_r30android-11.0.0_r29android-11.0.0_r28android-11.0.0_r27android-11.0.0_r26android-11.0.0_r24android-11.0.0_r23android-11.0.0_r22android-11.0.0_r21android-11.0.0_r20android-11.0.0_r19android-11.0.0_r18android11-qpr3-s1-releaseandroid11-qpr3-releaseandroid11-qpr2-releaseandroid11-qpr1-s2-releaseandroid11-qpr1-s1-releaseandroid11-qpr1-releaseandroid11-qpr1-d-s1-releaseandroid11-qpr1-d-releaseandroid11-qpr1-c-releaseandroid11-d2-release
Change-Id: If6f2714fc06f8d417af6f21ed20d4faf28faa817
-rw-r--r-- | src/com/android/mtp/MtpDatabase.java | 5 | ||||
-rw-r--r-- | tests/src/com/android/mtp/MtpDatabaseTest.java | 11 |
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") |