Loading core/java/android/os/storage/DiskInfo.java +2 −0 Original line number Diff line number Diff line Loading @@ -40,6 +40,8 @@ public class DiskInfo implements Parcelable { "android.os.storage.action.DISK_SCANNED"; public static final String 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_DEFAULT_PRIMARY = 1 << 1; Loading core/java/android/os/storage/VolumeInfo.java +2 −0 Original line number Diff line number Diff line Loading @@ -55,6 +55,8 @@ public class VolumeInfo implements Parcelable { "android.os.storage.action.VOLUME_STATE_CHANGED"; public static final String 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 */ public static final String ID_PRIVATE_INTERNAL = "private"; Loading services/core/java/com/android/server/MountService.java +13 −8 Original line number Diff line number Diff line Loading @@ -991,9 +991,18 @@ class MountService extends IMountService.Stub } private void onDiskScannedLocked(DiskInfo disk) { int volumeCount = 0; for (int i = 0; i < mVolumes.size(); i++) { final VolumeInfo vol = mVolumes.valueAt(i); if (Objects.equals(disk.id, vol.getDiskId())) { volumeCount++; } } 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); Loading @@ -1002,14 +1011,6 @@ class MountService extends IMountService.Stub latch.countDown(); } int volumeCount = 0; for (int i = 0; i < mVolumes.size(); i++) { final VolumeInfo vol = mVolumes.valueAt(i); if (Objects.equals(disk.id, vol.getDiskId())) { volumeCount++; } } disk.volumeCount = volumeCount; mCallbacks.notifyDiskScanned(disk, volumeCount); } Loading Loading @@ -1061,6 +1062,7 @@ class MountService extends IMountService.Stub private boolean isBroadcastWorthy(VolumeInfo vol) { switch (vol.getType()) { case VolumeInfo.TYPE_PRIVATE: case VolumeInfo.TYPE_PUBLIC: case VolumeInfo.TYPE_EMULATED: break; Loading @@ -1073,6 +1075,7 @@ class MountService extends IMountService.Stub case VolumeInfo.STATE_MOUNTED_READ_ONLY: case VolumeInfo.STATE_EJECTING: case VolumeInfo.STATE_UNMOUNTED: case VolumeInfo.STATE_UNMOUNTABLE: break; default: return false; Loading @@ -1099,6 +1102,8 @@ class MountService extends IMountService.Stub if (isBroadcastWorthy(vol)) { 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); mContext.sendBroadcastAsUser(intent, UserHandle.ALL, android.Manifest.permission.WRITE_MEDIA_STORAGE); Loading Loading
core/java/android/os/storage/DiskInfo.java +2 −0 Original line number Diff line number Diff line Loading @@ -40,6 +40,8 @@ public class DiskInfo implements Parcelable { "android.os.storage.action.DISK_SCANNED"; public static final String 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_DEFAULT_PRIMARY = 1 << 1; Loading
core/java/android/os/storage/VolumeInfo.java +2 −0 Original line number Diff line number Diff line Loading @@ -55,6 +55,8 @@ public class VolumeInfo implements Parcelable { "android.os.storage.action.VOLUME_STATE_CHANGED"; public static final String 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 */ public static final String ID_PRIVATE_INTERNAL = "private"; Loading
services/core/java/com/android/server/MountService.java +13 −8 Original line number Diff line number Diff line Loading @@ -991,9 +991,18 @@ class MountService extends IMountService.Stub } private void onDiskScannedLocked(DiskInfo disk) { int volumeCount = 0; for (int i = 0; i < mVolumes.size(); i++) { final VolumeInfo vol = mVolumes.valueAt(i); if (Objects.equals(disk.id, vol.getDiskId())) { volumeCount++; } } 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); Loading @@ -1002,14 +1011,6 @@ class MountService extends IMountService.Stub latch.countDown(); } int volumeCount = 0; for (int i = 0; i < mVolumes.size(); i++) { final VolumeInfo vol = mVolumes.valueAt(i); if (Objects.equals(disk.id, vol.getDiskId())) { volumeCount++; } } disk.volumeCount = volumeCount; mCallbacks.notifyDiskScanned(disk, volumeCount); } Loading Loading @@ -1061,6 +1062,7 @@ class MountService extends IMountService.Stub private boolean isBroadcastWorthy(VolumeInfo vol) { switch (vol.getType()) { case VolumeInfo.TYPE_PRIVATE: case VolumeInfo.TYPE_PUBLIC: case VolumeInfo.TYPE_EMULATED: break; Loading @@ -1073,6 +1075,7 @@ class MountService extends IMountService.Stub case VolumeInfo.STATE_MOUNTED_READ_ONLY: case VolumeInfo.STATE_EJECTING: case VolumeInfo.STATE_UNMOUNTED: case VolumeInfo.STATE_UNMOUNTABLE: break; default: return false; Loading @@ -1099,6 +1102,8 @@ class MountService extends IMountService.Stub if (isBroadcastWorthy(vol)) { 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); mContext.sendBroadcastAsUser(intent, UserHandle.ALL, android.Manifest.permission.WRITE_MEDIA_STORAGE); Loading