Loading core/java/android/os/image/DynamicSystemManager.java +12 −0 Original line number Diff line number Diff line Loading @@ -285,4 +285,16 @@ public class DynamicSystemManager { throw new RuntimeException(e.toString()); } } /** * Returns the active DSU slot */ @RequiresPermission(android.Manifest.permission.MANAGE_DYNAMIC_SYSTEM) public String getActiveDsuSlot() { try { return mService.getActiveDsuSlot(); } catch (RemoteException e) { throw new RuntimeException(e.toString()); } } } core/java/android/os/image/IDynamicSystemService.aidl +6 −0 Original line number Diff line number Diff line Loading @@ -145,4 +145,10 @@ interface IDynamicSystemService */ @EnforcePermission("MANAGE_DYNAMIC_SYSTEM") long suggestScratchSize(); /** * Get the active DSU slot */ @EnforcePermission("MANAGE_DYNAMIC_SYSTEM") String getActiveDsuSlot(); } packages/DynamicSystemInstallationService/src/com/android/dynsystem/DynamicSystemInstallationService.java +4 −1 Original line number Diff line number Diff line Loading @@ -423,7 +423,10 @@ public class DynamicSystemInstallationService extends Service Log.e(TAG, "It's already running in normal system."); return; } if (mDynSystem.getActiveDsuSlot().endsWith(".lock")) { Log.e(TAG, "Ignore the reboot intent for a locked DSU slot"); return; } if (!mDynSystem.setEnable(/* enable = */ false, /* oneShot = */ false)) { Log.e(TAG, "Failed to disable DynamicSystem."); Loading services/core/java/com/android/server/DynamicSystemService.java +12 −3 Original line number Diff line number Diff line Loading @@ -226,9 +226,7 @@ public class DynamicSystemService extends IDynamicSystemService.Stub { IGsiService gsiService = getGsiService(); if (enable) { try { if (mDsuSlot == null) { mDsuSlot = gsiService.getActiveDsuSlot(); } getActiveDsuSlot(); GsiServiceCallback callback = new GsiServiceCallback(); synchronized (callback) { gsiService.enableGsiAsync(oneShot, mDsuSlot, callback); Loading Loading @@ -287,4 +285,15 @@ public class DynamicSystemService extends IDynamicSystemService.Stub { return getGsiService().suggestScratchSize(); } @Override @EnforcePermission(android.Manifest.permission.MANAGE_DYNAMIC_SYSTEM) public String getActiveDsuSlot() throws RemoteException { super.getActiveDsuSlot_enforcePermission(); if (mDsuSlot == null) { mDsuSlot = getGsiService().getActiveDsuSlot(); } return mDsuSlot; } } Loading
core/java/android/os/image/DynamicSystemManager.java +12 −0 Original line number Diff line number Diff line Loading @@ -285,4 +285,16 @@ public class DynamicSystemManager { throw new RuntimeException(e.toString()); } } /** * Returns the active DSU slot */ @RequiresPermission(android.Manifest.permission.MANAGE_DYNAMIC_SYSTEM) public String getActiveDsuSlot() { try { return mService.getActiveDsuSlot(); } catch (RemoteException e) { throw new RuntimeException(e.toString()); } } }
core/java/android/os/image/IDynamicSystemService.aidl +6 −0 Original line number Diff line number Diff line Loading @@ -145,4 +145,10 @@ interface IDynamicSystemService */ @EnforcePermission("MANAGE_DYNAMIC_SYSTEM") long suggestScratchSize(); /** * Get the active DSU slot */ @EnforcePermission("MANAGE_DYNAMIC_SYSTEM") String getActiveDsuSlot(); }
packages/DynamicSystemInstallationService/src/com/android/dynsystem/DynamicSystemInstallationService.java +4 −1 Original line number Diff line number Diff line Loading @@ -423,7 +423,10 @@ public class DynamicSystemInstallationService extends Service Log.e(TAG, "It's already running in normal system."); return; } if (mDynSystem.getActiveDsuSlot().endsWith(".lock")) { Log.e(TAG, "Ignore the reboot intent for a locked DSU slot"); return; } if (!mDynSystem.setEnable(/* enable = */ false, /* oneShot = */ false)) { Log.e(TAG, "Failed to disable DynamicSystem."); Loading
services/core/java/com/android/server/DynamicSystemService.java +12 −3 Original line number Diff line number Diff line Loading @@ -226,9 +226,7 @@ public class DynamicSystemService extends IDynamicSystemService.Stub { IGsiService gsiService = getGsiService(); if (enable) { try { if (mDsuSlot == null) { mDsuSlot = gsiService.getActiveDsuSlot(); } getActiveDsuSlot(); GsiServiceCallback callback = new GsiServiceCallback(); synchronized (callback) { gsiService.enableGsiAsync(oneShot, mDsuSlot, callback); Loading Loading @@ -287,4 +285,15 @@ public class DynamicSystemService extends IDynamicSystemService.Stub { return getGsiService().suggestScratchSize(); } @Override @EnforcePermission(android.Manifest.permission.MANAGE_DYNAMIC_SYSTEM) public String getActiveDsuSlot() throws RemoteException { super.getActiveDsuSlot_enforcePermission(); if (mDsuSlot == null) { mDsuSlot = getGsiService().getActiveDsuSlot(); } return mDsuSlot; } }