Merge "Allow tests to specify local device types" into sc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
abccf60a4d
@@ -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();
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user