e8a4b66960056c2dc2c8dbb5f8df00710645cc64 |
|
28-Jun-2015 |
Jeff Sharkey <jsharkey@android.com> |
Better handling of trim/benchmark results. Request benchmarking of devices once per week during normal fstrim maintenance window. Tunable parameter gives us the ability to change frequency through global setting. Track individual benchmark and trim results for each volume, and use scrubbed volume identifier (based on adoptiong age) when logging stats to drop box. Track last benchmark and trim time for each volume separately. Bug: 21831325 Change-Id: I53b3ed788f7820c2e5bceb2840339f5b4aada3f0
/frameworks/base/core/java/android/os/storage/DiskInfo.java
|
c7acac6798e12780194af33d5a9fdf382ab17155 |
|
13-Jun-2015 |
Jeff Sharkey <jsharkey@android.com> |
More useful extras in disk/volume broadcasts. Change-Id: I594166cff332aaf72b2b6357ac6ed3e6e42cbc49
/frameworks/base/core/java/android/os/storage/DiskInfo.java
|
47b872d9c36347382dd24ad5c3f70490d8fcbb23 |
|
11-Jun-2015 |
Jeff Sharkey <jsharkey@android.com> |
Ignore some more generic USB device names. Bug: 21376386 Change-Id: I8c1b1cf9d881ad2795e9b15740ff511260572f1b
/frameworks/base/core/java/android/os/storage/DiskInfo.java
|
f5a6bd7538a6800c2a43ace5ad67d65b1f8f697a |
|
19-May-2015 |
Jeff Sharkey <jsharkey@android.com> |
Push initial disk state, handle empty media. Stash volume count from last scan, and use it to push initial storage notifications state when listener is first attached. Also omit disks with invalid size, which usually means they're an empty slot with no media. Bug: 20503551 Change-Id: I75097035aebaad70ba32437179a863f6a0910aa5
/frameworks/base/core/java/android/os/storage/DiskInfo.java
|
620b32b316fd4f1bab4eef55ec8802d14a55e7dd |
|
24-Apr-2015 |
Jeff Sharkey <jsharkey@android.com> |
Package and storage movement callbacks. Since package and primary storage movement can take quite awhile, we want to have SystemUI surface progress and allow the Settings app to be torn down while the movement proceeds in the background. Movement requests now return a unique ID that identifies an ongoing operation, and interested parties can observe ongoing progress and final status. Internally, progress and status are overloaded so the values 0-100 are progress, and any values outside that range are terminal status. Add explicit constants for special-cased volume UUIDs, and change the APIs to accept VolumeInfo to reduce confusion. Internally the UUID value "null" means internal storage, and "primary_physical" means the current primary physical volume. These values are used for both package and primary storage movement destinations. Persist the current primary storage location in MountService metadata, since it can be moved over time. Surface disk scanned events with separate volume count so we can determine when it's partitioned successfully. Also send broadcast to support TvSettings launching into adoption flow. Bug: 19993667 Change-Id: Ic8a4034033c3cb3262023dba4a642efc6795af10
/frameworks/base/core/java/android/os/storage/DiskInfo.java
|
74acbbb2cd367c6e78db7de5118ff9dd56da61d0 |
|
21-Apr-2015 |
Jeff Sharkey <jsharkey@android.com> |
Blend in force adoptable flag when set. Bug: 19993667 Change-Id: Ic7f348d171a89e889281b7efb1aa0cbade048975
/frameworks/base/core/java/android/os/storage/DiskInfo.java
|
e6c04f9417cc4bff0f5f9e72f0d6d66d2aab6e80 |
|
19-Apr-2015 |
Jeff Sharkey <jsharkey@android.com> |
Broadcast hidden volumes, notification polish. Send limited broadcast intent when certain volume state changes occur; the only customer for now is ExternalStorageProvider. Change notification flow to be less bumpy. Pick USB icon based on disk type, and avoid using "generic" disk labels. Bug: 19993667 Change-Id: I263bc9e9aae2ae57eb4d1afe76da686aee5475fb
/frameworks/base/core/java/android/os/storage/DiskInfo.java
|
7e92ef3a1146102806fa0543ef12e09231c55639 |
|
18-Apr-2015 |
Jeff Sharkey <jsharkey@android.com> |
Volumes know parent disks; unsupported disks. This is cleaner and more direct than the reverse of having the disk publish child volume membership. Rename state constants to match public API. Add state representing bad removal. Make it clear that volume flags are related to mounting. Send new unsupported disk event when we finish scanning an entire disk and have no meaningful volumes. Splice disk labels into description when known. Only adoptable slots are directly visible to apps. Bug: 19993667 Change-Id: I12fda95be0d82781f70c3d85c039749052dc936b
/frameworks/base/core/java/android/os/storage/DiskInfo.java
|
e2d45be4dae116307f8edd85eaa61134221cb8f9 |
|
16-Apr-2015 |
Jeff Sharkey <jsharkey@android.com> |
Candidate volumes for packages, fix symlink. Add API to determine the possible candidate volumes that a package can be moved to. For example, it currently knows that we need to move ASEC-based apps through internal storage before migrating them to a private volume. Comparator for consistent VolumeInfo ordering when displayed in UI. Fix native library symlink to be volume UUID aware. Bug: 19993667 Change-Id: I68d5fac5f0f776ac1c7dd15e7a984bfe2704f3f7
/frameworks/base/core/java/android/os/storage/DiskInfo.java
|
d95d3bfb2b28a4f21f3fdcd740160c9a61eb0363 |
|
15-Apr-2015 |
Jeff Sharkey <jsharkey@android.com> |
Persist nickname and flags for volumes. StorageManager now offers to persist a nickname and user flags for active volumes. This metadata is kept around and spliced into any future VolumeInfo when the same UUID is present. Current user flags indicate "initialized" and "snoozed" states to control how notifications are shown. Notify listeners when metadata changes, and kick public notification after a volume is initialized. Make unique PendingIntents when multiple volumes are active. Beginnings of plumbing to ask for missing volumes. Offer explicit accessors for VolumeInfo and DiskInfo to give better path to documentation and deprecation. Bug: 19993667 Change-Id: I3d8b68be83f43ba992d21d51cad5b775776d681c
/frameworks/base/core/java/android/os/storage/DiskInfo.java
|
56bd3129138b525b0f2eba52bd4fa140f23e792c |
|
14-Apr-2015 |
Jeff Sharkey <jsharkey@android.com> |
Checkpoint of storage notifications. Rewrite of storage notifications to support multiple disks/volumes, handling the state of each independently. Update strings to match spec. Include actions to jump into wizard when adoptable, otherwise browse or eject. Move browse intent creation to common place on VolumeInfo. Also add well-formed extra names. VolumeInfo now carries the parent disk ID along with it to avoid races when unmounting. Bug: 19993667 Change-Id: I236ddc7f8112490355f438b828bec8d40c331fdd
/frameworks/base/core/java/android/os/storage/DiskInfo.java
|
59d577a518333f4b4514315b6d10e8dba160abcd |
|
12-Apr-2015 |
Jeff Sharkey <jsharkey@android.com> |
Browse mode for DocumentsUI, removed volume state. The existing management mode is too specific, and requires that storage backends add queryChildDocumentsForManage(), etc. Instead, to offer more natural browsing support, add a new BROWSE_ROOT intent. It behaves mostly like MANAGE_ROOT, except that it doesn't mutate its Uris with setManageMode(), and it shortcuts straight to VIEW on clicked documents. It can be launched like this: $ adb shell am start -a android.provider.action.BROWSE_ROOT -d content://com.android.externalstorage.documents/root/8405-1DFB -c android.intent.category.DEFAULT Also rename a MetricsConstants to make it clearer, and don't auto-mount all emulated volumes. Fix bugs around parceling of DiskInfo/VolumeInfo. Method to resolve the best description for a VolumeInfo, which might need to fall back to DiskInfo. Add back "removed" volume state so we send broadcast when a volume is destroyed, matching the expected public API behavior. Bug: 19993667 Change-Id: I13aff32c5e11dfc63da44aee9e93a27f4690a43f
/frameworks/base/core/java/android/os/storage/DiskInfo.java
|
7151a9a887051542c6da9f380376f3b306184e5c |
|
05-Apr-2015 |
Jeff Sharkey <jsharkey@android.com> |
Storage methods using IDs, update listeners. Add StorageManager methods that work with Disk and Volume IDs instead of paths which can change over time. For example, a freshly formatted volume has a different UUID and mount point, even though it's the same volume. Update StorageEventListener to be all one-way calls to avoid blocking while dispatching events. Add new listener method for Volume-level state changes. The existing state method will remain focused on the per-user state reflected by StorageVolume. Switch listeners over to using the more robust RemoteCallbackList pattern under the hood. Change external ASEC scanning logic in PackageManagerService to be driven by listener events, instead of explicit MountService calls. Bug: 19993667 Change-Id: I57c505de260ff1762a78d70d15f1892f40229210
/frameworks/base/core/java/android/os/storage/DiskInfo.java
|
1b8ef7e3165ff9aa52a4905dafc8d0f83e7403f9 |
|
04-Apr-2015 |
Jeff Sharkey <jsharkey@android.com> |
Parcelable objects for Disk/Volume. Will eventually be used by SystemUI and/or Settings. Also fix SettingsProvider NPE. Bug: 19993667, 19909433 Change-Id: Ie326849ac5f43ee35f728d9cc0e332b72292db70
/frameworks/base/core/java/android/os/storage/DiskInfo.java
|