Loading core/java/android/os/image/DynamicSystemClient.java +17 −31 Original line number Diff line number Diff line Loading @@ -35,8 +35,6 @@ import android.os.Message; import android.os.Messenger; import android.os.ParcelableException; import android.os.RemoteException; import android.os.SystemProperties; import android.util.FeatureFlagUtils; import android.util.Slog; import java.lang.annotation.Retention; Loading Loading @@ -251,13 +249,7 @@ public class DynamicSystemClient { mService.send(msg); } catch (RemoteException e) { Slog.e(TAG, "Unable to get status from installation service"); if (mExecutor != null) { mExecutor.execute(() -> { mListener.onStatusChanged(STATUS_UNKNOWN, CAUSE_ERROR_IPC, 0, e); }); } else { mListener.onStatusChanged(STATUS_UNKNOWN, CAUSE_ERROR_IPC, 0, e); } notifyOnStatusChangedListener(STATUS_UNKNOWN, CAUSE_ERROR_IPC, 0, e); } } Loading Loading @@ -311,6 +303,20 @@ public class DynamicSystemClient { mExecutor = null; } private void notifyOnStatusChangedListener( int status, int cause, long progress, Throwable detail) { if (mListener != null) { if (mExecutor != null) { mExecutor.execute( () -> { mListener.onStatusChanged(status, cause, progress, detail); }); } else { mListener.onStatusChanged(status, cause, progress, detail); } } } /** * Bind to {@code DynamicSystem} installation service. Binding to the installation service * allows it to send status updates to {@link #OnStatusChangedListener}. It is recommanded Loading @@ -320,11 +326,6 @@ public class DynamicSystemClient { @RequiresPermission(android.Manifest.permission.INSTALL_DYNAMIC_SYSTEM) @SystemApi public void bind() { if (!featureFlagEnabled()) { Slog.w(TAG, FeatureFlagUtils.DYNAMIC_SYSTEM + " not enabled; bind() aborted."); return; } Intent intent = new Intent(); intent.setClassName("com.android.dynsystem", "com.android.dynsystem.DynamicSystemInstallationService"); Loading Loading @@ -395,11 +396,6 @@ public class DynamicSystemClient { @RequiresPermission(android.Manifest.permission.INSTALL_DYNAMIC_SYSTEM) public void start(@NonNull Uri systemUrl, @BytesLong long systemSize, @BytesLong long userdataSize) { if (!featureFlagEnabled()) { Slog.w(TAG, FeatureFlagUtils.DYNAMIC_SYSTEM + " not enabled; start() aborted."); return; } Intent intent = new Intent(); intent.setClassName("com.android.dynsystem", Loading @@ -407,6 +403,7 @@ public class DynamicSystemClient { intent.setData(systemUrl); intent.setAction(ACTION_START_INSTALL); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.putExtra(KEY_SYSTEM_SIZE, systemSize); intent.putExtra(KEY_USERDATA_SIZE, userdataSize); Loading @@ -414,11 +411,6 @@ public class DynamicSystemClient { mContext.startActivity(intent); } private boolean featureFlagEnabled() { return SystemProperties.getBoolean( FeatureFlagUtils.PERSIST_PREFIX + FeatureFlagUtils.DYNAMIC_SYSTEM, false); } private void handleMessage(Message msg) { switch (msg.what) { case MSG_POST_STATUS: Loading @@ -432,13 +424,7 @@ public class DynamicSystemClient { Throwable detail = t == null ? null : t.getCause(); if (mExecutor != null) { mExecutor.execute(() -> { mListener.onStatusChanged(status, cause, progress, detail); }); } else { mListener.onStatusChanged(status, cause, progress, detail); } notifyOnStatusChangedListener(status, cause, progress, detail); break; default: // do nothing Loading Loading
core/java/android/os/image/DynamicSystemClient.java +17 −31 Original line number Diff line number Diff line Loading @@ -35,8 +35,6 @@ import android.os.Message; import android.os.Messenger; import android.os.ParcelableException; import android.os.RemoteException; import android.os.SystemProperties; import android.util.FeatureFlagUtils; import android.util.Slog; import java.lang.annotation.Retention; Loading Loading @@ -251,13 +249,7 @@ public class DynamicSystemClient { mService.send(msg); } catch (RemoteException e) { Slog.e(TAG, "Unable to get status from installation service"); if (mExecutor != null) { mExecutor.execute(() -> { mListener.onStatusChanged(STATUS_UNKNOWN, CAUSE_ERROR_IPC, 0, e); }); } else { mListener.onStatusChanged(STATUS_UNKNOWN, CAUSE_ERROR_IPC, 0, e); } notifyOnStatusChangedListener(STATUS_UNKNOWN, CAUSE_ERROR_IPC, 0, e); } } Loading Loading @@ -311,6 +303,20 @@ public class DynamicSystemClient { mExecutor = null; } private void notifyOnStatusChangedListener( int status, int cause, long progress, Throwable detail) { if (mListener != null) { if (mExecutor != null) { mExecutor.execute( () -> { mListener.onStatusChanged(status, cause, progress, detail); }); } else { mListener.onStatusChanged(status, cause, progress, detail); } } } /** * Bind to {@code DynamicSystem} installation service. Binding to the installation service * allows it to send status updates to {@link #OnStatusChangedListener}. It is recommanded Loading @@ -320,11 +326,6 @@ public class DynamicSystemClient { @RequiresPermission(android.Manifest.permission.INSTALL_DYNAMIC_SYSTEM) @SystemApi public void bind() { if (!featureFlagEnabled()) { Slog.w(TAG, FeatureFlagUtils.DYNAMIC_SYSTEM + " not enabled; bind() aborted."); return; } Intent intent = new Intent(); intent.setClassName("com.android.dynsystem", "com.android.dynsystem.DynamicSystemInstallationService"); Loading Loading @@ -395,11 +396,6 @@ public class DynamicSystemClient { @RequiresPermission(android.Manifest.permission.INSTALL_DYNAMIC_SYSTEM) public void start(@NonNull Uri systemUrl, @BytesLong long systemSize, @BytesLong long userdataSize) { if (!featureFlagEnabled()) { Slog.w(TAG, FeatureFlagUtils.DYNAMIC_SYSTEM + " not enabled; start() aborted."); return; } Intent intent = new Intent(); intent.setClassName("com.android.dynsystem", Loading @@ -407,6 +403,7 @@ public class DynamicSystemClient { intent.setData(systemUrl); intent.setAction(ACTION_START_INSTALL); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.putExtra(KEY_SYSTEM_SIZE, systemSize); intent.putExtra(KEY_USERDATA_SIZE, userdataSize); Loading @@ -414,11 +411,6 @@ public class DynamicSystemClient { mContext.startActivity(intent); } private boolean featureFlagEnabled() { return SystemProperties.getBoolean( FeatureFlagUtils.PERSIST_PREFIX + FeatureFlagUtils.DYNAMIC_SYSTEM, false); } private void handleMessage(Message msg) { switch (msg.what) { case MSG_POST_STATUS: Loading @@ -432,13 +424,7 @@ public class DynamicSystemClient { Throwable detail = t == null ? null : t.getCause(); if (mExecutor != null) { mExecutor.execute(() -> { mListener.onStatusChanged(status, cause, progress, detail); }); } else { mListener.onStatusChanged(status, cause, progress, detail); } notifyOnStatusChangedListener(status, cause, progress, detail); break; default: // do nothing Loading