CEC: Remove duplicate storage of logical address.
Remove HdmiCecLocalDevice#mAddress variable and replace it with HdmiDeviceInfo#getLogicalAddress(). Bug: 159806029 Test: atest CtsHdmiCecHostTestCases Test: atest FrameworksServicesTests:com.android.server.hdmi Change-Id: I32a72b138e585dbc39f20e15915d3f4e8f8f5e7a
This commit is contained in:
@@ -68,7 +68,6 @@ abstract class HdmiCecLocalDevice {
|
||||
|
||||
protected final HdmiControlService mService;
|
||||
protected final int mDeviceType;
|
||||
protected int mAddress;
|
||||
protected int mPreferredAddress;
|
||||
@GuardedBy("mLock")
|
||||
protected HdmiDeviceInfo mDeviceInfo;
|
||||
@@ -187,7 +186,6 @@ abstract class HdmiCecLocalDevice {
|
||||
protected HdmiCecLocalDevice(HdmiControlService service, int deviceType) {
|
||||
mService = service;
|
||||
mDeviceType = deviceType;
|
||||
mAddress = Constants.ADDR_UNREGISTERED;
|
||||
mLock = service.getServiceLock();
|
||||
}
|
||||
|
||||
@@ -254,7 +252,7 @@ abstract class HdmiCecLocalDevice {
|
||||
protected int dispatchMessage(HdmiCecMessage message) {
|
||||
assertRunOnServiceThread();
|
||||
int dest = message.getDestination();
|
||||
if (dest != mAddress && dest != Constants.ADDR_BROADCAST) {
|
||||
if (dest != mDeviceInfo.getLogicalAddress() && dest != Constants.ADDR_BROADCAST) {
|
||||
return Constants.NOT_HANDLED;
|
||||
}
|
||||
// Cache incoming message if it is included in the list of cacheable opcodes.
|
||||
@@ -388,7 +386,7 @@ abstract class HdmiCecLocalDevice {
|
||||
} else {
|
||||
HdmiCecMessage cecMessage =
|
||||
HdmiCecMessageBuilder.buildReportPhysicalAddressCommand(
|
||||
mAddress, physicalAddress, mDeviceType);
|
||||
mDeviceInfo.getLogicalAddress(), physicalAddress, mDeviceType);
|
||||
mService.sendCecCommand(cecMessage);
|
||||
}
|
||||
return Constants.HANDLED;
|
||||
@@ -403,7 +401,8 @@ abstract class HdmiCecLocalDevice {
|
||||
mService.maySendFeatureAbortCommand(message, Constants.ABORT_UNABLE_TO_DETERMINE);
|
||||
} else {
|
||||
HdmiCecMessage cecMessage =
|
||||
HdmiCecMessageBuilder.buildDeviceVendorIdCommand(mAddress, vendorId);
|
||||
HdmiCecMessageBuilder.buildDeviceVendorIdCommand(
|
||||
mDeviceInfo.getLogicalAddress(), vendorId);
|
||||
mService.sendCecCommand(cecMessage);
|
||||
}
|
||||
return Constants.HANDLED;
|
||||
@@ -476,8 +475,8 @@ abstract class HdmiCecLocalDevice {
|
||||
|
||||
protected void buildAndSendSetOsdName(int dest) {
|
||||
HdmiCecMessage cecMessage =
|
||||
HdmiCecMessageBuilder.buildSetOsdNameCommand(
|
||||
mAddress, dest, mDeviceInfo.getDisplayName());
|
||||
HdmiCecMessageBuilder.buildSetOsdNameCommand(
|
||||
mDeviceInfo.getLogicalAddress(), dest, mDeviceInfo.getDisplayName());
|
||||
if (cecMessage != null) {
|
||||
mService.sendCecCommand(cecMessage, new SendMessageCallback() {
|
||||
@Override
|
||||
@@ -525,7 +524,8 @@ abstract class HdmiCecLocalDevice {
|
||||
if (cecDeviceInfo != null && cecDeviceInfo.getDisplayName().equals(
|
||||
HdmiUtils.getDefaultDeviceName(address))) {
|
||||
mService.sendCecCommand(
|
||||
HdmiCecMessageBuilder.buildGiveOsdNameCommand(mAddress, address));
|
||||
HdmiCecMessageBuilder.buildGiveOsdNameCommand(
|
||||
mDeviceInfo.getLogicalAddress(), address));
|
||||
}
|
||||
|
||||
return Constants.HANDLED;
|
||||
@@ -630,8 +630,13 @@ abstract class HdmiCecLocalDevice {
|
||||
List<Integer> deviceFeatures = getDeviceFeatures();
|
||||
|
||||
mService.sendCecCommand(
|
||||
HdmiCecMessageBuilder.buildReportFeatures(mAddress, mService.getCecVersion(),
|
||||
localDeviceTypes, rcProfile, rcFeatures, deviceFeatures));
|
||||
HdmiCecMessageBuilder.buildReportFeatures(
|
||||
mDeviceInfo.getLogicalAddress(),
|
||||
mService.getCecVersion(),
|
||||
localDeviceTypes,
|
||||
rcProfile,
|
||||
rcFeatures,
|
||||
deviceFeatures));
|
||||
}
|
||||
|
||||
@ServiceThreadOnly
|
||||
@@ -793,7 +798,9 @@ abstract class HdmiCecLocalDevice {
|
||||
protected int handleGiveDevicePowerStatus(HdmiCecMessage message) {
|
||||
mService.sendCecCommand(
|
||||
HdmiCecMessageBuilder.buildReportPowerStatus(
|
||||
mAddress, message.getSource(), mService.getPowerStatus()));
|
||||
mDeviceInfo.getLogicalAddress(),
|
||||
message.getSource(),
|
||||
mService.getPowerStatus()));
|
||||
return Constants.HANDLED;
|
||||
}
|
||||
|
||||
@@ -802,7 +809,9 @@ abstract class HdmiCecLocalDevice {
|
||||
// Always report menu active to receive Remote Control.
|
||||
mService.sendCecCommand(
|
||||
HdmiCecMessageBuilder.buildReportMenuStatus(
|
||||
mAddress, message.getSource(), Constants.MENU_STATE_ACTIVATED));
|
||||
mDeviceInfo.getLogicalAddress(),
|
||||
message.getSource(),
|
||||
Constants.MENU_STATE_ACTIVATED));
|
||||
return Constants.HANDLED;
|
||||
}
|
||||
|
||||
@@ -884,7 +893,7 @@ abstract class HdmiCecLocalDevice {
|
||||
@ServiceThreadOnly
|
||||
final void handleAddressAllocated(int logicalAddress, int reason) {
|
||||
assertRunOnServiceThread();
|
||||
mAddress = mPreferredAddress = logicalAddress;
|
||||
mPreferredAddress = logicalAddress;
|
||||
if (mService.getCecVersion() >= HdmiControlManager.HDMI_CEC_VERSION_2_0) {
|
||||
reportFeatures();
|
||||
}
|
||||
@@ -914,14 +923,7 @@ abstract class HdmiCecLocalDevice {
|
||||
@ServiceThreadOnly
|
||||
boolean isAddressOf(int addr) {
|
||||
assertRunOnServiceThread();
|
||||
return addr == mAddress;
|
||||
}
|
||||
|
||||
// Resets the logical address to unregistered(15), meaning the logical device is invalid.
|
||||
@ServiceThreadOnly
|
||||
void clearAddress() {
|
||||
assertRunOnServiceThread();
|
||||
mAddress = Constants.ADDR_UNREGISTERED;
|
||||
return addr == mDeviceInfo.getLogicalAddress();
|
||||
}
|
||||
|
||||
@ServiceThreadOnly
|
||||
@@ -1184,7 +1186,8 @@ abstract class HdmiCecLocalDevice {
|
||||
}
|
||||
List<SendKeyAction> action = getActions(SendKeyAction.class);
|
||||
int logicalAddress = findKeyReceiverAddress();
|
||||
if (logicalAddress == Constants.ADDR_INVALID || logicalAddress == mAddress) {
|
||||
if (logicalAddress == Constants.ADDR_INVALID
|
||||
|| logicalAddress == mDeviceInfo.getLogicalAddress()) {
|
||||
// Don't send key event to invalid device or itself.
|
||||
Slog.w(
|
||||
TAG,
|
||||
@@ -1222,7 +1225,8 @@ abstract class HdmiCecLocalDevice {
|
||||
}
|
||||
List<SendKeyAction> action = getActions(SendKeyAction.class);
|
||||
int logicalAddress = findAudioReceiverAddress();
|
||||
if (logicalAddress == Constants.ADDR_INVALID || logicalAddress == mAddress) {
|
||||
if (logicalAddress == Constants.ADDR_INVALID
|
||||
|| logicalAddress == mDeviceInfo.getLogicalAddress()) {
|
||||
// Don't send key event to invalid device or itself.
|
||||
Slog.w(
|
||||
TAG,
|
||||
@@ -1276,9 +1280,11 @@ abstract class HdmiCecLocalDevice {
|
||||
|
||||
void sendUserControlPressedAndReleased(int targetAddress, int cecKeycode) {
|
||||
mService.sendCecCommand(
|
||||
HdmiCecMessageBuilder.buildUserControlPressed(mAddress, targetAddress, cecKeycode));
|
||||
HdmiCecMessageBuilder.buildUserControlPressed(
|
||||
mDeviceInfo.getLogicalAddress(), targetAddress, cecKeycode));
|
||||
mService.sendCecCommand(
|
||||
HdmiCecMessageBuilder.buildUserControlReleased(mAddress, targetAddress));
|
||||
HdmiCecMessageBuilder.buildUserControlReleased(
|
||||
mDeviceInfo.getLogicalAddress(), targetAddress));
|
||||
}
|
||||
|
||||
void addActiveSourceHistoryItem(ActiveSource activeSource, boolean isActiveSource,
|
||||
@@ -1298,7 +1304,6 @@ abstract class HdmiCecLocalDevice {
|
||||
/** Dump internal status of HdmiCecLocalDevice object. */
|
||||
protected void dump(final IndentingPrintWriter pw) {
|
||||
pw.println("mDeviceType: " + mDeviceType);
|
||||
pw.println("mAddress: " + mAddress);
|
||||
pw.println("mPreferredAddress: " + mPreferredAddress);
|
||||
pw.println("mDeviceInfo: " + mDeviceInfo);
|
||||
pw.println("mActiveSource: " + getActiveSource());
|
||||
|
||||
@@ -254,9 +254,12 @@ public class HdmiCecLocalDeviceAudioSystem extends HdmiCecLocalDeviceSource {
|
||||
}
|
||||
mService.sendCecCommand(
|
||||
HdmiCecMessageBuilder.buildReportPhysicalAddressCommand(
|
||||
mAddress, mService.getPhysicalAddress(), mDeviceType));
|
||||
getDeviceInfo().getLogicalAddress(),
|
||||
mService.getPhysicalAddress(),
|
||||
mDeviceType));
|
||||
mService.sendCecCommand(
|
||||
HdmiCecMessageBuilder.buildDeviceVendorIdCommand(mAddress, mService.getVendorId()));
|
||||
HdmiCecMessageBuilder.buildDeviceVendorIdCommand(
|
||||
getDeviceInfo().getLogicalAddress(), mService.getVendorId()));
|
||||
mService.registerTvInputCallback(mTvInputCallback);
|
||||
// Some TVs, for example Mi TV, need ARC on before turning System Audio Mode on
|
||||
// to request Short Audio Descriptor. Since ARC and SAM are independent,
|
||||
@@ -406,7 +409,9 @@ public class HdmiCecLocalDeviceAudioSystem extends HdmiCecLocalDeviceSource {
|
||||
}
|
||||
mService.sendCecCommand(
|
||||
HdmiCecMessageBuilder.buildReportSystemAudioMode(
|
||||
mAddress, message.getSource(), isSystemAudioModeOnOrTurningOn));
|
||||
getDeviceInfo().getLogicalAddress(),
|
||||
message.getSource(),
|
||||
isSystemAudioModeOnOrTurningOn));
|
||||
return Constants.HANDLED;
|
||||
}
|
||||
|
||||
@@ -488,7 +493,7 @@ public class HdmiCecLocalDeviceAudioSystem extends HdmiCecLocalDeviceSource {
|
||||
} else {
|
||||
mService.sendCecCommand(
|
||||
HdmiCecMessageBuilder.buildReportShortAudioDescriptor(
|
||||
mAddress, message.getSource(), sadBytes));
|
||||
getDeviceInfo().getLogicalAddress(), message.getSource(), sadBytes));
|
||||
return Constants.HANDLED;
|
||||
}
|
||||
}
|
||||
@@ -656,7 +661,9 @@ public class HdmiCecLocalDeviceAudioSystem extends HdmiCecLocalDeviceSource {
|
||||
|
||||
mService.sendCecCommand(
|
||||
HdmiCecMessageBuilder.buildSetSystemAudioMode(
|
||||
mAddress, Constants.ADDR_BROADCAST, systemAudioStatusOn));
|
||||
getDeviceInfo().getLogicalAddress(),
|
||||
Constants.ADDR_BROADCAST,
|
||||
systemAudioStatusOn));
|
||||
|
||||
if (systemAudioStatusOn) {
|
||||
// If TV sends out SAM Request with a path of a non-CEC device, which should not show
|
||||
@@ -754,7 +761,7 @@ public class HdmiCecLocalDeviceAudioSystem extends HdmiCecLocalDeviceSource {
|
||||
|
||||
mService.sendCecCommand(
|
||||
HdmiCecMessageBuilder.buildReportAudioStatus(
|
||||
mAddress, source, scaledVolume, mute));
|
||||
getDeviceInfo().getLogicalAddress(), source, scaledVolume, mute));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -908,7 +915,8 @@ public class HdmiCecLocalDeviceAudioSystem extends HdmiCecLocalDeviceSource {
|
||||
setRoutingPort(portId);
|
||||
setLocalActivePort(portId);
|
||||
HdmiCecMessage routingChange =
|
||||
HdmiCecMessageBuilder.buildRoutingChange(mAddress, oldPath, newPath);
|
||||
HdmiCecMessageBuilder.buildRoutingChange(
|
||||
getDeviceInfo().getLogicalAddress(), oldPath, newPath);
|
||||
mService.sendCecCommand(routingChange);
|
||||
}
|
||||
|
||||
@@ -933,7 +941,7 @@ public class HdmiCecLocalDeviceAudioSystem extends HdmiCecLocalDeviceSource {
|
||||
// send <Set System Audio Mode> [“Off”]
|
||||
mService.sendCecCommand(
|
||||
HdmiCecMessageBuilder.buildSetSystemAudioMode(
|
||||
mAddress, Constants.ADDR_BROADCAST, false));
|
||||
getDeviceInfo().getLogicalAddress(), Constants.ADDR_BROADCAST, false));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -981,7 +989,7 @@ public class HdmiCecLocalDeviceAudioSystem extends HdmiCecLocalDeviceSource {
|
||||
setSystemAudioMode(true);
|
||||
mService.sendCecCommand(
|
||||
HdmiCecMessageBuilder.buildSetSystemAudioMode(
|
||||
mAddress, Constants.ADDR_BROADCAST, true));
|
||||
getDeviceInfo().getLogicalAddress(), Constants.ADDR_BROADCAST, true));
|
||||
return Constants.HANDLED;
|
||||
}
|
||||
// Check if TV supports System Audio Control.
|
||||
@@ -992,7 +1000,9 @@ public class HdmiCecLocalDeviceAudioSystem extends HdmiCecLocalDeviceSource {
|
||||
setSystemAudioMode(true);
|
||||
mService.sendCecCommand(
|
||||
HdmiCecMessageBuilder.buildSetSystemAudioMode(
|
||||
mAddress, Constants.ADDR_BROADCAST, true));
|
||||
getDeviceInfo().getLogicalAddress(),
|
||||
Constants.ADDR_BROADCAST,
|
||||
true));
|
||||
} else {
|
||||
mService.maySendFeatureAbortCommand(message, Constants.ABORT_REFUSED);
|
||||
}
|
||||
@@ -1150,8 +1160,9 @@ public class HdmiCecLocalDeviceAudioSystem extends HdmiCecLocalDeviceSource {
|
||||
return;
|
||||
}
|
||||
// Otherwise will switch to the current active port and broadcast routing information.
|
||||
mService.sendCecCommand(HdmiCecMessageBuilder.buildRoutingInformation(
|
||||
mAddress, routingInformationPath));
|
||||
mService.sendCecCommand(
|
||||
HdmiCecMessageBuilder.buildRoutingInformation(
|
||||
getDeviceInfo().getLogicalAddress(), routingInformationPath));
|
||||
routeToInputFromPortId(getRoutingPort());
|
||||
}
|
||||
|
||||
|
||||
@@ -75,10 +75,14 @@ public class HdmiCecLocalDevicePlayback extends HdmiCecLocalDeviceSource {
|
||||
getDeviceInfo().getDeviceType(), Constants.ADDR_BROADCAST,
|
||||
"HdmiCecLocalDevicePlayback#onAddressAllocated()");
|
||||
}
|
||||
mService.sendCecCommand(HdmiCecMessageBuilder.buildReportPhysicalAddressCommand(
|
||||
mAddress, mService.getPhysicalAddress(), mDeviceType));
|
||||
mService.sendCecCommand(HdmiCecMessageBuilder.buildDeviceVendorIdCommand(
|
||||
mAddress, mService.getVendorId()));
|
||||
mService.sendCecCommand(
|
||||
HdmiCecMessageBuilder.buildReportPhysicalAddressCommand(
|
||||
getDeviceInfo().getLogicalAddress(),
|
||||
mService.getPhysicalAddress(),
|
||||
mDeviceType));
|
||||
mService.sendCecCommand(
|
||||
HdmiCecMessageBuilder.buildDeviceVendorIdCommand(
|
||||
getDeviceInfo().getLogicalAddress(), mService.getVendorId()));
|
||||
// Actively send out an OSD name to the TV to update the TV panel in case the TV
|
||||
// does not query the OSD name on time. This is not a required behavior by the spec.
|
||||
// It is used for some TVs that need the OSD name update but don't query it themselves.
|
||||
@@ -87,8 +91,10 @@ public class HdmiCecLocalDevicePlayback extends HdmiCecLocalDeviceSource {
|
||||
// If current device is not a functional audio system device,
|
||||
// send message to potential audio system device in the system to get the system
|
||||
// audio mode status. If no response, set to false.
|
||||
mService.sendCecCommand(HdmiCecMessageBuilder.buildGiveSystemAudioModeStatus(
|
||||
mAddress, Constants.ADDR_AUDIO_SYSTEM), new SendMessageCallback() {
|
||||
mService.sendCecCommand(
|
||||
HdmiCecMessageBuilder.buildGiveSystemAudioModeStatus(
|
||||
getDeviceInfo().getLogicalAddress(), Constants.ADDR_AUDIO_SYSTEM),
|
||||
new SendMessageCallback() {
|
||||
@Override
|
||||
public void onSendCompleted(int error) {
|
||||
if (error != SendMessageResult.SUCCESS) {
|
||||
@@ -144,8 +150,9 @@ public class HdmiCecLocalDevicePlayback extends HdmiCecLocalDeviceSource {
|
||||
return;
|
||||
}
|
||||
if (initiatedByCec) {
|
||||
mService.sendCecCommand(HdmiCecMessageBuilder.buildInactiveSource(mAddress,
|
||||
mService.getPhysicalAddress()));
|
||||
mService.sendCecCommand(
|
||||
HdmiCecMessageBuilder.buildInactiveSource(
|
||||
getDeviceInfo().getLogicalAddress(), mService.getPhysicalAddress()));
|
||||
return;
|
||||
}
|
||||
switch (standbyAction) {
|
||||
@@ -157,23 +164,28 @@ public class HdmiCecLocalDevicePlayback extends HdmiCecLocalDeviceSource {
|
||||
switch (powerControlMode) {
|
||||
case HdmiControlManager.POWER_CONTROL_MODE_TV:
|
||||
mService.sendCecCommand(
|
||||
HdmiCecMessageBuilder.buildStandby(mAddress, Constants.ADDR_TV));
|
||||
HdmiCecMessageBuilder.buildStandby(
|
||||
getDeviceInfo().getLogicalAddress(), Constants.ADDR_TV));
|
||||
break;
|
||||
case HdmiControlManager.POWER_CONTROL_MODE_TV_AND_AUDIO_SYSTEM:
|
||||
mService.sendCecCommand(
|
||||
HdmiCecMessageBuilder.buildStandby(mAddress, Constants.ADDR_TV));
|
||||
HdmiCecMessageBuilder.buildStandby(
|
||||
getDeviceInfo().getLogicalAddress(), Constants.ADDR_TV));
|
||||
mService.sendCecCommand(
|
||||
HdmiCecMessageBuilder.buildStandby(mAddress,
|
||||
HdmiCecMessageBuilder.buildStandby(
|
||||
getDeviceInfo().getLogicalAddress(),
|
||||
Constants.ADDR_AUDIO_SYSTEM));
|
||||
break;
|
||||
case HdmiControlManager.POWER_CONTROL_MODE_BROADCAST:
|
||||
mService.sendCecCommand(
|
||||
HdmiCecMessageBuilder.buildStandby(mAddress,
|
||||
HdmiCecMessageBuilder.buildStandby(
|
||||
getDeviceInfo().getLogicalAddress(),
|
||||
Constants.ADDR_BROADCAST));
|
||||
break;
|
||||
case HdmiControlManager.POWER_CONTROL_MODE_NONE:
|
||||
mService.sendCecCommand(
|
||||
HdmiCecMessageBuilder.buildInactiveSource(mAddress,
|
||||
HdmiCecMessageBuilder.buildInactiveSource(
|
||||
getDeviceInfo().getLogicalAddress(),
|
||||
mService.getPhysicalAddress()));
|
||||
break;
|
||||
}
|
||||
@@ -181,7 +193,8 @@ public class HdmiCecLocalDevicePlayback extends HdmiCecLocalDeviceSource {
|
||||
case HdmiControlService.STANDBY_SHUTDOWN:
|
||||
// ACTION_SHUTDOWN is taken as a signal to power off all the devices.
|
||||
mService.sendCecCommand(
|
||||
HdmiCecMessageBuilder.buildStandby(mAddress, Constants.ADDR_BROADCAST));
|
||||
HdmiCecMessageBuilder.buildStandby(
|
||||
getDeviceInfo().getLogicalAddress(), Constants.ADDR_BROADCAST));
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -330,7 +343,7 @@ public class HdmiCecLocalDevicePlayback extends HdmiCecLocalDeviceSource {
|
||||
protected int handleSystemAudioModeStatus(HdmiCecMessage message) {
|
||||
// Only directly addressed System Audio Mode Status message can change internal
|
||||
// system audio mode status.
|
||||
if (message.getDestination() == mAddress
|
||||
if (message.getDestination() == getDeviceInfo().getLogicalAddress()
|
||||
&& message.getSource() == Constants.ADDR_AUDIO_SYSTEM) {
|
||||
boolean setSystemAudioModeOn = HdmiUtils.parseCommandParamSystemAudioStatus(message);
|
||||
if (mService.isSystemAudioActivated() != setSystemAudioModeOn) {
|
||||
|
||||
@@ -111,13 +111,17 @@ abstract class HdmiCecLocalDeviceSource extends HdmiCecLocalDevice {
|
||||
HdmiControlManager.CEC_SETTING_NAME_POWER_CONTROL_MODE);
|
||||
if (powerControlMode.equals(HdmiControlManager.POWER_CONTROL_MODE_BROADCAST)) {
|
||||
mService.sendCecCommand(
|
||||
HdmiCecMessageBuilder.buildStandby(mAddress, Constants.ADDR_BROADCAST));
|
||||
HdmiCecMessageBuilder.buildStandby(
|
||||
getDeviceInfo().getLogicalAddress(), Constants.ADDR_BROADCAST));
|
||||
return;
|
||||
}
|
||||
mService.sendCecCommand(HdmiCecMessageBuilder.buildStandby(mAddress, Constants.ADDR_TV));
|
||||
mService.sendCecCommand(
|
||||
HdmiCecMessageBuilder.buildStandby(
|
||||
getDeviceInfo().getLogicalAddress(), Constants.ADDR_TV));
|
||||
if (powerControlMode.equals(HdmiControlManager.POWER_CONTROL_MODE_TV_AND_AUDIO_SYSTEM)) {
|
||||
mService.sendCecCommand(
|
||||
HdmiCecMessageBuilder.buildStandby(mAddress, Constants.ADDR_AUDIO_SYSTEM));
|
||||
HdmiCecMessageBuilder.buildStandby(
|
||||
getDeviceInfo().getLogicalAddress(), Constants.ADDR_AUDIO_SYSTEM));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -168,10 +168,14 @@ final class HdmiCecLocalDeviceTv extends HdmiCecLocalDevice {
|
||||
mArcFeatureEnabled.put(port.getId(), port.isArcSupported());
|
||||
}
|
||||
mService.registerTvInputCallback(mTvInputCallback);
|
||||
mService.sendCecCommand(HdmiCecMessageBuilder.buildReportPhysicalAddressCommand(
|
||||
mAddress, mService.getPhysicalAddress(), mDeviceType));
|
||||
mService.sendCecCommand(HdmiCecMessageBuilder.buildDeviceVendorIdCommand(
|
||||
mAddress, mService.getVendorId()));
|
||||
mService.sendCecCommand(
|
||||
HdmiCecMessageBuilder.buildReportPhysicalAddressCommand(
|
||||
getDeviceInfo().getLogicalAddress(),
|
||||
mService.getPhysicalAddress(),
|
||||
mDeviceType));
|
||||
mService.sendCecCommand(
|
||||
HdmiCecMessageBuilder.buildDeviceVendorIdCommand(
|
||||
getDeviceInfo().getLogicalAddress(), mService.getVendorId()));
|
||||
mService.getHdmiCecNetwork().addCecSwitch(
|
||||
mService.getHdmiCecNetwork().getPhysicalAddress()); // TV is a CEC switch too.
|
||||
mTvInputs.clear();
|
||||
@@ -182,7 +186,9 @@ final class HdmiCecLocalDeviceTv extends HdmiCecLocalDevice {
|
||||
launchDeviceDiscovery();
|
||||
startQueuedActions();
|
||||
if (!mDelayedMessageBuffer.isBuffered(Constants.MESSAGE_ACTIVE_SOURCE)) {
|
||||
mService.sendCecCommand(HdmiCecMessageBuilder.buildRequestActiveSource(mAddress));
|
||||
mService.sendCecCommand(
|
||||
HdmiCecMessageBuilder.buildRequestActiveSource(
|
||||
getDeviceInfo().getLogicalAddress()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -265,15 +271,19 @@ final class HdmiCecLocalDeviceTv extends HdmiCecLocalDevice {
|
||||
private void handleSelectInternalSource() {
|
||||
assertRunOnServiceThread();
|
||||
// Seq #18
|
||||
if (mService.isControlEnabled() && getActiveSource().logicalAddress != mAddress) {
|
||||
updateActiveSource(mAddress, mService.getPhysicalAddress(),
|
||||
if (mService.isControlEnabled()
|
||||
&& getActiveSource().logicalAddress != getDeviceInfo().getLogicalAddress()) {
|
||||
updateActiveSource(
|
||||
getDeviceInfo().getLogicalAddress(),
|
||||
mService.getPhysicalAddress(),
|
||||
"HdmiCecLocalDeviceTv#handleSelectInternalSource()");
|
||||
if (mSkipRoutingControl) {
|
||||
mSkipRoutingControl = false;
|
||||
return;
|
||||
}
|
||||
HdmiCecMessage activeSource = HdmiCecMessageBuilder.buildActiveSource(
|
||||
mAddress, mService.getPhysicalAddress());
|
||||
HdmiCecMessage activeSource =
|
||||
HdmiCecMessageBuilder.buildActiveSource(
|
||||
getDeviceInfo().getLogicalAddress(), mService.getPhysicalAddress());
|
||||
mService.sendCecCommand(activeSource);
|
||||
}
|
||||
}
|
||||
@@ -294,7 +304,7 @@ final class HdmiCecLocalDeviceTv extends HdmiCecLocalDevice {
|
||||
setActiveSource(newActive, caller);
|
||||
int logicalAddress = newActive.logicalAddress;
|
||||
if (mService.getHdmiCecNetwork().getCecDeviceInfo(logicalAddress) != null
|
||||
&& logicalAddress != mAddress) {
|
||||
&& logicalAddress != getDeviceInfo().getLogicalAddress()) {
|
||||
if (mService.pathToPortId(newActive.physicalAddress) == getActivePortId()) {
|
||||
setPrevPortId(getActivePortId());
|
||||
}
|
||||
@@ -383,7 +393,8 @@ final class HdmiCecLocalDeviceTv extends HdmiCecLocalDevice {
|
||||
return;
|
||||
}
|
||||
HdmiCecMessage routingChange =
|
||||
HdmiCecMessageBuilder.buildRoutingChange(mAddress, oldPath, newPath);
|
||||
HdmiCecMessageBuilder.buildRoutingChange(
|
||||
getDeviceInfo().getLogicalAddress(), oldPath, newPath);
|
||||
mService.sendCecCommand(routingChange);
|
||||
removeAction(RoutingControlAction.class);
|
||||
addAndStartAction(
|
||||
@@ -485,9 +496,10 @@ final class HdmiCecLocalDeviceTv extends HdmiCecLocalDevice {
|
||||
protected int handleRequestActiveSource(HdmiCecMessage message) {
|
||||
assertRunOnServiceThread();
|
||||
// Seq #19
|
||||
if (mAddress == getActiveSource().logicalAddress) {
|
||||
if (getDeviceInfo().getLogicalAddress() == getActiveSource().logicalAddress) {
|
||||
mService.sendCecCommand(
|
||||
HdmiCecMessageBuilder.buildActiveSource(mAddress, getActivePath()));
|
||||
HdmiCecMessageBuilder.buildActiveSource(
|
||||
getDeviceInfo().getLogicalAddress(), getActivePath()));
|
||||
}
|
||||
return Constants.HANDLED;
|
||||
}
|
||||
@@ -506,8 +518,9 @@ final class HdmiCecLocalDeviceTv extends HdmiCecLocalDevice {
|
||||
@ServiceThreadOnly
|
||||
boolean broadcastMenuLanguage(String language) {
|
||||
assertRunOnServiceThread();
|
||||
HdmiCecMessage command = HdmiCecMessageBuilder.buildSetMenuLanguageCommand(
|
||||
mAddress, language);
|
||||
HdmiCecMessage command =
|
||||
HdmiCecMessageBuilder.buildSetMenuLanguageCommand(
|
||||
getDeviceInfo().getLogicalAddress(), language);
|
||||
if (command != null) {
|
||||
mService.sendCecCommand(command);
|
||||
return true;
|
||||
@@ -1213,8 +1226,9 @@ final class HdmiCecLocalDeviceTv extends HdmiCecLocalDevice {
|
||||
setActivePath(activePath);
|
||||
if (!routingForBootup
|
||||
&& !mDelayedMessageBuffer.isBuffered(Constants.MESSAGE_ACTIVE_SOURCE)) {
|
||||
mService.sendCecCommand(HdmiCecMessageBuilder.buildActiveSource(mAddress,
|
||||
activePath));
|
||||
mService.sendCecCommand(
|
||||
HdmiCecMessageBuilder.buildActiveSource(
|
||||
getDeviceInfo().getLogicalAddress(), activePath));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1336,8 +1350,9 @@ final class HdmiCecLocalDeviceTv extends HdmiCecLocalDevice {
|
||||
HdmiControlManager.CEC_SETTING_NAME_TV_SEND_STANDBY_ON_SLEEP)
|
||||
== HdmiControlManager.TV_SEND_STANDBY_ON_SLEEP_ENABLED;
|
||||
if (!initiatedByCec && sendStandbyOnSleep) {
|
||||
mService.sendCecCommand(HdmiCecMessageBuilder.buildStandby(
|
||||
mAddress, Constants.ADDR_BROADCAST));
|
||||
mService.sendCecCommand(
|
||||
HdmiCecMessageBuilder.buildStandby(
|
||||
getDeviceInfo().getLogicalAddress(), Constants.ADDR_BROADCAST));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1410,7 +1425,9 @@ final class HdmiCecLocalDeviceTv extends HdmiCecLocalDevice {
|
||||
|
||||
// Remove one touch record action so that other one touch record can be started.
|
||||
removeAction(OneTouchRecordAction.class);
|
||||
mService.sendCecCommand(HdmiCecMessageBuilder.buildRecordOff(mAddress, recorderAddress));
|
||||
mService.sendCecCommand(
|
||||
HdmiCecMessageBuilder.buildRecordOff(
|
||||
getDeviceInfo().getLogicalAddress(), recorderAddress));
|
||||
Slog.i(TAG, "Stop [One Touch Record]-Target:" + recorderAddress);
|
||||
}
|
||||
|
||||
@@ -1491,16 +1508,19 @@ final class HdmiCecLocalDeviceTv extends HdmiCecLocalDevice {
|
||||
HdmiCecMessage message = null;
|
||||
switch (sourceType) {
|
||||
case TIMER_RECORDING_TYPE_DIGITAL:
|
||||
message = HdmiCecMessageBuilder.buildClearDigitalTimer(mAddress, recorderAddress,
|
||||
recordSource);
|
||||
message =
|
||||
HdmiCecMessageBuilder.buildClearDigitalTimer(
|
||||
getDeviceInfo().getLogicalAddress(), recorderAddress, recordSource);
|
||||
break;
|
||||
case TIMER_RECORDING_TYPE_ANALOGUE:
|
||||
message = HdmiCecMessageBuilder.buildClearAnalogueTimer(mAddress, recorderAddress,
|
||||
recordSource);
|
||||
message =
|
||||
HdmiCecMessageBuilder.buildClearAnalogueTimer(
|
||||
getDeviceInfo().getLogicalAddress(), recorderAddress, recordSource);
|
||||
break;
|
||||
case TIMER_RECORDING_TYPE_EXTERNAL:
|
||||
message = HdmiCecMessageBuilder.buildClearExternalTimer(mAddress, recorderAddress,
|
||||
recordSource);
|
||||
message =
|
||||
HdmiCecMessageBuilder.buildClearExternalTimer(
|
||||
getDeviceInfo().getLogicalAddress(), recorderAddress, recordSource);
|
||||
break;
|
||||
default:
|
||||
Slog.w(TAG, "Invalid source type:" + recorderAddress);
|
||||
@@ -1568,7 +1588,9 @@ final class HdmiCecLocalDeviceTv extends HdmiCecLocalDevice {
|
||||
return;
|
||||
}
|
||||
int targetAddress = targetDevice.getLogicalAddress();
|
||||
mService.sendCecCommand(HdmiCecMessageBuilder.buildStandby(mAddress, targetAddress));
|
||||
mService.sendCecCommand(
|
||||
HdmiCecMessageBuilder.buildStandby(
|
||||
getDeviceInfo().getLogicalAddress(), targetAddress));
|
||||
}
|
||||
|
||||
@ServiceThreadOnly
|
||||
|
||||
@@ -166,18 +166,6 @@ public class HdmiCecNetwork {
|
||||
}
|
||||
return false;
|
||||
}
|
||||
/**
|
||||
* Clear all logical addresses registered in the device.
|
||||
*
|
||||
* <p>Declared as package-private. accessed by {@link HdmiControlService} only.
|
||||
*/
|
||||
@ServiceThreadOnly
|
||||
void clearLogicalAddress() {
|
||||
assertRunOnServiceThread();
|
||||
for (int i = 0; i < mLocalDevices.size(); ++i) {
|
||||
mLocalDevices.valueAt(i).clearAddress();
|
||||
}
|
||||
}
|
||||
|
||||
@ServiceThreadOnly
|
||||
void clearLocalDevices() {
|
||||
@@ -862,7 +850,7 @@ public class HdmiCecNetwork {
|
||||
private boolean isLocalDeviceAddress(int address) {
|
||||
for (int i = 0; i < mLocalDevices.size(); i++) {
|
||||
int key = mLocalDevices.keyAt(i);
|
||||
if (mLocalDevices.get(key).mAddress == address) {
|
||||
if (mLocalDevices.get(key).getDeviceInfo().getLogicalAddress() == address) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -77,8 +77,10 @@ class HdmiCecPowerStatusController {
|
||||
private void sendReportPowerStatus(int powerStatus) {
|
||||
for (HdmiCecLocalDevice localDevice : mHdmiControlService.getAllLocalDevices()) {
|
||||
mHdmiControlService.sendCecCommand(
|
||||
HdmiCecMessageBuilder.buildReportPowerStatus(localDevice.mAddress,
|
||||
Constants.ADDR_BROADCAST, powerStatus));
|
||||
HdmiCecMessageBuilder.buildReportPowerStatus(
|
||||
localDevice.getDeviceInfo().getLogicalAddress(),
|
||||
Constants.ADDR_BROADCAST,
|
||||
powerStatus));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1395,8 +1395,9 @@ public class HdmiControlService extends SystemService {
|
||||
deviceInfo.getLogicalAddress(), deviceInfo.getPhysicalAddress(),
|
||||
deviceInfo.getPortId(), deviceInfo.getDeviceType(), deviceInfo.getVendorId(),
|
||||
newDisplayName, deviceInfo.getDevicePowerStatus(), deviceInfo.getCecVersion()));
|
||||
sendCecCommand(HdmiCecMessageBuilder.buildSetOsdNameCommand(
|
||||
device.mAddress, Constants.ADDR_TV, newDisplayName));
|
||||
sendCecCommand(
|
||||
HdmiCecMessageBuilder.buildSetOsdNameCommand(
|
||||
deviceInfo.getLogicalAddress(), Constants.ADDR_TV, newDisplayName));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2294,7 +2295,9 @@ public class HdmiControlService extends SystemService {
|
||||
}
|
||||
sendCecCommand(
|
||||
HdmiCecMessageBuilder.buildSetSystemAudioMode(
|
||||
audioSystem().mAddress, Constants.ADDR_BROADCAST, true));
|
||||
audioSystem().getDeviceInfo().getLogicalAddress(),
|
||||
Constants.ADDR_BROADCAST,
|
||||
true));
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -3200,7 +3203,6 @@ public class HdmiControlService extends SystemService {
|
||||
return;
|
||||
}
|
||||
mCecController.clearLogicalAddress();
|
||||
mHdmiCecNetwork.clearLogicalAddress();
|
||||
mHdmiCecNetwork.clearLocalDevices();
|
||||
}
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@ import static com.android.server.hdmi.HdmiConfig.IRT_MS;
|
||||
import android.hardware.tv.cec.V1_0.SendMessageResult;
|
||||
import android.util.Slog;
|
||||
import android.view.KeyEvent;
|
||||
|
||||
import com.android.server.hdmi.HdmiControlService.SendMessageCallback;
|
||||
|
||||
/**
|
||||
@@ -152,7 +153,7 @@ final class SendKeyAction extends HdmiCecFeatureAction {
|
||||
// audio system device is still plugged in. Framework checks if the volume key forwarding is
|
||||
// successful or not every time to make sure the System Audio Mode status is still updated.
|
||||
if (mTargetAddress == Constants.ADDR_AUDIO_SYSTEM
|
||||
&& localDevice().mAddress != Constants.ADDR_TV) {
|
||||
&& localDevice().getDeviceInfo().getLogicalAddress() != Constants.ADDR_TV) {
|
||||
sendCommand(HdmiCecMessageBuilder.buildUserControlPressed(getSourceAddress(),
|
||||
mTargetAddress, cecKeycodeAndParams), new SendMessageCallback() {
|
||||
@Override
|
||||
|
||||
@@ -139,10 +139,14 @@ public class ActiveSourceActionTest {
|
||||
playbackDevice.addAndStartAction(action);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
HdmiCecMessage activeSource = HdmiCecMessageBuilder.buildActiveSource(
|
||||
playbackDevice.mAddress, mPhysicalAddress);
|
||||
HdmiCecMessage menuStatus = HdmiCecMessageBuilder.buildReportMenuStatus(
|
||||
playbackDevice.mAddress, ADDR_TV, Constants.MENU_STATE_ACTIVATED);
|
||||
HdmiCecMessage activeSource =
|
||||
HdmiCecMessageBuilder.buildActiveSource(
|
||||
playbackDevice.getDeviceInfo().getLogicalAddress(), mPhysicalAddress);
|
||||
HdmiCecMessage menuStatus =
|
||||
HdmiCecMessageBuilder.buildReportMenuStatus(
|
||||
playbackDevice.getDeviceInfo().getLogicalAddress(),
|
||||
ADDR_TV,
|
||||
Constants.MENU_STATE_ACTIVATED);
|
||||
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(activeSource);
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(menuStatus);
|
||||
@@ -162,8 +166,8 @@ public class ActiveSourceActionTest {
|
||||
playbackDevice.addAndStartAction(action);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
assertThat(playbackDevice.getActiveSource().logicalAddress).isEqualTo(
|
||||
playbackDevice.mAddress);
|
||||
assertThat(playbackDevice.getActiveSource().logicalAddress)
|
||||
.isEqualTo(playbackDevice.getDeviceInfo().getLogicalAddress());
|
||||
assertThat(playbackDevice.getActiveSource().physicalAddress).isEqualTo(mPhysicalAddress);
|
||||
assertThat(playbackDevice.isActiveSource()).isTrue();
|
||||
}
|
||||
@@ -182,10 +186,14 @@ public class ActiveSourceActionTest {
|
||||
audioDevice.addAndStartAction(action);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
HdmiCecMessage activeSource = HdmiCecMessageBuilder.buildActiveSource(audioDevice.mAddress,
|
||||
mPhysicalAddress);
|
||||
HdmiCecMessage menuStatus = HdmiCecMessageBuilder.buildReportMenuStatus(
|
||||
audioDevice.mAddress, ADDR_TV, Constants.MENU_STATE_ACTIVATED);
|
||||
HdmiCecMessage activeSource =
|
||||
HdmiCecMessageBuilder.buildActiveSource(
|
||||
audioDevice.getDeviceInfo().getLogicalAddress(), mPhysicalAddress);
|
||||
HdmiCecMessage menuStatus =
|
||||
HdmiCecMessageBuilder.buildReportMenuStatus(
|
||||
audioDevice.getDeviceInfo().getLogicalAddress(),
|
||||
ADDR_TV,
|
||||
Constants.MENU_STATE_ACTIVATED);
|
||||
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(activeSource);
|
||||
assertThat(mNativeWrapper.getResultMessages()).doesNotContain(menuStatus);
|
||||
|
||||
@@ -73,7 +73,9 @@ public class DetectTvSystemAudioModeSupportActionTest {
|
||||
mHdmiCecLocalDeviceAudioSystem.dispatchMessage(
|
||||
HdmiCecMessageBuilder.buildFeatureAbortCommand(
|
||||
Constants.ADDR_TV,
|
||||
mHdmiCecLocalDeviceAudioSystem.mAddress,
|
||||
mHdmiCecLocalDeviceAudioSystem
|
||||
.getDeviceInfo()
|
||||
.getLogicalAddress(),
|
||||
Constants.MESSAGE_SET_SYSTEM_AUDIO_MODE,
|
||||
Constants.ABORT_UNRECOGNIZED_OPCODE));
|
||||
}
|
||||
@@ -106,6 +108,7 @@ public class DetectTvSystemAudioModeSupportActionTest {
|
||||
}
|
||||
};
|
||||
mHdmiCecLocalDeviceAudioSystem.init();
|
||||
mHdmiCecLocalDeviceAudioSystem.setDeviceInfo(mDeviceInfoForTests);
|
||||
Looper looper = mTestLooper.getLooper();
|
||||
hdmiControlService.setIoLooper(looper);
|
||||
|
||||
|
||||
@@ -150,12 +150,16 @@ public class DevicePowerStatusActionTest {
|
||||
mPlaybackDevice.addAndStartAction(mDevicePowerStatusAction);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
HdmiCecMessage expected = HdmiCecMessageBuilder.buildGiveDevicePowerStatus(
|
||||
mPlaybackDevice.mAddress, ADDR_TV);
|
||||
HdmiCecMessage expected =
|
||||
HdmiCecMessageBuilder.buildGiveDevicePowerStatus(
|
||||
mPlaybackDevice.getDeviceInfo().getLogicalAddress(), ADDR_TV);
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(expected);
|
||||
|
||||
HdmiCecMessage response = HdmiCecMessageBuilder.buildReportPowerStatus(
|
||||
ADDR_TV, mPlaybackDevice.mAddress, HdmiControlManager.POWER_STATUS_STANDBY);
|
||||
HdmiCecMessage response =
|
||||
HdmiCecMessageBuilder.buildReportPowerStatus(
|
||||
ADDR_TV,
|
||||
mPlaybackDevice.getDeviceInfo().getLogicalAddress(),
|
||||
HdmiControlManager.POWER_STATUS_STANDBY);
|
||||
mNativeWrapper.onCecMessage(response);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
@@ -177,8 +181,9 @@ public class DevicePowerStatusActionTest {
|
||||
public void queryDisplayStatus_sendsRequest_timeout_retriesSuccessfully() throws Exception {
|
||||
mPlaybackDevice.addAndStartAction(mDevicePowerStatusAction);
|
||||
|
||||
HdmiCecMessage expected = HdmiCecMessageBuilder.buildGiveDevicePowerStatus(
|
||||
mPlaybackDevice.mAddress, ADDR_TV);
|
||||
HdmiCecMessage expected =
|
||||
HdmiCecMessageBuilder.buildGiveDevicePowerStatus(
|
||||
mPlaybackDevice.getDeviceInfo().getLogicalAddress(), ADDR_TV);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(expected);
|
||||
@@ -188,8 +193,11 @@ public class DevicePowerStatusActionTest {
|
||||
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(expected);
|
||||
|
||||
HdmiCecMessage response = HdmiCecMessageBuilder.buildReportPowerStatus(
|
||||
ADDR_TV, mPlaybackDevice.mAddress, HdmiControlManager.POWER_STATUS_STANDBY);
|
||||
HdmiCecMessage response =
|
||||
HdmiCecMessageBuilder.buildReportPowerStatus(
|
||||
ADDR_TV,
|
||||
mPlaybackDevice.getDeviceInfo().getLogicalAddress(),
|
||||
HdmiControlManager.POWER_STATUS_STANDBY);
|
||||
mNativeWrapper.onCecMessage(response);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
@@ -201,8 +209,9 @@ public class DevicePowerStatusActionTest {
|
||||
mPlaybackDevice.addAndStartAction(mDevicePowerStatusAction);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
HdmiCecMessage expected = HdmiCecMessageBuilder.buildGiveDevicePowerStatus(
|
||||
mPlaybackDevice.mAddress, ADDR_TV);
|
||||
HdmiCecMessage expected =
|
||||
HdmiCecMessageBuilder.buildGiveDevicePowerStatus(
|
||||
mPlaybackDevice.getDeviceInfo().getLogicalAddress(), ADDR_TV);
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(expected);
|
||||
mNativeWrapper.clearResultMessages();
|
||||
mTestLooper.moveTimeForward(TIMEOUT_MS);
|
||||
@@ -225,12 +234,16 @@ public class DevicePowerStatusActionTest {
|
||||
mPlaybackDevice.addAndStartAction(mDevicePowerStatusAction);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
HdmiCecMessage giveDevicePowerStatus = HdmiCecMessageBuilder.buildGiveDevicePowerStatus(
|
||||
mPlaybackDevice.mAddress, ADDR_TV);
|
||||
HdmiCecMessage giveDevicePowerStatus =
|
||||
HdmiCecMessageBuilder.buildGiveDevicePowerStatus(
|
||||
mPlaybackDevice.getDeviceInfo().getLogicalAddress(), ADDR_TV);
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(giveDevicePowerStatus);
|
||||
|
||||
HdmiCecMessage response = HdmiCecMessageBuilder.buildReportPowerStatus(
|
||||
ADDR_TV, mPlaybackDevice.mAddress, HdmiControlManager.POWER_STATUS_STANDBY);
|
||||
HdmiCecMessage response =
|
||||
HdmiCecMessageBuilder.buildReportPowerStatus(
|
||||
ADDR_TV,
|
||||
mPlaybackDevice.getDeviceInfo().getLogicalAddress(),
|
||||
HdmiControlManager.POWER_STATUS_STANDBY);
|
||||
mNativeWrapper.onCecMessage(response);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
@@ -254,8 +267,9 @@ public class DevicePowerStatusActionTest {
|
||||
mPlaybackDevice.addAndStartAction(mDevicePowerStatusAction);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
HdmiCecMessage giveDevicePowerStatus = HdmiCecMessageBuilder.buildGiveDevicePowerStatus(
|
||||
mPlaybackDevice.mAddress, ADDR_TV);
|
||||
HdmiCecMessage giveDevicePowerStatus =
|
||||
HdmiCecMessageBuilder.buildGiveDevicePowerStatus(
|
||||
mPlaybackDevice.getDeviceInfo().getLogicalAddress(), ADDR_TV);
|
||||
assertThat(mNativeWrapper.getResultMessages()).doesNotContain(giveDevicePowerStatus);
|
||||
|
||||
verify(mCallbackMock).onComplete(HdmiControlManager.POWER_STATUS_STANDBY);
|
||||
@@ -278,12 +292,16 @@ public class DevicePowerStatusActionTest {
|
||||
mPlaybackDevice.addAndStartAction(mDevicePowerStatusAction);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
HdmiCecMessage giveDevicePowerStatus = HdmiCecMessageBuilder.buildGiveDevicePowerStatus(
|
||||
mPlaybackDevice.mAddress, ADDR_TV);
|
||||
HdmiCecMessage giveDevicePowerStatus =
|
||||
HdmiCecMessageBuilder.buildGiveDevicePowerStatus(
|
||||
mPlaybackDevice.getDeviceInfo().getLogicalAddress(), ADDR_TV);
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(giveDevicePowerStatus);
|
||||
|
||||
HdmiCecMessage response = HdmiCecMessageBuilder.buildReportPowerStatus(
|
||||
ADDR_TV, mPlaybackDevice.mAddress, HdmiControlManager.POWER_STATUS_STANDBY);
|
||||
HdmiCecMessage response =
|
||||
HdmiCecMessageBuilder.buildReportPowerStatus(
|
||||
ADDR_TV,
|
||||
mPlaybackDevice.getDeviceInfo().getLogicalAddress(),
|
||||
HdmiControlManager.POWER_STATUS_STANDBY);
|
||||
mNativeWrapper.onCecMessage(response);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
@@ -298,8 +316,9 @@ public class DevicePowerStatusActionTest {
|
||||
|
||||
mHdmiControlService.onStandby(HdmiControlService.STANDBY_SCREEN_OFF);
|
||||
mTestLooper.dispatchAll();
|
||||
HdmiCecMessage standbyMessage = HdmiCecMessageBuilder.buildStandby(
|
||||
mPlaybackDevice.mAddress, ADDR_TV);
|
||||
HdmiCecMessage standbyMessage =
|
||||
HdmiCecMessageBuilder.buildStandby(
|
||||
mPlaybackDevice.getDeviceInfo().getLogicalAddress(), ADDR_TV);
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(standbyMessage);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -795,12 +795,13 @@ public class HdmiCecLocalDeviceAudioSystemTest {
|
||||
|
||||
@Test
|
||||
public void setActiveSource_localDevice_playback() {
|
||||
mHdmiControlService.setActiveSource(mHdmiCecLocalDevicePlayback.mAddress,
|
||||
mHdmiControlService.setActiveSource(
|
||||
mHdmiCecLocalDevicePlayback.getDeviceInfo().getLogicalAddress(),
|
||||
SELF_PHYSICAL_ADDRESS,
|
||||
"HdmiControlServiceTest");
|
||||
|
||||
assertThat(mHdmiControlService.getLocalActiveSource().logicalAddress).isEqualTo(
|
||||
mHdmiCecLocalDevicePlayback.mAddress);
|
||||
assertThat(mHdmiControlService.getLocalActiveSource().logicalAddress)
|
||||
.isEqualTo(mHdmiCecLocalDevicePlayback.getDeviceInfo().getLogicalAddress());
|
||||
assertThat(mHdmiControlService.getLocalActiveSource().physicalAddress).isEqualTo(
|
||||
SELF_PHYSICAL_ADDRESS);
|
||||
assertThat(mHdmiCecLocalDevicePlayback.isActiveSource()).isTrue();
|
||||
@@ -809,12 +810,13 @@ public class HdmiCecLocalDeviceAudioSystemTest {
|
||||
|
||||
@Test
|
||||
public void setActiveSource_localDevice_audio() {
|
||||
mHdmiControlService.setActiveSource(mHdmiCecLocalDeviceAudioSystem.mAddress,
|
||||
mHdmiControlService.setActiveSource(
|
||||
mHdmiCecLocalDeviceAudioSystem.getDeviceInfo().getLogicalAddress(),
|
||||
SELF_PHYSICAL_ADDRESS,
|
||||
"HdmiControlServiceTest");
|
||||
|
||||
assertThat(mHdmiControlService.getLocalActiveSource().logicalAddress).isEqualTo(
|
||||
mHdmiCecLocalDeviceAudioSystem.mAddress);
|
||||
assertThat(mHdmiControlService.getLocalActiveSource().logicalAddress)
|
||||
.isEqualTo(mHdmiCecLocalDeviceAudioSystem.getDeviceInfo().getLogicalAddress());
|
||||
assertThat(mHdmiControlService.getLocalActiveSource().physicalAddress).isEqualTo(
|
||||
SELF_PHYSICAL_ADDRESS);
|
||||
assertThat(mHdmiCecLocalDevicePlayback.isActiveSource()).isFalse();
|
||||
|
||||
@@ -657,7 +657,9 @@ public class HdmiCecLocalDevicePlaybackTest {
|
||||
// Test should ignore it and still keep the system audio mode on.
|
||||
HdmiCecMessage message =
|
||||
HdmiCecMessageBuilder.buildSetSystemAudioMode(
|
||||
Constants.ADDR_AUDIO_SYSTEM, mHdmiCecLocalDevicePlayback.mAddress, false);
|
||||
Constants.ADDR_AUDIO_SYSTEM,
|
||||
mHdmiCecLocalDevicePlayback.getDeviceInfo().getLogicalAddress(),
|
||||
false);
|
||||
assertThat(mHdmiCecLocalDevicePlayback.handleSetSystemAudioMode(message))
|
||||
.isEqualTo(Constants.HANDLED);
|
||||
assertThat(mHdmiCecLocalDevicePlayback.mService.isSystemAudioActivated()).isTrue();
|
||||
@@ -669,7 +671,9 @@ public class HdmiCecLocalDevicePlaybackTest {
|
||||
assertThat(mHdmiCecLocalDevicePlayback.mService.isSystemAudioActivated()).isFalse();
|
||||
HdmiCecMessage message =
|
||||
HdmiCecMessageBuilder.buildReportSystemAudioMode(
|
||||
Constants.ADDR_AUDIO_SYSTEM, mHdmiCecLocalDevicePlayback.mAddress, true);
|
||||
Constants.ADDR_AUDIO_SYSTEM,
|
||||
mHdmiCecLocalDevicePlayback.getDeviceInfo().getLogicalAddress(),
|
||||
true);
|
||||
assertThat(mHdmiCecLocalDevicePlayback.handleSystemAudioModeStatus(message))
|
||||
.isEqualTo(Constants.HANDLED);
|
||||
assertThat(mHdmiCecLocalDevicePlayback.mService.isSystemAudioActivated()).isTrue();
|
||||
@@ -699,12 +703,17 @@ public class HdmiCecLocalDevicePlaybackTest {
|
||||
mHdmiCecLocalDevicePlayback.onStandby(false, HdmiControlService.STANDBY_SCREEN_OFF);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
HdmiCecMessage standbyMessageToTv = HdmiCecMessageBuilder.buildStandby(
|
||||
mHdmiCecLocalDevicePlayback.mAddress, ADDR_TV);
|
||||
HdmiCecMessage standbyMessageToAudioSystem = HdmiCecMessageBuilder.buildStandby(
|
||||
mHdmiCecLocalDevicePlayback.mAddress, ADDR_AUDIO_SYSTEM);
|
||||
HdmiCecMessage standbyMessageBroadcast = HdmiCecMessageBuilder.buildStandby(
|
||||
mHdmiCecLocalDevicePlayback.mAddress, ADDR_BROADCAST);
|
||||
HdmiCecMessage standbyMessageToTv =
|
||||
HdmiCecMessageBuilder.buildStandby(
|
||||
mHdmiCecLocalDevicePlayback.getDeviceInfo().getLogicalAddress(), ADDR_TV);
|
||||
HdmiCecMessage standbyMessageToAudioSystem =
|
||||
HdmiCecMessageBuilder.buildStandby(
|
||||
mHdmiCecLocalDevicePlayback.getDeviceInfo().getLogicalAddress(),
|
||||
ADDR_AUDIO_SYSTEM);
|
||||
HdmiCecMessage standbyMessageBroadcast =
|
||||
HdmiCecMessageBuilder.buildStandby(
|
||||
mHdmiCecLocalDevicePlayback.getDeviceInfo().getLogicalAddress(),
|
||||
ADDR_BROADCAST);
|
||||
HdmiCecMessage inactiveSource = HdmiCecMessageBuilder.buildInactiveSource(
|
||||
mPlaybackLogicalAddress, mPlaybackPhysicalAddress);
|
||||
|
||||
@@ -724,12 +733,17 @@ public class HdmiCecLocalDevicePlaybackTest {
|
||||
mHdmiCecLocalDevicePlayback.onStandby(false, HdmiControlService.STANDBY_SCREEN_OFF);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
HdmiCecMessage standbyMessageToTv = HdmiCecMessageBuilder.buildStandby(
|
||||
mHdmiCecLocalDevicePlayback.mAddress, ADDR_TV);
|
||||
HdmiCecMessage standbyMessageToAudioSystem = HdmiCecMessageBuilder.buildStandby(
|
||||
mHdmiCecLocalDevicePlayback.mAddress, ADDR_AUDIO_SYSTEM);
|
||||
HdmiCecMessage standbyMessageBroadcast = HdmiCecMessageBuilder.buildStandby(
|
||||
mHdmiCecLocalDevicePlayback.mAddress, ADDR_BROADCAST);
|
||||
HdmiCecMessage standbyMessageToTv =
|
||||
HdmiCecMessageBuilder.buildStandby(
|
||||
mHdmiCecLocalDevicePlayback.getDeviceInfo().getLogicalAddress(), ADDR_TV);
|
||||
HdmiCecMessage standbyMessageToAudioSystem =
|
||||
HdmiCecMessageBuilder.buildStandby(
|
||||
mHdmiCecLocalDevicePlayback.getDeviceInfo().getLogicalAddress(),
|
||||
ADDR_AUDIO_SYSTEM);
|
||||
HdmiCecMessage standbyMessageBroadcast =
|
||||
HdmiCecMessageBuilder.buildStandby(
|
||||
mHdmiCecLocalDevicePlayback.getDeviceInfo().getLogicalAddress(),
|
||||
ADDR_BROADCAST);
|
||||
HdmiCecMessage inactiveSource = HdmiCecMessageBuilder.buildInactiveSource(
|
||||
mPlaybackLogicalAddress, mPlaybackPhysicalAddress);
|
||||
|
||||
@@ -749,12 +763,17 @@ public class HdmiCecLocalDevicePlaybackTest {
|
||||
mHdmiCecLocalDevicePlayback.onStandby(false, HdmiControlService.STANDBY_SCREEN_OFF);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
HdmiCecMessage standbyMessageToTv = HdmiCecMessageBuilder.buildStandby(
|
||||
mHdmiCecLocalDevicePlayback.mAddress, ADDR_TV);
|
||||
HdmiCecMessage standbyMessageToAudioSystem = HdmiCecMessageBuilder.buildStandby(
|
||||
mHdmiCecLocalDevicePlayback.mAddress, ADDR_AUDIO_SYSTEM);
|
||||
HdmiCecMessage standbyMessageBroadcast = HdmiCecMessageBuilder.buildStandby(
|
||||
mHdmiCecLocalDevicePlayback.mAddress, ADDR_BROADCAST);
|
||||
HdmiCecMessage standbyMessageToTv =
|
||||
HdmiCecMessageBuilder.buildStandby(
|
||||
mHdmiCecLocalDevicePlayback.getDeviceInfo().getLogicalAddress(), ADDR_TV);
|
||||
HdmiCecMessage standbyMessageToAudioSystem =
|
||||
HdmiCecMessageBuilder.buildStandby(
|
||||
mHdmiCecLocalDevicePlayback.getDeviceInfo().getLogicalAddress(),
|
||||
ADDR_AUDIO_SYSTEM);
|
||||
HdmiCecMessage standbyMessageBroadcast =
|
||||
HdmiCecMessageBuilder.buildStandby(
|
||||
mHdmiCecLocalDevicePlayback.getDeviceInfo().getLogicalAddress(),
|
||||
ADDR_BROADCAST);
|
||||
HdmiCecMessage inactiveSource = HdmiCecMessageBuilder.buildInactiveSource(
|
||||
mPlaybackLogicalAddress, mPlaybackPhysicalAddress);
|
||||
|
||||
@@ -774,12 +793,17 @@ public class HdmiCecLocalDevicePlaybackTest {
|
||||
mHdmiCecLocalDevicePlayback.onStandby(false, HdmiControlService.STANDBY_SCREEN_OFF);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
HdmiCecMessage standbyMessageToTv = HdmiCecMessageBuilder.buildStandby(
|
||||
mHdmiCecLocalDevicePlayback.mAddress, ADDR_TV);
|
||||
HdmiCecMessage standbyMessageToAudioSystem = HdmiCecMessageBuilder.buildStandby(
|
||||
mHdmiCecLocalDevicePlayback.mAddress, ADDR_AUDIO_SYSTEM);
|
||||
HdmiCecMessage standbyMessageBroadcast = HdmiCecMessageBuilder.buildStandby(
|
||||
mHdmiCecLocalDevicePlayback.mAddress, ADDR_BROADCAST);
|
||||
HdmiCecMessage standbyMessageToTv =
|
||||
HdmiCecMessageBuilder.buildStandby(
|
||||
mHdmiCecLocalDevicePlayback.getDeviceInfo().getLogicalAddress(), ADDR_TV);
|
||||
HdmiCecMessage standbyMessageToAudioSystem =
|
||||
HdmiCecMessageBuilder.buildStandby(
|
||||
mHdmiCecLocalDevicePlayback.getDeviceInfo().getLogicalAddress(),
|
||||
ADDR_AUDIO_SYSTEM);
|
||||
HdmiCecMessage standbyMessageBroadcast =
|
||||
HdmiCecMessageBuilder.buildStandby(
|
||||
mHdmiCecLocalDevicePlayback.getDeviceInfo().getLogicalAddress(),
|
||||
ADDR_BROADCAST);
|
||||
HdmiCecMessage inactiveSource = HdmiCecMessageBuilder.buildInactiveSource(
|
||||
mPlaybackLogicalAddress, mPlaybackPhysicalAddress);
|
||||
|
||||
@@ -799,12 +823,17 @@ public class HdmiCecLocalDevicePlaybackTest {
|
||||
mHdmiCecLocalDevicePlayback.onStandby(false, HdmiControlService.STANDBY_SCREEN_OFF);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
HdmiCecMessage standbyMessageToTv = HdmiCecMessageBuilder.buildStandby(
|
||||
mHdmiCecLocalDevicePlayback.mAddress, ADDR_TV);
|
||||
HdmiCecMessage standbyMessageToAudioSystem = HdmiCecMessageBuilder.buildStandby(
|
||||
mHdmiCecLocalDevicePlayback.mAddress, ADDR_AUDIO_SYSTEM);
|
||||
HdmiCecMessage standbyMessageBroadcast = HdmiCecMessageBuilder.buildStandby(
|
||||
mHdmiCecLocalDevicePlayback.mAddress, ADDR_BROADCAST);
|
||||
HdmiCecMessage standbyMessageToTv =
|
||||
HdmiCecMessageBuilder.buildStandby(
|
||||
mHdmiCecLocalDevicePlayback.getDeviceInfo().getLogicalAddress(), ADDR_TV);
|
||||
HdmiCecMessage standbyMessageToAudioSystem =
|
||||
HdmiCecMessageBuilder.buildStandby(
|
||||
mHdmiCecLocalDevicePlayback.getDeviceInfo().getLogicalAddress(),
|
||||
ADDR_AUDIO_SYSTEM);
|
||||
HdmiCecMessage standbyMessageBroadcast =
|
||||
HdmiCecMessageBuilder.buildStandby(
|
||||
mHdmiCecLocalDevicePlayback.getDeviceInfo().getLogicalAddress(),
|
||||
ADDR_BROADCAST);
|
||||
HdmiCecMessage inactiveSource = HdmiCecMessageBuilder.buildInactiveSource(
|
||||
mPlaybackLogicalAddress, mPlaybackPhysicalAddress);
|
||||
|
||||
@@ -824,12 +853,17 @@ public class HdmiCecLocalDevicePlaybackTest {
|
||||
mHdmiCecLocalDevicePlayback.onStandby(false, HdmiControlService.STANDBY_SCREEN_OFF);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
HdmiCecMessage standbyMessageToTv = HdmiCecMessageBuilder.buildStandby(
|
||||
mHdmiCecLocalDevicePlayback.mAddress, ADDR_TV);
|
||||
HdmiCecMessage standbyMessageToAudioSystem = HdmiCecMessageBuilder.buildStandby(
|
||||
mHdmiCecLocalDevicePlayback.mAddress, ADDR_AUDIO_SYSTEM);
|
||||
HdmiCecMessage standbyMessageBroadcast = HdmiCecMessageBuilder.buildStandby(
|
||||
mHdmiCecLocalDevicePlayback.mAddress, ADDR_BROADCAST);
|
||||
HdmiCecMessage standbyMessageToTv =
|
||||
HdmiCecMessageBuilder.buildStandby(
|
||||
mHdmiCecLocalDevicePlayback.getDeviceInfo().getLogicalAddress(), ADDR_TV);
|
||||
HdmiCecMessage standbyMessageToAudioSystem =
|
||||
HdmiCecMessageBuilder.buildStandby(
|
||||
mHdmiCecLocalDevicePlayback.getDeviceInfo().getLogicalAddress(),
|
||||
ADDR_AUDIO_SYSTEM);
|
||||
HdmiCecMessage standbyMessageBroadcast =
|
||||
HdmiCecMessageBuilder.buildStandby(
|
||||
mHdmiCecLocalDevicePlayback.getDeviceInfo().getLogicalAddress(),
|
||||
ADDR_BROADCAST);
|
||||
HdmiCecMessage inactiveSource = HdmiCecMessageBuilder.buildInactiveSource(
|
||||
mPlaybackLogicalAddress, mPlaybackPhysicalAddress);
|
||||
|
||||
@@ -849,12 +883,17 @@ public class HdmiCecLocalDevicePlaybackTest {
|
||||
mHdmiCecLocalDevicePlayback.onStandby(false, HdmiControlService.STANDBY_SCREEN_OFF);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
HdmiCecMessage standbyMessageToTv = HdmiCecMessageBuilder.buildStandby(
|
||||
mHdmiCecLocalDevicePlayback.mAddress, ADDR_TV);
|
||||
HdmiCecMessage standbyMessageToAudioSystem = HdmiCecMessageBuilder.buildStandby(
|
||||
mHdmiCecLocalDevicePlayback.mAddress, ADDR_AUDIO_SYSTEM);
|
||||
HdmiCecMessage standbyMessageBroadcast = HdmiCecMessageBuilder.buildStandby(
|
||||
mHdmiCecLocalDevicePlayback.mAddress, ADDR_BROADCAST);
|
||||
HdmiCecMessage standbyMessageToTv =
|
||||
HdmiCecMessageBuilder.buildStandby(
|
||||
mHdmiCecLocalDevicePlayback.getDeviceInfo().getLogicalAddress(), ADDR_TV);
|
||||
HdmiCecMessage standbyMessageToAudioSystem =
|
||||
HdmiCecMessageBuilder.buildStandby(
|
||||
mHdmiCecLocalDevicePlayback.getDeviceInfo().getLogicalAddress(),
|
||||
ADDR_AUDIO_SYSTEM);
|
||||
HdmiCecMessage standbyMessageBroadcast =
|
||||
HdmiCecMessageBuilder.buildStandby(
|
||||
mHdmiCecLocalDevicePlayback.getDeviceInfo().getLogicalAddress(),
|
||||
ADDR_BROADCAST);
|
||||
HdmiCecMessage inactiveSource = HdmiCecMessageBuilder.buildInactiveSource(
|
||||
mPlaybackLogicalAddress, mPlaybackPhysicalAddress);
|
||||
|
||||
@@ -874,12 +913,17 @@ public class HdmiCecLocalDevicePlaybackTest {
|
||||
mHdmiCecLocalDevicePlayback.onStandby(false, HdmiControlService.STANDBY_SCREEN_OFF);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
HdmiCecMessage standbyMessageToTv = HdmiCecMessageBuilder.buildStandby(
|
||||
mHdmiCecLocalDevicePlayback.mAddress, ADDR_TV);
|
||||
HdmiCecMessage standbyMessageToAudioSystem = HdmiCecMessageBuilder.buildStandby(
|
||||
mHdmiCecLocalDevicePlayback.mAddress, ADDR_AUDIO_SYSTEM);
|
||||
HdmiCecMessage standbyMessageBroadcast = HdmiCecMessageBuilder.buildStandby(
|
||||
mHdmiCecLocalDevicePlayback.mAddress, ADDR_BROADCAST);
|
||||
HdmiCecMessage standbyMessageToTv =
|
||||
HdmiCecMessageBuilder.buildStandby(
|
||||
mHdmiCecLocalDevicePlayback.getDeviceInfo().getLogicalAddress(), ADDR_TV);
|
||||
HdmiCecMessage standbyMessageToAudioSystem =
|
||||
HdmiCecMessageBuilder.buildStandby(
|
||||
mHdmiCecLocalDevicePlayback.getDeviceInfo().getLogicalAddress(),
|
||||
ADDR_AUDIO_SYSTEM);
|
||||
HdmiCecMessage standbyMessageBroadcast =
|
||||
HdmiCecMessageBuilder.buildStandby(
|
||||
mHdmiCecLocalDevicePlayback.getDeviceInfo().getLogicalAddress(),
|
||||
ADDR_BROADCAST);
|
||||
HdmiCecMessage inactiveSource = HdmiCecMessageBuilder.buildInactiveSource(
|
||||
mPlaybackLogicalAddress, mPlaybackPhysicalAddress);
|
||||
|
||||
@@ -899,10 +943,13 @@ public class HdmiCecLocalDevicePlaybackTest {
|
||||
mHdmiCecLocalDevicePlayback.onStandby(true, HdmiControlService.STANDBY_SCREEN_OFF);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
HdmiCecMessage standbyMessageToTv = HdmiCecMessageBuilder.buildStandby(
|
||||
mHdmiCecLocalDevicePlayback.mAddress, ADDR_TV);
|
||||
HdmiCecMessage standbyMessageBroadcast = HdmiCecMessageBuilder.buildStandby(
|
||||
mHdmiCecLocalDevicePlayback.mAddress, ADDR_BROADCAST);
|
||||
HdmiCecMessage standbyMessageToTv =
|
||||
HdmiCecMessageBuilder.buildStandby(
|
||||
mHdmiCecLocalDevicePlayback.getDeviceInfo().getLogicalAddress(), ADDR_TV);
|
||||
HdmiCecMessage standbyMessageBroadcast =
|
||||
HdmiCecMessageBuilder.buildStandby(
|
||||
mHdmiCecLocalDevicePlayback.getDeviceInfo().getLogicalAddress(),
|
||||
ADDR_BROADCAST);
|
||||
HdmiCecMessage inactiveSource = HdmiCecMessageBuilder.buildInactiveSource(
|
||||
mPlaybackLogicalAddress, mPlaybackPhysicalAddress);
|
||||
|
||||
@@ -1119,8 +1166,10 @@ public class HdmiCecLocalDevicePlaybackTest {
|
||||
HdmiControlManager.POWER_CONTROL_MODE_BROADCAST);
|
||||
mStandby = false;
|
||||
// 1. DUT is <AS>.
|
||||
HdmiCecMessage message1 = HdmiCecMessageBuilder.buildActiveSource(
|
||||
mHdmiCecLocalDevicePlayback.mAddress, mPlaybackPhysicalAddress);
|
||||
HdmiCecMessage message1 =
|
||||
HdmiCecMessageBuilder.buildActiveSource(
|
||||
mHdmiCecLocalDevicePlayback.getDeviceInfo().getLogicalAddress(),
|
||||
mPlaybackPhysicalAddress);
|
||||
assertThat(mHdmiCecLocalDevicePlayback.handleActiveSource(message1))
|
||||
.isEqualTo(Constants.HANDLED);
|
||||
assertThat(mHdmiCecLocalDevicePlayback.isActiveSource()).isTrue();
|
||||
@@ -1137,16 +1186,20 @@ public class HdmiCecLocalDevicePlaybackTest {
|
||||
mPlaybackPhysicalAddress);
|
||||
mHdmiCecLocalDevicePlayback.dispatchMessage(setStreamPath);
|
||||
mTestLooper.dispatchAll();
|
||||
HdmiCecMessage activeSource = HdmiCecMessageBuilder.buildActiveSource(
|
||||
mHdmiCecLocalDevicePlayback.mAddress, mPlaybackPhysicalAddress);
|
||||
HdmiCecMessage activeSource =
|
||||
HdmiCecMessageBuilder.buildActiveSource(
|
||||
mHdmiCecLocalDevicePlayback.getDeviceInfo().getLogicalAddress(),
|
||||
mPlaybackPhysicalAddress);
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(activeSource);
|
||||
assertThat(mWokenUp).isTrue();
|
||||
assertThat(mHdmiCecLocalDevicePlayback.isActiveSource()).isTrue();
|
||||
// 4. DUT turned off.
|
||||
mHdmiControlService.onStandby(HdmiControlService.STANDBY_SCREEN_OFF);
|
||||
mTestLooper.dispatchAll();
|
||||
HdmiCecMessage standbyMessageBroadcast = HdmiCecMessageBuilder.buildStandby(
|
||||
mHdmiCecLocalDevicePlayback.mAddress, ADDR_BROADCAST);
|
||||
HdmiCecMessage standbyMessageBroadcast =
|
||||
HdmiCecMessageBuilder.buildStandby(
|
||||
mHdmiCecLocalDevicePlayback.getDeviceInfo().getLogicalAddress(),
|
||||
ADDR_BROADCAST);
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(standbyMessageBroadcast);
|
||||
}
|
||||
|
||||
@@ -1158,11 +1211,14 @@ public class HdmiCecLocalDevicePlaybackTest {
|
||||
mHdmiCecLocalDevicePlayback.sendVolumeKeyEvent(KeyEvent.KEYCODE_VOLUME_UP, false);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
HdmiCecMessage keyPressed = HdmiCecMessageBuilder.buildUserControlPressed(
|
||||
mHdmiCecLocalDevicePlayback.mAddress, ADDR_TV,
|
||||
HdmiCecKeycode.CEC_KEYCODE_VOLUME_UP);
|
||||
HdmiCecMessage keyReleased = HdmiCecMessageBuilder.buildUserControlReleased(
|
||||
mHdmiCecLocalDevicePlayback.mAddress, ADDR_TV);
|
||||
HdmiCecMessage keyPressed =
|
||||
HdmiCecMessageBuilder.buildUserControlPressed(
|
||||
mHdmiCecLocalDevicePlayback.getDeviceInfo().getLogicalAddress(),
|
||||
ADDR_TV,
|
||||
HdmiCecKeycode.CEC_KEYCODE_VOLUME_UP);
|
||||
HdmiCecMessage keyReleased =
|
||||
HdmiCecMessageBuilder.buildUserControlReleased(
|
||||
mHdmiCecLocalDevicePlayback.getDeviceInfo().getLogicalAddress(), ADDR_TV);
|
||||
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(keyPressed);
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(keyReleased);
|
||||
@@ -1176,11 +1232,14 @@ public class HdmiCecLocalDevicePlaybackTest {
|
||||
mHdmiCecLocalDevicePlayback.sendVolumeKeyEvent(KeyEvent.KEYCODE_VOLUME_DOWN, false);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
HdmiCecMessage keyPressed = HdmiCecMessageBuilder.buildUserControlPressed(
|
||||
mHdmiCecLocalDevicePlayback.mAddress, ADDR_TV,
|
||||
HdmiCecKeycode.CEC_KEYCODE_VOLUME_DOWN);
|
||||
HdmiCecMessage keyReleased = HdmiCecMessageBuilder.buildUserControlReleased(
|
||||
mHdmiCecLocalDevicePlayback.mAddress, ADDR_TV);
|
||||
HdmiCecMessage keyPressed =
|
||||
HdmiCecMessageBuilder.buildUserControlPressed(
|
||||
mHdmiCecLocalDevicePlayback.getDeviceInfo().getLogicalAddress(),
|
||||
ADDR_TV,
|
||||
HdmiCecKeycode.CEC_KEYCODE_VOLUME_DOWN);
|
||||
HdmiCecMessage keyReleased =
|
||||
HdmiCecMessageBuilder.buildUserControlReleased(
|
||||
mHdmiCecLocalDevicePlayback.getDeviceInfo().getLogicalAddress(), ADDR_TV);
|
||||
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(keyPressed);
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(keyReleased);
|
||||
@@ -1194,11 +1253,14 @@ public class HdmiCecLocalDevicePlaybackTest {
|
||||
mHdmiCecLocalDevicePlayback.sendVolumeKeyEvent(KeyEvent.KEYCODE_VOLUME_MUTE, false);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
HdmiCecMessage keyPressed = HdmiCecMessageBuilder.buildUserControlPressed(
|
||||
mHdmiCecLocalDevicePlayback.mAddress, ADDR_TV,
|
||||
HdmiCecKeycode.CEC_KEYCODE_MUTE);
|
||||
HdmiCecMessage keyReleased = HdmiCecMessageBuilder.buildUserControlReleased(
|
||||
mHdmiCecLocalDevicePlayback.mAddress, ADDR_TV);
|
||||
HdmiCecMessage keyPressed =
|
||||
HdmiCecMessageBuilder.buildUserControlPressed(
|
||||
mHdmiCecLocalDevicePlayback.getDeviceInfo().getLogicalAddress(),
|
||||
ADDR_TV,
|
||||
HdmiCecKeycode.CEC_KEYCODE_MUTE);
|
||||
HdmiCecMessage keyReleased =
|
||||
HdmiCecMessageBuilder.buildUserControlReleased(
|
||||
mHdmiCecLocalDevicePlayback.getDeviceInfo().getLogicalAddress(), ADDR_TV);
|
||||
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(keyPressed);
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(keyReleased);
|
||||
@@ -1212,11 +1274,14 @@ public class HdmiCecLocalDevicePlaybackTest {
|
||||
mHdmiCecLocalDevicePlayback.sendVolumeKeyEvent(KeyEvent.KEYCODE_VOLUME_UP, false);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
HdmiCecMessage keyPressed = HdmiCecMessageBuilder.buildUserControlPressed(
|
||||
mHdmiCecLocalDevicePlayback.mAddress, ADDR_TV,
|
||||
HdmiCecKeycode.CEC_KEYCODE_VOLUME_UP);
|
||||
HdmiCecMessage keyReleased = HdmiCecMessageBuilder.buildUserControlReleased(
|
||||
mHdmiCecLocalDevicePlayback.mAddress, ADDR_TV);
|
||||
HdmiCecMessage keyPressed =
|
||||
HdmiCecMessageBuilder.buildUserControlPressed(
|
||||
mHdmiCecLocalDevicePlayback.getDeviceInfo().getLogicalAddress(),
|
||||
ADDR_TV,
|
||||
HdmiCecKeycode.CEC_KEYCODE_VOLUME_UP);
|
||||
HdmiCecMessage keyReleased =
|
||||
HdmiCecMessageBuilder.buildUserControlReleased(
|
||||
mHdmiCecLocalDevicePlayback.getDeviceInfo().getLogicalAddress(), ADDR_TV);
|
||||
|
||||
assertThat(mNativeWrapper.getResultMessages()).doesNotContain(keyPressed);
|
||||
assertThat(mNativeWrapper.getResultMessages()).doesNotContain(keyReleased);
|
||||
@@ -1230,11 +1295,14 @@ public class HdmiCecLocalDevicePlaybackTest {
|
||||
mHdmiCecLocalDevicePlayback.sendVolumeKeyEvent(KeyEvent.KEYCODE_VOLUME_DOWN, false);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
HdmiCecMessage keyPressed = HdmiCecMessageBuilder.buildUserControlPressed(
|
||||
mHdmiCecLocalDevicePlayback.mAddress, ADDR_TV,
|
||||
HdmiCecKeycode.CEC_KEYCODE_VOLUME_UP);
|
||||
HdmiCecMessage keyReleased = HdmiCecMessageBuilder.buildUserControlReleased(
|
||||
mHdmiCecLocalDevicePlayback.mAddress, ADDR_TV);
|
||||
HdmiCecMessage keyPressed =
|
||||
HdmiCecMessageBuilder.buildUserControlPressed(
|
||||
mHdmiCecLocalDevicePlayback.getDeviceInfo().getLogicalAddress(),
|
||||
ADDR_TV,
|
||||
HdmiCecKeycode.CEC_KEYCODE_VOLUME_UP);
|
||||
HdmiCecMessage keyReleased =
|
||||
HdmiCecMessageBuilder.buildUserControlReleased(
|
||||
mHdmiCecLocalDevicePlayback.getDeviceInfo().getLogicalAddress(), ADDR_TV);
|
||||
|
||||
assertThat(mNativeWrapper.getResultMessages()).doesNotContain(keyPressed);
|
||||
assertThat(mNativeWrapper.getResultMessages()).doesNotContain(keyReleased);
|
||||
@@ -1248,11 +1316,14 @@ public class HdmiCecLocalDevicePlaybackTest {
|
||||
mHdmiCecLocalDevicePlayback.sendVolumeKeyEvent(KeyEvent.KEYCODE_VOLUME_MUTE, false);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
HdmiCecMessage keyPressed = HdmiCecMessageBuilder.buildUserControlPressed(
|
||||
mHdmiCecLocalDevicePlayback.mAddress, ADDR_TV,
|
||||
HdmiCecKeycode.CEC_KEYCODE_VOLUME_UP);
|
||||
HdmiCecMessage keyReleased = HdmiCecMessageBuilder.buildUserControlReleased(
|
||||
mHdmiCecLocalDevicePlayback.mAddress, ADDR_TV);
|
||||
HdmiCecMessage keyPressed =
|
||||
HdmiCecMessageBuilder.buildUserControlPressed(
|
||||
mHdmiCecLocalDevicePlayback.getDeviceInfo().getLogicalAddress(),
|
||||
ADDR_TV,
|
||||
HdmiCecKeycode.CEC_KEYCODE_VOLUME_UP);
|
||||
HdmiCecMessage keyReleased =
|
||||
HdmiCecMessageBuilder.buildUserControlReleased(
|
||||
mHdmiCecLocalDevicePlayback.getDeviceInfo().getLogicalAddress(), ADDR_TV);
|
||||
|
||||
assertThat(mNativeWrapper.getResultMessages()).doesNotContain(keyPressed);
|
||||
assertThat(mNativeWrapper.getResultMessages()).doesNotContain(keyReleased);
|
||||
@@ -1347,8 +1418,10 @@ public class HdmiCecLocalDevicePlaybackTest {
|
||||
mHdmiCecLocalDevicePlayback.dispatchMessage(setStreamPath);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
HdmiCecMessage activeSource = HdmiCecMessageBuilder.buildActiveSource(
|
||||
mHdmiCecLocalDevicePlayback.mAddress, mPlaybackPhysicalAddress);
|
||||
HdmiCecMessage activeSource =
|
||||
HdmiCecMessageBuilder.buildActiveSource(
|
||||
mHdmiCecLocalDevicePlayback.getDeviceInfo().getLogicalAddress(),
|
||||
mPlaybackPhysicalAddress);
|
||||
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(activeSource);
|
||||
}
|
||||
@@ -1606,8 +1679,10 @@ public class HdmiCecLocalDevicePlaybackTest {
|
||||
|
||||
@Test
|
||||
public void getActiveSource_localPlaybackIsActiveSource() {
|
||||
mHdmiControlService.setActiveSource(mHdmiCecLocalDevicePlayback.mAddress,
|
||||
mHdmiControlService.getPhysicalAddress(), "HdmiControlServiceTest");
|
||||
mHdmiControlService.setActiveSource(
|
||||
mHdmiCecLocalDevicePlayback.getDeviceInfo().getLogicalAddress(),
|
||||
mHdmiControlService.getPhysicalAddress(),
|
||||
"HdmiControlServiceTest");
|
||||
|
||||
assertThat(mHdmiControlService.getActiveSource()).isEqualTo(
|
||||
mHdmiCecLocalDevicePlayback.getDeviceInfo());
|
||||
|
||||
@@ -386,9 +386,13 @@ public class HdmiCecLocalDeviceTest {
|
||||
|
||||
@Test
|
||||
public void handleCecVersion_isHandled() {
|
||||
@Constants.HandleMessageResult int result = mHdmiLocalDevice.onMessage(
|
||||
HdmiCecMessageBuilder.buildCecVersion(ADDR_PLAYBACK_1, mHdmiLocalDevice.mAddress,
|
||||
HdmiControlManager.HDMI_CEC_VERSION_1_4_B));
|
||||
@Constants.HandleMessageResult
|
||||
int result =
|
||||
mHdmiLocalDevice.onMessage(
|
||||
HdmiCecMessageBuilder.buildCecVersion(
|
||||
ADDR_PLAYBACK_1,
|
||||
mHdmiLocalDevice.getDeviceInfo().getLogicalAddress(),
|
||||
HdmiControlManager.HDMI_CEC_VERSION_1_4_B));
|
||||
|
||||
assertEquals(Constants.HANDLED, result);
|
||||
}
|
||||
|
||||
@@ -515,8 +515,11 @@ public class HdmiCecLocalDeviceTvTest {
|
||||
HdmiCecFeatureAction systemAudioAutoInitiationAction =
|
||||
new SystemAudioAutoInitiationAction(mHdmiCecLocalDeviceTv, ADDR_AUDIO_SYSTEM);
|
||||
mHdmiCecLocalDeviceTv.addAndStartAction(systemAudioAutoInitiationAction);
|
||||
HdmiCecMessage reportSystemAudioMode = HdmiCecMessageBuilder.buildReportSystemAudioMode(
|
||||
ADDR_AUDIO_SYSTEM, mHdmiCecLocalDeviceTv.mAddress, true);
|
||||
HdmiCecMessage reportSystemAudioMode =
|
||||
HdmiCecMessageBuilder.buildReportSystemAudioMode(
|
||||
ADDR_AUDIO_SYSTEM,
|
||||
mHdmiCecLocalDeviceTv.getDeviceInfo().getLogicalAddress(),
|
||||
true);
|
||||
mHdmiControlService.handleCecCommand(reportSystemAudioMode);
|
||||
|
||||
mTestLooper.dispatchAll();
|
||||
@@ -548,8 +551,11 @@ public class HdmiCecLocalDeviceTvTest {
|
||||
new SystemAudioAutoInitiationAction(mHdmiCecLocalDeviceTv, ADDR_AUDIO_SYSTEM);
|
||||
mHdmiCecLocalDeviceTv.addAndStartAction(systemAudioAutoInitiationAction);
|
||||
|
||||
HdmiCecMessage reportSystemAudioMode = HdmiCecMessageBuilder.buildReportSystemAudioMode(
|
||||
ADDR_AUDIO_SYSTEM, mHdmiCecLocalDeviceTv.mAddress, true);
|
||||
HdmiCecMessage reportSystemAudioMode =
|
||||
HdmiCecMessageBuilder.buildReportSystemAudioMode(
|
||||
ADDR_AUDIO_SYSTEM,
|
||||
mHdmiCecLocalDeviceTv.getDeviceInfo().getLogicalAddress(),
|
||||
true);
|
||||
mHdmiControlService.handleCecCommand(reportSystemAudioMode);
|
||||
|
||||
HdmiCecMessage requestArcInitiation = HdmiCecMessageBuilder.buildInitiateArc(
|
||||
|
||||
@@ -184,9 +184,11 @@ public class HdmiCecPowerStatusControllerTest {
|
||||
mHdmiCecPowerStatusController.setPowerStatus(HdmiControlManager.POWER_STATUS_ON);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
HdmiCecMessage reportPowerStatus = HdmiCecMessageBuilder.buildReportPowerStatus(
|
||||
mHdmiCecLocalDevicePlayback.mAddress, Constants.ADDR_BROADCAST,
|
||||
HdmiControlManager.POWER_STATUS_ON);
|
||||
HdmiCecMessage reportPowerStatus =
|
||||
HdmiCecMessageBuilder.buildReportPowerStatus(
|
||||
mHdmiCecLocalDevicePlayback.getDeviceInfo().getLogicalAddress(),
|
||||
Constants.ADDR_BROADCAST,
|
||||
HdmiControlManager.POWER_STATUS_ON);
|
||||
assertThat(mNativeWrapper.getResultMessages()).doesNotContain(reportPowerStatus);
|
||||
}
|
||||
|
||||
@@ -197,9 +199,11 @@ public class HdmiCecPowerStatusControllerTest {
|
||||
HdmiControlManager.POWER_STATUS_TRANSIENT_TO_ON);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
HdmiCecMessage reportPowerStatus = HdmiCecMessageBuilder.buildReportPowerStatus(
|
||||
mHdmiCecLocalDevicePlayback.mAddress, Constants.ADDR_BROADCAST,
|
||||
HdmiControlManager.POWER_STATUS_TRANSIENT_TO_ON);
|
||||
HdmiCecMessage reportPowerStatus =
|
||||
HdmiCecMessageBuilder.buildReportPowerStatus(
|
||||
mHdmiCecLocalDevicePlayback.getDeviceInfo().getLogicalAddress(),
|
||||
Constants.ADDR_BROADCAST,
|
||||
HdmiControlManager.POWER_STATUS_TRANSIENT_TO_ON);
|
||||
assertThat(mNativeWrapper.getResultMessages()).doesNotContain(reportPowerStatus);
|
||||
}
|
||||
|
||||
@@ -210,9 +214,11 @@ public class HdmiCecPowerStatusControllerTest {
|
||||
HdmiControlManager.POWER_STATUS_TRANSIENT_TO_ON, false);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
HdmiCecMessage reportPowerStatus = HdmiCecMessageBuilder.buildReportPowerStatus(
|
||||
mHdmiCecLocalDevicePlayback.mAddress, Constants.ADDR_BROADCAST,
|
||||
HdmiControlManager.POWER_STATUS_TRANSIENT_TO_ON);
|
||||
HdmiCecMessage reportPowerStatus =
|
||||
HdmiCecMessageBuilder.buildReportPowerStatus(
|
||||
mHdmiCecLocalDevicePlayback.getDeviceInfo().getLogicalAddress(),
|
||||
Constants.ADDR_BROADCAST,
|
||||
HdmiControlManager.POWER_STATUS_TRANSIENT_TO_ON);
|
||||
assertThat(mNativeWrapper.getResultMessages()).doesNotContain(reportPowerStatus);
|
||||
}
|
||||
|
||||
@@ -222,9 +228,11 @@ public class HdmiCecPowerStatusControllerTest {
|
||||
mHdmiCecPowerStatusController.setPowerStatus(HdmiControlManager.POWER_STATUS_ON);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
HdmiCecMessage reportPowerStatus = HdmiCecMessageBuilder.buildReportPowerStatus(
|
||||
mHdmiCecLocalDevicePlayback.mAddress, Constants.ADDR_BROADCAST,
|
||||
HdmiControlManager.POWER_STATUS_ON);
|
||||
HdmiCecMessage reportPowerStatus =
|
||||
HdmiCecMessageBuilder.buildReportPowerStatus(
|
||||
mHdmiCecLocalDevicePlayback.getDeviceInfo().getLogicalAddress(),
|
||||
Constants.ADDR_BROADCAST,
|
||||
HdmiControlManager.POWER_STATUS_ON);
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(reportPowerStatus);
|
||||
}
|
||||
|
||||
@@ -235,9 +243,11 @@ public class HdmiCecPowerStatusControllerTest {
|
||||
HdmiControlManager.POWER_STATUS_TRANSIENT_TO_ON);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
HdmiCecMessage reportPowerStatus = HdmiCecMessageBuilder.buildReportPowerStatus(
|
||||
mHdmiCecLocalDevicePlayback.mAddress, Constants.ADDR_BROADCAST,
|
||||
HdmiControlManager.POWER_STATUS_TRANSIENT_TO_ON);
|
||||
HdmiCecMessage reportPowerStatus =
|
||||
HdmiCecMessageBuilder.buildReportPowerStatus(
|
||||
mHdmiCecLocalDevicePlayback.getDeviceInfo().getLogicalAddress(),
|
||||
Constants.ADDR_BROADCAST,
|
||||
HdmiControlManager.POWER_STATUS_TRANSIENT_TO_ON);
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(reportPowerStatus);
|
||||
}
|
||||
|
||||
@@ -248,9 +258,11 @@ public class HdmiCecPowerStatusControllerTest {
|
||||
HdmiControlManager.POWER_STATUS_TRANSIENT_TO_ON, false);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
HdmiCecMessage reportPowerStatus = HdmiCecMessageBuilder.buildReportPowerStatus(
|
||||
mHdmiCecLocalDevicePlayback.mAddress, Constants.ADDR_BROADCAST,
|
||||
HdmiControlManager.POWER_STATUS_TRANSIENT_TO_ON);
|
||||
HdmiCecMessage reportPowerStatus =
|
||||
HdmiCecMessageBuilder.buildReportPowerStatus(
|
||||
mHdmiCecLocalDevicePlayback.getDeviceInfo().getLogicalAddress(),
|
||||
Constants.ADDR_BROADCAST,
|
||||
HdmiControlManager.POWER_STATUS_TRANSIENT_TO_ON);
|
||||
assertThat(mNativeWrapper.getResultMessages()).doesNotContain(reportPowerStatus);
|
||||
}
|
||||
|
||||
|
||||
@@ -735,9 +735,11 @@ public class HdmiControlServiceTest {
|
||||
mHdmiControlServiceSpy.allocateLogicalAddress(mLocalDevices, INITIATED_BY_ENABLE_CEC);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
HdmiCecMessage reportPowerStatus = HdmiCecMessageBuilder.buildReportPowerStatus(
|
||||
Constants.ADDR_TV,
|
||||
mHdmiControlServiceSpy.playback().mAddress, HdmiControlManager.POWER_STATUS_ON);
|
||||
HdmiCecMessage reportPowerStatus =
|
||||
HdmiCecMessageBuilder.buildReportPowerStatus(
|
||||
Constants.ADDR_TV,
|
||||
mHdmiControlServiceSpy.playback().getDeviceInfo().getLogicalAddress(),
|
||||
HdmiControlManager.POWER_STATUS_ON);
|
||||
mNativeWrapper.onCecMessage(reportPowerStatus);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
@@ -756,10 +758,11 @@ public class HdmiControlServiceTest {
|
||||
mHdmiControlServiceSpy.allocateLogicalAddress(mLocalDevices, INITIATED_BY_ENABLE_CEC);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
HdmiCecMessage reportPowerStatus = HdmiCecMessageBuilder.buildReportPowerStatus(
|
||||
Constants.ADDR_TV,
|
||||
mHdmiControlServiceSpy.playback().mAddress,
|
||||
HdmiControlManager.POWER_STATUS_STANDBY);
|
||||
HdmiCecMessage reportPowerStatus =
|
||||
HdmiCecMessageBuilder.buildReportPowerStatus(
|
||||
Constants.ADDR_TV,
|
||||
mHdmiControlServiceSpy.playback().getDeviceInfo().getLogicalAddress(),
|
||||
HdmiControlManager.POWER_STATUS_STANDBY);
|
||||
mNativeWrapper.onCecMessage(reportPowerStatus);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
|
||||
@@ -175,20 +175,27 @@ public class OneTouchPlayActionTest {
|
||||
playbackDevice.addAndStartAction(action);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
HdmiCecMessage activeSource = HdmiCecMessageBuilder.buildActiveSource(
|
||||
playbackDevice.mAddress, mPhysicalAddress);
|
||||
HdmiCecMessage textViewOn = HdmiCecMessageBuilder.buildTextViewOn(playbackDevice.mAddress,
|
||||
ADDR_TV);
|
||||
HdmiCecMessage giveDevicePowerStatus = HdmiCecMessageBuilder
|
||||
.buildGiveDevicePowerStatus(playbackDevice.mAddress, ADDR_TV);
|
||||
HdmiCecMessage activeSource =
|
||||
HdmiCecMessageBuilder.buildActiveSource(
|
||||
playbackDevice.getDeviceInfo().getLogicalAddress(), mPhysicalAddress);
|
||||
HdmiCecMessage textViewOn =
|
||||
HdmiCecMessageBuilder.buildTextViewOn(
|
||||
playbackDevice.getDeviceInfo().getLogicalAddress(), ADDR_TV);
|
||||
HdmiCecMessage giveDevicePowerStatus =
|
||||
HdmiCecMessageBuilder.buildGiveDevicePowerStatus(
|
||||
playbackDevice.getDeviceInfo().getLogicalAddress(), ADDR_TV);
|
||||
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(textViewOn);
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(activeSource);
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(giveDevicePowerStatus);
|
||||
mNativeWrapper.clearResultMessages();
|
||||
assertThat(actionTimer.getState()).isEqualTo(STATE_WAITING_FOR_REPORT_POWER_STATUS);
|
||||
HdmiCecMessage reportPowerStatusOn = new HdmiCecMessage(
|
||||
ADDR_TV, playbackDevice.mAddress, Constants.MESSAGE_REPORT_POWER_STATUS, POWER_ON);
|
||||
HdmiCecMessage reportPowerStatusOn =
|
||||
new HdmiCecMessage(
|
||||
ADDR_TV,
|
||||
playbackDevice.getDeviceInfo().getLogicalAddress(),
|
||||
Constants.MESSAGE_REPORT_POWER_STATUS,
|
||||
POWER_ON);
|
||||
action.processCommand(reportPowerStatusOn);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
@@ -218,20 +225,27 @@ public class OneTouchPlayActionTest {
|
||||
playbackDevice.addAndStartAction(action);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
HdmiCecMessage activeSource = HdmiCecMessageBuilder.buildActiveSource(
|
||||
playbackDevice.mAddress, mPhysicalAddress);
|
||||
HdmiCecMessage textViewOn = HdmiCecMessageBuilder.buildTextViewOn(playbackDevice.mAddress,
|
||||
ADDR_TV);
|
||||
HdmiCecMessage giveDevicePowerStatus = HdmiCecMessageBuilder
|
||||
.buildGiveDevicePowerStatus(playbackDevice.mAddress, ADDR_TV);
|
||||
HdmiCecMessage activeSource =
|
||||
HdmiCecMessageBuilder.buildActiveSource(
|
||||
playbackDevice.getDeviceInfo().getLogicalAddress(), mPhysicalAddress);
|
||||
HdmiCecMessage textViewOn =
|
||||
HdmiCecMessageBuilder.buildTextViewOn(
|
||||
playbackDevice.getDeviceInfo().getLogicalAddress(), ADDR_TV);
|
||||
HdmiCecMessage giveDevicePowerStatus =
|
||||
HdmiCecMessageBuilder.buildGiveDevicePowerStatus(
|
||||
playbackDevice.getDeviceInfo().getLogicalAddress(), ADDR_TV);
|
||||
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(textViewOn);
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(activeSource);
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(giveDevicePowerStatus);
|
||||
mNativeWrapper.clearResultMessages();
|
||||
assertThat(actionTimer.getState()).isEqualTo(STATE_WAITING_FOR_REPORT_POWER_STATUS);
|
||||
HdmiCecMessage reportPowerStatusOn = new HdmiCecMessage(
|
||||
ADDR_TV, playbackDevice.mAddress, Constants.MESSAGE_REPORT_POWER_STATUS, POWER_ON);
|
||||
HdmiCecMessage reportPowerStatusOn =
|
||||
new HdmiCecMessage(
|
||||
ADDR_TV,
|
||||
playbackDevice.getDeviceInfo().getLogicalAddress(),
|
||||
Constants.MESSAGE_REPORT_POWER_STATUS,
|
||||
POWER_ON);
|
||||
action.processCommand(reportPowerStatusOn);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
@@ -261,21 +275,27 @@ public class OneTouchPlayActionTest {
|
||||
playbackDevice.addAndStartAction(action);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
HdmiCecMessage activeSource = HdmiCecMessageBuilder.buildActiveSource(
|
||||
playbackDevice.mAddress, mPhysicalAddress);
|
||||
HdmiCecMessage textViewOn = HdmiCecMessageBuilder.buildTextViewOn(playbackDevice.mAddress,
|
||||
ADDR_TV);
|
||||
HdmiCecMessage giveDevicePowerStatus = HdmiCecMessageBuilder
|
||||
.buildGiveDevicePowerStatus(playbackDevice.mAddress, ADDR_TV);
|
||||
HdmiCecMessage activeSource =
|
||||
HdmiCecMessageBuilder.buildActiveSource(
|
||||
playbackDevice.getDeviceInfo().getLogicalAddress(), mPhysicalAddress);
|
||||
HdmiCecMessage textViewOn =
|
||||
HdmiCecMessageBuilder.buildTextViewOn(
|
||||
playbackDevice.getDeviceInfo().getLogicalAddress(), ADDR_TV);
|
||||
HdmiCecMessage giveDevicePowerStatus =
|
||||
HdmiCecMessageBuilder.buildGiveDevicePowerStatus(
|
||||
playbackDevice.getDeviceInfo().getLogicalAddress(), ADDR_TV);
|
||||
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(textViewOn);
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(activeSource);
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(giveDevicePowerStatus);
|
||||
mNativeWrapper.clearResultMessages();
|
||||
assertThat(actionTimer.getState()).isEqualTo(STATE_WAITING_FOR_REPORT_POWER_STATUS);
|
||||
HdmiCecMessage reportPowerStatusTransientToOn = new HdmiCecMessage(
|
||||
ADDR_TV, playbackDevice.mAddress, Constants.MESSAGE_REPORT_POWER_STATUS,
|
||||
POWER_TRANSIENT_TO_ON);
|
||||
HdmiCecMessage reportPowerStatusTransientToOn =
|
||||
new HdmiCecMessage(
|
||||
ADDR_TV,
|
||||
playbackDevice.getDeviceInfo().getLogicalAddress(),
|
||||
Constants.MESSAGE_REPORT_POWER_STATUS,
|
||||
POWER_TRANSIENT_TO_ON);
|
||||
action.processCommand(reportPowerStatusTransientToOn);
|
||||
action.handleTimerEvent(STATE_WAITING_FOR_REPORT_POWER_STATUS);
|
||||
mTestLooper.dispatchAll();
|
||||
@@ -283,8 +303,12 @@ public class OneTouchPlayActionTest {
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(giveDevicePowerStatus);
|
||||
mNativeWrapper.clearResultMessages();
|
||||
|
||||
HdmiCecMessage reportPowerStatusOn = new HdmiCecMessage(
|
||||
ADDR_TV, playbackDevice.mAddress, Constants.MESSAGE_REPORT_POWER_STATUS, POWER_ON);
|
||||
HdmiCecMessage reportPowerStatusOn =
|
||||
new HdmiCecMessage(
|
||||
ADDR_TV,
|
||||
playbackDevice.getDeviceInfo().getLogicalAddress(),
|
||||
Constants.MESSAGE_REPORT_POWER_STATUS,
|
||||
POWER_ON);
|
||||
action.processCommand(reportPowerStatusOn);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
@@ -314,12 +338,15 @@ public class OneTouchPlayActionTest {
|
||||
playbackDevice.addAndStartAction(action);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
HdmiCecMessage activeSource = HdmiCecMessageBuilder.buildActiveSource(
|
||||
playbackDevice.mAddress, mPhysicalAddress);
|
||||
HdmiCecMessage textViewOn = HdmiCecMessageBuilder.buildTextViewOn(playbackDevice.mAddress,
|
||||
ADDR_TV);
|
||||
HdmiCecMessage giveDevicePowerStatus = HdmiCecMessageBuilder
|
||||
.buildGiveDevicePowerStatus(playbackDevice.mAddress, ADDR_TV);
|
||||
HdmiCecMessage activeSource =
|
||||
HdmiCecMessageBuilder.buildActiveSource(
|
||||
playbackDevice.getDeviceInfo().getLogicalAddress(), mPhysicalAddress);
|
||||
HdmiCecMessage textViewOn =
|
||||
HdmiCecMessageBuilder.buildTextViewOn(
|
||||
playbackDevice.getDeviceInfo().getLogicalAddress(), ADDR_TV);
|
||||
HdmiCecMessage giveDevicePowerStatus =
|
||||
HdmiCecMessageBuilder.buildGiveDevicePowerStatus(
|
||||
playbackDevice.getDeviceInfo().getLogicalAddress(), ADDR_TV);
|
||||
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(textViewOn);
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(activeSource);
|
||||
@@ -360,12 +387,15 @@ public class OneTouchPlayActionTest {
|
||||
playbackDevice.addAndStartAction(action);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
HdmiCecMessage activeSource = HdmiCecMessageBuilder.buildActiveSource(
|
||||
playbackDevice.mAddress, mPhysicalAddress);
|
||||
HdmiCecMessage textViewOn = HdmiCecMessageBuilder.buildTextViewOn(playbackDevice.mAddress,
|
||||
ADDR_TV);
|
||||
HdmiCecMessage giveDevicePowerStatus = HdmiCecMessageBuilder
|
||||
.buildGiveDevicePowerStatus(playbackDevice.mAddress, ADDR_TV);
|
||||
HdmiCecMessage activeSource =
|
||||
HdmiCecMessageBuilder.buildActiveSource(
|
||||
playbackDevice.getDeviceInfo().getLogicalAddress(), mPhysicalAddress);
|
||||
HdmiCecMessage textViewOn =
|
||||
HdmiCecMessageBuilder.buildTextViewOn(
|
||||
playbackDevice.getDeviceInfo().getLogicalAddress(), ADDR_TV);
|
||||
HdmiCecMessage giveDevicePowerStatus =
|
||||
HdmiCecMessageBuilder.buildGiveDevicePowerStatus(
|
||||
playbackDevice.getDeviceInfo().getLogicalAddress(), ADDR_TV);
|
||||
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(textViewOn);
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(activeSource);
|
||||
@@ -395,20 +425,27 @@ public class OneTouchPlayActionTest {
|
||||
playbackDevice.addAndStartAction(action);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
HdmiCecMessage activeSource = HdmiCecMessageBuilder.buildActiveSource(
|
||||
playbackDevice.mAddress, mPhysicalAddress);
|
||||
HdmiCecMessage textViewOn = HdmiCecMessageBuilder.buildTextViewOn(playbackDevice.mAddress,
|
||||
ADDR_TV);
|
||||
HdmiCecMessage giveDevicePowerStatus = HdmiCecMessageBuilder
|
||||
.buildGiveDevicePowerStatus(playbackDevice.mAddress, ADDR_TV);
|
||||
HdmiCecMessage activeSource =
|
||||
HdmiCecMessageBuilder.buildActiveSource(
|
||||
playbackDevice.getDeviceInfo().getLogicalAddress(), mPhysicalAddress);
|
||||
HdmiCecMessage textViewOn =
|
||||
HdmiCecMessageBuilder.buildTextViewOn(
|
||||
playbackDevice.getDeviceInfo().getLogicalAddress(), ADDR_TV);
|
||||
HdmiCecMessage giveDevicePowerStatus =
|
||||
HdmiCecMessageBuilder.buildGiveDevicePowerStatus(
|
||||
playbackDevice.getDeviceInfo().getLogicalAddress(), ADDR_TV);
|
||||
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(textViewOn);
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(activeSource);
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(giveDevicePowerStatus);
|
||||
mNativeWrapper.clearResultMessages();
|
||||
assertThat(actionTimer.getState()).isEqualTo(STATE_WAITING_FOR_REPORT_POWER_STATUS);
|
||||
HdmiCecMessage reportPowerStatusOn = new HdmiCecMessage(
|
||||
ADDR_TV, playbackDevice.mAddress, Constants.MESSAGE_REPORT_POWER_STATUS, POWER_ON);
|
||||
HdmiCecMessage reportPowerStatusOn =
|
||||
new HdmiCecMessage(
|
||||
ADDR_TV,
|
||||
playbackDevice.getDeviceInfo().getLogicalAddress(),
|
||||
Constants.MESSAGE_REPORT_POWER_STATUS,
|
||||
POWER_ON);
|
||||
action.processCommand(reportPowerStatusOn);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
@@ -440,20 +477,27 @@ public class OneTouchPlayActionTest {
|
||||
playbackDevice.addAndStartAction(action);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
HdmiCecMessage activeSource = HdmiCecMessageBuilder.buildActiveSource(
|
||||
playbackDevice.mAddress, mPhysicalAddress);
|
||||
HdmiCecMessage textViewOn = HdmiCecMessageBuilder.buildTextViewOn(playbackDevice.mAddress,
|
||||
ADDR_TV);
|
||||
HdmiCecMessage giveDevicePowerStatus = HdmiCecMessageBuilder
|
||||
.buildGiveDevicePowerStatus(playbackDevice.mAddress, ADDR_TV);
|
||||
HdmiCecMessage activeSource =
|
||||
HdmiCecMessageBuilder.buildActiveSource(
|
||||
playbackDevice.getDeviceInfo().getLogicalAddress(), mPhysicalAddress);
|
||||
HdmiCecMessage textViewOn =
|
||||
HdmiCecMessageBuilder.buildTextViewOn(
|
||||
playbackDevice.getDeviceInfo().getLogicalAddress(), ADDR_TV);
|
||||
HdmiCecMessage giveDevicePowerStatus =
|
||||
HdmiCecMessageBuilder.buildGiveDevicePowerStatus(
|
||||
playbackDevice.getDeviceInfo().getLogicalAddress(), ADDR_TV);
|
||||
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(textViewOn);
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(activeSource);
|
||||
assertThat(mNativeWrapper.getResultMessages()).doesNotContain(giveDevicePowerStatus);
|
||||
mNativeWrapper.clearResultMessages();
|
||||
assertThat(actionTimer.getState()).isEqualTo(STATE_WAITING_FOR_REPORT_POWER_STATUS);
|
||||
HdmiCecMessage reportPowerStatusOn = new HdmiCecMessage(
|
||||
ADDR_TV, playbackDevice.mAddress, Constants.MESSAGE_REPORT_POWER_STATUS, POWER_ON);
|
||||
HdmiCecMessage reportPowerStatusOn =
|
||||
new HdmiCecMessage(
|
||||
ADDR_TV,
|
||||
playbackDevice.getDeviceInfo().getLogicalAddress(),
|
||||
Constants.MESSAGE_REPORT_POWER_STATUS,
|
||||
POWER_ON);
|
||||
action.processCommand(reportPowerStatusOn);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
@@ -487,11 +531,11 @@ public class OneTouchPlayActionTest {
|
||||
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
HdmiCecMessage reportPowerStatusMessage = HdmiCecMessageBuilder.buildReportPowerStatus(
|
||||
Constants.ADDR_TV,
|
||||
playbackDevice.mAddress,
|
||||
HdmiControlManager.POWER_STATUS_ON
|
||||
);
|
||||
HdmiCecMessage reportPowerStatusMessage =
|
||||
HdmiCecMessageBuilder.buildReportPowerStatus(
|
||||
Constants.ADDR_TV,
|
||||
playbackDevice.getDeviceInfo().getLogicalAddress(),
|
||||
HdmiControlManager.POWER_STATUS_ON);
|
||||
mNativeWrapper.onCecMessage(reportPowerStatusMessage);
|
||||
|
||||
mTestLooper.dispatchAll();
|
||||
@@ -499,10 +543,12 @@ public class OneTouchPlayActionTest {
|
||||
assertThat(mHdmiControlService.isAddressAllocated()).isTrue();
|
||||
assertThat(callback.getResult()).isEqualTo(HdmiControlManager.RESULT_SUCCESS);
|
||||
assertThat(playbackDevice.isActiveSource()).isTrue();
|
||||
HdmiCecMessage activeSource = HdmiCecMessageBuilder.buildActiveSource(
|
||||
playbackDevice.mAddress, mPhysicalAddress);
|
||||
HdmiCecMessage textViewOn = HdmiCecMessageBuilder.buildTextViewOn(playbackDevice.mAddress,
|
||||
ADDR_TV);
|
||||
HdmiCecMessage activeSource =
|
||||
HdmiCecMessageBuilder.buildActiveSource(
|
||||
playbackDevice.getDeviceInfo().getLogicalAddress(), mPhysicalAddress);
|
||||
HdmiCecMessage textViewOn =
|
||||
HdmiCecMessageBuilder.buildTextViewOn(
|
||||
playbackDevice.getDeviceInfo().getLogicalAddress(), ADDR_TV);
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(activeSource);
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(textViewOn);
|
||||
}
|
||||
@@ -523,21 +569,23 @@ public class OneTouchPlayActionTest {
|
||||
TestCallback callback = new TestCallback();
|
||||
mHdmiControlService.oneTouchPlay(callback);
|
||||
|
||||
HdmiCecMessage reportPowerStatusMessage = HdmiCecMessageBuilder.buildReportPowerStatus(
|
||||
Constants.ADDR_TV,
|
||||
playbackDevice.mAddress,
|
||||
HdmiControlManager.POWER_STATUS_ON
|
||||
);
|
||||
HdmiCecMessage reportPowerStatusMessage =
|
||||
HdmiCecMessageBuilder.buildReportPowerStatus(
|
||||
Constants.ADDR_TV,
|
||||
playbackDevice.getDeviceInfo().getLogicalAddress(),
|
||||
HdmiControlManager.POWER_STATUS_ON);
|
||||
mNativeWrapper.onCecMessage(reportPowerStatusMessage);
|
||||
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
assertThat(callback.getResult()).isEqualTo(HdmiControlManager.RESULT_SUCCESS);
|
||||
assertThat(playbackDevice.isActiveSource()).isTrue();
|
||||
HdmiCecMessage activeSource = HdmiCecMessageBuilder.buildActiveSource(
|
||||
playbackDevice.mAddress, mPhysicalAddress);
|
||||
HdmiCecMessage textViewOn = HdmiCecMessageBuilder.buildTextViewOn(playbackDevice.mAddress,
|
||||
ADDR_TV);
|
||||
HdmiCecMessage activeSource =
|
||||
HdmiCecMessageBuilder.buildActiveSource(
|
||||
playbackDevice.getDeviceInfo().getLogicalAddress(), mPhysicalAddress);
|
||||
HdmiCecMessage textViewOn =
|
||||
HdmiCecMessageBuilder.buildTextViewOn(
|
||||
playbackDevice.getDeviceInfo().getLogicalAddress(), ADDR_TV);
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(activeSource);
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(textViewOn);
|
||||
}
|
||||
@@ -574,8 +622,9 @@ public class OneTouchPlayActionTest {
|
||||
|
||||
mHdmiControlService.onStandby(HdmiControlService.STANDBY_SCREEN_OFF);
|
||||
mTestLooper.dispatchAll();
|
||||
HdmiCecMessage standbyMessage = HdmiCecMessageBuilder.buildStandby(
|
||||
playbackDevice.mAddress, ADDR_TV);
|
||||
HdmiCecMessage standbyMessage =
|
||||
HdmiCecMessageBuilder.buildStandby(
|
||||
playbackDevice.getDeviceInfo().getLogicalAddress(), ADDR_TV);
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(standbyMessage);
|
||||
}
|
||||
|
||||
|
||||
@@ -156,9 +156,9 @@ public class PowerStatusMonitorActionTest {
|
||||
assertPowerStatus(ADDR_PLAYBACK_1, HdmiControlManager.POWER_STATUS_UNKNOWN);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
HdmiCecMessage giveDevicePowerStatus = HdmiCecMessageBuilder.buildGiveDevicePowerStatus(
|
||||
mTvDevice.mAddress,
|
||||
ADDR_PLAYBACK_1);
|
||||
HdmiCecMessage giveDevicePowerStatus =
|
||||
HdmiCecMessageBuilder.buildGiveDevicePowerStatus(
|
||||
mTvDevice.getDeviceInfo().getLogicalAddress(), ADDR_PLAYBACK_1);
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(giveDevicePowerStatus);
|
||||
|
||||
reportPowerStatus(ADDR_PLAYBACK_1, false, HdmiControlManager.POWER_STATUS_ON);
|
||||
@@ -195,9 +195,9 @@ public class PowerStatusMonitorActionTest {
|
||||
assertPowerStatus(ADDR_PLAYBACK_1, HdmiControlManager.POWER_STATUS_ON);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
HdmiCecMessage giveDevicePowerStatus = HdmiCecMessageBuilder.buildGiveDevicePowerStatus(
|
||||
mTvDevice.mAddress,
|
||||
ADDR_PLAYBACK_1);
|
||||
HdmiCecMessage giveDevicePowerStatus =
|
||||
HdmiCecMessageBuilder.buildGiveDevicePowerStatus(
|
||||
mTvDevice.getDeviceInfo().getLogicalAddress(), ADDR_PLAYBACK_1);
|
||||
|
||||
assertThat(mNativeWrapper.getResultMessages()).doesNotContain(giveDevicePowerStatus);
|
||||
|
||||
@@ -224,14 +224,14 @@ public class PowerStatusMonitorActionTest {
|
||||
action.start();
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
HdmiCecMessage giveDevicePowerStatus = HdmiCecMessageBuilder.buildGiveDevicePowerStatus(
|
||||
mTvDevice.mAddress,
|
||||
ADDR_PLAYBACK_1);
|
||||
HdmiCecMessage giveDevicePowerStatus =
|
||||
HdmiCecMessageBuilder.buildGiveDevicePowerStatus(
|
||||
mTvDevice.getDeviceInfo().getLogicalAddress(), ADDR_PLAYBACK_1);
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(giveDevicePowerStatus);
|
||||
|
||||
HdmiCecMessage giveDevicePowerStatus2 = HdmiCecMessageBuilder.buildGiveDevicePowerStatus(
|
||||
mTvDevice.mAddress,
|
||||
ADDR_PLAYBACK_2);
|
||||
HdmiCecMessage giveDevicePowerStatus2 =
|
||||
HdmiCecMessageBuilder.buildGiveDevicePowerStatus(
|
||||
mTvDevice.getDeviceInfo().getLogicalAddress(), ADDR_PLAYBACK_2);
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(giveDevicePowerStatus2);
|
||||
}
|
||||
|
||||
@@ -249,15 +249,15 @@ public class PowerStatusMonitorActionTest {
|
||||
action.start();
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
HdmiCecMessage giveDevicePowerStatus = HdmiCecMessageBuilder.buildGiveDevicePowerStatus(
|
||||
mTvDevice.mAddress,
|
||||
ADDR_PLAYBACK_1);
|
||||
HdmiCecMessage giveDevicePowerStatus =
|
||||
HdmiCecMessageBuilder.buildGiveDevicePowerStatus(
|
||||
mTvDevice.getDeviceInfo().getLogicalAddress(), ADDR_PLAYBACK_1);
|
||||
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(giveDevicePowerStatus);
|
||||
|
||||
HdmiCecMessage giveDevicePowerStatus2 = HdmiCecMessageBuilder.buildGiveDevicePowerStatus(
|
||||
mTvDevice.mAddress,
|
||||
ADDR_PLAYBACK_2);
|
||||
HdmiCecMessage giveDevicePowerStatus2 =
|
||||
HdmiCecMessageBuilder.buildGiveDevicePowerStatus(
|
||||
mTvDevice.getDeviceInfo().getLogicalAddress(), ADDR_PLAYBACK_2);
|
||||
|
||||
assertThat(mNativeWrapper.getResultMessages()).doesNotContain(giveDevicePowerStatus2);
|
||||
}
|
||||
@@ -270,7 +270,8 @@ public class PowerStatusMonitorActionTest {
|
||||
}
|
||||
|
||||
private void reportPowerStatus(int logicalAddress, boolean broadcast, int powerStatus) {
|
||||
int destination = broadcast ? ADDR_BROADCAST : mTvDevice.mAddress;
|
||||
int destination =
|
||||
broadcast ? ADDR_BROADCAST : mTvDevice.getDeviceInfo().getLogicalAddress();
|
||||
HdmiCecMessage reportPowerStatus = HdmiCecMessageBuilder.buildReportPowerStatus(
|
||||
logicalAddress, destination,
|
||||
powerStatus);
|
||||
|
||||
@@ -167,12 +167,16 @@ public class SystemAudioAutoInitiationActionTest {
|
||||
|
||||
HdmiCecMessage giveSystemAudioModeStatus =
|
||||
HdmiCecMessageBuilder.buildGiveSystemAudioModeStatus(
|
||||
mHdmiCecLocalDeviceTv.mAddress, ADDR_AUDIO_SYSTEM);
|
||||
mHdmiCecLocalDeviceTv.getDeviceInfo().getLogicalAddress(),
|
||||
ADDR_AUDIO_SYSTEM);
|
||||
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(giveSystemAudioModeStatus);
|
||||
|
||||
HdmiCecMessage reportSystemAudioMode = HdmiCecMessageBuilder.buildReportSystemAudioMode(
|
||||
ADDR_AUDIO_SYSTEM, mHdmiCecLocalDeviceTv.mAddress, true);
|
||||
HdmiCecMessage reportSystemAudioMode =
|
||||
HdmiCecMessageBuilder.buildReportSystemAudioMode(
|
||||
ADDR_AUDIO_SYSTEM,
|
||||
mHdmiCecLocalDeviceTv.getDeviceInfo().getLogicalAddress(),
|
||||
true);
|
||||
mHdmiControlService.handleCecCommand(reportSystemAudioMode);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
@@ -193,12 +197,16 @@ public class SystemAudioAutoInitiationActionTest {
|
||||
|
||||
HdmiCecMessage giveSystemAudioModeStatus =
|
||||
HdmiCecMessageBuilder.buildGiveSystemAudioModeStatus(
|
||||
mHdmiCecLocalDeviceTv.mAddress, ADDR_AUDIO_SYSTEM);
|
||||
mHdmiCecLocalDeviceTv.getDeviceInfo().getLogicalAddress(),
|
||||
ADDR_AUDIO_SYSTEM);
|
||||
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(giveSystemAudioModeStatus);
|
||||
|
||||
HdmiCecMessage reportSystemAudioMode = HdmiCecMessageBuilder.buildReportSystemAudioMode(
|
||||
ADDR_AUDIO_SYSTEM, mHdmiCecLocalDeviceTv.mAddress, true);
|
||||
HdmiCecMessage reportSystemAudioMode =
|
||||
HdmiCecMessageBuilder.buildReportSystemAudioMode(
|
||||
ADDR_AUDIO_SYSTEM,
|
||||
mHdmiCecLocalDeviceTv.getDeviceInfo().getLogicalAddress(),
|
||||
true);
|
||||
mHdmiControlService.handleCecCommand(reportSystemAudioMode);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
@@ -217,12 +225,16 @@ public class SystemAudioAutoInitiationActionTest {
|
||||
|
||||
HdmiCecMessage giveSystemAudioModeStatus =
|
||||
HdmiCecMessageBuilder.buildGiveSystemAudioModeStatus(
|
||||
mHdmiCecLocalDeviceTv.mAddress, ADDR_AUDIO_SYSTEM);
|
||||
mHdmiCecLocalDeviceTv.getDeviceInfo().getLogicalAddress(),
|
||||
ADDR_AUDIO_SYSTEM);
|
||||
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(giveSystemAudioModeStatus);
|
||||
|
||||
HdmiCecMessage reportSystemAudioMode = HdmiCecMessageBuilder.buildReportSystemAudioMode(
|
||||
ADDR_AUDIO_SYSTEM, mHdmiCecLocalDeviceTv.mAddress, false);
|
||||
HdmiCecMessage reportSystemAudioMode =
|
||||
HdmiCecMessageBuilder.buildReportSystemAudioMode(
|
||||
ADDR_AUDIO_SYSTEM,
|
||||
mHdmiCecLocalDeviceTv.getDeviceInfo().getLogicalAddress(),
|
||||
false);
|
||||
mHdmiControlService.handleCecCommand(reportSystemAudioMode);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
@@ -244,12 +256,16 @@ public class SystemAudioAutoInitiationActionTest {
|
||||
|
||||
HdmiCecMessage giveSystemAudioModeStatus =
|
||||
HdmiCecMessageBuilder.buildGiveSystemAudioModeStatus(
|
||||
mHdmiCecLocalDeviceTv.mAddress, ADDR_AUDIO_SYSTEM);
|
||||
mHdmiCecLocalDeviceTv.getDeviceInfo().getLogicalAddress(),
|
||||
ADDR_AUDIO_SYSTEM);
|
||||
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(giveSystemAudioModeStatus);
|
||||
|
||||
HdmiCecMessage reportSystemAudioMode = HdmiCecMessageBuilder.buildReportSystemAudioMode(
|
||||
ADDR_AUDIO_SYSTEM, mHdmiCecLocalDeviceTv.mAddress, true);
|
||||
HdmiCecMessage reportSystemAudioMode =
|
||||
HdmiCecMessageBuilder.buildReportSystemAudioMode(
|
||||
ADDR_AUDIO_SYSTEM,
|
||||
mHdmiCecLocalDeviceTv.getDeviceInfo().getLogicalAddress(),
|
||||
true);
|
||||
mHdmiControlService.handleCecCommand(reportSystemAudioMode);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
@@ -271,12 +287,16 @@ public class SystemAudioAutoInitiationActionTest {
|
||||
|
||||
HdmiCecMessage giveSystemAudioModeStatus =
|
||||
HdmiCecMessageBuilder.buildGiveSystemAudioModeStatus(
|
||||
mHdmiCecLocalDeviceTv.mAddress, ADDR_AUDIO_SYSTEM);
|
||||
mHdmiCecLocalDeviceTv.getDeviceInfo().getLogicalAddress(),
|
||||
ADDR_AUDIO_SYSTEM);
|
||||
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(giveSystemAudioModeStatus);
|
||||
|
||||
HdmiCecMessage reportSystemAudioMode = HdmiCecMessageBuilder.buildReportSystemAudioMode(
|
||||
ADDR_AUDIO_SYSTEM, mHdmiCecLocalDeviceTv.mAddress, false);
|
||||
HdmiCecMessage reportSystemAudioMode =
|
||||
HdmiCecMessageBuilder.buildReportSystemAudioMode(
|
||||
ADDR_AUDIO_SYSTEM,
|
||||
mHdmiCecLocalDeviceTv.getDeviceInfo().getLogicalAddress(),
|
||||
false);
|
||||
mHdmiControlService.handleCecCommand(reportSystemAudioMode);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
@@ -296,7 +316,8 @@ public class SystemAudioAutoInitiationActionTest {
|
||||
|
||||
HdmiCecMessage giveSystemAudioModeStatus =
|
||||
HdmiCecMessageBuilder.buildGiveSystemAudioModeStatus(
|
||||
mHdmiCecLocalDeviceTv.mAddress, ADDR_AUDIO_SYSTEM);
|
||||
mHdmiCecLocalDeviceTv.getDeviceInfo().getLogicalAddress(),
|
||||
ADDR_AUDIO_SYSTEM);
|
||||
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(giveSystemAudioModeStatus);
|
||||
mNativeWrapper.clearResultMessages();
|
||||
@@ -321,7 +342,8 @@ public class SystemAudioAutoInitiationActionTest {
|
||||
|
||||
HdmiCecMessage giveSystemAudioModeStatus =
|
||||
HdmiCecMessageBuilder.buildGiveSystemAudioModeStatus(
|
||||
mHdmiCecLocalDeviceTv.mAddress, ADDR_AUDIO_SYSTEM);
|
||||
mHdmiCecLocalDeviceTv.getDeviceInfo().getLogicalAddress(),
|
||||
ADDR_AUDIO_SYSTEM);
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(giveSystemAudioModeStatus);
|
||||
|
||||
for (int i = 0; i < RETRIES_ON_TIMEOUT; i++) {
|
||||
|
||||
@@ -197,6 +197,7 @@ public class SystemAudioInitiationActionFromAvrTest {
|
||||
}
|
||||
};
|
||||
mHdmiCecLocalDeviceAudioSystem.init();
|
||||
mHdmiCecLocalDeviceAudioSystem.setDeviceInfo(mDeviceInfoForTests);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
Reference in New Issue
Block a user