Merge "Remove redundant @GuardedBy's in HdmiCecLocalDevice."
This commit is contained in:
@@ -71,7 +71,7 @@ abstract class HdmiCecLocalDevice {
|
||||
protected final int mDeviceType;
|
||||
protected int mPreferredAddress;
|
||||
@GuardedBy("mLock")
|
||||
protected HdmiDeviceInfo mDeviceInfo;
|
||||
private HdmiDeviceInfo mDeviceInfo;
|
||||
protected int mLastKeycode = HdmiCecKeycode.UNSUPPORTED_KEYCODE;
|
||||
protected int mLastKeyRepeatCount = 0;
|
||||
|
||||
@@ -666,11 +666,9 @@ abstract class HdmiCecLocalDevice {
|
||||
* Computes the set of supported device features, and updates local state to match.
|
||||
*/
|
||||
private void updateDeviceFeatures() {
|
||||
synchronized (mLock) {
|
||||
setDeviceInfo(getDeviceInfo().toBuilder()
|
||||
.setDeviceFeatures(computeDeviceFeatures())
|
||||
.build());
|
||||
}
|
||||
setDeviceInfo(getDeviceInfo().toBuilder()
|
||||
.setDeviceFeatures(computeDeviceFeatures())
|
||||
.build());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -678,9 +676,7 @@ abstract class HdmiCecLocalDevice {
|
||||
*/
|
||||
protected final DeviceFeatures getDeviceFeatures() {
|
||||
updateDeviceFeatures();
|
||||
synchronized (mLock) {
|
||||
return getDeviceInfo().getDeviceFeatures();
|
||||
}
|
||||
return getDeviceInfo().getDeviceFeatures();
|
||||
}
|
||||
|
||||
@Constants.HandleMessageResult
|
||||
@@ -982,14 +978,12 @@ abstract class HdmiCecLocalDevice {
|
||||
return mDeviceType;
|
||||
}
|
||||
|
||||
@GuardedBy("mLock")
|
||||
HdmiDeviceInfo getDeviceInfo() {
|
||||
synchronized (mLock) {
|
||||
return mDeviceInfo;
|
||||
}
|
||||
}
|
||||
|
||||
@GuardedBy("mLock")
|
||||
void setDeviceInfo(HdmiDeviceInfo info) {
|
||||
synchronized (mLock) {
|
||||
mDeviceInfo = info;
|
||||
@@ -1042,10 +1036,8 @@ abstract class HdmiCecLocalDevice {
|
||||
|
||||
// Send <Give Features> if using CEC 2.0 or above.
|
||||
if (mService.getCecVersion() >= HdmiControlManager.HDMI_CEC_VERSION_2_0) {
|
||||
synchronized (mLock) {
|
||||
mService.sendCecCommand(HdmiCecMessageBuilder.buildGiveFeatures(
|
||||
getDeviceInfo().getLogicalAddress(), targetAddress));
|
||||
}
|
||||
mService.sendCecCommand(HdmiCecMessageBuilder.buildGiveFeatures(
|
||||
getDeviceInfo().getLogicalAddress(), targetAddress));
|
||||
}
|
||||
|
||||
// If we don't already have a {@link SetAudioVolumeLevelDiscoveryAction} for the target
|
||||
|
||||
@@ -138,9 +138,7 @@ public class HdmiCecLocalDevicePlayback extends HdmiCecLocalDeviceSource {
|
||||
// does not poll local devices, we should put device info of local device
|
||||
// manually here.
|
||||
for (HdmiCecLocalDevice device : mService.getAllLocalDevices()) {
|
||||
synchronized (device.mLock) {
|
||||
mService.getHdmiCecNetwork().addCecDevice(device.getDeviceInfo());
|
||||
}
|
||||
mService.getHdmiCecNetwork().addCecDevice(device.getDeviceInfo());
|
||||
}
|
||||
|
||||
List<HotplugDetectionAction> hotplugActions =
|
||||
@@ -179,11 +177,9 @@ public class HdmiCecLocalDevicePlayback extends HdmiCecLocalDeviceSource {
|
||||
@ServiceThreadOnly
|
||||
void deviceSelect(int id, IHdmiControlCallback callback) {
|
||||
assertRunOnServiceThread();
|
||||
synchronized (mLock) {
|
||||
if (id == getDeviceInfo().getId()) {
|
||||
mService.oneTouchPlay(callback);
|
||||
return;
|
||||
}
|
||||
if (id == getDeviceInfo().getId()) {
|
||||
mService.oneTouchPlay(callback);
|
||||
return;
|
||||
}
|
||||
HdmiDeviceInfo targetDevice = mService.getHdmiCecNetwork().getDeviceInfo(id);
|
||||
if (targetDevice == null) {
|
||||
|
||||
@@ -1331,13 +1331,11 @@ public class HdmiControlService extends SystemService {
|
||||
*/
|
||||
private boolean sourceAddressIsLocal(HdmiCecMessage message) {
|
||||
for (HdmiCecLocalDevice device : getAllLocalDevices()) {
|
||||
synchronized (device.mLock) {
|
||||
if (message.getSource() == device.getDeviceInfo().getLogicalAddress()
|
||||
&& message.getSource() != Constants.ADDR_UNREGISTERED) {
|
||||
HdmiLogger.warning(
|
||||
"Unexpected source: message sent from device itself, " + message);
|
||||
return true;
|
||||
}
|
||||
if (message.getSource() == device.getDeviceInfo().getLogicalAddress()
|
||||
&& message.getSource() != Constants.ADDR_UNREGISTERED) {
|
||||
HdmiLogger.warning(
|
||||
"Unexpected source: message sent from device itself, " + message);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
@@ -1560,9 +1558,7 @@ public class HdmiControlService extends SystemService {
|
||||
if (deviceInfo.getDisplayName().equals(newDisplayName)) {
|
||||
continue;
|
||||
}
|
||||
synchronized (device.mLock) {
|
||||
device.setDeviceInfo(deviceInfo.toBuilder().setDisplayName(newDisplayName).build());
|
||||
}
|
||||
device.setDeviceInfo(deviceInfo.toBuilder().setDisplayName(newDisplayName).build());
|
||||
sendCecCommand(
|
||||
HdmiCecMessageBuilder.buildSetOsdNameCommand(
|
||||
deviceInfo.getLogicalAddress(), Constants.ADDR_TV, newDisplayName));
|
||||
@@ -4096,10 +4092,7 @@ public class HdmiControlService extends SystemService {
|
||||
public void onAudioDeviceVolumeChanged(
|
||||
@NonNull AudioDeviceAttributes audioDevice,
|
||||
@NonNull VolumeInfo volumeInfo) {
|
||||
int localDeviceAddress;
|
||||
synchronized (mLocalDevice.mLock) {
|
||||
localDeviceAddress = mLocalDevice.getDeviceInfo().getLogicalAddress();
|
||||
}
|
||||
int localDeviceAddress = mLocalDevice.getDeviceInfo().getLogicalAddress();
|
||||
sendCecCommand(SetAudioVolumeLevelMessage.build(
|
||||
localDeviceAddress,
|
||||
mSystemAudioDevice.getLogicalAddress(),
|
||||
|
||||
@@ -212,9 +212,7 @@ public abstract class BaseAbsoluteVolumeControlTest {
|
||||
}
|
||||
|
||||
protected int getLogicalAddress() {
|
||||
synchronized (mHdmiCecLocalDevice.mLock) {
|
||||
return mHdmiCecLocalDevice.getDeviceInfo().getLogicalAddress();
|
||||
}
|
||||
return mHdmiCecLocalDevice.getDeviceInfo().getLogicalAddress();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -147,10 +147,9 @@ public class DeviceSelectActionFromPlaybackTest {
|
||||
|
||||
// The addresses depend on local device's LA.
|
||||
// This help the tests to pass with every local device LA.
|
||||
synchronized (mHdmiCecLocalDevicePlayback.mLock) {
|
||||
mPlaybackLogicalAddress1 =
|
||||
mHdmiCecLocalDevicePlayback.getDeviceInfo().getLogicalAddress();
|
||||
}
|
||||
mPlaybackLogicalAddress1 =
|
||||
mHdmiCecLocalDevicePlayback.getDeviceInfo().getLogicalAddress();
|
||||
|
||||
mPlaybackLogicalAddress2 = mPlaybackLogicalAddress1 == ADDR_PLAYBACK_2
|
||||
? ADDR_PLAYBACK_1 : ADDR_PLAYBACK_2;
|
||||
mPlaybackLogicalAddress3 = mPlaybackLogicalAddress1 == ADDR_PLAYBACK_3
|
||||
|
||||
@@ -132,9 +132,7 @@ public class HdmiCecControllerTest {
|
||||
mHdmiControlServiceSpy.onBootPhase(SystemService.PHASE_SYSTEM_SERVICES_READY);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
synchronized (playbackDevice.mLock) {
|
||||
mPlaybackLogicalAddress = playbackDevice.getDeviceInfo().getLogicalAddress();
|
||||
}
|
||||
mPlaybackLogicalAddress = playbackDevice.getDeviceInfo().getLogicalAddress();
|
||||
mTestLooper.dispatchAll();
|
||||
}
|
||||
|
||||
|
||||
@@ -132,9 +132,7 @@ public class RequestSadActionTest {
|
||||
mHdmiControlService.allocateLogicalAddress(mLocalDevices, INITIATED_BY_ENABLE_CEC);
|
||||
mNativeWrapper.setPhysicalAddress(0x0000);
|
||||
mTestLooper.dispatchAll();
|
||||
synchronized (mHdmiCecLocalDeviceTv.mLock) {
|
||||
mTvLogicalAddress = mHdmiCecLocalDeviceTv.getDeviceInfo().getLogicalAddress();
|
||||
}
|
||||
mTvLogicalAddress = mHdmiCecLocalDeviceTv.getDeviceInfo().getLogicalAddress();
|
||||
mNativeWrapper.clearResultMessages();
|
||||
}
|
||||
|
||||
|
||||
@@ -112,9 +112,7 @@ public class SetAudioVolumeLevelDiscoveryActionTest {
|
||||
mHdmiControlServiceSpy.onBootPhase(SystemService.PHASE_BOOT_COMPLETED);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
synchronized (mPlaybackDevice.mLock) {
|
||||
mPlaybackLogicalAddress = mPlaybackDevice.getDeviceInfo().getLogicalAddress();
|
||||
}
|
||||
mPlaybackLogicalAddress = mPlaybackDevice.getDeviceInfo().getLogicalAddress();
|
||||
|
||||
// Setup specific to these tests
|
||||
mNativeWrapper.onCecMessage(HdmiCecMessageBuilder.buildReportPhysicalAddressCommand(
|
||||
|
||||
Reference in New Issue
Block a user