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

Commit 7fa6bc22 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Allow tests to specify local device types" into sc-dev am: abccf60a

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/13872932

Change-Id: Idf48d86e71d4fc7664ba80569ebedaea2f5da5e2
parents 5f34ed73 abccf60a
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -431,6 +431,13 @@ public class HdmiControlService extends SystemService {

    private final SelectRequestBuffer mSelectRequestBuffer = new SelectRequestBuffer();

    @VisibleForTesting HdmiControlService(Context context, List<Integer> deviceTypes) {
        super(context);
        mLocalDevices = deviceTypes;
        mSettingsObserver = new SettingsObserver(mHandler);
        mHdmiCecConfig = new HdmiCecConfig(context);
    }

    public HdmiControlService(Context context) {
        super(context);
        List<Integer> deviceTypes = HdmiProperties.device_type();
+11 −9
Original line number Diff line number Diff line
@@ -19,7 +19,6 @@ package com.android.server.hdmi;
import static com.android.server.hdmi.Constants.ADDR_BROADCAST;
import static com.android.server.hdmi.Constants.ADDR_PLAYBACK_1;
import static com.android.server.hdmi.Constants.ADDR_PLAYBACK_2;
import static com.android.server.hdmi.Constants.ADDR_TV;
import static com.android.server.hdmi.HdmiControlService.INITIATED_BY_ENABLE_CEC;

import static com.google.common.truth.Truth.assertThat;
@@ -51,6 +50,7 @@ import org.mockito.Mock;
import org.mockito.MockitoAnnotations;

import java.util.ArrayList;
import java.util.Collections;
import java.util.concurrent.TimeUnit;

/** Tests for {@link ActiveSourceAction} */
@@ -84,7 +84,8 @@ public class PowerStatusMonitorActionTest {
        when(mContextSpy.getSystemService(PowerManager.class)).thenReturn(powerManager);
        when(mIPowerManagerMock.isInteractive()).thenReturn(true);

        mHdmiControlService = new HdmiControlService(mContextSpy) {
        mHdmiControlService = new HdmiControlService(mContextSpy,
                Collections.singletonList(HdmiDeviceInfo.DEVICE_TV)) {
            @Override
            AudioManager getAudioManager() {
                return new AudioManager() {
@@ -140,6 +141,7 @@ public class PowerStatusMonitorActionTest {
        mNativeWrapper.setPhysicalAddress(mPhysicalAddress);
        mHdmiControlService.allocateLogicalAddress(mLocalDevices, INITIATED_BY_ENABLE_CEC);
        mTestLooper.dispatchAll();
        mNativeWrapper.clearResultMessages();
    }

    @Test
@@ -152,7 +154,7 @@ public class PowerStatusMonitorActionTest {
        mTestLooper.dispatchAll();

        HdmiCecMessage giveDevicePowerStatus = HdmiCecMessageBuilder.buildGiveDevicePowerStatus(
                ADDR_TV,
                mTvDevice.mAddress,
                ADDR_PLAYBACK_1);
        assertThat(mNativeWrapper.getResultMessages()).contains(giveDevicePowerStatus);

@@ -191,7 +193,7 @@ public class PowerStatusMonitorActionTest {
        mTestLooper.dispatchAll();

        HdmiCecMessage giveDevicePowerStatus = HdmiCecMessageBuilder.buildGiveDevicePowerStatus(
                ADDR_TV,
                mTvDevice.mAddress,
                ADDR_PLAYBACK_1);

        assertThat(mNativeWrapper.getResultMessages()).doesNotContain(giveDevicePowerStatus);
@@ -220,12 +222,12 @@ public class PowerStatusMonitorActionTest {
        mTestLooper.dispatchAll();

        HdmiCecMessage giveDevicePowerStatus = HdmiCecMessageBuilder.buildGiveDevicePowerStatus(
                ADDR_TV,
                mTvDevice.mAddress,
                ADDR_PLAYBACK_1);
        assertThat(mNativeWrapper.getResultMessages()).contains(giveDevicePowerStatus);

        HdmiCecMessage giveDevicePowerStatus2 = HdmiCecMessageBuilder.buildGiveDevicePowerStatus(
                ADDR_TV,
                mTvDevice.mAddress,
                ADDR_PLAYBACK_2);
        assertThat(mNativeWrapper.getResultMessages()).contains(giveDevicePowerStatus2);
    }
@@ -245,13 +247,13 @@ public class PowerStatusMonitorActionTest {
        mTestLooper.dispatchAll();

        HdmiCecMessage giveDevicePowerStatus = HdmiCecMessageBuilder.buildGiveDevicePowerStatus(
                ADDR_TV,
                mTvDevice.mAddress,
                ADDR_PLAYBACK_1);

        assertThat(mNativeWrapper.getResultMessages()).contains(giveDevicePowerStatus);

        HdmiCecMessage giveDevicePowerStatus2 = HdmiCecMessageBuilder.buildGiveDevicePowerStatus(
                ADDR_TV,
                mTvDevice.mAddress,
                ADDR_PLAYBACK_2);

        assertThat(mNativeWrapper.getResultMessages()).doesNotContain(giveDevicePowerStatus2);
@@ -265,7 +267,7 @@ public class PowerStatusMonitorActionTest {
    }

    private void reportPowerStatus(int logicalAddress, boolean broadcast, int powerStatus) {
        int destination = broadcast ? ADDR_BROADCAST : ADDR_TV;
        int destination = broadcast ? ADDR_BROADCAST : mTvDevice.mAddress;
        HdmiCecMessage reportPowerStatus = HdmiCecMessageBuilder.buildReportPowerStatus(
                logicalAddress, destination,
                powerStatus);