Move "volume" commands over to Binder.
Keep the old socket-based commands intact for awhile so we can
rapidly disable this change using the ENABLE_BINDER feature flag.
Define constants in AIDL to keep Java and C++ in sync.
Test: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.ExternalStorageHostTest
Test: cts-tradefed run commandAndExit cts-dev --abi armeabi-v7a -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.AdoptableHostTest
Bug: 13758960
Change-Id: Ie0d917c921b0b826e6bdf55a5d678b247ef352a6
diff --git a/core/java/android/os/storage/VolumeInfo.java b/core/java/android/os/storage/VolumeInfo.java
index a21e05e..b8353d7 100644
--- a/core/java/android/os/storage/VolumeInfo.java
+++ b/core/java/android/os/storage/VolumeInfo.java
@@ -23,6 +23,7 @@
import android.content.res.Resources;
import android.net.Uri;
import android.os.Environment;
+import android.os.IVold;
import android.os.Parcel;
import android.os.Parcelable;
import android.os.UserHandle;
@@ -75,24 +76,24 @@
/** Real volume representing internal emulated storage */
public static final String ID_EMULATED_INTERNAL = "emulated";
- public static final int TYPE_PUBLIC = 0;
- public static final int TYPE_PRIVATE = 1;
- public static final int TYPE_EMULATED = 2;
- public static final int TYPE_ASEC = 3;
- public static final int TYPE_OBB = 4;
+ public static final int TYPE_PUBLIC = IVold.TYPE_PUBLIC;
+ public static final int TYPE_PRIVATE = IVold.TYPE_PRIVATE;
+ public static final int TYPE_EMULATED = IVold.TYPE_EMULATED;
+ public static final int TYPE_ASEC = IVold.TYPE_ASEC;
+ public static final int TYPE_OBB = IVold.TYPE_OBB;
- public static final int STATE_UNMOUNTED = 0;
- public static final int STATE_CHECKING = 1;
- public static final int STATE_MOUNTED = 2;
- public static final int STATE_MOUNTED_READ_ONLY = 3;
- public static final int STATE_FORMATTING = 4;
- public static final int STATE_EJECTING = 5;
- public static final int STATE_UNMOUNTABLE = 6;
- public static final int STATE_REMOVED = 7;
- public static final int STATE_BAD_REMOVAL = 8;
+ public static final int STATE_UNMOUNTED = IVold.STATE_UNMOUNTED;
+ public static final int STATE_CHECKING = IVold.STATE_CHECKING;
+ public static final int STATE_MOUNTED = IVold.STATE_MOUNTED;
+ public static final int STATE_MOUNTED_READ_ONLY = IVold.STATE_MOUNTED_READ_ONLY;
+ public static final int STATE_FORMATTING = IVold.STATE_FORMATTING;
+ public static final int STATE_EJECTING = IVold.STATE_EJECTING;
+ public static final int STATE_UNMOUNTABLE = IVold.STATE_UNMOUNTABLE;
+ public static final int STATE_REMOVED = IVold.STATE_REMOVED;
+ public static final int STATE_BAD_REMOVAL = IVold.STATE_BAD_REMOVAL;
- public static final int MOUNT_FLAG_PRIMARY = 1 << 0;
- public static final int MOUNT_FLAG_VISIBLE = 1 << 1;
+ public static final int MOUNT_FLAG_PRIMARY = IVold.MOUNT_FLAG_PRIMARY;
+ public static final int MOUNT_FLAG_VISIBLE = IVold.MOUNT_FLAG_VISIBLE;
private static SparseArray<String> sStateToEnvironment = new SparseArray<>();
private static ArrayMap<String, String> sEnvironmentToBroadcast = new ArrayMap<>();
diff --git a/core/java/com/android/internal/os/Zygote.java b/core/java/com/android/internal/os/Zygote.java
index a9350db..4e4b5b8 100644
--- a/core/java/com/android/internal/os/Zygote.java
+++ b/core/java/com/android/internal/os/Zygote.java
@@ -16,14 +16,12 @@
package com.android.internal.os;
-
+import android.os.IVold;
import android.os.Trace;
-import dalvik.system.ZygoteHooks;
import android.system.ErrnoException;
import android.system.Os;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
+import dalvik.system.ZygoteHooks;
/** @hide */
public final class Zygote {
@@ -52,13 +50,13 @@
public static final int DEBUG_JAVA_DEBUGGABLE = 1 << 8;
/** No external storage should be mounted. */
- public static final int MOUNT_EXTERNAL_NONE = 0;
+ public static final int MOUNT_EXTERNAL_NONE = IVold.REMOUNT_MODE_NONE;
/** Default external storage should be mounted. */
- public static final int MOUNT_EXTERNAL_DEFAULT = 1;
+ public static final int MOUNT_EXTERNAL_DEFAULT = IVold.REMOUNT_MODE_DEFAULT;
/** Read-only external storage should be mounted. */
- public static final int MOUNT_EXTERNAL_READ = 2;
+ public static final int MOUNT_EXTERNAL_READ = IVold.REMOUNT_MODE_READ;
/** Read-write external storage should be mounted. */
- public static final int MOUNT_EXTERNAL_WRITE = 3;
+ public static final int MOUNT_EXTERNAL_WRITE = IVold.REMOUNT_MODE_WRITE;
private static final ZygoteHooks VM_HOOKS = new ZygoteHooks();