1 /*
2  * Copyright (C) 2020 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package com.android.car.audio.hal;
18 
19 import android.hardware.audio.common.PlaybackTrackMetadata;
20 
21 /**
22  * Framework focus listener interface to abstract away the specific HAL version
23  */
24 public interface HalFocusListener {
25     /**
26      * Requests audio focus for the specified {@code metadata}, {@code zoneId},
27      * and {@code focusGain}.
28      *
29      * <p>The result will be communicated separately through
30      * {@link AudioControlWrapper#onAudioFocusChange}.
31      */
requestAudioFocus(PlaybackTrackMetadata metadata, int zoneId, int focusGain)32     void requestAudioFocus(PlaybackTrackMetadata metadata, int zoneId, int focusGain);
33 
34     /**
35      * Abandons audio focus for the specified {@code metadata} and {@code zoneId}.
36      *
37      * <p>The result will be communicated separately through
38      * {@link AudioControlWrapper#onAudioFocusChange}.
39      */
abandonAudioFocus(PlaybackTrackMetadata metadata, int zoneId)40     void abandonAudioFocus(PlaybackTrackMetadata metadata, int zoneId);
41 }
42