Merge "Fix stuck HDMI-CEC actions after boot" into stage-aosp-master
This commit is contained in:
committed by
Android (Google) Code Review
commit
5d7bfac82a
@@ -634,6 +634,12 @@ public class HdmiControlService extends SystemService {
|
|||||||
// on boot, if device is interactive, set HDMI CEC state as powered on as well
|
// on boot, if device is interactive, set HDMI CEC state as powered on as well
|
||||||
if (mPowerManager.isInteractive() && isPowerStandbyOrTransient()) {
|
if (mPowerManager.isInteractive() && isPowerStandbyOrTransient()) {
|
||||||
mPowerStatusController.setPowerStatus(HdmiControlManager.POWER_STATUS_ON);
|
mPowerStatusController.setPowerStatus(HdmiControlManager.POWER_STATUS_ON);
|
||||||
|
// Start all actions that were queued because the device was in standby
|
||||||
|
if (mAddressAllocated) {
|
||||||
|
for (HdmiCecLocalDevice localDevice : getAllLocalDevices()) {
|
||||||
|
localDevice.startQueuedActions();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -33,6 +33,8 @@ import static org.mockito.ArgumentMatchers.anyString;
|
|||||||
import static org.mockito.Mockito.doNothing;
|
import static org.mockito.Mockito.doNothing;
|
||||||
import static org.mockito.Mockito.doReturn;
|
import static org.mockito.Mockito.doReturn;
|
||||||
import static org.mockito.Mockito.spy;
|
import static org.mockito.Mockito.spy;
|
||||||
|
import static org.mockito.Mockito.times;
|
||||||
|
import static org.mockito.Mockito.verify;
|
||||||
import static org.mockito.Mockito.when;
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
@@ -59,6 +61,7 @@ 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.Mock;
|
||||||
|
import org.mockito.Mockito;
|
||||||
import org.mockito.MockitoAnnotations;
|
import org.mockito.MockitoAnnotations;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@@ -320,6 +323,18 @@ public class HdmiControlServiceTest {
|
|||||||
assertThat(mNativeWrapper.getResultMessages()).doesNotContain(reportPowerStatus);
|
assertThat(mNativeWrapper.getResultMessages()).doesNotContain(reportPowerStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void normalBoot_queuedActionsStartedAfterBoot() {
|
||||||
|
Mockito.clearInvocations(mAudioSystemDeviceSpy);
|
||||||
|
Mockito.clearInvocations(mPlaybackDeviceSpy);
|
||||||
|
|
||||||
|
mHdmiControlServiceSpy.onBootPhase(PHASE_BOOT_COMPLETED);
|
||||||
|
mTestLooper.dispatchAll();
|
||||||
|
|
||||||
|
verify(mAudioSystemDeviceSpy, times(1)).startQueuedActions();
|
||||||
|
verify(mPlaybackDeviceSpy, times(1)).startQueuedActions();
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void initialPowerStatus_normalBoot_goToStandby_broadcastsPowerStatus_2_0() {
|
public void initialPowerStatus_normalBoot_goToStandby_broadcastsPowerStatus_2_0() {
|
||||||
mHdmiControlServiceSpy.getHdmiCecConfig().setIntValue(
|
mHdmiControlServiceSpy.getHdmiCecConfig().setIntValue(
|
||||||
|
|||||||
Reference in New Issue
Block a user