| /* |
| * Copyright (C) 2023 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.settingslib.bluetooth; |
| |
| import android.media.AudioAttributes; |
| import android.media.AudioDeviceAttributes; |
| import android.media.AudioDeviceInfo; |
| |
| import androidx.annotation.IntDef; |
| |
| import java.lang.annotation.Retention; |
| import java.lang.annotation.RetentionPolicy; |
| |
| /** |
| * Constant values used to configure hearing aid audio routing. |
| * |
| * {@link HearingAidAudioRoutingHelper} |
| */ |
| public final class HearingAidAudioRoutingConstants { |
| public static final int[] CALL_ROUTING_ATTRIBUTES = new int[] { |
| // Stands for STRATEGY_PHONE |
| AudioAttributes.USAGE_VOICE_COMMUNICATION, |
| }; |
| |
| public static final int[] MEDIA_ROUTING_ATTRIBUTES = new int[] { |
| // Stands for STRATEGY_MEDIA, including USAGE_GAME, USAGE_ASSISTANT, |
| // USAGE_ASSISTANCE_NAVIGATION_GUIDANCE, USAGE_ASSISTANCE_SONIFICATION |
| AudioAttributes.USAGE_MEDIA |
| }; |
| |
| public static final int[] RINGTONE_ROUTING_ATTRIBUTE = new int[] { |
| // Stands for STRATEGY_SONIFICATION, including USAGE_ALARM |
| AudioAttributes.USAGE_NOTIFICATION_RINGTONE |
| }; |
| |
| public static final int[] SYSTEM_SOUNDS_ROUTING_ATTRIBUTES = new int[] { |
| // Stands for STRATEGY_SONIFICATION_RESPECTFUL, including USAGE_NOTIFICATION_EVENT |
| AudioAttributes.USAGE_NOTIFICATION, |
| // Stands for STRATEGY_ACCESSIBILITY |
| AudioAttributes.USAGE_ASSISTANCE_ACCESSIBILITY, |
| // Stands for STRATEGY_DTMF |
| AudioAttributes.USAGE_VOICE_COMMUNICATION_SIGNALLING, |
| }; |
| |
| @Retention(RetentionPolicy.SOURCE) |
| @IntDef({ |
| RoutingValue.AUTO, |
| RoutingValue.HEARING_DEVICE, |
| RoutingValue.DEVICE_SPEAKER, |
| }) |
| |
| public @interface RoutingValue { |
| int AUTO = 0; |
| int HEARING_DEVICE = 1; |
| int DEVICE_SPEAKER = 2; |
| } |
| |
| public static final AudioDeviceAttributes DEVICE_SPEAKER_OUT = new AudioDeviceAttributes( |
| AudioDeviceAttributes.ROLE_OUTPUT, AudioDeviceInfo.TYPE_BUILTIN_SPEAKER, ""); |
| } |