Loading core/proto/android/companion/task_continuity_message.proto +1 −2 Original line number Diff line number Diff line Loading @@ -33,8 +33,7 @@ message TaskContinuityMessage { } message ContinuityDeviceConnected { int32 currentForegroundTaskId = 1; repeated RemoteTaskInfo remoteTasks = 2; repeated RemoteTaskInfo remoteTasks = 1; } message RemoteTaskAddedMessage { Loading services/companion/java/com/android/server/companion/datatransfer/continuity/TaskBroadcaster.java +2 −7 Original line number Diff line number Diff line Loading @@ -179,11 +179,6 @@ class TaskBroadcaster List<ActivityManager.RunningTaskInfo> runningTasks = getRunningTasks(); int currentForegroundTaskId = -1; if (runningTasks.size() > 0) { currentForegroundTaskId = runningTasks.get(0).taskId; } List<RemoteTaskInfo> remoteTasks = new ArrayList<>(); for (ActivityManager.RunningTaskInfo taskInfo : runningTasks) { RemoteTaskInfo remoteTaskInfo = createRemoteTaskInfo(taskInfo); Loading @@ -194,8 +189,8 @@ class TaskBroadcaster } } ContinuityDeviceConnected deviceConnectedMessage = new ContinuityDeviceConnected(currentForegroundTaskId, remoteTasks); ContinuityDeviceConnected deviceConnectedMessage = new ContinuityDeviceConnected(remoteTasks); sendMessage(associationId, deviceConnectedMessage); } Loading services/companion/java/com/android/server/companion/datatransfer/continuity/TaskContinuityManagerService.java +3 −3 Original line number Diff line number Diff line Loading @@ -128,12 +128,12 @@ public final class TaskContinuityManagerService extends SystemService { case ContinuityDeviceConnected continuityDeviceConnected: mRemoteTaskStore.setTasks( associationId, continuityDeviceConnected.getRemoteTasks()); continuityDeviceConnected.remoteTasks()); break; case RemoteTaskAddedMessage remoteTaskAddedMessage: mRemoteTaskStore.addTask( associationId, remoteTaskAddedMessage.getTask()); remoteTaskAddedMessage.task()); break; case RemoteTaskRemovedMessage remoteTaskRemovedMessage: mRemoteTaskStore.removeTask( Loading @@ -143,7 +143,7 @@ public final class TaskContinuityManagerService extends SystemService { case RemoteTaskUpdatedMessage remoteTaskUpdatedMessage: mRemoteTaskStore.updateTask( associationId, remoteTaskUpdatedMessage.getTask()); remoteTaskUpdatedMessage.task()); break; case HandoffRequestResultMessage handoffRequestResultMessage: mOutboundHandoffRequestController.onHandoffRequestResultMessageReceived( Loading services/companion/java/com/android/server/companion/datatransfer/continuity/messages/ContinuityDeviceConnected.java +5 −41 Original line number Diff line number Diff line Loading @@ -26,32 +26,14 @@ import java.util.List; /** * Deserialized version of the {@link ContinuityDeviceConnected} proto. */ public class ContinuityDeviceConnected implements TaskContinuityMessageData { public record ContinuityDeviceConnected( List<RemoteTaskInfo> remoteTasks) implements TaskContinuityMessageData { private int mCurrentForegroundTaskId = 0; private List<RemoteTaskInfo> mRemoteTasks; public static ContinuityDeviceConnected readFromProto(ProtoInputStream pis) throws IOException { public ContinuityDeviceConnected( int currentForegroundTaskId, List<RemoteTaskInfo> remoteTasks) { mCurrentForegroundTaskId = currentForegroundTaskId; mRemoteTasks = remoteTasks; } static ContinuityDeviceConnected readFromProto(ProtoInputStream pis) throws IOException { int currentForegroundTaskId = 0; List<RemoteTaskInfo> remoteTasks = new ArrayList<>(); while (pis.nextField() != ProtoInputStream.NO_MORE_FIELDS) { switch (pis.getFieldNumber()) { case (int) android.companion.ContinuityDeviceConnected.CURRENT_FOREGROUND_TASK_ID: currentForegroundTaskId = pis.readInt( android.companion.ContinuityDeviceConnected.CURRENT_FOREGROUND_TASK_ID ); break; case (int) android.companion.ContinuityDeviceConnected.REMOTE_TASKS: final long remoteTasksToken = pis.start( android.companion.ContinuityDeviceConnected.REMOTE_TASKS); Loading @@ -61,21 +43,7 @@ public class ContinuityDeviceConnected implements TaskContinuityMessageData { } } return new ContinuityDeviceConnected(currentForegroundTaskId, remoteTasks); } /** * Returns the current foreground task ID. */ public int getCurrentForegroundTaskId() { return mCurrentForegroundTaskId; } /** * Gets which remote tasks are running on the device. */ public List<RemoteTaskInfo> getRemoteTasks() { return mRemoteTasks; return new ContinuityDeviceConnected(remoteTasks); } /** Loading @@ -91,11 +59,7 @@ public class ContinuityDeviceConnected implements TaskContinuityMessageData { */ @Override public void writeToProto(ProtoOutputStream pos) throws IOException { pos.writeInt32( android.companion.ContinuityDeviceConnected.CURRENT_FOREGROUND_TASK_ID, mCurrentForegroundTaskId); for (RemoteTaskInfo remoteTaskInfo : mRemoteTasks) { for (RemoteTaskInfo remoteTaskInfo : remoteTasks()) { long remoteTasksToken = pos.start( android.companion.ContinuityDeviceConnected.REMOTE_TASKS); remoteTaskInfo.writeToProto(pos); Loading services/companion/java/com/android/server/companion/datatransfer/continuity/messages/RemoteTaskAddedMessage.java +6 −12 Original line number Diff line number Diff line Loading @@ -26,13 +26,7 @@ import java.io.IOException; /** * Deserialized version of the {@link RemoteTaskAdded} proto. */ public class RemoteTaskAddedMessage implements TaskContinuityMessageData { private RemoteTaskInfo mTask; public RemoteTaskAddedMessage(RemoteTaskInfo task) { mTask = task; } public record RemoteTaskAddedMessage(RemoteTaskInfo task) implements TaskContinuityMessageData { static RemoteTaskAddedMessage readFromProto(ProtoInputStream pis) throws IOException { RemoteTaskInfo task = null; Loading @@ -47,6 +41,10 @@ public class RemoteTaskAddedMessage implements TaskContinuityMessageData { } } if (task == null) { throw new IOException("RemoteTaskAddedMessage is missing task field"); } return new RemoteTaskAddedMessage(task); } Loading @@ -60,11 +58,7 @@ public class RemoteTaskAddedMessage implements TaskContinuityMessageData { long taskToken = pos.start( android.companion.RemoteTaskAddedMessage.TASK); mTask.writeToProto(pos); task().writeToProto(pos); pos.end(taskToken); } public RemoteTaskInfo getTask() { return mTask; } } No newline at end of file Loading
core/proto/android/companion/task_continuity_message.proto +1 −2 Original line number Diff line number Diff line Loading @@ -33,8 +33,7 @@ message TaskContinuityMessage { } message ContinuityDeviceConnected { int32 currentForegroundTaskId = 1; repeated RemoteTaskInfo remoteTasks = 2; repeated RemoteTaskInfo remoteTasks = 1; } message RemoteTaskAddedMessage { Loading
services/companion/java/com/android/server/companion/datatransfer/continuity/TaskBroadcaster.java +2 −7 Original line number Diff line number Diff line Loading @@ -179,11 +179,6 @@ class TaskBroadcaster List<ActivityManager.RunningTaskInfo> runningTasks = getRunningTasks(); int currentForegroundTaskId = -1; if (runningTasks.size() > 0) { currentForegroundTaskId = runningTasks.get(0).taskId; } List<RemoteTaskInfo> remoteTasks = new ArrayList<>(); for (ActivityManager.RunningTaskInfo taskInfo : runningTasks) { RemoteTaskInfo remoteTaskInfo = createRemoteTaskInfo(taskInfo); Loading @@ -194,8 +189,8 @@ class TaskBroadcaster } } ContinuityDeviceConnected deviceConnectedMessage = new ContinuityDeviceConnected(currentForegroundTaskId, remoteTasks); ContinuityDeviceConnected deviceConnectedMessage = new ContinuityDeviceConnected(remoteTasks); sendMessage(associationId, deviceConnectedMessage); } Loading
services/companion/java/com/android/server/companion/datatransfer/continuity/TaskContinuityManagerService.java +3 −3 Original line number Diff line number Diff line Loading @@ -128,12 +128,12 @@ public final class TaskContinuityManagerService extends SystemService { case ContinuityDeviceConnected continuityDeviceConnected: mRemoteTaskStore.setTasks( associationId, continuityDeviceConnected.getRemoteTasks()); continuityDeviceConnected.remoteTasks()); break; case RemoteTaskAddedMessage remoteTaskAddedMessage: mRemoteTaskStore.addTask( associationId, remoteTaskAddedMessage.getTask()); remoteTaskAddedMessage.task()); break; case RemoteTaskRemovedMessage remoteTaskRemovedMessage: mRemoteTaskStore.removeTask( Loading @@ -143,7 +143,7 @@ public final class TaskContinuityManagerService extends SystemService { case RemoteTaskUpdatedMessage remoteTaskUpdatedMessage: mRemoteTaskStore.updateTask( associationId, remoteTaskUpdatedMessage.getTask()); remoteTaskUpdatedMessage.task()); break; case HandoffRequestResultMessage handoffRequestResultMessage: mOutboundHandoffRequestController.onHandoffRequestResultMessageReceived( Loading
services/companion/java/com/android/server/companion/datatransfer/continuity/messages/ContinuityDeviceConnected.java +5 −41 Original line number Diff line number Diff line Loading @@ -26,32 +26,14 @@ import java.util.List; /** * Deserialized version of the {@link ContinuityDeviceConnected} proto. */ public class ContinuityDeviceConnected implements TaskContinuityMessageData { public record ContinuityDeviceConnected( List<RemoteTaskInfo> remoteTasks) implements TaskContinuityMessageData { private int mCurrentForegroundTaskId = 0; private List<RemoteTaskInfo> mRemoteTasks; public static ContinuityDeviceConnected readFromProto(ProtoInputStream pis) throws IOException { public ContinuityDeviceConnected( int currentForegroundTaskId, List<RemoteTaskInfo> remoteTasks) { mCurrentForegroundTaskId = currentForegroundTaskId; mRemoteTasks = remoteTasks; } static ContinuityDeviceConnected readFromProto(ProtoInputStream pis) throws IOException { int currentForegroundTaskId = 0; List<RemoteTaskInfo> remoteTasks = new ArrayList<>(); while (pis.nextField() != ProtoInputStream.NO_MORE_FIELDS) { switch (pis.getFieldNumber()) { case (int) android.companion.ContinuityDeviceConnected.CURRENT_FOREGROUND_TASK_ID: currentForegroundTaskId = pis.readInt( android.companion.ContinuityDeviceConnected.CURRENT_FOREGROUND_TASK_ID ); break; case (int) android.companion.ContinuityDeviceConnected.REMOTE_TASKS: final long remoteTasksToken = pis.start( android.companion.ContinuityDeviceConnected.REMOTE_TASKS); Loading @@ -61,21 +43,7 @@ public class ContinuityDeviceConnected implements TaskContinuityMessageData { } } return new ContinuityDeviceConnected(currentForegroundTaskId, remoteTasks); } /** * Returns the current foreground task ID. */ public int getCurrentForegroundTaskId() { return mCurrentForegroundTaskId; } /** * Gets which remote tasks are running on the device. */ public List<RemoteTaskInfo> getRemoteTasks() { return mRemoteTasks; return new ContinuityDeviceConnected(remoteTasks); } /** Loading @@ -91,11 +59,7 @@ public class ContinuityDeviceConnected implements TaskContinuityMessageData { */ @Override public void writeToProto(ProtoOutputStream pos) throws IOException { pos.writeInt32( android.companion.ContinuityDeviceConnected.CURRENT_FOREGROUND_TASK_ID, mCurrentForegroundTaskId); for (RemoteTaskInfo remoteTaskInfo : mRemoteTasks) { for (RemoteTaskInfo remoteTaskInfo : remoteTasks()) { long remoteTasksToken = pos.start( android.companion.ContinuityDeviceConnected.REMOTE_TASKS); remoteTaskInfo.writeToProto(pos); Loading
services/companion/java/com/android/server/companion/datatransfer/continuity/messages/RemoteTaskAddedMessage.java +6 −12 Original line number Diff line number Diff line Loading @@ -26,13 +26,7 @@ import java.io.IOException; /** * Deserialized version of the {@link RemoteTaskAdded} proto. */ public class RemoteTaskAddedMessage implements TaskContinuityMessageData { private RemoteTaskInfo mTask; public RemoteTaskAddedMessage(RemoteTaskInfo task) { mTask = task; } public record RemoteTaskAddedMessage(RemoteTaskInfo task) implements TaskContinuityMessageData { static RemoteTaskAddedMessage readFromProto(ProtoInputStream pis) throws IOException { RemoteTaskInfo task = null; Loading @@ -47,6 +41,10 @@ public class RemoteTaskAddedMessage implements TaskContinuityMessageData { } } if (task == null) { throw new IOException("RemoteTaskAddedMessage is missing task field"); } return new RemoteTaskAddedMessage(task); } Loading @@ -60,11 +58,7 @@ public class RemoteTaskAddedMessage implements TaskContinuityMessageData { long taskToken = pos.start( android.companion.RemoteTaskAddedMessage.TASK); mTask.writeToProto(pos); task().writeToProto(pos); pos.end(taskToken); } public RemoteTaskInfo getTask() { return mTask; } } No newline at end of file