Merge "Make mTvSystemAudioModeSupport originally null and fix related logic"

This commit is contained in:
Amy Zhang
2019-03-30 01:23:42 +00:00
committed by Android (Google) Code Review

View File

@@ -74,7 +74,15 @@ public class HdmiCecLocalDeviceAudioSystem extends HdmiCecLocalDeviceSource {
@GuardedBy("mLock")
private boolean mSystemAudioControlFeatureEnabled;
private boolean mTvSystemAudioModeSupport;
/**
* Indicates if the TV that the current device is connected to supports System Audio Mode or not
*
* <p>If the current device has no information on this, keep mTvSystemAudioModeSupport null
*
* <p>The boolean will be reset to null every time when the current device goes to standby
* or loses its physical address.
*/
private Boolean mTvSystemAudioModeSupport = null;
// Whether ARC is available or not. "true" means that ARC is established between TV and
// AVR as audio receiver.
@@ -321,7 +329,7 @@ public class HdmiCecLocalDeviceAudioSystem extends HdmiCecLocalDeviceSource {
@ServiceThreadOnly
protected void onStandby(boolean initiatedByCec, int standbyAction) {
assertRunOnServiceThread();
mTvSystemAudioModeSupport = false;
mTvSystemAudioModeSupport = null;
// Record the last state of System Audio Control before going to standby
synchronized (mLock) {
mService.writeStringSystemProperty(
@@ -1029,12 +1037,11 @@ public class HdmiCecLocalDeviceAudioSystem extends HdmiCecLocalDeviceSource {
* <p>The result of the query may be cached until Audio device type is put in standby or loses
* its physical address.
*/
// TODO(amyjojo): making mTvSystemAudioModeSupport null originally and fix the logic.
void queryTvSystemAudioModeSupport(TvSystemAudioModeSupportedCallback callback) {
if (!mTvSystemAudioModeSupport) {
if (mTvSystemAudioModeSupport == null) {
addAndStartAction(new DetectTvSystemAudioModeSupportAction(this, callback));
} else {
callback.onResult(true);
callback.onResult(mTvSystemAudioModeSupport);
}
}