Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit be251c8e authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Add PlayerApplicationSettingsTest"

parents ca1ceab9 e7532bf5
Loading
Loading
Loading
Loading
+21 −10
Original line number Diff line number Diff line
@@ -20,6 +20,8 @@ import android.support.v4.media.session.PlaybackStateCompat;
import android.util.Log;
import android.util.SparseArray;

import com.android.internal.annotations.VisibleForTesting;

import java.util.ArrayList;

/*
@@ -39,20 +41,28 @@ class PlayerApplicationSettings {
    private static final byte JNI_EQUALIZER_STATUS_OFF = 0x01;
    private static final byte JNI_EQUALIZER_STATUS_ON = 0x02;

    private static final byte JNI_REPEAT_STATUS_OFF = 0x01;
    private static final byte JNI_REPEAT_STATUS_SINGLE_TRACK_REPEAT = 0x02;
    private static final byte JNI_REPEAT_STATUS_ALL_TRACK_REPEAT = 0x03;
    private static final byte JNI_REPEAT_STATUS_GROUP_REPEAT = 0x04;

    private static final byte JNI_SHUFFLE_STATUS_OFF = 0x01;
    private static final byte JNI_SHUFFLE_STATUS_ALL_TRACK_SHUFFLE = 0x02;
    private static final byte JNI_SHUFFLE_STATUS_GROUP_SHUFFLE = 0x03;
    @VisibleForTesting
    static final byte JNI_REPEAT_STATUS_OFF = 0x01;
    @VisibleForTesting
    static final byte JNI_REPEAT_STATUS_SINGLE_TRACK_REPEAT = 0x02;
    @VisibleForTesting
    static final byte JNI_REPEAT_STATUS_ALL_TRACK_REPEAT = 0x03;
    @VisibleForTesting
    static final byte JNI_REPEAT_STATUS_GROUP_REPEAT = 0x04;

    @VisibleForTesting
    static final byte JNI_SHUFFLE_STATUS_OFF = 0x01;
    @VisibleForTesting
    static final byte JNI_SHUFFLE_STATUS_ALL_TRACK_SHUFFLE = 0x02;
    @VisibleForTesting
    static final byte JNI_SHUFFLE_STATUS_GROUP_SHUFFLE = 0x03;

    private static final byte JNI_SCAN_STATUS_OFF = 0x01;
    private static final byte JNI_SCAN_STATUS_ALL_TRACK_SCAN = 0x02;
    private static final byte JNI_SCAN_STATUS_GROUP_SCAN = 0x03;

    private static final byte JNI_STATUS_INVALID = -1;
    @VisibleForTesting
    static final byte JNI_STATUS_INVALID = -1;

    /*
     * Hash map of current settings.
@@ -123,7 +133,8 @@ class PlayerApplicationSettings {
    }

    // Convert a native Attribute Id/Value pair into the AVRCP equivalent value.
    private static int mapAttribIdValtoAvrcpPlayerSetting(byte attribId, byte attribVal) {
    @VisibleForTesting
    static int mapAttribIdValtoAvrcpPlayerSetting(byte attribId, byte attribVal) {
        if (attribId == REPEAT_STATUS) {
            switch (attribVal) {
                case JNI_REPEAT_STATUS_ALL_TRACK_REPEAT:
+144 −0
Original line number Diff line number Diff line
/*
 * Copyright 2022 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.android.bluetooth.avrcpcontroller;

import static com.google.common.truth.Truth.assertThat;

import android.support.v4.media.session.PlaybackStateCompat;

import androidx.test.filters.SmallTest;
import androidx.test.runner.AndroidJUnit4;

import org.junit.Test;
import org.junit.runner.RunWith;

@SmallTest
@RunWith(AndroidJUnit4.class)
public class PlayerApplicationSettingsTest {

    @Test
    public void makeSupportedSettings() {
        byte[] btAvrcpAttributeList = new byte[3];
        btAvrcpAttributeList[0] = PlayerApplicationSettings.REPEAT_STATUS;
        btAvrcpAttributeList[1] = 1;
        btAvrcpAttributeList[2] = PlayerApplicationSettings.JNI_REPEAT_STATUS_ALL_TRACK_REPEAT;

        PlayerApplicationSettings settings = PlayerApplicationSettings.makeSupportedSettings(
                btAvrcpAttributeList);

        assertThat(settings.supportsSetting(PlayerApplicationSettings.REPEAT_STATUS)).isTrue();
    }

    @Test
    public void makeSettings() {
        byte[] btAvrcpAttributeList = new byte[2];
        btAvrcpAttributeList[0] = PlayerApplicationSettings.REPEAT_STATUS;
        btAvrcpAttributeList[1] = PlayerApplicationSettings.JNI_REPEAT_STATUS_GROUP_REPEAT;

        PlayerApplicationSettings settings = PlayerApplicationSettings.makeSettings(
                btAvrcpAttributeList);

        assertThat(settings.getSetting(PlayerApplicationSettings.REPEAT_STATUS)).isEqualTo(
                PlaybackStateCompat.REPEAT_MODE_GROUP);
    }

    @Test
    public void setSupport() {
        byte[] btAvrcpAttributeList = new byte[2];
        btAvrcpAttributeList[0] = PlayerApplicationSettings.REPEAT_STATUS;
        btAvrcpAttributeList[1] = PlayerApplicationSettings.JNI_REPEAT_STATUS_GROUP_REPEAT;
        PlayerApplicationSettings settings = PlayerApplicationSettings.makeSettings(
                btAvrcpAttributeList);
        PlayerApplicationSettings settingsFromSetSupport = new PlayerApplicationSettings();

        settingsFromSetSupport.setSupport(settings);

        assertThat(settingsFromSetSupport.getSetting(
                PlayerApplicationSettings.REPEAT_STATUS)).isEqualTo(
                PlaybackStateCompat.REPEAT_MODE_GROUP);
    }

    @Test
    public void mapAttribIdValtoAvrcpPlayerSetting() {
        assertThat(PlayerApplicationSettings.mapAttribIdValtoAvrcpPlayerSetting(
                PlayerApplicationSettings.REPEAT_STATUS,
                PlayerApplicationSettings.JNI_REPEAT_STATUS_ALL_TRACK_REPEAT)).isEqualTo(
                PlaybackStateCompat.REPEAT_MODE_ALL);
        assertThat(PlayerApplicationSettings.mapAttribIdValtoAvrcpPlayerSetting(
                PlayerApplicationSettings.REPEAT_STATUS,
                PlayerApplicationSettings.JNI_REPEAT_STATUS_GROUP_REPEAT)).isEqualTo(
                PlaybackStateCompat.REPEAT_MODE_GROUP);
        assertThat(PlayerApplicationSettings.mapAttribIdValtoAvrcpPlayerSetting(
                PlayerApplicationSettings.REPEAT_STATUS,
                PlayerApplicationSettings.JNI_REPEAT_STATUS_OFF)).isEqualTo(
                PlaybackStateCompat.REPEAT_MODE_NONE);
        assertThat(PlayerApplicationSettings.mapAttribIdValtoAvrcpPlayerSetting(
                PlayerApplicationSettings.REPEAT_STATUS,
                PlayerApplicationSettings.JNI_REPEAT_STATUS_SINGLE_TRACK_REPEAT)).isEqualTo(
                PlaybackStateCompat.REPEAT_MODE_ONE);
        assertThat(PlayerApplicationSettings.mapAttribIdValtoAvrcpPlayerSetting(
                PlayerApplicationSettings.SHUFFLE_STATUS,
                PlayerApplicationSettings.JNI_SHUFFLE_STATUS_ALL_TRACK_SHUFFLE)).isEqualTo(
                PlaybackStateCompat.SHUFFLE_MODE_ALL);
        assertThat(PlayerApplicationSettings.mapAttribIdValtoAvrcpPlayerSetting(
                PlayerApplicationSettings.SHUFFLE_STATUS,
                PlayerApplicationSettings.JNI_SHUFFLE_STATUS_GROUP_SHUFFLE)).isEqualTo(
                PlaybackStateCompat.SHUFFLE_MODE_GROUP);
        assertThat(PlayerApplicationSettings.mapAttribIdValtoAvrcpPlayerSetting(
                PlayerApplicationSettings.SHUFFLE_STATUS,
                PlayerApplicationSettings.JNI_SHUFFLE_STATUS_OFF)).isEqualTo(
                PlaybackStateCompat.SHUFFLE_MODE_NONE);
        assertThat(PlayerApplicationSettings.mapAttribIdValtoAvrcpPlayerSetting(
                PlayerApplicationSettings.JNI_STATUS_INVALID,
                PlayerApplicationSettings.JNI_STATUS_INVALID)).isEqualTo(
                PlayerApplicationSettings.JNI_STATUS_INVALID);
    }

    @Test
    public void mapAvrcpPlayerSettingstoBTattribVal() {
        assertThat(PlayerApplicationSettings.mapAvrcpPlayerSettingstoBTattribVal(
                PlayerApplicationSettings.REPEAT_STATUS,
                PlaybackStateCompat.REPEAT_MODE_NONE)).isEqualTo(
                PlayerApplicationSettings.JNI_REPEAT_STATUS_OFF);
        assertThat(PlayerApplicationSettings.mapAvrcpPlayerSettingstoBTattribVal(
                PlayerApplicationSettings.REPEAT_STATUS,
                PlaybackStateCompat.REPEAT_MODE_ONE)).isEqualTo(
                PlayerApplicationSettings.JNI_REPEAT_STATUS_SINGLE_TRACK_REPEAT);
        assertThat(PlayerApplicationSettings.mapAvrcpPlayerSettingstoBTattribVal(
                PlayerApplicationSettings.REPEAT_STATUS,
                PlaybackStateCompat.REPEAT_MODE_ALL)).isEqualTo(
                PlayerApplicationSettings.JNI_REPEAT_STATUS_ALL_TRACK_REPEAT);
        assertThat(PlayerApplicationSettings.mapAvrcpPlayerSettingstoBTattribVal(
                PlayerApplicationSettings.REPEAT_STATUS,
                PlaybackStateCompat.REPEAT_MODE_GROUP)).isEqualTo(
                PlayerApplicationSettings.JNI_REPEAT_STATUS_GROUP_REPEAT);
        assertThat(PlayerApplicationSettings.mapAvrcpPlayerSettingstoBTattribVal(
                PlayerApplicationSettings.SHUFFLE_STATUS,
                PlaybackStateCompat.SHUFFLE_MODE_NONE)).isEqualTo(
                PlayerApplicationSettings.JNI_SHUFFLE_STATUS_OFF);
        assertThat(PlayerApplicationSettings.mapAvrcpPlayerSettingstoBTattribVal(
                PlayerApplicationSettings.SHUFFLE_STATUS,
                PlaybackStateCompat.SHUFFLE_MODE_ALL)).isEqualTo(
                PlayerApplicationSettings.JNI_SHUFFLE_STATUS_ALL_TRACK_SHUFFLE);
        assertThat(PlayerApplicationSettings.mapAvrcpPlayerSettingstoBTattribVal(
                PlayerApplicationSettings.SHUFFLE_STATUS,
                PlaybackStateCompat.SHUFFLE_MODE_GROUP)).isEqualTo(
                PlayerApplicationSettings.JNI_SHUFFLE_STATUS_GROUP_SHUFFLE);
        assertThat(PlayerApplicationSettings.mapAvrcpPlayerSettingstoBTattribVal(-1, -1)).isEqualTo(
                PlayerApplicationSettings.JNI_STATUS_INVALID);
    }
}
 No newline at end of file