Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f687ba1f authored by Joe Antonetti's avatar Joe Antonetti Committed by Android (Google) Code Review
Browse files

Merge "[Handoff][1/N] Convert Remaining Messages to Records" into main

parents fd263335 768a383e
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -33,8 +33,7 @@ message TaskContinuityMessage {
}

message ContinuityDeviceConnected {
    int32 currentForegroundTaskId = 1;
    repeated RemoteTaskInfo remoteTasks = 2;
    repeated RemoteTaskInfo remoteTasks = 1;
}

message RemoteTaskAddedMessage {
+2 −7
Original line number Diff line number Diff line
@@ -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);
@@ -194,8 +189,8 @@ class TaskBroadcaster
            }
        }

        ContinuityDeviceConnected deviceConnectedMessage =
            new ContinuityDeviceConnected(currentForegroundTaskId, remoteTasks);
        ContinuityDeviceConnected deviceConnectedMessage
            = new ContinuityDeviceConnected(remoteTasks);

        sendMessage(associationId, deviceConnectedMessage);
    }
+3 −3
Original line number Diff line number Diff line
@@ -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(
@@ -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(
+5 −41
Original line number Diff line number Diff line
@@ -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);
@@ -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);
    }

    /**
@@ -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);
+6 −12
Original line number Diff line number Diff line
@@ -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;
@@ -47,6 +41,10 @@ public class RemoteTaskAddedMessage implements TaskContinuityMessageData {
            }
        }

        if (task == null) {
            throw new IOException("RemoteTaskAddedMessage is missing task field");
        }

        return new RemoteTaskAddedMessage(task);
    }

@@ -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