Merge "Fix stuck HDMI-CEC actions after boot" into stage-aosp-master am: 5d7bfac82a
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15930804 Change-Id: Ie0ac6b3d5117466cec6a4cd3263658d8541a47a4
This commit is contained in:
@@ -634,6 +634,12 @@ public class HdmiControlService extends SystemService {
|
||||
// on boot, if device is interactive, set HDMI CEC state as powered on as well
|
||||
if (mPowerManager.isInteractive() && isPowerStandbyOrTransient()) {
|
||||
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.doReturn;
|
||||
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 android.content.Context;
|
||||
@@ -59,6 +61,7 @@ import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.junit.runners.JUnit4;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.Mockito;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -320,6 +323,18 @@ public class HdmiControlServiceTest {
|
||||
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
|
||||
public void initialPowerStatus_normalBoot_goToStandby_broadcastsPowerStatus_2_0() {
|
||||
mHdmiControlServiceSpy.getHdmiCecConfig().setIntValue(
|
||||
|
||||
Reference in New Issue
Block a user