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

Commit 881baf35 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Add PlayerApplicationSettingsTest" into tm-qpr-dev

parents 36930951 d03429cf
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