summaryrefslogtreecommitdiffstats
path: root/core/java
diff options
context:
space:
mode:
Diffstat (limited to 'core/java')
-rw-r--r--core/java/android/os/storage/IMountService.java29
-rw-r--r--core/java/android/os/storage/StorageManager.java26
-rw-r--r--core/java/android/provider/MediaStore.java7
-rw-r--r--core/java/android/webkit/HTML5VideoViewProxy.java4
4 files changed, 65 insertions, 1 deletions
diff --git a/core/java/android/os/storage/IMountService.java b/core/java/android/os/storage/IMountService.java
index 4c83515..27da3c3 100644
--- a/core/java/android/os/storage/IMountService.java
+++ b/core/java/android/os/storage/IMountService.java
@@ -637,6 +637,22 @@ public interface IMountService extends IInterface {
}
return _result;
}
+
+ public String[] getVolumeList() throws RemoteException {
+ Parcel _data = Parcel.obtain();
+ Parcel _reply = Parcel.obtain();
+ String[] _result;
+ try {
+ _data.writeInterfaceToken(DESCRIPTOR);
+ mRemote.transact(Stub.TRANSACTION_getVolumeList, _data, _reply, 0);
+ _reply.readException();
+ _result = _reply.readStringArray();
+ } finally {
+ _reply.recycle();
+ _data.recycle();
+ }
+ return _result;
+ }
}
private static final String DESCRIPTOR = "IMountService";
@@ -699,6 +715,8 @@ public interface IMountService extends IInterface {
static final int TRANSACTION_changeEncryptionPassword = IBinder.FIRST_CALL_TRANSACTION + 28;
+ static final int TRANSACTION_getVolumeList = IBinder.FIRST_CALL_TRANSACTION + 29;
+
/**
* Cast an IBinder object into an IMountService interface, generating a
* proxy if needed.
@@ -1004,6 +1022,13 @@ public interface IMountService extends IInterface {
reply.writeInt(result);
return true;
}
+ case TRANSACTION_getVolumeList: {
+ data.enforceInterface(DESCRIPTOR);
+ String[] result = getVolumeList();
+ reply.writeNoException();
+ reply.writeStringArray(result);
+ return true;
+ }
}
return super.onTransact(code, data, reply, flags);
}
@@ -1179,4 +1204,8 @@ public interface IMountService extends IInterface {
*/
public int changeEncryptionPassword(String password) throws RemoteException;
+ /**
+ * Returns list of all mountable volumes.
+ */
+ public String[] getVolumeList() throws RemoteException;
}
diff --git a/core/java/android/os/storage/StorageManager.java b/core/java/android/os/storage/StorageManager.java
index 73ac79f..234057b 100644
--- a/core/java/android/os/storage/StorageManager.java
+++ b/core/java/android/os/storage/StorageManager.java
@@ -527,4 +527,30 @@ public class StorageManager
return null;
}
+
+ /**
+ * Gets the state of a volume via its mountpoint.
+ * @hide
+ */
+ public String getVolumeState(String mountPoint) {
+ try {
+ return mMountService.getVolumeState(mountPoint);
+ } catch (RemoteException e) {
+ Log.e(TAG, "Failed to get volume state", e);
+ return null;
+ }
+ }
+
+ /**
+ * Returns list of all mountable volumes.
+ * @hide
+ */
+ public String[] getVolumeList() {
+ try {
+ return mMountService.getVolumeList();
+ } catch (RemoteException e) {
+ Log.e(TAG, "Failed to get volume list", e);
+ return null;
+ }
+ }
}
diff --git a/core/java/android/provider/MediaStore.java b/core/java/android/provider/MediaStore.java
index b59421e..c9b2f97 100644
--- a/core/java/android/provider/MediaStore.java
+++ b/core/java/android/provider/MediaStore.java
@@ -344,6 +344,13 @@ public final class MediaStore {
*/
public interface FileColumns extends MediaColumns {
/**
+ * The MTP storage ID of the file
+ * <P>Type: INTEGER</P>
+ * @hide
+ */
+ public static final String STORAGE_ID = "storage_id";
+
+ /**
* The MTP format code of the file
* <P>Type: INTEGER</P>
* @hide
diff --git a/core/java/android/webkit/HTML5VideoViewProxy.java b/core/java/android/webkit/HTML5VideoViewProxy.java
index 060c0bb..d1b8cfc 100644
--- a/core/java/android/webkit/HTML5VideoViewProxy.java
+++ b/core/java/android/webkit/HTML5VideoViewProxy.java
@@ -184,7 +184,9 @@ class HTML5VideoViewProxy extends Handler
// we need to pause the old one and re-create a new media player
// inside the HTML5VideoView.
if (mHTML5VideoView != null) {
- mHTML5VideoView.pauseAndDispatch(mCurrentProxy);
+ if (!backFromFullScreenMode) {
+ mHTML5VideoView.pauseAndDispatch(mCurrentProxy);
+ }
// release the media player to avoid finalize error
mHTML5VideoView.release();
}