public String[] getSecureContainerList() {
validatePermission(android.Manifest.permission.ASEC_ACCESS);
+ if (Environment.getExternalStorageState() != Environment.MEDIA_MOUNTED) {
+ Log.w(TAG, "getSecureContainerList() called when storage not mounted");
+ }
+
try {
return mConnector.doListCommand("asec list", VoldResponseCode.AsecListResult);
} catch (NativeDaemonConnectorException e) {
public int createSecureContainer(String id, int sizeMb, String fstype,
String key, int ownerUid) {
validatePermission(android.Manifest.permission.ASEC_CREATE);
+ if (Environment.getExternalStorageState() != Environment.MEDIA_MOUNTED) {
+ Log.w(TAG, "createSecureContainer() called when storage not mounted");
+ }
int rc = MountServiceResultCode.OperationSucceeded;
String cmd = String.format("asec create %s %d %s %s %d", id, sizeMb, fstype, key, ownerUid);
public int finalizeSecureContainer(String id) {
validatePermission(android.Manifest.permission.ASEC_CREATE);
+ if (Environment.getExternalStorageState() != Environment.MEDIA_MOUNTED) {
+ Log.w(TAG, "finalizeSecureContainer() called when storage not mounted");
+ }
int rc = MountServiceResultCode.OperationSucceeded;
try {
public int destroySecureContainer(String id) {
validatePermission(android.Manifest.permission.ASEC_DESTROY);
+ if (Environment.getExternalStorageState() != Environment.MEDIA_MOUNTED) {
+ Log.w(TAG, "destroySecureContainer() called when storage not mounted");
+ }
+
int rc = MountServiceResultCode.OperationSucceeded;
try {
mConnector.doCommand(String.format("asec destroy %s", id));
public int mountSecureContainer(String id, String key, int ownerUid) {
validatePermission(android.Manifest.permission.ASEC_MOUNT_UNMOUNT);
+ if (Environment.getExternalStorageState() != Environment.MEDIA_MOUNTED) {
+ Log.w(TAG, "mountSecureContainer() called when storage not mounted");
+ }
int rc = MountServiceResultCode.OperationSucceeded;
String cmd = String.format("asec mount %s %s %d", id, key, ownerUid);
public int unmountSecureContainer(String id) {
validatePermission(android.Manifest.permission.ASEC_MOUNT_UNMOUNT);
+ if (Environment.getExternalStorageState() != Environment.MEDIA_MOUNTED) {
+ Log.w(TAG, "unmountSecureContainer() called when storage not mounted");
+ }
int rc = MountServiceResultCode.OperationSucceeded;
String cmd = String.format("asec unmount %s", id);
public int renameSecureContainer(String oldId, String newId) {
validatePermission(android.Manifest.permission.ASEC_RENAME);
+ if (Environment.getExternalStorageState() != Environment.MEDIA_MOUNTED) {
+ Log.w(TAG, "renameSecureContainer() called when storage not mounted");
+ }
int rc = MountServiceResultCode.OperationSucceeded;
String cmd = String.format("asec rename %s %s", oldId, newId);
public String getSecureContainerPath(String id) {
validatePermission(android.Manifest.permission.ASEC_ACCESS);
+ if (Environment.getExternalStorageState() != Environment.MEDIA_MOUNTED) {
+ Log.w(TAG, "getSecureContainerPath() called when storage not mounted");
+ }
+
ArrayList<String> rsp = mConnector.doCommand("asec path " + id);
for (String line : rsp) {