History log of /frameworks/base/packages/MtpDocumentsProvider/src/com/android/mtp/RootScanner.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
72de7a99b3359f42426cc63c9a8f7b7d8480daca 21-Mar-2017 Daichi Hirono <hirono@google.com> Fix an argument passing to putStorageDocuments.

Previously device.eventSupported was wrongly passed to
putStorageDocuments while we need to pass device.operationSupported.

Bug: 35855598
Test: manually copied a file from phone to phone
Change-Id: Iaa5d8973b3af0a157ed3196fb83971aeb148d203
/frameworks/base/packages/MtpDocumentsProvider/src/com/android/mtp/RootScanner.java
acb0e27bb33e373f1c42d6e2ef9344169cae96f0 14-Mar-2016 Daichi Hirono <hirono@google.com> Regard timeout as an error in the MtpDocumentsProvider test.

Previously if DocumentsProvider found timeout when terminatnig
RootScanner's background thread, it just output it in error log. Thus
the timeout is not regarded as an error in MtpDocumentsProviderTest, and
it makes flaky PipeManagerTest which runs just after
MtpDocumentsProviderTest.

The CL

* lets MtpDocumentsProvider throw TimeoutException for timeout.
* removes redundant resumeRootScanner calls to avoid timeout of
RootScanner#pause.

Also the CL did cleanup the logic that pauses RootScanner when we don't
find any devices. Previously the logic was in
MtpDocumentsProvider#closeInternal but it is not efficient because we
invokes RootScanner#resume just after
MtpDocumentsProvider#closeInternal. Now the CL moves the logic to
RootScanner so that it can pause itself automatically.

BUG=27638500

Change-Id: Ic11bca67c099cbb0f46679db2f035988045d67d6
/frameworks/base/packages/MtpDocumentsProvider/src/com/android/mtp/RootScanner.java
e5b499bcc52a334b49d939867bbe85f77541fbeb 01-Mar-2016 Daichi Hirono <hirono@google.com> Merge "Fix RootScanner to execute scan at least once before cancelling it." into nyc-dev
2e9a57b0d4839b322787dad36bfcb64f211f7ac4 26-Feb-2016 Daichi Hirono <hirono@google.com> Fix RootScanner to execute scan at least once before cancelling it.

Previously RootScanner is implemented by FutureTask, and if it is
cancelled before it starts running in background thread, the scan will
be never executed.

The CL stops using FutureTask and introduces CountDownLatch to control
UpdateRootsRunnable.

BUG=27369585

Change-Id: Ica8799faba0a8e5ca91a6b8be36dc4f5118d6333
/frameworks/base/packages/MtpDocumentsProvider/src/com/android/mtp/RootScanner.java
0f32537e40ee2662d4f0b7b625ee280ca9c02066 21-Feb-2016 Daichi Hirono <hirono@google.com> Stops performing operations that does not supported by MTP device.

MTP devices can return supported operation list. The CL sets root flag
by referring it.

BUG=26147375

Change-Id: I02397821e208cf5a8fcf7457aa279d2818ce24c7
/frameworks/base/packages/MtpDocumentsProvider/src/com/android/mtp/RootScanner.java
ebd24051599280443435606cab220de33b9356ad 06-Feb-2016 Daichi Hirono <hirono@google.com> Use device key to map device documents.

The CL introduces MAPPING_KEY column to the database and lets Mapper use
the column to map IDs of devices.

It also removes the concept of mapping mode from Mapper for
simplyfing. Now Mapper just tries to multiple mapping keys (MTP
identifier, display name, and mapping key) to find candidate of ID
mapping.

BUG=26212981

Change-Id: I19f6c7dac146047e9978de4eb33d5076406037ad
(cherry picked from commit 637a2010f4a0c0484b13c4cb87aa2858bdf079b2)
/frameworks/base/packages/MtpDocumentsProvider/src/com/android/mtp/RootScanner.java
619afdaae1ec7dcbd71bb1f698a0901a1fa290fe 07-Feb-2016 Daichi Hirono <hirono@google.com> Check parent existance when adding/removing documents.

BUG=26212981
Change-Id: I8109e2324c027ec2182c6f521d57f3fe078a8660
(cherry picked from commit df803ec6ebd47ddc7f97ea8ef13aa359ecc7fb95)
/frameworks/base/packages/MtpDocumentsProvider/src/com/android/mtp/RootScanner.java
f83ccbd7edd32e728785fb7aad44f11886e79645 04-Feb-2016 Daichi Hirono <hirono@google.com> Drop device name from storage document name.

When device has multiple storages, storage are shown as directory under
the device root. In this case, we would not like to add device name to
storage.

Note that we still use "device name + storage name" for root name if the
device has a single storage because we skip storage directory in this
case and shows storage's contents directly under the device.

BUG=26625708

Change-Id: Ie13b044e71ae9b5131c4a01ee9d605023d05f168
/frameworks/base/packages/MtpDocumentsProvider/src/com/android/mtp/RootScanner.java
fda7474c5faae1e36a9274d8a5fe83e42ec6503b 01-Feb-2016 Daichi Hirono <hirono@google.com> Open MTP device on demand.

Previously MtpDocumentsProvider opens a device just after device is
connected to Android. But MtpDocumentsProvider should open MTP device on
demand so that other applications can open device if user starts to use
the application before using MtpDocumentsProvider.

BUG=26625708

Change-Id: I6083b8c7cef49ee6e9fb0d15ca4adc129734f3eb
/frameworks/base/packages/MtpDocumentsProvider/src/com/android/mtp/RootScanner.java
a12e7d1ba67d5874a00a50bef0ab30a3747776b2 11-Jan-2016 Daichi Hirono <hirono@google.com> Remove unused lines in MtpDocumentsProvider.

Change-Id: I8de1b50441003648547829a3e8dd78153e6f8f31
/frameworks/base/packages/MtpDocumentsProvider/src/com/android/mtp/RootScanner.java
bdb5a45f8da3d8c74ec1804bd77b1c93e1131ac6 22-Dec-2015 Daichi Hirono <hirono@google.com> Merge "Break while loop when the thread interuppted."
2bdb388d8fba211b02874531885d2eec76417c8b 21-Dec-2015 Daichi Hirono <hirono@google.com> Break while loop when the thread interuppted.

Previously the while loop condition refers to Thread.interrupted()
wrongly. The Thread.interrupted() flag is cleared when the
InterupptedException is thrown.

BUG=26297698

Change-Id: I113d5c88389d54a4a6e29af2cf9515b1693b59dc
/frameworks/base/packages/MtpDocumentsProvider/src/com/android/mtp/RootScanner.java
81d48536aef702d301cdc3a339008de767b51f99 16-Dec-2015 Daichi Hirono <hirono@google.com> Show MTP device as root when it has multiple/zero storages.

The CL updates MtpDocumentsProvider#queryRoots so that it fetches
devices from Database as well as storages when we don't have storages
under the device, or when we have multiple storages under the device.

BUG=26120019
Change-Id: Id2b140f00a1d49fa4da7e17d2564dbbaa1795e1e
/frameworks/base/packages/MtpDocumentsProvider/src/com/android/mtp/RootScanner.java
20754c5a112e418c11cc88176283db2c4bf2efd6 15-Dec-2015 Daichi Hirono <hirono@google.com> Store device document even if the device is not opened.

BUG=26197156

Change-Id: I2a80bb3e85310cf63253173b1110a155ee1391ba
/frameworks/base/packages/MtpDocumentsProvider/src/com/android/mtp/RootScanner.java
b3fe72bfb288a509a953e5586264ca1c4460d2df 15-Dec-2015 Daichi Hirono <hirono@google.com> Revert "Revert "Add device document to MtpDatabase.""

I suspected that the commit was conflicted with ag/833494, but actually it wasn't. Let me reland this CL again.

This reverts commit b63e8c6ccc1425d56f8b9c801f4bddf906d694e5.

Change-Id: I4e734422ce10ef93ee7c4ef3b8b72a81beaa769b
/frameworks/base/packages/MtpDocumentsProvider/src/com/android/mtp/RootScanner.java
b63e8c6ccc1425d56f8b9c801f4bddf906d694e5 15-Dec-2015 Daichi Hirono <hirono@google.com> Revert "Add device document to MtpDatabase."

This reverts commit c0ae45be046b1aed005589791e1ee483c399ab1c.

Change-Id: I03337324e768c509bdcf94c89f7abe7ca00c8a18
/frameworks/base/packages/MtpDocumentsProvider/src/com/android/mtp/RootScanner.java
c0ae45be046b1aed005589791e1ee483c399ab1c 14-Dec-2015 Daichi Hirono <hirono@google.com> Add device document to MtpDatabase.

BUG=26175081

Change-Id: Ida91c50f7e33d7b300a32ee318b6f3837edf6606
/frameworks/base/packages/MtpDocumentsProvider/src/com/android/mtp/RootScanner.java
7a375c407f2759f21fb4ca7215034f056b4ade1c 14-Dec-2015 Daichi Hirono <hirono@google.com> Integerate mapping methods for root/child documents into the same
methods.

The integrated methods will be used to add device documents as well as
root/child documents.

BUG=26175081

Change-Id: Ibf474cfbc41df402a2958e9efcdd0061f07f5ced
/frameworks/base/packages/MtpDocumentsProvider/src/com/android/mtp/RootScanner.java
259ce80132d55774fe599c60b53a9d9dfc1efa65 20-Nov-2015 Daichi Hirono <hirono@google.com> Extract mapping operations to partial class of MtpDatabase.

Change-Id: I5fda6d5754206528ad5953bcc179a0ffe0b4982d
/frameworks/base/packages/MtpDocumentsProvider/src/com/android/mtp/RootScanner.java
e1d57710fb38dae2747aadca0e5b6f98a84a0514 17-Nov-2015 Daichi Hirono <hirono@google.com> Don't close database when all devices have been detached.

ContentProvider is a singleton of the process. So it may live longer
than Service. We could not close database when the service is destroyed.

BUG=25730042

Change-Id: I591250c1a1e7c5705eb2585c71cac2598c0c0fb9
/frameworks/base/packages/MtpDocumentsProvider/src/com/android/mtp/RootScanner.java
47eb192b2704e27272ca94a95680cac40b6bff3f 16-Nov-2015 Daichi Hirono <hirono@google.com> Start using MtpDatabase in DocumentLoader.

BUG=25704514

Change-Id: I4d9247c148679ee7e40a1a03443e4c0299b1e44d
/frameworks/base/packages/MtpDocumentsProvider/src/com/android/mtp/RootScanner.java
dc47344660035b27a564ab6d9c9a9b58ec340347 13-Nov-2015 Daichi Hirono <hirono@google.com> Start to use MtpDatabase in RootScanner.

Change-Id: Id99cb61ad8680529b5ee502ca5bb2b3cdd143235
/frameworks/base/packages/MtpDocumentsProvider/src/com/android/mtp/RootScanner.java
8b9024f0c20b1b79df1f2d0bc2f1a82f726b1176 11-Aug-2015 Daichi Hirono <hirono@google.com> Add RootScanner to MtpDocumentsProvider to handle new/removed MTP storages.

BUG=23169303
Change-Id: I5a73da7f869fed2fcf69e6ab7b039d1a60b883e2
/frameworks/base/packages/MtpDocumentsProvider/src/com/android/mtp/RootScanner.java