Merge "Add handleActiveSource() to update atom local active source."
This commit is contained in:
@@ -102,6 +102,18 @@ public class HdmiCecLocalDeviceAudioSystem extends HdmiCecLocalDevice {
|
||||
}
|
||||
}
|
||||
|
||||
@ServiceThreadOnly
|
||||
protected boolean handleActiveSource(HdmiCecMessage message) {
|
||||
assertRunOnServiceThread();
|
||||
int logicalAddress = message.getSource();
|
||||
int physicalAddress = HdmiUtils.twoBytesToInt(message.getParams());
|
||||
ActiveSource activeSource = ActiveSource.of(logicalAddress, physicalAddress);
|
||||
if (!mActiveSource.equals(activeSource)) {
|
||||
setActiveSource(activeSource);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ServiceThreadOnly
|
||||
protected int getPreferredAddress() {
|
||||
|
||||
@@ -30,6 +30,7 @@ import android.os.Looper;
|
||||
import android.os.test.TestLooper;
|
||||
import android.support.test.filters.SmallTest;
|
||||
|
||||
import com.android.server.hdmi.HdmiCecLocalDevice.ActiveSource;
|
||||
import java.util.ArrayList;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
@@ -296,4 +297,15 @@ public class HdmiCecLocalDeviceAudioSystemTest {
|
||||
assertThat(mHdmiCecLocalDeviceAudioSystem
|
||||
.getActions(SystemAudioInitiationActionFromAvr.class)).isNotEmpty();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void handleActiveSource_updateActiveSource() {
|
||||
HdmiCecMessage message = HdmiCecMessageBuilder
|
||||
.buildActiveSource(ADDR_TV, 0x0000);
|
||||
ActiveSource expectedActiveSource = new ActiveSource(ADDR_TV, 0x0000);
|
||||
|
||||
assertTrue(mHdmiCecLocalDeviceAudioSystem.handleActiveSource(message));
|
||||
mTestLooper.dispatchAll();
|
||||
assertTrue(mHdmiCecLocalDeviceAudioSystem.getActiveSource().equals(expectedActiveSource));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user