Loading cmds/sm/src/com/android/commands/sm/Sm.java +18 −0 Original line number Original line Diff line number Diff line Loading @@ -74,6 +74,8 @@ public final class Sm { runGetPrimaryStorageUuid(); runGetPrimaryStorageUuid(); } else if ("set-force-adoptable".equals(op)) { } else if ("set-force-adoptable".equals(op)) { runSetForceAdoptable(); runSetForceAdoptable(); } else if ("set-sdcardfs".equals(op)) { runSetSdcardfs(); } else if ("partition".equals(op)) { } else if ("partition".equals(op)) { runPartition(); runPartition(); } else if ("mount".equals(op)) { } else if ("mount".equals(op)) { Loading Loading @@ -141,6 +143,22 @@ public final class Sm { StorageManager.DEBUG_FORCE_ADOPTABLE); StorageManager.DEBUG_FORCE_ADOPTABLE); } } public void runSetSdcardfs() throws RemoteException { final int mask = StorageManager.DEBUG_SDCARDFS_FORCE_ON | StorageManager.DEBUG_SDCARDFS_FORCE_OFF; switch (nextArg()) { case "on": mSm.setDebugFlags(StorageManager.DEBUG_SDCARDFS_FORCE_ON, mask); break; case "off": mSm.setDebugFlags(StorageManager.DEBUG_SDCARDFS_FORCE_OFF, mask); break; case "default": mSm.setDebugFlags(0, mask); break; } } public void runSetEmulateFbe() throws RemoteException { public void runSetEmulateFbe() throws RemoteException { final boolean emulateFbe = Boolean.parseBoolean(nextArg()); final boolean emulateFbe = Boolean.parseBoolean(nextArg()); mSm.setDebugFlags(emulateFbe ? StorageManager.DEBUG_EMULATE_FBE : 0, mSm.setDebugFlags(emulateFbe ? StorageManager.DEBUG_EMULATE_FBE : 0, Loading core/java/android/os/storage/StorageManager.java +6 −0 Original line number Original line Diff line number Diff line Loading @@ -83,6 +83,8 @@ public class StorageManager { public static final String PROP_FORCE_ADOPTABLE = "persist.fw.force_adoptable"; public static final String PROP_FORCE_ADOPTABLE = "persist.fw.force_adoptable"; /** {@hide} */ /** {@hide} */ public static final String PROP_EMULATE_FBE = "persist.sys.emulate_fbe"; public static final String PROP_EMULATE_FBE = "persist.sys.emulate_fbe"; /** {@hide} */ public static final String PROP_SDCARDFS = "persist.sys.sdcardfs"; /** {@hide} */ /** {@hide} */ public static final String UUID_PRIVATE_INTERNAL = null; public static final String UUID_PRIVATE_INTERNAL = null; Loading @@ -93,6 +95,10 @@ public class StorageManager { public static final int DEBUG_FORCE_ADOPTABLE = 1 << 0; public static final int DEBUG_FORCE_ADOPTABLE = 1 << 0; /** {@hide} */ /** {@hide} */ public static final int DEBUG_EMULATE_FBE = 1 << 1; public static final int DEBUG_EMULATE_FBE = 1 << 1; /** {@hide} */ public static final int DEBUG_SDCARDFS_FORCE_ON = 1 << 2; /** {@hide} */ public static final int DEBUG_SDCARDFS_FORCE_OFF = 1 << 3; // NOTE: keep in sync with installd // NOTE: keep in sync with installd /** {@hide} */ /** {@hide} */ Loading services/core/java/com/android/server/MountService.java +22 −0 Original line number Original line Diff line number Diff line Loading @@ -1984,6 +1984,28 @@ class MountService extends IMountService.Stub mHandler.obtainMessage(H_RESET).sendToTarget(); mHandler.obtainMessage(H_RESET).sendToTarget(); } } } } if ((mask & (StorageManager.DEBUG_SDCARDFS_FORCE_ON | StorageManager.DEBUG_SDCARDFS_FORCE_OFF)) != 0) { final String value; if ((flags & StorageManager.DEBUG_SDCARDFS_FORCE_ON) != 0) { value = "force_on"; } else if ((flags & StorageManager.DEBUG_SDCARDFS_FORCE_OFF) != 0) { value = "force_off"; } else { value = ""; } final long token = Binder.clearCallingIdentity(); try { SystemProperties.set(StorageManager.PROP_SDCARDFS, value); // Reset storage to kick new setting into place mHandler.obtainMessage(H_RESET).sendToTarget(); } finally { Binder.restoreCallingIdentity(token); } } } } @Override @Override Loading Loading
cmds/sm/src/com/android/commands/sm/Sm.java +18 −0 Original line number Original line Diff line number Diff line Loading @@ -74,6 +74,8 @@ public final class Sm { runGetPrimaryStorageUuid(); runGetPrimaryStorageUuid(); } else if ("set-force-adoptable".equals(op)) { } else if ("set-force-adoptable".equals(op)) { runSetForceAdoptable(); runSetForceAdoptable(); } else if ("set-sdcardfs".equals(op)) { runSetSdcardfs(); } else if ("partition".equals(op)) { } else if ("partition".equals(op)) { runPartition(); runPartition(); } else if ("mount".equals(op)) { } else if ("mount".equals(op)) { Loading Loading @@ -141,6 +143,22 @@ public final class Sm { StorageManager.DEBUG_FORCE_ADOPTABLE); StorageManager.DEBUG_FORCE_ADOPTABLE); } } public void runSetSdcardfs() throws RemoteException { final int mask = StorageManager.DEBUG_SDCARDFS_FORCE_ON | StorageManager.DEBUG_SDCARDFS_FORCE_OFF; switch (nextArg()) { case "on": mSm.setDebugFlags(StorageManager.DEBUG_SDCARDFS_FORCE_ON, mask); break; case "off": mSm.setDebugFlags(StorageManager.DEBUG_SDCARDFS_FORCE_OFF, mask); break; case "default": mSm.setDebugFlags(0, mask); break; } } public void runSetEmulateFbe() throws RemoteException { public void runSetEmulateFbe() throws RemoteException { final boolean emulateFbe = Boolean.parseBoolean(nextArg()); final boolean emulateFbe = Boolean.parseBoolean(nextArg()); mSm.setDebugFlags(emulateFbe ? StorageManager.DEBUG_EMULATE_FBE : 0, mSm.setDebugFlags(emulateFbe ? StorageManager.DEBUG_EMULATE_FBE : 0, Loading
core/java/android/os/storage/StorageManager.java +6 −0 Original line number Original line Diff line number Diff line Loading @@ -83,6 +83,8 @@ public class StorageManager { public static final String PROP_FORCE_ADOPTABLE = "persist.fw.force_adoptable"; public static final String PROP_FORCE_ADOPTABLE = "persist.fw.force_adoptable"; /** {@hide} */ /** {@hide} */ public static final String PROP_EMULATE_FBE = "persist.sys.emulate_fbe"; public static final String PROP_EMULATE_FBE = "persist.sys.emulate_fbe"; /** {@hide} */ public static final String PROP_SDCARDFS = "persist.sys.sdcardfs"; /** {@hide} */ /** {@hide} */ public static final String UUID_PRIVATE_INTERNAL = null; public static final String UUID_PRIVATE_INTERNAL = null; Loading @@ -93,6 +95,10 @@ public class StorageManager { public static final int DEBUG_FORCE_ADOPTABLE = 1 << 0; public static final int DEBUG_FORCE_ADOPTABLE = 1 << 0; /** {@hide} */ /** {@hide} */ public static final int DEBUG_EMULATE_FBE = 1 << 1; public static final int DEBUG_EMULATE_FBE = 1 << 1; /** {@hide} */ public static final int DEBUG_SDCARDFS_FORCE_ON = 1 << 2; /** {@hide} */ public static final int DEBUG_SDCARDFS_FORCE_OFF = 1 << 3; // NOTE: keep in sync with installd // NOTE: keep in sync with installd /** {@hide} */ /** {@hide} */ Loading
services/core/java/com/android/server/MountService.java +22 −0 Original line number Original line Diff line number Diff line Loading @@ -1984,6 +1984,28 @@ class MountService extends IMountService.Stub mHandler.obtainMessage(H_RESET).sendToTarget(); mHandler.obtainMessage(H_RESET).sendToTarget(); } } } } if ((mask & (StorageManager.DEBUG_SDCARDFS_FORCE_ON | StorageManager.DEBUG_SDCARDFS_FORCE_OFF)) != 0) { final String value; if ((flags & StorageManager.DEBUG_SDCARDFS_FORCE_ON) != 0) { value = "force_on"; } else if ((flags & StorageManager.DEBUG_SDCARDFS_FORCE_OFF) != 0) { value = "force_off"; } else { value = ""; } final long token = Binder.clearCallingIdentity(); try { SystemProperties.set(StorageManager.PROP_SDCARDFS, value); // Reset storage to kick new setting into place mHandler.obtainMessage(H_RESET).sendToTarget(); } finally { Binder.restoreCallingIdentity(token); } } } } @Override @Override Loading