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

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

Merge "Fix ContinuityDeviceConnected" into main

parents 90867cff 7b900bf8
Loading
Loading
Loading
Loading
+1 −9
Original line number Diff line number Diff line
@@ -18,7 +18,6 @@ package com.android.server.companion.datatransfer.continuity.messages;

import android.util.proto.ProtoInputStream;
import android.util.proto.ProtoOutputStream;
import android.util.proto.ProtoParseException;

import java.io.IOException;
import java.util.ArrayList;
@@ -40,8 +39,7 @@ public class ContinuityDeviceConnected implements TaskContinuityMessageData {
        mRemoteTasks = remoteTasks;
    }

    ContinuityDeviceConnected(ProtoInputStream pis)
        throws IOException, ProtoParseException {
    ContinuityDeviceConnected(ProtoInputStream pis) throws IOException {

        boolean hasReadForegroundTaskId = false;
        List<RemoteTaskInfo> remoteTasks = new ArrayList<>();
@@ -52,7 +50,6 @@ public class ContinuityDeviceConnected implements TaskContinuityMessageData {
                        android.companion.ContinuityDeviceConnected.CURRENT_FOREGROUND_TASK_ID
                    );

                    hasReadForegroundTaskId = true;
                    break;

                case (int) android.companion.ContinuityDeviceConnected.REMOTE_TASKS:
@@ -64,11 +61,6 @@ public class ContinuityDeviceConnected implements TaskContinuityMessageData {
            }
        }

        if (!hasReadForegroundTaskId) {
            throw new ProtoParseException(
                "Missing required field: current_foreground_task_id");
        }

        mRemoteTasks = remoteTasks;
    }

+1 −2
Original line number Diff line number Diff line
@@ -19,7 +19,6 @@ package com.android.server.companion.datatransfer.continuity.messages;
import android.app.TaskInfo;
import android.util.proto.ProtoInputStream;
import android.util.proto.ProtoOutputStream;
import android.util.proto.ProtoParseException;

import java.io.IOException;

@@ -37,7 +36,7 @@ public class RemoteTaskInfo {
    }

    public RemoteTaskInfo(ProtoInputStream protoInputStream)
        throws IOException, ProtoParseException {
        throws IOException {

        while (protoInputStream.nextField() != ProtoInputStream.NO_MORE_FIELDS) {
            switch (protoInputStream.getFieldNumber()) {
+1 −3
Original line number Diff line number Diff line
@@ -18,7 +18,6 @@ package com.android.server.companion.datatransfer.continuity.messages;

import android.util.proto.ProtoInputStream;
import android.util.proto.ProtoOutputStream;
import android.util.proto.ProtoParseException;

import java.io.IOException;

@@ -34,8 +33,7 @@ public final class TaskContinuityMessage {
        mData = builder.mData;
    }

    public TaskContinuityMessage(byte[] data)
        throws IOException, ProtoParseException {
    public TaskContinuityMessage(byte[] data) throws IOException {

        ProtoInputStream pis = new ProtoInputStream(data);
        while (pis.nextField() != ProtoInputStream.NO_MORE_FIELDS) {
+8 −11
Original line number Diff line number Diff line
@@ -78,18 +78,15 @@ public class ContinuityDeviceConnectedTest {
    }

    @Test
    public void testConstructor_fromProto_missingCurrentForegroundTaskId_throwsException(){
        final ProtoOutputStream pos = new ProtoOutputStream();
        pos.flush();

        final ProtoInputStream pis = new ProtoInputStream(pos.getBytes());
        ProtoParseException e = expectThrows(
            ProtoParseException.class,
            () -> new ContinuityDeviceConnected(pis));
    public void testConstructor_fromProto_setsToDefaultIfNoFieldsSet() throws Exception {
        final ProtoInputStream pis = new ProtoInputStream(new byte[0]);
        final ContinuityDeviceConnected continuityDeviceConnected
            = new ContinuityDeviceConnected(pis);

        assertThat(e)
            .hasMessageThat()
            .isEqualTo("Missing required field: current_foreground_task_id");
        assertThat(continuityDeviceConnected.getCurrentForegroundTaskId())
            .isEqualTo(0);
        assertThat(continuityDeviceConnected.getRemoteTasks())
            .isEmpty();
    }

    @Test