196 lines
6.6 KiB
Text
196 lines
6.6 KiB
Text
|
/*
|
||
|
* Copyright (C) 2020 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@7.0;
|
||
|
|
||
|
import android.hardware.audio.common@7.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);
|
||
|
};
|