diff --git a/core/java/android/os/storage/StorageManager.java b/core/java/android/os/storage/StorageManager.java index 5b9205d168985..351462f8d68e8 100644 --- a/core/java/android/os/storage/StorageManager.java +++ b/core/java/android/os/storage/StorageManager.java @@ -153,6 +153,11 @@ public class StorageManager { public static final String PROP_ISOLATED_STORAGE = "persist.sys.isolated_storage"; /** {@hide} */ public static final String PROP_ISOLATED_STORAGE_SNAPSHOT = "sys.isolated_storage_snapshot"; + /** {@hide} */ + public static final String PROP_FUSE = "persist.sys.fuse"; + /** {@hide} */ + public static final String PROP_FUSE_SNAPSHOT = "sys.fuse_snapshot"; + /** {@hide} */ public static final String UUID_PRIVATE_INTERNAL = null; diff --git a/services/core/java/com/android/server/StorageManagerService.java b/services/core/java/com/android/server/StorageManagerService.java index f70d511759f09..34111a92b66ea 100644 --- a/services/core/java/com/android/server/StorageManagerService.java +++ b/services/core/java/com/android/server/StorageManagerService.java @@ -197,7 +197,7 @@ class StorageManagerService extends IStorageManager.Stub "persist.sys.zram_enabled"; private static final boolean IS_FUSE_ENABLED = - SystemProperties.getBoolean("persist.sys.fuse", false); + SystemProperties.getBoolean(StorageManager.PROP_FUSE, false); private static final boolean ENABLE_ISOLATED_STORAGE = StorageManager.hasIsolatedStorage(); @@ -1526,6 +1526,9 @@ class StorageManagerService extends IStorageManager.Stub SystemProperties.set(StorageManager.PROP_ISOLATED_STORAGE_SNAPSHOT, Boolean.toString( SystemProperties.getBoolean(StorageManager.PROP_ISOLATED_STORAGE, true))); + SystemProperties.set(StorageManager.PROP_FUSE_SNAPSHOT, Boolean.toString( + SystemProperties.getBoolean(StorageManager.PROP_FUSE, false))); + mContext = context; mResolver = mContext.getContentResolver(); @@ -1858,7 +1861,7 @@ class StorageManagerService extends IStorageManager.Stub // This means the mountUserId on such volumes is USER_NULL. This breaks fuse which // requires a valid user to mount a volume. Create individual volumes per user in vold // and remove this property check - int userId = SystemProperties.getBoolean("persist.sys.fuse", false) + int userId = SystemProperties.getBoolean(StorageManager.PROP_FUSE_SNAPSHOT, false) ? mCurrentUserId : vol.mountUserId; return mVold.mount(vol.id, vol.mountFlags, userId); } catch (Exception e) {