xref: /aosp_15_r20/hardware/interfaces/audio/2.0/IPrimaryDevice.hal (revision 4d7e907c777eeecc4c5bd7cf640a754fac206ff7)
1*4d7e907cSAndroid Build Coastguard Worker/*
2*4d7e907cSAndroid Build Coastguard Worker * Copyright (C) 2016 The Android Open Source Project
3*4d7e907cSAndroid Build Coastguard Worker *
4*4d7e907cSAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License");
5*4d7e907cSAndroid Build Coastguard Worker * you may not use this file except in compliance with the License.
6*4d7e907cSAndroid Build Coastguard Worker * You may obtain a copy of the License at
7*4d7e907cSAndroid Build Coastguard Worker *
8*4d7e907cSAndroid Build Coastguard Worker *      http://www.apache.org/licenses/LICENSE-2.0
9*4d7e907cSAndroid Build Coastguard Worker *
10*4d7e907cSAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software
11*4d7e907cSAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS,
12*4d7e907cSAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*4d7e907cSAndroid Build Coastguard Worker * See the License for the specific language governing permissions and
14*4d7e907cSAndroid Build Coastguard Worker * limitations under the License.
15*4d7e907cSAndroid Build Coastguard Worker */
16*4d7e907cSAndroid Build Coastguard Worker
17*4d7e907cSAndroid Build Coastguard Workerpackage [email protected];
18*4d7e907cSAndroid Build Coastguard Worker
19*4d7e907cSAndroid Build Coastguard Workerimport [email protected];
20*4d7e907cSAndroid Build Coastguard Workerimport IDevice;
21*4d7e907cSAndroid Build Coastguard Worker
22*4d7e907cSAndroid Build Coastguard Workerinterface IPrimaryDevice extends IDevice {
23*4d7e907cSAndroid Build Coastguard Worker    typedef [email protected]::Result Result;
24*4d7e907cSAndroid Build Coastguard Worker
25*4d7e907cSAndroid Build Coastguard Worker    /**
26*4d7e907cSAndroid Build Coastguard Worker     * Sets the audio volume of a voice call.
27*4d7e907cSAndroid Build Coastguard Worker     *
28*4d7e907cSAndroid Build Coastguard Worker     * @param volume 1.0f means unity, 0.0f is zero.
29*4d7e907cSAndroid Build Coastguard Worker     * @return retval operation completion status.
30*4d7e907cSAndroid Build Coastguard Worker     */
31*4d7e907cSAndroid Build Coastguard Worker    setVoiceVolume(float volume) generates (Result retval);
32*4d7e907cSAndroid Build Coastguard Worker
33*4d7e907cSAndroid Build Coastguard Worker    /**
34*4d7e907cSAndroid Build Coastguard Worker     * This method is used to notify the HAL about audio mode changes.
35*4d7e907cSAndroid Build Coastguard Worker     *
36*4d7e907cSAndroid Build Coastguard Worker     * @param mode new mode.
37*4d7e907cSAndroid Build Coastguard Worker     * @return retval operation completion status.
38*4d7e907cSAndroid Build Coastguard Worker     */
39*4d7e907cSAndroid Build Coastguard Worker    setMode(AudioMode mode) generates (Result retval);
40*4d7e907cSAndroid Build Coastguard Worker
41*4d7e907cSAndroid Build Coastguard Worker    /**
42*4d7e907cSAndroid Build Coastguard Worker     * Gets whether BT SCO Noise Reduction and Echo Cancellation are enabled.
43*4d7e907cSAndroid Build Coastguard Worker     * Calling this method is equivalent to getting AUDIO_PARAMETER_KEY_BT_NREC
44*4d7e907cSAndroid Build Coastguard Worker     * on the legacy HAL.
45*4d7e907cSAndroid Build Coastguard Worker     *
46*4d7e907cSAndroid Build Coastguard Worker     * @return retval operation completion status.
47*4d7e907cSAndroid Build Coastguard Worker     * @return enabled whether BT SCO NR + EC are enabled.
48*4d7e907cSAndroid Build Coastguard Worker     */
49*4d7e907cSAndroid Build Coastguard Worker    getBtScoNrecEnabled() generates (Result retval, bool enabled);
50*4d7e907cSAndroid Build Coastguard Worker
51*4d7e907cSAndroid Build Coastguard Worker    /**
52*4d7e907cSAndroid Build Coastguard Worker     * Sets whether BT SCO Noise Reduction and Echo Cancellation are enabled.
53*4d7e907cSAndroid Build Coastguard Worker     * Calling this method is equivalent to setting AUDIO_PARAMETER_KEY_BT_NREC
54*4d7e907cSAndroid Build Coastguard Worker     * on the legacy HAL.
55*4d7e907cSAndroid Build Coastguard Worker     *
56*4d7e907cSAndroid Build Coastguard Worker     * @param enabled whether BT SCO NR + EC are enabled.
57*4d7e907cSAndroid Build Coastguard Worker     * @return retval operation completion status.
58*4d7e907cSAndroid Build Coastguard Worker     */
59*4d7e907cSAndroid Build Coastguard Worker    setBtScoNrecEnabled(bool enabled) generates (Result retval);
60*4d7e907cSAndroid Build Coastguard Worker
61*4d7e907cSAndroid Build Coastguard Worker    /**
62*4d7e907cSAndroid Build Coastguard Worker     * Gets whether BT SCO Wideband mode is enabled. Calling this method is
63*4d7e907cSAndroid Build Coastguard Worker     * equivalent to getting AUDIO_PARAMETER_KEY_BT_SCO_WB on the legacy HAL.
64*4d7e907cSAndroid Build Coastguard Worker     *
65*4d7e907cSAndroid Build Coastguard Worker     * @return retval operation completion status.
66*4d7e907cSAndroid Build Coastguard Worker     * @return enabled whether BT Wideband is enabled.
67*4d7e907cSAndroid Build Coastguard Worker     */
68*4d7e907cSAndroid Build Coastguard Worker    getBtScoWidebandEnabled() generates (Result retval, bool enabled);
69*4d7e907cSAndroid Build Coastguard Worker
70*4d7e907cSAndroid Build Coastguard Worker    /**
71*4d7e907cSAndroid Build Coastguard Worker     * Sets whether BT SCO Wideband mode is enabled. Calling this method is
72*4d7e907cSAndroid Build Coastguard Worker     * equivalent to setting AUDIO_PARAMETER_KEY_BT_SCO_WB on the legacy HAL.
73*4d7e907cSAndroid Build Coastguard Worker     *
74*4d7e907cSAndroid Build Coastguard Worker     * @param enabled whether BT Wideband is enabled.
75*4d7e907cSAndroid Build Coastguard Worker     * @return retval operation completion status.
76*4d7e907cSAndroid Build Coastguard Worker     */
77*4d7e907cSAndroid Build Coastguard Worker    setBtScoWidebandEnabled(bool enabled) generates (Result retval);
78*4d7e907cSAndroid Build Coastguard Worker
79*4d7e907cSAndroid Build Coastguard Worker    enum TtyMode : int32_t {
80*4d7e907cSAndroid Build Coastguard Worker        OFF,
81*4d7e907cSAndroid Build Coastguard Worker        VCO,
82*4d7e907cSAndroid Build Coastguard Worker        HCO,
83*4d7e907cSAndroid Build Coastguard Worker        FULL
84*4d7e907cSAndroid Build Coastguard Worker    };
85*4d7e907cSAndroid Build Coastguard Worker
86*4d7e907cSAndroid Build Coastguard Worker    /**
87*4d7e907cSAndroid Build Coastguard Worker     * Gets current TTY mode selection. Calling this method is equivalent to
88*4d7e907cSAndroid Build Coastguard Worker     * getting AUDIO_PARAMETER_KEY_TTY_MODE on the legacy HAL.
89*4d7e907cSAndroid Build Coastguard Worker     *
90*4d7e907cSAndroid Build Coastguard Worker     * @return retval operation completion status.
91*4d7e907cSAndroid Build Coastguard Worker     * @return mode TTY mode.
92*4d7e907cSAndroid Build Coastguard Worker     */
93*4d7e907cSAndroid Build Coastguard Worker    getTtyMode() generates (Result retval, TtyMode mode);
94*4d7e907cSAndroid Build Coastguard Worker
95*4d7e907cSAndroid Build Coastguard Worker    /**
96*4d7e907cSAndroid Build Coastguard Worker     * Sets current TTY mode. Calling this method is equivalent to setting
97*4d7e907cSAndroid Build Coastguard Worker     * AUDIO_PARAMETER_KEY_TTY_MODE on the legacy HAL.
98*4d7e907cSAndroid Build Coastguard Worker     *
99*4d7e907cSAndroid Build Coastguard Worker     * @param mode TTY mode.
100*4d7e907cSAndroid Build Coastguard Worker     * @return retval operation completion status.
101*4d7e907cSAndroid Build Coastguard Worker     */
102*4d7e907cSAndroid Build Coastguard Worker    setTtyMode(TtyMode mode) generates (Result retval);
103*4d7e907cSAndroid Build Coastguard Worker
104*4d7e907cSAndroid Build Coastguard Worker    /**
105*4d7e907cSAndroid Build Coastguard Worker     * Gets whether Hearing Aid Compatibility - Telecoil (HAC-T) mode is
106*4d7e907cSAndroid Build Coastguard Worker     * enabled. Calling this method is equivalent to getting
107*4d7e907cSAndroid Build Coastguard Worker     * AUDIO_PARAMETER_KEY_HAC on the legacy HAL.
108*4d7e907cSAndroid Build Coastguard Worker     *
109*4d7e907cSAndroid Build Coastguard Worker     * @return retval operation completion status.
110*4d7e907cSAndroid Build Coastguard Worker     * @return enabled whether HAC mode is enabled.
111*4d7e907cSAndroid Build Coastguard Worker     */
112*4d7e907cSAndroid Build Coastguard Worker    getHacEnabled() generates (Result retval, bool enabled);
113*4d7e907cSAndroid Build Coastguard Worker
114*4d7e907cSAndroid Build Coastguard Worker    /**
115*4d7e907cSAndroid Build Coastguard Worker     * Sets whether Hearing Aid Compatibility - Telecoil (HAC-T) mode is
116*4d7e907cSAndroid Build Coastguard Worker     * enabled. Calling this method is equivalent to setting
117*4d7e907cSAndroid Build Coastguard Worker     * AUDIO_PARAMETER_KEY_HAC on the legacy HAL.
118*4d7e907cSAndroid Build Coastguard Worker     *
119*4d7e907cSAndroid Build Coastguard Worker     * @param enabled whether HAC mode is enabled.
120*4d7e907cSAndroid Build Coastguard Worker     * @return retval operation completion status.
121*4d7e907cSAndroid Build Coastguard Worker     */
122*4d7e907cSAndroid Build Coastguard Worker    setHacEnabled(bool enabled) generates (Result retval);
123*4d7e907cSAndroid Build Coastguard Worker};
124