diff options
8 files changed, 395 insertions, 401 deletions
diff --git a/services/tests/servicestests/src/com/android/server/hdmi/ArcTerminationActionFromAvrTest.java b/services/tests/servicestests/src/com/android/server/hdmi/ArcTerminationActionFromAvrTest.java index c20e23aa2f1d..14695c526bff 100644 --- a/services/tests/servicestests/src/com/android/server/hdmi/ArcTerminationActionFromAvrTest.java +++ b/services/tests/servicestests/src/com/android/server/hdmi/ArcTerminationActionFromAvrTest.java @@ -28,9 +28,7 @@ import org.junit.Test;  import org.junit.runner.RunWith;  import org.junit.runners.JUnit4; -/** - * Tests for {@link ArcTerminationActionFromAvr} - */ +/** Tests for {@link ArcTerminationActionFromAvr} */  @SmallTest  @RunWith(JUnit4.class)  public class ArcTerminationActionFromAvrTest { @@ -49,57 +47,60 @@ public class ArcTerminationActionFromAvrTest {      public void setUp() {          mDeviceInfoForTests = new HdmiDeviceInfo(1000, 1); -        HdmiControlService hdmiControlService = new HdmiControlService(null) { -            @Override -            void sendCecCommand(HdmiCecMessage command, -                @Nullable SendMessageCallback callback) { -                switch (command.getOpcode()) { -                    case Constants.MESSAGE_TERMINATE_ARC: -                        if (callback != null) { -                            callback.onSendCompleted(mSendCecCommandSuccess -                                ? SendMessageResult.SUCCESS : SendMessageResult.NACK); -                        } -                        if (mShouldDispatchReportArcTerminated) { -                            mHdmiCecLocalDeviceAudioSystem.dispatchMessage( -                                HdmiCecMessageBuilder.buildReportArcTerminated( -                                    Constants.ADDR_TV, -                                    mHdmiCecLocalDeviceAudioSystem.mAddress)); +        HdmiControlService hdmiControlService = +                new HdmiControlService(null) { +                    @Override +                    void sendCecCommand( +                            HdmiCecMessage command, @Nullable SendMessageCallback callback) { +                        switch (command.getOpcode()) { +                            case Constants.MESSAGE_TERMINATE_ARC: +                                if (callback != null) { +                                    callback.onSendCompleted( +                                            mSendCecCommandSuccess +                                                    ? SendMessageResult.SUCCESS +                                                    : SendMessageResult.NACK); +                                } +                                if (mShouldDispatchReportArcTerminated) { +                                    mHdmiCecLocalDeviceAudioSystem.dispatchMessage( +                                            HdmiCecMessageBuilder.buildReportArcTerminated( +                                                    Constants.ADDR_TV, +                                                    mHdmiCecLocalDeviceAudioSystem.mAddress)); +                                } +                                break; +                            default: +                                throw new IllegalArgumentException("Unexpected message");                          } -                        break; -                    default: -                        throw new IllegalArgumentException("Unexpected message"); -                } -            } - -            @Override -            boolean isPowerStandby() { -                return false; -            } - -            @Override -            boolean isAddressAllocated() { -                return true; -            } - -            @Override -            Looper getServiceLooper() { -                return mTestLooper.getLooper(); -            } -        }; +                    } + +                    @Override +                    boolean isPowerStandby() { +                        return false; +                    } + +                    @Override +                    boolean isAddressAllocated() { +                        return true; +                    } + +                    @Override +                    Looper getServiceLooper() { +                        return mTestLooper.getLooper(); +                    } +                };          mHdmiCecLocalDeviceAudioSystem = -            new HdmiCecLocalDeviceAudioSystem(hdmiControlService) { -                @Override -                HdmiDeviceInfo getDeviceInfo() { -                    return mDeviceInfoForTests; -                } - -                @Override -                void setArcStatus(boolean enabled) { -                    mSetArcStatusCalled = true; -                    mArcEnabled = enabled; -                } -            }; +                new HdmiCecLocalDeviceAudioSystem(hdmiControlService) { +                    @Override +                    HdmiDeviceInfo getDeviceInfo() { +                        return mDeviceInfoForTests; +                    } + +                    @Override +                    void setArcStatus(boolean enabled) { +                        mSetArcStatusCalled = true; +                        mArcEnabled = enabled; +                    } +                };          mHdmiCecLocalDeviceAudioSystem.init();          Looper looper = mTestLooper.getLooper();          hdmiControlService.setIoLooper(looper); diff --git a/services/tests/servicestests/src/com/android/server/hdmi/DetectTvSystemAudioModeSupportActionTest.java b/services/tests/servicestests/src/com/android/server/hdmi/DetectTvSystemAudioModeSupportActionTest.java index d437ca10bb3a..e114e032753e 100644 --- a/services/tests/servicestests/src/com/android/server/hdmi/DetectTvSystemAudioModeSupportActionTest.java +++ b/services/tests/servicestests/src/com/android/server/hdmi/DetectTvSystemAudioModeSupportActionTest.java @@ -23,16 +23,13 @@ import android.hardware.tv.cec.V1_0.SendMessageResult;  import android.os.Looper;  import android.os.test.TestLooper;  import android.support.test.filters.SmallTest; -  import com.android.server.hdmi.HdmiCecLocalDeviceAudioSystem.TvSystemAudioModeSupportedCallback;  import org.junit.Before;  import org.junit.Test;  import org.junit.runner.RunWith;  import org.junit.runners.JUnit4; -/** - * Tests for {@link DetectTvSystemAudioModeSupportAction} class. - */ +/** Tests for {@link DetectTvSystemAudioModeSupportAction} class. */  @SmallTest  @RunWith(JUnit4.class)  public class DetectTvSystemAudioModeSupportActionTest { @@ -49,46 +46,49 @@ public class DetectTvSystemAudioModeSupportActionTest {      @Before      public void SetUp() {          mDeviceInfoForTests = new HdmiDeviceInfo(1001, 1234); -        HdmiControlService hdmiControlService = new HdmiControlService(null) { +        HdmiControlService hdmiControlService = +                new HdmiControlService(null) { -            @Override -            void sendCecCommand(HdmiCecMessage command, -                    @Nullable SendMessageCallback callback) { -                switch (command.getOpcode()) { -                    case Constants.MESSAGE_SET_SYSTEM_AUDIO_MODE: -                        if (callback != null) { -                            callback.onSendCompleted(mSendCecCommandSuccess -                                    ? SendMessageResult.SUCCESS : SendMessageResult.NACK); -                        } -                        if (mShouldDispatchFeatureAbort) { -                            mHdmiCecLocalDeviceAudioSystem.dispatchMessage( -                                    HdmiCecMessageBuilder.buildFeatureAbortCommand( -                                            Constants.ADDR_TV, -                                            mHdmiCecLocalDeviceAudioSystem.mAddress, -                                            Constants.MESSAGE_SET_SYSTEM_AUDIO_MODE, -                                            Constants.ABORT_UNRECOGNIZED_OPCODE)); +                    @Override +                    void sendCecCommand( +                            HdmiCecMessage command, @Nullable SendMessageCallback callback) { +                        switch (command.getOpcode()) { +                            case Constants.MESSAGE_SET_SYSTEM_AUDIO_MODE: +                                if (callback != null) { +                                    callback.onSendCompleted( +                                            mSendCecCommandSuccess +                                                    ? SendMessageResult.SUCCESS +                                                    : SendMessageResult.NACK); +                                } +                                if (mShouldDispatchFeatureAbort) { +                                    mHdmiCecLocalDeviceAudioSystem.dispatchMessage( +                                            HdmiCecMessageBuilder.buildFeatureAbortCommand( +                                                    Constants.ADDR_TV, +                                                    mHdmiCecLocalDeviceAudioSystem.mAddress, +                                                    Constants.MESSAGE_SET_SYSTEM_AUDIO_MODE, +                                                    Constants.ABORT_UNRECOGNIZED_OPCODE)); +                                } +                                break; +                            default: +                                throw new IllegalArgumentException("Unexpected message");                          } -                        break; -                    default: -                        throw new IllegalArgumentException("Unexpected message"); -                } -            } +                    } -            @Override -            boolean isPowerStandby() { -                return false; -            } +                    @Override +                    boolean isPowerStandby() { +                        return false; +                    } -            @Override -            boolean isAddressAllocated() { -                return true; -            } +                    @Override +                    boolean isAddressAllocated() { +                        return true; +                    } -            @Override -            Looper getServiceLooper() { -                return mTestLooper.getLooper(); -            } -        }; +                    @Override +                    Looper getServiceLooper() { +                        return mTestLooper.getLooper(); +                    } +                };          mHdmiCecLocalDeviceAudioSystem =                  new HdmiCecLocalDeviceAudioSystem(hdmiControlService) {                      @Override @@ -100,13 +100,14 @@ public class DetectTvSystemAudioModeSupportActionTest {          Looper looper = mTestLooper.getLooper();          hdmiControlService.setIoLooper(looper); -        mAction = new DetectTvSystemAudioModeSupportAction( -                mHdmiCecLocalDeviceAudioSystem, -                new TvSystemAudioModeSupportedCallback() { -                    public void onResult(boolean supported) { -                        mSupported = Boolean.valueOf(supported); -                    } -                }); +        mAction = +                new DetectTvSystemAudioModeSupportAction( +                        mHdmiCecLocalDeviceAudioSystem, +                        new TvSystemAudioModeSupportedCallback() { +                            public void onResult(boolean supported) { +                                mSupported = Boolean.valueOf(supported); +                            } +                        });          mSupported = null;      } diff --git a/services/tests/servicestests/src/com/android/server/hdmi/FakeNativeWrapper.java b/services/tests/servicestests/src/com/android/server/hdmi/FakeNativeWrapper.java index 55099358f7fa..7484edd286f0 100644 --- a/services/tests/servicestests/src/com/android/server/hdmi/FakeNativeWrapper.java +++ b/services/tests/servicestests/src/com/android/server/hdmi/FakeNativeWrapper.java @@ -18,10 +18,10 @@ package com.android.server.hdmi;  import android.hardware.hdmi.HdmiPortInfo;  import android.hardware.tv.cec.V1_0.SendMessageResult;  import android.os.MessageQueue; +import com.android.internal.annotations.VisibleForTesting;  import com.android.server.hdmi.HdmiCecController.NativeWrapper;  import java.util.ArrayList;  import java.util.List; -import com.android.internal.annotations.VisibleForTesting;  /** Fake {@link NativeWrapper} useful for testing. */  final class FakeNativeWrapper implements NativeWrapper { diff --git a/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecControllerTest.java b/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecControllerTest.java index 84e1b7e18909..6cf5f0045c2d 100644 --- a/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecControllerTest.java +++ b/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecControllerTest.java @@ -15,17 +15,6 @@   */  package com.android.server.hdmi; -import android.content.Context; -import android.hardware.hdmi.HdmiPortInfo; -import android.hardware.tv.cec.V1_0.SendMessageResult; -import android.os.Looper; -import android.os.MessageQueue; -import android.os.test.TestLooper; -import android.support.test.filters.SmallTest; -import android.util.Log; -import com.android.server.hdmi.HdmiCecController.AllocateAddressCallback; -import com.android.server.hdmi.HdmiCecController.NativeWrapper; -  import static android.hardware.hdmi.HdmiDeviceInfo.DEVICE_AUDIO_SYSTEM;  import static android.hardware.hdmi.HdmiDeviceInfo.DEVICE_PLAYBACK;  import static android.hardware.hdmi.HdmiDeviceInfo.DEVICE_TV; @@ -37,14 +26,19 @@ import static com.android.server.hdmi.Constants.ADDR_SPECIFIC_USE;  import static com.android.server.hdmi.Constants.ADDR_TV;  import static com.android.server.hdmi.Constants.ADDR_UNREGISTERED;  import static junit.framework.Assert.assertEquals; + +import android.content.Context; +import android.hardware.tv.cec.V1_0.SendMessageResult; +import android.os.Looper; +import android.os.test.TestLooper; +import android.support.test.filters.SmallTest; +import com.android.server.hdmi.HdmiCecController.AllocateAddressCallback;  import org.junit.Before;  import org.junit.Test;  import org.junit.runner.RunWith;  import org.junit.runners.JUnit4; -/** - * Tests for {@link com.android.server.hdmi.HdmiCecController} class. - */ +/** Tests for {@link com.android.server.hdmi.HdmiCecController} class. */  @SmallTest  @RunWith(JUnit4.class)  public class HdmiCecControllerTest { @@ -71,12 +65,13 @@ public class HdmiCecControllerTest {      private HdmiControlService mHdmiControlService;      private HdmiCecController mHdmiCecController;      private int mLogicalAddress = 16; -    private AllocateAddressCallback mCallback = new AllocateAddressCallback() { -        @Override -        public void onAllocated(int deviceType, int logicalAddress) { -            mLogicalAddress = logicalAddress; -        } -    }; +    private AllocateAddressCallback mCallback = +            new AllocateAddressCallback() { +                @Override +                public void onAllocated(int deviceType, int logicalAddress) { +                    mLogicalAddress = logicalAddress; +                } +            };      private Looper mMyLooper;      private TestLooper mTestLooper = new TestLooper(); @@ -86,13 +81,11 @@ public class HdmiCecControllerTest {          mMyLooper = mTestLooper.getLooper();          mHdmiControlService = new MyHdmiControlService(null);          mNativeWrapper = new FakeNativeWrapper(); -        mHdmiCecController = HdmiCecController.createWithNativeWrapper( -            mHdmiControlService, mNativeWrapper); +        mHdmiCecController = +                HdmiCecController.createWithNativeWrapper(mHdmiControlService, mNativeWrapper);      } -    /** -     * Tests for {@link HdmiCecController#allocateLogicalAddress} -     */ +    /** Tests for {@link HdmiCecController#allocateLogicalAddress} */      @Test      public void testAllocatLogicalAddress_TvDevicePreferredNotOcupied() {          mHdmiCecController.allocateLogicalAddress(DEVICE_TV, ADDR_TV, mCallback); @@ -128,7 +121,7 @@ public class HdmiCecControllerTest {      @Test      public void testAllocatLogicalAddress_AudioSystemNonPreferredNotOcupied() {          mHdmiCecController.allocateLogicalAddress( -            DEVICE_AUDIO_SYSTEM, ADDR_UNREGISTERED, mCallback); +                DEVICE_AUDIO_SYSTEM, ADDR_UNREGISTERED, mCallback);          mTestLooper.dispatchAll();          assertEquals(ADDR_AUDIO_SYSTEM, mLogicalAddress);      } @@ -137,7 +130,7 @@ public class HdmiCecControllerTest {      public void testAllocatLogicalAddress_AudioSystemNonPreferredAllOcupied() {          mNativeWrapper.setPollAddressResponse(ADDR_AUDIO_SYSTEM, SendMessageResult.SUCCESS);          mHdmiCecController.allocateLogicalAddress( -            DEVICE_AUDIO_SYSTEM, ADDR_UNREGISTERED, mCallback); +                DEVICE_AUDIO_SYSTEM, ADDR_UNREGISTERED, mCallback);          mTestLooper.dispatchAll();          assertEquals(ADDR_UNREGISTERED, mLogicalAddress);      } @@ -152,8 +145,7 @@ public class HdmiCecControllerTest {      @Test      public void testAllocatLogicalAddress_PlaybackPreferredOcuppied() {          mNativeWrapper.setPollAddressResponse(ADDR_PLAYBACK_1, SendMessageResult.SUCCESS); -        mHdmiCecController.allocateLogicalAddress( -            DEVICE_PLAYBACK, ADDR_PLAYBACK_1, mCallback); +        mHdmiCecController.allocateLogicalAddress(DEVICE_PLAYBACK, ADDR_PLAYBACK_1, mCallback);          mTestLooper.dispatchAll();          assertEquals(ADDR_PLAYBACK_2, mLogicalAddress);      } diff --git a/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecLocalDeviceAudioSystemTest.java b/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecLocalDeviceAudioSystemTest.java index 474568305520..6845b2a9a5cc 100644 --- a/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecLocalDeviceAudioSystemTest.java +++ b/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecLocalDeviceAudioSystemTest.java @@ -26,7 +26,6 @@ import android.media.AudioManager;  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; @@ -36,9 +35,7 @@ import org.junit.runners.JUnit4;  @SmallTest  @RunWith(JUnit4.class) -/** - * Tests for {@link HdmiCecLocalDeviceAudioSystem} class. - */ +/** Tests for {@link HdmiCecLocalDeviceAudioSystem} class. */  public class HdmiCecLocalDeviceAudioSystemTest {      private static final String TAG = "HdmiCecLocalDeviceAudioSystemTest"; @@ -55,66 +52,67 @@ public class HdmiCecLocalDeviceAudioSystemTest {      @Before      public void SetUp() { -        mHdmiControlService = new HdmiControlService(null) { -            @Override -            AudioManager getAudioManager() { -                return new AudioManager() { +        mHdmiControlService = +                new HdmiControlService(null) {                      @Override -                    public int getStreamVolume(int streamType) { -                        switch (streamType) { -                            case STREAM_MUSIC: -                                return mMusicVolume; -                            default: -                                return 0; -                        } -                    } +                    AudioManager getAudioManager() { +                        return new AudioManager() { +                            @Override +                            public int getStreamVolume(int streamType) { +                                switch (streamType) { +                                    case STREAM_MUSIC: +                                        return mMusicVolume; +                                    default: +                                        return 0; +                                } +                            } -                    @Override -                    public boolean isStreamMute(int streamType) { -                        switch (streamType) { -                            case STREAM_MUSIC: -                                return mMusicMute; -                            default: -                                return false; -                        } -                    } +                            @Override +                            public boolean isStreamMute(int streamType) { +                                switch (streamType) { +                                    case STREAM_MUSIC: +                                        return mMusicMute; +                                    default: +                                        return false; +                                } +                            } -                    @Override -                    public int getStreamMaxVolume(int streamType) { -                        switch (streamType) { -                            case STREAM_MUSIC: -                                return mMusicMaxVolume; -                            default: -                                return 100; -                        } -                    } +                            @Override +                            public int getStreamMaxVolume(int streamType) { +                                switch (streamType) { +                                    case STREAM_MUSIC: +                                        return mMusicMaxVolume; +                                    default: +                                        return 100; +                                } +                            } -                    @Override -                    public void adjustStreamVolume(int streamType, int direction, int flags) { -                        switch (streamType) { -                            case STREAM_MUSIC: -                                if (direction == AudioManager.ADJUST_UNMUTE) { -                                    mMusicMute = false; -                                } else if (direction == AudioManager.ADJUST_MUTE) { -                                    mMusicMute = true; +                            @Override +                            public void adjustStreamVolume( +                                    int streamType, int direction, int flags) { +                                switch (streamType) { +                                    case STREAM_MUSIC: +                                        if (direction == AudioManager.ADJUST_UNMUTE) { +                                            mMusicMute = false; +                                        } else if (direction == AudioManager.ADJUST_MUTE) { +                                            mMusicMute = true; +                                        } +                                    default:                                  } -                            default: -                        } +                            } +                        };                      } -                }; -            } -            @Override -            void wakeUp() { -            } -        }; +                    @Override +                    void wakeUp() {} +                };          mMyLooper = mTestLooper.getLooper();          mHdmiCecLocalDeviceAudioSystem = new HdmiCecLocalDeviceAudioSystem(mHdmiControlService);          mHdmiCecLocalDeviceAudioSystem.init();          mHdmiControlService.setIoLooper(mMyLooper);          mNativeWrapper = new FakeNativeWrapper(); -        mHdmiCecController = HdmiCecController.createWithNativeWrapper( -                mHdmiControlService, mNativeWrapper); +        mHdmiCecController = +                HdmiCecController.createWithNativeWrapper(mHdmiControlService, mNativeWrapper);          mHdmiControlService.setCecController(mHdmiCecController);          mHdmiControlService.setHdmiMhlController(HdmiMhlControllerStub.create(mHdmiControlService));          mHdmiControlService.setMessageValidator(new HdmiCecMessageValidator(mHdmiControlService)); @@ -124,73 +122,79 @@ public class HdmiCecLocalDeviceAudioSystemTest {          mHdmiControlService.allocateLogicalAddress(mLocalDevices, INITIATED_BY_ENABLE_CEC);          mTestLooper.dispatchAll();      } +      @Test      public void handleGiveAudioStatus_volume_10_mute_true() {          mMusicVolume = 10;          mMusicMute = true;          mMusicMaxVolume = 20;          int scaledVolume = VolumeControlAction.scaleToCecVolume(10, mMusicMaxVolume); -        HdmiCecMessage expectedMessage = HdmiCecMessageBuilder.buildReportAudioStatus( -                ADDR_AUDIO_SYSTEM, ADDR_TV, scaledVolume, true); -        HdmiCecMessage messageGive = HdmiCecMessageBuilder.buildGiveAudioStatus( -                ADDR_TV, ADDR_AUDIO_SYSTEM); +        HdmiCecMessage expectedMessage = +                HdmiCecMessageBuilder.buildReportAudioStatus( +                        ADDR_AUDIO_SYSTEM, ADDR_TV, scaledVolume, true); +        HdmiCecMessage messageGive = +                HdmiCecMessageBuilder.buildGiveAudioStatus(ADDR_TV, ADDR_AUDIO_SYSTEM);          assertThat(mHdmiCecLocalDeviceAudioSystem.handleGiveAudioStatus(messageGive))                  .isEqualTo(true);          mTestLooper.dispatchAll();          assertThat(mNativeWrapper.getResultMessages()).contains(expectedMessage);      } +      @Test      public void handleGiveSystemAudioModeStatus_originalOff() { -        HdmiCecMessage expectedMessage = HdmiCecMessageBuilder -                .buildReportSystemAudioMode(ADDR_AUDIO_SYSTEM, ADDR_TV, false); -        HdmiCecMessage messageGive = HdmiCecMessageBuilder -                .buildGiveSystemAudioModeStatus(ADDR_TV, ADDR_AUDIO_SYSTEM); +        HdmiCecMessage expectedMessage = +                HdmiCecMessageBuilder.buildReportSystemAudioMode(ADDR_AUDIO_SYSTEM, ADDR_TV, false); +        HdmiCecMessage messageGive = +                HdmiCecMessageBuilder.buildGiveSystemAudioModeStatus(ADDR_TV, ADDR_AUDIO_SYSTEM);          assertThat(mHdmiCecLocalDeviceAudioSystem.handleGiveSystemAudioModeStatus(messageGive))                  .isEqualTo(true);          mTestLooper.dispatchAll();          assertThat(mNativeWrapper.getResultMessages()).contains(expectedMessage);      } +      @Test      public void handleRequestArcInitiate() {          // TODO(b/80296911): Add tests when finishing handler impl. -        HdmiCecMessage expectedMessage = HdmiCecMessageBuilder -                .buildInitiateArc(ADDR_AUDIO_SYSTEM, ADDR_TV); -        HdmiCecMessage message = HdmiCecMessageBuilder -                .buildRequestArcInitiation(ADDR_TV, ADDR_AUDIO_SYSTEM); +        HdmiCecMessage expectedMessage = +                HdmiCecMessageBuilder.buildInitiateArc(ADDR_AUDIO_SYSTEM, ADDR_TV); +        HdmiCecMessage message = +                HdmiCecMessageBuilder.buildRequestArcInitiation(ADDR_TV, ADDR_AUDIO_SYSTEM);          assertThat(mHdmiCecLocalDeviceAudioSystem.handleRequestArcInitiate(message))                  .isEqualTo(true);          mTestLooper.dispatchAll();          assertThat(mNativeWrapper.getResultMessages()).contains(expectedMessage);      } +      @Test      public void handleRequestArcTermination() {          // TODO(b/80297105): Add tests when finishing handler impl. -        HdmiCecMessage expectedMessage = HdmiCecMessageBuilder -                .buildTerminateArc(ADDR_AUDIO_SYSTEM, ADDR_TV); -        HdmiCecMessage messageRequestOff = HdmiCecMessageBuilder -                .buildRequestArcTermination(ADDR_TV, ADDR_AUDIO_SYSTEM); +        HdmiCecMessage expectedMessage = +                HdmiCecMessageBuilder.buildTerminateArc(ADDR_AUDIO_SYSTEM, ADDR_TV); +        HdmiCecMessage messageRequestOff = +                HdmiCecMessageBuilder.buildRequestArcTermination(ADDR_TV, ADDR_AUDIO_SYSTEM);          assertThat(mHdmiCecLocalDeviceAudioSystem.handleRequestArcTermination(messageRequestOff))                  .isEqualTo(true);          mTestLooper.dispatchAll();          assertThat(mNativeWrapper.getResultMessages()).contains(expectedMessage);      } +      @Test      public void handleSetSystemAudioMode_setOn_orignalOff() {          mMusicMute = true; -        HdmiCecMessage messageSet = HdmiCecMessageBuilder -                .buildSetSystemAudioMode(ADDR_TV, ADDR_AUDIO_SYSTEM, true); -        HdmiCecMessage messageGive = HdmiCecMessageBuilder -                .buildGiveSystemAudioModeStatus(ADDR_TV, ADDR_AUDIO_SYSTEM); +        HdmiCecMessage messageSet = +                HdmiCecMessageBuilder.buildSetSystemAudioMode(ADDR_TV, ADDR_AUDIO_SYSTEM, true); +        HdmiCecMessage messageGive = +                HdmiCecMessageBuilder.buildGiveSystemAudioModeStatus(ADDR_TV, ADDR_AUDIO_SYSTEM);          // Check if originally off -        HdmiCecMessage expectedMessage = HdmiCecMessageBuilder -                .buildReportSystemAudioMode(ADDR_AUDIO_SYSTEM, ADDR_TV, false); +        HdmiCecMessage expectedMessage = +                HdmiCecMessageBuilder.buildReportSystemAudioMode(ADDR_AUDIO_SYSTEM, ADDR_TV, false);          assertThat(mHdmiCecLocalDeviceAudioSystem.handleGiveSystemAudioModeStatus(messageGive))                  .isEqualTo(true);          mTestLooper.dispatchAll();          assertThat(mNativeWrapper.getResultMessages()).contains(expectedMessage);          // Check if correctly turned on -        expectedMessage = HdmiCecMessageBuilder -                .buildReportSystemAudioMode(ADDR_AUDIO_SYSTEM, ADDR_TV, true); +        expectedMessage = +                HdmiCecMessageBuilder.buildReportSystemAudioMode(ADDR_AUDIO_SYSTEM, ADDR_TV, true);          assertThat(mHdmiCecLocalDeviceAudioSystem.handleSetSystemAudioMode(messageSet))                  .isEqualTo(true);          mTestLooper.dispatchAll(); @@ -200,28 +204,32 @@ public class HdmiCecLocalDeviceAudioSystemTest {          assertThat(mNativeWrapper.getResultMessages()).contains(expectedMessage);          assertThat(mMusicMute).isEqualTo(false);      } +      @Test      public void handleSystemAudioModeRequest_turnOffByTv() {          assertThat(mMusicMute).isEqualTo(false);          // Check if feature correctly turned off -        HdmiCecMessage messageGive = HdmiCecMessageBuilder -                .buildGiveSystemAudioModeStatus(ADDR_TV, ADDR_AUDIO_SYSTEM); -        HdmiCecMessage messageRequestOff = HdmiCecMessageBuilder -                .buildSystemAudioModeRequest(ADDR_TV, ADDR_AUDIO_SYSTEM, 2, false); -        HdmiCecMessage expectedMessage = HdmiCecMessageBuilder -                .buildSetSystemAudioMode(ADDR_AUDIO_SYSTEM, ADDR_BROADCAST, false); +        HdmiCecMessage messageGive = +                HdmiCecMessageBuilder.buildGiveSystemAudioModeStatus(ADDR_TV, ADDR_AUDIO_SYSTEM); +        HdmiCecMessage messageRequestOff = +                HdmiCecMessageBuilder.buildSystemAudioModeRequest( +                        ADDR_TV, ADDR_AUDIO_SYSTEM, 2, false); +        HdmiCecMessage expectedMessage = +                HdmiCecMessageBuilder.buildSetSystemAudioMode( +                        ADDR_AUDIO_SYSTEM, ADDR_BROADCAST, false);          assertThat(mHdmiCecLocalDeviceAudioSystem.handleSystemAudioModeRequest(messageRequestOff))                  .isEqualTo(true);          mTestLooper.dispatchAll();          assertThat(mNativeWrapper.getResultMessages()).contains(expectedMessage); -        expectedMessage = HdmiCecMessageBuilder -                .buildReportSystemAudioMode(ADDR_AUDIO_SYSTEM, ADDR_TV, false); +        expectedMessage = +                HdmiCecMessageBuilder.buildReportSystemAudioMode(ADDR_AUDIO_SYSTEM, ADDR_TV, false);          assertThat(mHdmiCecLocalDeviceAudioSystem.handleGiveSystemAudioModeStatus(messageGive))                  .isEqualTo(true);          mTestLooper.dispatchAll();          assertThat(mNativeWrapper.getResultMessages()).contains(expectedMessage);          assertThat(mMusicMute).isEqualTo(true);      } +      @Test      public void onStandbyAudioSystem_currentSystemAudioControlOn() {          // Set system audio control on first @@ -229,77 +237,89 @@ public class HdmiCecLocalDeviceAudioSystemTest {          // Check if standby correctly turns off the feature          mHdmiCecLocalDeviceAudioSystem.onStandby(false, STANDBY_SCREEN_OFF);          mTestLooper.dispatchAll(); -        HdmiCecMessage expectedMessage = HdmiCecMessageBuilder -                .buildSetSystemAudioMode(ADDR_AUDIO_SYSTEM, ADDR_BROADCAST, false); +        HdmiCecMessage expectedMessage = +                HdmiCecMessageBuilder.buildSetSystemAudioMode( +                        ADDR_AUDIO_SYSTEM, ADDR_BROADCAST, false);          assertThat(mNativeWrapper.getResultMessages()).contains(expectedMessage);          assertThat(mMusicMute).isEqualTo(true);      } +      @Test      public void systemAudioControlOnPowerOn_alwaysOn() { -        mHdmiCecLocalDeviceAudioSystem.removeAction( -                SystemAudioInitiationActionFromAvr.class); +        mHdmiCecLocalDeviceAudioSystem.removeAction(SystemAudioInitiationActionFromAvr.class);          mHdmiCecLocalDeviceAudioSystem.systemAudioControlOnPowerOn(                  Constants.ALWAYS_SYSTEM_AUDIO_CONTROL_ON_POWER_ON, true); -        assertThat(mHdmiCecLocalDeviceAudioSystem -                .getActions(SystemAudioInitiationActionFromAvr.class)).isNotEmpty(); +        assertThat( +                        mHdmiCecLocalDeviceAudioSystem.getActions( +                                SystemAudioInitiationActionFromAvr.class)) +                .isNotEmpty();      } +      @Test      public void systemAudioControlOnPowerOn_neverOn() { -        mHdmiCecLocalDeviceAudioSystem.removeAction( -                SystemAudioInitiationActionFromAvr.class); +        mHdmiCecLocalDeviceAudioSystem.removeAction(SystemAudioInitiationActionFromAvr.class);          mHdmiCecLocalDeviceAudioSystem.systemAudioControlOnPowerOn(                  Constants.NEVER_SYSTEM_AUDIO_CONTROL_ON_POWER_ON, false); -        assertThat(mHdmiCecLocalDeviceAudioSystem -                .getActions(SystemAudioInitiationActionFromAvr.class)).isEmpty(); +        assertThat( +                        mHdmiCecLocalDeviceAudioSystem.getActions( +                                SystemAudioInitiationActionFromAvr.class)) +                .isEmpty();      } +      @Test      public void systemAudioControlOnPowerOn_useLastState_off() { -        mHdmiCecLocalDeviceAudioSystem.removeAction( -                SystemAudioInitiationActionFromAvr.class); +        mHdmiCecLocalDeviceAudioSystem.removeAction(SystemAudioInitiationActionFromAvr.class);          mHdmiCecLocalDeviceAudioSystem.systemAudioControlOnPowerOn(                  Constants.USE_LAST_STATE_SYSTEM_AUDIO_CONTROL_ON_POWER_ON, false); -        assertThat(mHdmiCecLocalDeviceAudioSystem -                .getActions(SystemAudioInitiationActionFromAvr.class)).isEmpty(); +        assertThat( +                        mHdmiCecLocalDeviceAudioSystem.getActions( +                                SystemAudioInitiationActionFromAvr.class)) +                .isEmpty();      } +      @Test      public void systemAudioControlOnPowerOn_useLastState_on() { -        mHdmiCecLocalDeviceAudioSystem.removeAction( -                SystemAudioInitiationActionFromAvr.class); +        mHdmiCecLocalDeviceAudioSystem.removeAction(SystemAudioInitiationActionFromAvr.class);          mHdmiCecLocalDeviceAudioSystem.systemAudioControlOnPowerOn(                  Constants.USE_LAST_STATE_SYSTEM_AUDIO_CONTROL_ON_POWER_ON, true); -        assertThat(mHdmiCecLocalDeviceAudioSystem -                .getActions(SystemAudioInitiationActionFromAvr.class)).isNotEmpty(); +        assertThat( +                        mHdmiCecLocalDeviceAudioSystem.getActions( +                                SystemAudioInitiationActionFromAvr.class)) +                .isNotEmpty();      } +      @Test      public void handleActiveSource_updateActiveSource() { -        HdmiCecMessage message = HdmiCecMessageBuilder -                .buildActiveSource(ADDR_TV, 0x0000); +        HdmiCecMessage message = HdmiCecMessageBuilder.buildActiveSource(ADDR_TV, 0x0000);          ActiveSource expectedActiveSource = new ActiveSource(ADDR_TV, 0x0000); -        assertThat(mHdmiCecLocalDeviceAudioSystem.handleActiveSource(message)) -                .isEqualTo(true); +        assertThat(mHdmiCecLocalDeviceAudioSystem.handleActiveSource(message)).isEqualTo(true);          mTestLooper.dispatchAll();          assertThat(mHdmiCecLocalDeviceAudioSystem.getActiveSource().equals(expectedActiveSource))                  .isEqualTo(true);      } +      @Test      public void terminateSystemAudioMode_systemAudioModeOff() {          mHdmiCecLocalDeviceAudioSystem.setSystemAudioMode(false);          assertThat(mHdmiCecLocalDeviceAudioSystem.isSystemAudioActivated()).isEqualTo(false);          mMusicMute = false; -        HdmiCecMessage message = HdmiCecMessageBuilder -                .buildSetSystemAudioMode(ADDR_AUDIO_SYSTEM, ADDR_BROADCAST, false); +        HdmiCecMessage message = +                HdmiCecMessageBuilder.buildSetSystemAudioMode( +                        ADDR_AUDIO_SYSTEM, ADDR_BROADCAST, false);          mHdmiCecLocalDeviceAudioSystem.terminateSystemAudioMode();          assertThat(mHdmiCecLocalDeviceAudioSystem.isSystemAudioActivated()).isEqualTo(false);          assertThat(mMusicMute).isEqualTo(false);          assertThat(mNativeWrapper.getResultMessages()).doesNotContain(message);      } +      @Test      public void terminateSystemAudioMode_systemAudioModeOn() {          mHdmiCecLocalDeviceAudioSystem.setSystemAudioMode(true);          assertThat(mHdmiCecLocalDeviceAudioSystem.isSystemAudioActivated()).isEqualTo(true);          mMusicMute = false; -        HdmiCecMessage expectedMessage = HdmiCecMessageBuilder -                .buildSetSystemAudioMode(ADDR_AUDIO_SYSTEM, ADDR_BROADCAST, false); +        HdmiCecMessage expectedMessage = +                HdmiCecMessageBuilder.buildSetSystemAudioMode( +                        ADDR_AUDIO_SYSTEM, ADDR_BROADCAST, false);          mHdmiCecLocalDeviceAudioSystem.terminateSystemAudioMode();          assertThat(mHdmiCecLocalDeviceAudioSystem.isSystemAudioActivated()).isEqualTo(false);          assertThat(mMusicMute).isEqualTo(true); @@ -312,7 +332,7 @@ public class HdmiCecLocalDeviceAudioSystemTest {          int targetPhysicalAddress = 0x1000;          mNativeWrapper.setPhysicalAddress(0x1000);          assertThat(mHdmiCecLocalDeviceAudioSystem.isPhysicalAddressMeOrBelow(targetPhysicalAddress)) -            .isEqualTo(true); +                .isEqualTo(true);      }      @Test @@ -320,7 +340,7 @@ public class HdmiCecLocalDeviceAudioSystemTest {          int targetPhysicalAddress = 0x1100;          mNativeWrapper.setPhysicalAddress(0x1000);          assertThat(mHdmiCecLocalDeviceAudioSystem.isPhysicalAddressMeOrBelow(targetPhysicalAddress)) -            .isEqualTo(true); +                .isEqualTo(true);      }      @Test @@ -328,21 +348,21 @@ public class HdmiCecLocalDeviceAudioSystemTest {          int targetPhysicalAddress = 0x3000;          mNativeWrapper.setPhysicalAddress(0x2000);          assertThat(mHdmiCecLocalDeviceAudioSystem.isPhysicalAddressMeOrBelow(targetPhysicalAddress)) -            .isEqualTo(false); +                .isEqualTo(false);          targetPhysicalAddress = 0x2200;          mNativeWrapper.setPhysicalAddress(0x3300);          assertThat(mHdmiCecLocalDeviceAudioSystem.isPhysicalAddressMeOrBelow(targetPhysicalAddress)) -            .isEqualTo(false); +                .isEqualTo(false);          targetPhysicalAddress = 0x2213;          mNativeWrapper.setPhysicalAddress(0x2212);          assertThat(mHdmiCecLocalDeviceAudioSystem.isPhysicalAddressMeOrBelow(targetPhysicalAddress)) -            .isEqualTo(false); +                .isEqualTo(false);          targetPhysicalAddress = 0x2340;          mNativeWrapper.setPhysicalAddress(0x2310);          assertThat(mHdmiCecLocalDeviceAudioSystem.isPhysicalAddressMeOrBelow(targetPhysicalAddress)) -            .isEqualTo(false); +                .isEqualTo(false);      }  } diff --git a/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecLocalDeviceTest.java b/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecLocalDeviceTest.java index 833ffa6b0c70..3cd84817bcac 100644 --- a/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecLocalDeviceTest.java +++ b/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecLocalDeviceTest.java @@ -27,13 +27,8 @@ import static junit.framework.Assert.assertFalse;  import static junit.framework.Assert.assertTrue;  import android.hardware.hdmi.HdmiControlManager; -import android.hardware.hdmi.HdmiPortInfo; -import android.os.PowerManager;  import android.os.test.TestLooper;  import android.support.test.filters.SmallTest; -import android.os.MessageQueue; -import com.android.server.hdmi.HdmiCecController.NativeWrapper; -import junit.framework.Assert;  import java.util.Arrays;  import org.junit.Before;  import org.junit.Test; @@ -42,20 +37,19 @@ import org.junit.runners.JUnit4;  @SmallTest  @RunWith(JUnit4.class) -/** - * Tests for {@link HdmiCecLocalDevice} class. - */ +/** Tests for {@link HdmiCecLocalDevice} class. */  public class HdmiCecLocalDeviceTest { -      private static int SendCecCommandFactory(int srcAddress, int dstAddress, byte[] body) { -        switch(body[0] & 0xFF) { -            /** {@link Constants#MESSAGE_GIVE_PHYSICAL_ADDRESS} */ +        switch (body[0] & 0xFF) { +                /** {@link Constants#MESSAGE_GIVE_PHYSICAL_ADDRESS} */              case MESSAGE_REPORT_PHYSICAL_ADDRESS:              case MESSAGE_DEVICE_VENDOR_ID: -                return srcAddress == mSrcAddr && -                    dstAddress == mDesAddr && -                    Arrays.equals(Arrays.copyOfRange(body, 1, body.length), param)? 0 : 1; +                return srcAddress == mSrcAddr +                                && dstAddress == mDesAddr +                                && Arrays.equals(Arrays.copyOfRange(body, 1, body.length), param) +                        ? 0 +                        : 1;              default:                  return 1;          } @@ -63,15 +57,12 @@ public class HdmiCecLocalDeviceTest {      private class MyHdmiCecLocalDevice extends HdmiCecLocalDevice { -          protected MyHdmiCecLocalDevice(HdmiControlService service, int deviceType) {              super(service, deviceType);          }          @Override -        protected void onAddressAllocated(int logicalAddress, int reason) { - -        } +        protected void onAddressAllocated(int logicalAddress, int reason) {}          @Override          protected int getPreferredAddress() { @@ -79,9 +70,7 @@ public class HdmiCecLocalDeviceTest {          }          @Override -        protected void setPreferredAddress(int addr) { - -        } +        protected void setPreferredAddress(int addr) {}      }      private MyHdmiCecLocalDevice mHdmiLocalDevice; @@ -100,42 +89,48 @@ public class HdmiCecLocalDeviceTest {      @Before      public void SetUp() { -        mHdmiControlService = new HdmiControlService(null) { -            @Override -            boolean isControlEnabled() { -                return isControlEnabled; -            } - -            @Override -            boolean isPowerOnOrTransient() { -                return mPowerStatus == HdmiControlManager.POWER_STATUS_ON -                    || mPowerStatus == HdmiControlManager.POWER_STATUS_TRANSIENT_TO_ON; -            } - -            @Override -            void standby() { -                mStandbyMessageReceived = true; -            } -        }; +        mHdmiControlService = +                new HdmiControlService(null) { +                    @Override +                    boolean isControlEnabled() { +                        return isControlEnabled; +                    } + +                    @Override +                    boolean isPowerOnOrTransient() { +                        return mPowerStatus == HdmiControlManager.POWER_STATUS_ON +                                || mPowerStatus == HdmiControlManager.POWER_STATUS_TRANSIENT_TO_ON; +                    } + +                    @Override +                    void standby() { +                        mStandbyMessageReceived = true; +                    } +                };          mHdmiControlService.setIoLooper(mTestLooper.getLooper()); -        mHdmiCecController = HdmiCecController.createWithNativeWrapper( -            mHdmiControlService, new FakeNativeWrapper()); +        mHdmiCecController = +                HdmiCecController.createWithNativeWrapper( +                        mHdmiControlService, new FakeNativeWrapper());          mHdmiControlService.setCecController(mHdmiCecController); -        mHdmiLocalDevice = new MyHdmiCecLocalDevice( -            mHdmiControlService, DEVICE_TV); -        mMessageValidator = new HdmiCecMessageValidator(mHdmiControlService){ -            @Override -            int isValid(HdmiCecMessage message) { -                return HdmiCecMessageValidator.OK; -            } -        }; +        mHdmiLocalDevice = new MyHdmiCecLocalDevice(mHdmiControlService, DEVICE_TV); +        mMessageValidator = +                new HdmiCecMessageValidator(mHdmiControlService) { +                    @Override +                    int isValid(HdmiCecMessage message) { +                        return HdmiCecMessageValidator.OK; +                    } +                };          mHdmiControlService.setMessageValidator(mMessageValidator);      }      @Test      public void dispatchMessage_desNotValid() { -        HdmiCecMessage msg = new HdmiCecMessage( -            ADDR_TV, ADDR_TV, Constants.MESSAGE_CEC_VERSION, HdmiCecMessage.EMPTY_PARAM); +        HdmiCecMessage msg = +                new HdmiCecMessage( +                        ADDR_TV, +                        ADDR_TV, +                        Constants.MESSAGE_CEC_VERSION, +                        HdmiCecMessage.EMPTY_PARAM);          boolean handleResult = mHdmiLocalDevice.dispatchMessage(msg);          assertFalse(handleResult);      } @@ -144,18 +139,19 @@ public class HdmiCecLocalDeviceTest {      public void handleGivePhysicalAddress_success() {          mSrcAddr = ADDR_UNREGISTERED;          mDesAddr = ADDR_BROADCAST; -        param = new byte[] { -            (byte) ((mPhysicalAddr >> 8) & 0xFF), -            (byte) (mPhysicalAddr & 0xFF), -            (byte) (DEVICE_TV & 0xFF) -        }; +        param = +                new byte[] { +                    (byte) ((mPhysicalAddr >> 8) & 0xFF), +                    (byte) (mPhysicalAddr & 0xFF), +                    (byte) (DEVICE_TV & 0xFF) +                };          callbackResult = -1; -        boolean handleResult = mHdmiLocalDevice.handleGivePhysicalAddress( -            (int finalResult) -> callbackResult = finalResult); +        boolean handleResult = +                mHdmiLocalDevice.handleGivePhysicalAddress( +                        (int finalResult) -> callbackResult = finalResult);          mTestLooper.dispatchAll();          /** -         * Test if CecMessage is sent successfully -         * SendMessageResult#SUCCESS is defined in HAL as 0 +         * Test if CecMessage is sent successfully SendMessageResult#SUCCESS is defined in HAL as 0           */          assertEquals(0, callbackResult);          assertTrue(handleResult); @@ -166,14 +162,10 @@ public class HdmiCecLocalDeviceTest {          mSrcAddr = ADDR_UNREGISTERED;          mDesAddr = ADDR_BROADCAST;          /** nativeGetVendorId returns 0 */ -        param = new byte[] { -            (byte) ((0 >> 8) & 0xFF), -            (byte) (0 & 0xFF), -            (byte) (0 & 0xFF) -        }; +        param = new byte[] {(byte) ((0 >> 8) & 0xFF), (byte) (0 & 0xFF), (byte) (0 & 0xFF)};          callbackResult = -1;          mHdmiLocalDevice.handleGiveDeviceVendorId( -            (int finalResult) -> callbackResult = finalResult); +                (int finalResult) -> callbackResult = finalResult);          mTestLooper.dispatchAll();          assertEquals(0, callbackResult);      } @@ -184,7 +176,7 @@ public class HdmiCecLocalDeviceTest {          isControlEnabled = true;          assertFalse(mStandbyMessageReceived);          mHdmiLocalDevice.handleStandby( -            HdmiCecMessageBuilder.buildStandby(ADDR_TV, ADDR_AUDIO_SYSTEM)); +                HdmiCecMessageBuilder.buildStandby(ADDR_TV, ADDR_AUDIO_SYSTEM));          assertTrue(mStandbyMessageReceived);      }  } diff --git a/services/tests/servicestests/src/com/android/server/hdmi/HdmiControlServiceTest.java b/services/tests/servicestests/src/com/android/server/hdmi/HdmiControlServiceTest.java index 90ad34982421..7de637b2df3c 100644 --- a/services/tests/servicestests/src/com/android/server/hdmi/HdmiControlServiceTest.java +++ b/services/tests/servicestests/src/com/android/server/hdmi/HdmiControlServiceTest.java @@ -30,9 +30,7 @@ import org.junit.Test;  import org.junit.runner.RunWith;  import org.junit.runners.JUnit4; -/** - * Tests for {@link HdmiControlService} class. - */ +/** Tests for {@link HdmiControlService} class. */  @SmallTest  @RunWith(JUnit4.class)  public class HdmiControlServiceTest { @@ -48,9 +46,7 @@ public class HdmiControlServiceTest {          }          @Override -        protected void onAddressAllocated(int logicalAddress, int reason) { - -        } +        protected void onAddressAllocated(int logicalAddress, int reason) {}          @Override          protected int getPreferredAddress() { @@ -58,9 +54,7 @@ public class HdmiControlServiceTest {          }          @Override -        protected void setPreferredAddress(int addr) { - -        } +        protected void setPreferredAddress(int addr) {}          @Override          protected boolean canGoToStandby() { @@ -68,8 +62,8 @@ public class HdmiControlServiceTest {          }          @Override -        protected void disableDevice(boolean initiatedByCec, -            final PendingActionClearedCallback originalCallback) { +        protected void disableDevice( +                boolean initiatedByCec, final PendingActionClearedCallback originalCallback) {              mIsDisabled = true;              originalCallback.onCleared(this);          } @@ -105,26 +99,26 @@ public class HdmiControlServiceTest {      @Before      public void SetUp() { -        mHdmiControlService = new HdmiControlService(null) { -            @Override -            boolean isStandbyMessageReceived() { -                return mStandbyMessageReceived; -            } -        }; +        mHdmiControlService = +                new HdmiControlService(null) { +                    @Override +                    boolean isStandbyMessageReceived() { +                        return mStandbyMessageReceived; +                    } +                };          mMyLooper = mTestLooper.getLooper(); -        mMyAudioSystemDevice = new HdmiCecLocalDeviceMyDevice( -            mHdmiControlService, DEVICE_AUDIO_SYSTEM); -        mMyPlaybackDevice = new HdmiCecLocalDeviceMyDevice( -            mHdmiControlService, DEVICE_PLAYBACK); +        mMyAudioSystemDevice = +                new HdmiCecLocalDeviceMyDevice(mHdmiControlService, DEVICE_AUDIO_SYSTEM); +        mMyPlaybackDevice = new HdmiCecLocalDeviceMyDevice(mHdmiControlService, DEVICE_PLAYBACK);          mMyAudioSystemDevice.init();          mMyPlaybackDevice.init();          mHdmiControlService.setIoLooper(mMyLooper);          mNativeWrapper = new FakeNativeWrapper(); -        mHdmiCecController = HdmiCecController.createWithNativeWrapper( -            mHdmiControlService, mNativeWrapper); +        mHdmiCecController = +                HdmiCecController.createWithNativeWrapper(mHdmiControlService, mNativeWrapper);          mHdmiControlService.setCecController(mHdmiCecController);          mHdmiControlService.setHdmiMhlController(HdmiMhlControllerStub.create(mHdmiControlService));          mHdmiControlService.setMessageValidator(new HdmiCecMessageValidator(mHdmiControlService)); diff --git a/services/tests/servicestests/src/com/android/server/hdmi/SystemAudioInitiationActionFromAvrTest.java b/services/tests/servicestests/src/com/android/server/hdmi/SystemAudioInitiationActionFromAvrTest.java index a1614f214850..e6ff1436468e 100644 --- a/services/tests/servicestests/src/com/android/server/hdmi/SystemAudioInitiationActionFromAvrTest.java +++ b/services/tests/servicestests/src/com/android/server/hdmi/SystemAudioInitiationActionFromAvrTest.java @@ -26,15 +26,12 @@ import android.media.AudioManager;  import android.os.Looper;  import android.os.test.TestLooper;  import android.support.test.filters.SmallTest; -  import org.junit.Before;  import org.junit.Test;  import org.junit.runner.RunWith;  import org.junit.runners.JUnit4; -/** - * Tests for {@link SystemAudioInitiationActionFromAvr} - */ +/** Tests for {@link SystemAudioInitiationActionFromAvr} */  @SmallTest  @RunWith(JUnit4.class)  public class SystemAudioInitiationActionFromAvrTest { @@ -54,88 +51,86 @@ public class SystemAudioInitiationActionFromAvrTest {      @Before      public void SetUp() {          mDeviceInfoForTests = new HdmiDeviceInfo(1001, 1234); -        HdmiControlService hdmiControlService = new HdmiControlService(null) { - -            @Override -            void sendCecCommand(HdmiCecMessage command, -                    @Nullable SendMessageCallback callback) { -                switch (command.getOpcode()) { -                    case Constants.MESSAGE_REQUEST_ACTIVE_SOURCE: -                        mMsgRequestActiveSourceCount++; -                        if (mTryCountBeforeSucceed >= mMsgRequestActiveSourceCount -                                && callback != null) { -                            callback.onSendCompleted(SendMessageResult.NACK); -                            break; -                        } -                        if (mShouldDispatchActiveSource) { -                            mHdmiCecLocalDeviceAudioSystem.dispatchMessage( -                                    HdmiCecMessageBuilder.buildActiveSource( -                                            Constants.ADDR_TV, 1002)); -                        } -                        break; -                    case Constants.MESSAGE_SET_SYSTEM_AUDIO_MODE: -                        mMsgSetSystemAudioModeCount++; -                        if (mTryCountBeforeSucceed >= mMsgSetSystemAudioModeCount -                                && callback != null) { -                            callback.onSendCompleted(SendMessageResult.NACK); -                        } -                        break; -                    default: -                        throw new IllegalArgumentException("Unexpected message"); -                } -            } - -            @Override -            AudioManager getAudioManager() { -                return new AudioManager() { +        HdmiControlService hdmiControlService = +                new HdmiControlService(null) {                      @Override -                    public int setHdmiSystemAudioSupported(boolean on) { -                        return 0; +                    void sendCecCommand( +                            HdmiCecMessage command, @Nullable SendMessageCallback callback) { +                        switch (command.getOpcode()) { +                            case Constants.MESSAGE_REQUEST_ACTIVE_SOURCE: +                                mMsgRequestActiveSourceCount++; +                                if (mTryCountBeforeSucceed >= mMsgRequestActiveSourceCount +                                        && callback != null) { +                                    callback.onSendCompleted(SendMessageResult.NACK); +                                    break; +                                } +                                if (mShouldDispatchActiveSource) { +                                    mHdmiCecLocalDeviceAudioSystem.dispatchMessage( +                                            HdmiCecMessageBuilder.buildActiveSource( +                                                    Constants.ADDR_TV, 1002)); +                                } +                                break; +                            case Constants.MESSAGE_SET_SYSTEM_AUDIO_MODE: +                                mMsgSetSystemAudioModeCount++; +                                if (mTryCountBeforeSucceed >= mMsgSetSystemAudioModeCount +                                        && callback != null) { +                                    callback.onSendCompleted(SendMessageResult.NACK); +                                } +                                break; +                            default: +                                throw new IllegalArgumentException("Unexpected message"); +                        }                      }                      @Override -                    public int getStreamVolume(int streamType) { -                        return 0; +                    AudioManager getAudioManager() { +                        return new AudioManager() { + +                            @Override +                            public int setHdmiSystemAudioSupported(boolean on) { +                                return 0; +                            } + +                            @Override +                            public int getStreamVolume(int streamType) { +                                return 0; +                            } + +                            @Override +                            public boolean isStreamMute(int streamType) { +                                return false; +                            } + +                            @Override +                            public int getStreamMaxVolume(int streamType) { +                                return 100; +                            } + +                            @Override +                            public void adjustStreamVolume( +                                    int streamType, int direction, int flags) {} +                        };                      }                      @Override -                    public boolean isStreamMute(int streamType) { +                    boolean isPowerStandby() {                          return false;                      }                      @Override -                    public int getStreamMaxVolume(int streamType) { -                        return 100; +                    boolean isAddressAllocated() { +                        return true;                      }                      @Override -                    public void adjustStreamVolume(int streamType, int direction, int flags) { +                    void wakeUp() {} +                    @Override +                    int getPhysicalAddress() { +                        return 0;                      }                  }; -            } - -            @Override -            boolean isPowerStandby() { -                return false; -            } - -            @Override -            boolean isAddressAllocated() { -                return true; -            } - -            @Override -            void wakeUp() { - -            } - -            @Override -            int getPhysicalAddress() { -                return 0; -            } -        };          mHdmiCecLocalDeviceAudioSystem =                  new HdmiCecLocalDeviceAudioSystem(hdmiControlService) {                      @Override @@ -210,7 +205,6 @@ public class SystemAudioInitiationActionFromAvrTest {          assertTrue(mHdmiCecLocalDeviceAudioSystem.isSystemAudioActivated());          assertThat(mHdmiCecLocalDeviceAudioSystem.mActiveSource.physicalAddress).isEqualTo(1002); -      }      @Test  |