MountService: Send ACTION_MEDIA_UNSHARED Intent a volume is no longer shared via UMS.

Change-Id: I21c887ae76eccabcc5d8449aa0a38e98758e8958
Signed-off-by: Mike Lockwood <lockwood@android.com>
This commit is contained in:
Mike Lockwood
2010-03-03 06:16:52 -05:00
parent c018f3cfdd
commit bf2dd44a6f
2 changed files with 14 additions and 1 deletions

View File

@@ -1632,11 +1632,19 @@ public class Intent implements Parcelable, Cloneable {
/**
* Broadcast Action: External media is unmounted because it is being shared via USB mass storage.
* The path to the mount point for the removed media is contained in the Intent.mData field.
* The path to the mount point for the shared media is contained in the Intent.mData field.
*/
@SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION)
public static final String ACTION_MEDIA_SHARED = "android.intent.action.MEDIA_SHARED";
/**
* Broadcast Action: External media is no longer being shared via USB mass storage.
* The path to the mount point for the previously shared media is contained in the Intent.mData field.
*
* @hide
*/
public static final String ACTION_MEDIA_UNSHARED = "android.intent.action.MEDIA_UNSHARED";
/**
* Broadcast Action: External media was removed from SD card slot, but mount point was not unmounted.
* The path to the mount point for the removed media is contained in the Intent.mData field.

View File

@@ -523,6 +523,11 @@ class MountService extends IMountService.Stub
Intent in = null;
if (oldState == VolumeState.Shared && newState != oldState) {
mContext.sendBroadcast(new Intent(Intent.ACTION_MEDIA_UNSHARED,
Uri.parse("file://" + path)));
}
if (newState == VolumeState.Init) {
} else if (newState == VolumeState.NoMedia) {
// NoMedia is handled via Disk Remove events