Fix HdmiCecLocalDevicePlaybackTest

Playback device implementation was unable to get an instance of
PowerManager to aquire the WakeLock that is acquired when the device is
active source.

Bug: 151147315
Test: atest HdmiCecLocalDevicePlaybackTest
Change-Id: I44a11d8d6365e32332818b08c84583c9afb5aa15
This commit is contained in:
Marvin Ramin
2020-04-21 15:30:15 +02:00
parent 309efbc770
commit 472379623c

View File

@@ -20,7 +20,12 @@ import static com.android.server.hdmi.HdmiControlService.INITIATED_BY_ENABLE_CEC
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
import android.content.Context;
import android.os.Handler;
import android.os.IPowerManager;
import android.os.IThermalService;
import android.os.Looper; import android.os.Looper;
import android.os.PowerManager;
import android.os.test.TestLooper; import android.os.test.TestLooper;
import android.platform.test.annotations.Presubmit; import android.platform.test.annotations.Presubmit;
import android.view.KeyEvent; import android.view.KeyEvent;
@@ -33,6 +38,8 @@ import org.junit.Ignore;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.junit.runners.JUnit4; import org.junit.runners.JUnit4;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import java.util.ArrayList; import java.util.ArrayList;
@@ -52,8 +59,17 @@ public class HdmiCecLocalDevicePlaybackTest {
private int mPlaybackPhysicalAddress; private int mPlaybackPhysicalAddress;
private boolean mWokenUp; private boolean mWokenUp;
@Mock private IPowerManager mIPowerManagerMock;
@Mock private IThermalService mIThermalServiceMock;
@Before @Before
public void setUp() { public void setUp() {
MockitoAnnotations.initMocks(this);
Context context = InstrumentationRegistry.getTargetContext();
mMyLooper = mTestLooper.getLooper();
PowerManager powerManager = new PowerManager(context, mIPowerManagerMock,
mIThermalServiceMock, new Handler(mMyLooper));
mHdmiControlService = mHdmiControlService =
new HdmiControlService(InstrumentationRegistry.getTargetContext()) { new HdmiControlService(InstrumentationRegistry.getTargetContext()) {
@Override @Override
@@ -70,9 +86,13 @@ public class HdmiCecLocalDevicePlaybackTest {
void writeStringSystemProperty(String key, String value) { void writeStringSystemProperty(String key, String value) {
// do nothing // do nothing
} }
@Override
PowerManager getPowerManager() {
return powerManager;
}
}; };
mMyLooper = mTestLooper.getLooper();
mHdmiCecLocalDevicePlayback = new HdmiCecLocalDevicePlayback(mHdmiControlService); mHdmiCecLocalDevicePlayback = new HdmiCecLocalDevicePlayback(mHdmiControlService);
mHdmiCecLocalDevicePlayback.init(); mHdmiCecLocalDevicePlayback.init();
mHdmiControlService.setIoLooper(mMyLooper); mHdmiControlService.setIoLooper(mMyLooper);
@@ -142,7 +162,6 @@ public class HdmiCecLocalDevicePlaybackTest {
} }
@Test @Test
@Ignore("b/151147315")
public void doNotWakeUpOnHotPlug_PlugIn() { public void doNotWakeUpOnHotPlug_PlugIn() {
mWokenUp = false; mWokenUp = false;
mHdmiCecLocalDevicePlayback.onHotplug(0, true); mHdmiCecLocalDevicePlayback.onHotplug(0, true);
@@ -150,7 +169,6 @@ public class HdmiCecLocalDevicePlaybackTest {
} }
@Test @Test
@Ignore("b/151147315")
public void doNotWakeUpOnHotPlug_PlugOut() { public void doNotWakeUpOnHotPlug_PlugOut() {
mWokenUp = false; mWokenUp = false;
mHdmiCecLocalDevicePlayback.onHotplug(0, false); mHdmiCecLocalDevicePlayback.onHotplug(0, false);
@@ -158,7 +176,6 @@ public class HdmiCecLocalDevicePlaybackTest {
} }
@Test @Test
@Ignore("b/151147315")
public void sendVolumeKeyEvent_up_volumeEnabled() { public void sendVolumeKeyEvent_up_volumeEnabled() {
mHdmiControlService.setHdmiCecVolumeControlEnabled(true); mHdmiControlService.setHdmiCecVolumeControlEnabled(true);
mHdmiCecLocalDevicePlayback.sendVolumeKeyEvent(KeyEvent.KEYCODE_VOLUME_UP, true); mHdmiCecLocalDevicePlayback.sendVolumeKeyEvent(KeyEvent.KEYCODE_VOLUME_UP, true);
@@ -168,7 +185,6 @@ public class HdmiCecLocalDevicePlaybackTest {
} }
@Test @Test
@Ignore("b/151147315")
public void sendVolumeKeyEvent_down_volumeEnabled() { public void sendVolumeKeyEvent_down_volumeEnabled() {
mHdmiControlService.setHdmiCecVolumeControlEnabled(true); mHdmiControlService.setHdmiCecVolumeControlEnabled(true);
mHdmiCecLocalDevicePlayback.sendVolumeKeyEvent(KeyEvent.KEYCODE_VOLUME_DOWN, true); mHdmiCecLocalDevicePlayback.sendVolumeKeyEvent(KeyEvent.KEYCODE_VOLUME_DOWN, true);
@@ -178,7 +194,6 @@ public class HdmiCecLocalDevicePlaybackTest {
} }
@Test @Test
@Ignore("b/151147315")
public void sendVolumeKeyEvent_mute_volumeEnabled() { public void sendVolumeKeyEvent_mute_volumeEnabled() {
mHdmiControlService.setHdmiCecVolumeControlEnabled(true); mHdmiControlService.setHdmiCecVolumeControlEnabled(true);
mHdmiCecLocalDevicePlayback.sendVolumeKeyEvent(KeyEvent.KEYCODE_VOLUME_MUTE, true); mHdmiCecLocalDevicePlayback.sendVolumeKeyEvent(KeyEvent.KEYCODE_VOLUME_MUTE, true);
@@ -188,7 +203,6 @@ public class HdmiCecLocalDevicePlaybackTest {
} }
@Test @Test
@Ignore("b/151147315")
public void sendVolumeKeyEvent_up_volumeDisabled() { public void sendVolumeKeyEvent_up_volumeDisabled() {
mHdmiControlService.setHdmiCecVolumeControlEnabled(false); mHdmiControlService.setHdmiCecVolumeControlEnabled(false);
mHdmiCecLocalDevicePlayback.sendVolumeKeyEvent(KeyEvent.KEYCODE_VOLUME_UP, true); mHdmiCecLocalDevicePlayback.sendVolumeKeyEvent(KeyEvent.KEYCODE_VOLUME_UP, true);
@@ -198,7 +212,6 @@ public class HdmiCecLocalDevicePlaybackTest {
} }
@Test @Test
@Ignore("b/151147315")
public void sendVolumeKeyEvent_down_volumeDisabled() { public void sendVolumeKeyEvent_down_volumeDisabled() {
mHdmiControlService.setHdmiCecVolumeControlEnabled(false); mHdmiControlService.setHdmiCecVolumeControlEnabled(false);
mHdmiCecLocalDevicePlayback.sendVolumeKeyEvent(KeyEvent.KEYCODE_VOLUME_DOWN, true); mHdmiCecLocalDevicePlayback.sendVolumeKeyEvent(KeyEvent.KEYCODE_VOLUME_DOWN, true);
@@ -208,7 +221,6 @@ public class HdmiCecLocalDevicePlaybackTest {
} }
@Test @Test
@Ignore("b/151147315")
public void sendVolumeKeyEvent_mute_volumeDisabled() { public void sendVolumeKeyEvent_mute_volumeDisabled() {
mHdmiControlService.setHdmiCecVolumeControlEnabled(false); mHdmiControlService.setHdmiCecVolumeControlEnabled(false);
mHdmiCecLocalDevicePlayback.sendVolumeKeyEvent(KeyEvent.KEYCODE_VOLUME_MUTE, true); mHdmiCecLocalDevicePlayback.sendVolumeKeyEvent(KeyEvent.KEYCODE_VOLUME_MUTE, true);