am 1d04e6a6: Merge "More useful extras in disk/volume broadcasts." into mnc-dev

* commit '1d04e6a6cd06062483e22b387c6c1a615e4e5088':
  More useful extras in disk/volume broadcasts.
This commit is contained in:
Jeff Sharkey
2015-06-12 23:27:47 +00:00
committed by Android Git Automerger
3 changed files with 20 additions and 11 deletions

View File

@@ -40,6 +40,8 @@ public class DiskInfo implements Parcelable {
"android.os.storage.action.DISK_SCANNED"; "android.os.storage.action.DISK_SCANNED";
public static final String EXTRA_DISK_ID = public static final String EXTRA_DISK_ID =
"android.os.storage.extra.DISK_ID"; "android.os.storage.extra.DISK_ID";
public static final String EXTRA_VOLUME_COUNT =
"android.os.storage.extra.VOLUME_COUNT";
public static final int FLAG_ADOPTABLE = 1 << 0; public static final int FLAG_ADOPTABLE = 1 << 0;
public static final int FLAG_DEFAULT_PRIMARY = 1 << 1; public static final int FLAG_DEFAULT_PRIMARY = 1 << 1;

View File

@@ -55,6 +55,8 @@ public class VolumeInfo implements Parcelable {
"android.os.storage.action.VOLUME_STATE_CHANGED"; "android.os.storage.action.VOLUME_STATE_CHANGED";
public static final String EXTRA_VOLUME_ID = public static final String EXTRA_VOLUME_ID =
"android.os.storage.extra.VOLUME_ID"; "android.os.storage.extra.VOLUME_ID";
public static final String EXTRA_VOLUME_STATE =
"android.os.storage.extra.VOLUME_STATE";
/** Stub volume representing internal private storage */ /** Stub volume representing internal private storage */
public static final String ID_PRIVATE_INTERNAL = "private"; public static final String ID_PRIVATE_INTERNAL = "private";

View File

@@ -991,17 +991,6 @@ class MountService extends IMountService.Stub
} }
private void onDiskScannedLocked(DiskInfo disk) { private void onDiskScannedLocked(DiskInfo disk) {
final Intent intent = new Intent(DiskInfo.ACTION_DISK_SCANNED);
intent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT);
intent.putExtra(DiskInfo.EXTRA_DISK_ID, disk.id);
mContext.sendBroadcastAsUser(intent, UserHandle.ALL,
android.Manifest.permission.WRITE_MEDIA_STORAGE);
final CountDownLatch latch = mDiskScanLatches.remove(disk.id);
if (latch != null) {
latch.countDown();
}
int volumeCount = 0; int volumeCount = 0;
for (int i = 0; i < mVolumes.size(); i++) { for (int i = 0; i < mVolumes.size(); i++) {
final VolumeInfo vol = mVolumes.valueAt(i); final VolumeInfo vol = mVolumes.valueAt(i);
@@ -1010,6 +999,18 @@ class MountService extends IMountService.Stub
} }
} }
final Intent intent = new Intent(DiskInfo.ACTION_DISK_SCANNED);
intent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT);
intent.putExtra(DiskInfo.EXTRA_DISK_ID, disk.id);
intent.putExtra(DiskInfo.EXTRA_VOLUME_COUNT, volumeCount);
mContext.sendBroadcastAsUser(intent, UserHandle.ALL,
android.Manifest.permission.WRITE_MEDIA_STORAGE);
final CountDownLatch latch = mDiskScanLatches.remove(disk.id);
if (latch != null) {
latch.countDown();
}
disk.volumeCount = volumeCount; disk.volumeCount = volumeCount;
mCallbacks.notifyDiskScanned(disk, volumeCount); mCallbacks.notifyDiskScanned(disk, volumeCount);
} }
@@ -1061,6 +1062,7 @@ class MountService extends IMountService.Stub
private boolean isBroadcastWorthy(VolumeInfo vol) { private boolean isBroadcastWorthy(VolumeInfo vol) {
switch (vol.getType()) { switch (vol.getType()) {
case VolumeInfo.TYPE_PRIVATE:
case VolumeInfo.TYPE_PUBLIC: case VolumeInfo.TYPE_PUBLIC:
case VolumeInfo.TYPE_EMULATED: case VolumeInfo.TYPE_EMULATED:
break; break;
@@ -1073,6 +1075,7 @@ class MountService extends IMountService.Stub
case VolumeInfo.STATE_MOUNTED_READ_ONLY: case VolumeInfo.STATE_MOUNTED_READ_ONLY:
case VolumeInfo.STATE_EJECTING: case VolumeInfo.STATE_EJECTING:
case VolumeInfo.STATE_UNMOUNTED: case VolumeInfo.STATE_UNMOUNTED:
case VolumeInfo.STATE_UNMOUNTABLE:
break; break;
default: default:
return false; return false;
@@ -1099,6 +1102,8 @@ class MountService extends IMountService.Stub
if (isBroadcastWorthy(vol)) { if (isBroadcastWorthy(vol)) {
final Intent intent = new Intent(VolumeInfo.ACTION_VOLUME_STATE_CHANGED); final Intent intent = new Intent(VolumeInfo.ACTION_VOLUME_STATE_CHANGED);
intent.putExtra(VolumeInfo.EXTRA_VOLUME_ID, vol.id);
intent.putExtra(VolumeInfo.EXTRA_VOLUME_STATE, newState);
intent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT); intent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT);
mContext.sendBroadcastAsUser(intent, UserHandle.ALL, mContext.sendBroadcastAsUser(intent, UserHandle.ALL,
android.Manifest.permission.WRITE_MEDIA_STORAGE); android.Manifest.permission.WRITE_MEDIA_STORAGE);