ronnie
2022-10-14 1504bb53e29d3d46222c0b3ea994fc494b48e153
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
/*
 * Copyright (C) 2018 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 android.hardware.audio@5.0;
 
import android.hardware.audio.common@5.0;
import IDevice;
 
interface IPrimaryDevice extends IDevice {
    /**
     * Sets the audio volume of a voice call.
     *
     * @param volume 1.0f means unity, 0.0f is zero.
     * @return retval operation completion status.
     */
    setVoiceVolume(float volume) generates (Result retval);
 
    /**
     * This method is used to notify the HAL about audio mode changes.
     *
     * @param mode new mode.
     * @return retval operation completion status.
     */
    setMode(AudioMode mode) generates (Result retval);
 
    /**
     * Sets the name of the current BT SCO headset. Calling this method
     * is equivalent to setting legacy "bt_headset_name" parameter.
     * The BT SCO headset name must only be used for debugging purposes.
     * Optional method
     *
     * @param name the name of the current BT SCO headset (can be empty).
     * @return retval operation completion status.
     */
    setBtScoHeadsetDebugName(string name) generates (Result retval);
 
    /**
     * Gets whether BT SCO Noise Reduction and Echo Cancellation are enabled.
     * Calling this method is equivalent to getting AUDIO_PARAMETER_KEY_BT_NREC
     * on the legacy HAL.
     *
     * @return retval operation completion status.
     * @return enabled whether BT SCO NR + EC are enabled.
     */
    getBtScoNrecEnabled() generates (Result retval, bool enabled);
 
    /**
     * Sets whether BT SCO Noise Reduction and Echo Cancellation are enabled.
     * Calling this method is equivalent to setting AUDIO_PARAMETER_KEY_BT_NREC
     * on the legacy HAL.
     * Optional method
     *
     * @param enabled whether BT SCO NR + EC are enabled.
     * @return retval operation completion status.
     */
    setBtScoNrecEnabled(bool enabled) generates (Result retval);
 
    /**
     * Gets whether BT SCO Wideband mode is enabled. Calling this method is
     * equivalent to getting AUDIO_PARAMETER_KEY_BT_SCO_WB on the legacy HAL.
     *
     * @return retval operation completion status.
     * @return enabled whether BT Wideband is enabled.
     */
    getBtScoWidebandEnabled() generates (Result retval, bool enabled);
 
    /**
     * Sets whether BT SCO Wideband mode is enabled. Calling this method is
     * equivalent to setting AUDIO_PARAMETER_KEY_BT_SCO_WB on the legacy HAL.
     * Optional method
     *
     * @param enabled whether BT Wideband is enabled.
     * @return retval operation completion status.
     */
    setBtScoWidebandEnabled(bool enabled) generates (Result retval);
 
    /**
     * Gets whether BT HFP (Hands-Free Profile) is enabled. Calling this method
     * is equivalent to getting "hfp_enable" parameter value on the legacy HAL.
     *
     * @return retval operation completion status.
     * @return enabled whether BT HFP is enabled.
     */
    getBtHfpEnabled() generates (Result retval, bool enabled);
 
    /**
     * Sets whether BT HFP (Hands-Free Profile) is enabled. Calling this method
     * is equivalent to setting "hfp_enable" parameter on the legacy HAL.
     * Optional method
     *
     * @param enabled whether BT HFP is enabled.
     * @return retval operation completion status.
     */
    setBtHfpEnabled(bool enabled) generates (Result retval);
 
    /**
     * Sets the sampling rate of BT HFP (Hands-Free Profile). Calling this
     * method is equivalent to setting "hfp_set_sampling_rate" parameter
     * on the legacy HAL.
     * Optional method
     *
     * @param sampleRateHz sample rate in Hz.
     * @return retval operation completion status.
     */
    setBtHfpSampleRate(uint32_t sampleRateHz) generates (Result retval);
 
    /**
     * Sets the current output volume Hz for BT HFP (Hands-Free Profile).
     * Calling this method is equivalent to setting "hfp_volume" parameter value
     * on the legacy HAL (except that legacy HAL implementations expect
     * an integer value in the range from 0 to 15.)
     * Optional method
     *
     * @param volume 1.0f means unity, 0.0f is zero.
     * @return retval operation completion status.
     */
    setBtHfpVolume(float volume) generates (Result retval);
 
    enum TtyMode : int32_t {
        OFF,
        VCO,
        HCO,
        FULL
    };
 
    /**
     * Gets current TTY mode selection. Calling this method is equivalent to
     * getting AUDIO_PARAMETER_KEY_TTY_MODE on the legacy HAL.
     *
     * @return retval operation completion status.
     * @return mode TTY mode.
     */
    getTtyMode() generates (Result retval, TtyMode mode);
 
    /**
     * Sets current TTY mode. Calling this method is equivalent to setting
     * AUDIO_PARAMETER_KEY_TTY_MODE on the legacy HAL.
     *
     * @param mode TTY mode.
     * @return retval operation completion status.
     */
    setTtyMode(TtyMode mode) generates (Result retval);
 
    /**
     * Gets whether Hearing Aid Compatibility - Telecoil (HAC-T) mode is
     * enabled. Calling this method is equivalent to getting
     * AUDIO_PARAMETER_KEY_HAC on the legacy HAL.
     *
     * @return retval operation completion status.
     * @return enabled whether HAC mode is enabled.
     */
    getHacEnabled() generates (Result retval, bool enabled);
 
    /**
     * Sets whether Hearing Aid Compatibility - Telecoil (HAC-T) mode is
     * enabled. Calling this method is equivalent to setting
     * AUDIO_PARAMETER_KEY_HAC on the legacy HAL.
     * Optional method
     *
     * @param enabled whether HAC mode is enabled.
     * @return retval operation completion status.
     */
    setHacEnabled(bool enabled) generates (Result retval);
 
    enum Rotation : int32_t {
        DEG_0,
        DEG_90,
        DEG_180,
        DEG_270
    };
 
    /**
     * Updates HAL on the current rotation of the device relative to natural
     * orientation. Calling this method is equivalent to setting legacy
     * parameter "rotation".
     *
     * @param rotation rotation in degrees relative to natural device
     *     orientation.
     * @return retval operation completion status.
     */
    updateRotation(Rotation rotation) generates (Result retval);
};