Merge "Remove IAudioControlCallback for P"

This commit is contained in:
Scott Randolph 2018-02-06 09:34:40 +00:00 committed by Android (Google) Code Review
commit d17343bdbd
9 changed files with 0 additions and 165 deletions

View file

@ -9,13 +9,11 @@ hidl_interface {
srcs: [
"types.hal",
"IAudioControl.hal",
"IAudioControlCallback.hal",
],
interfaces: [
"android.hidl.base@1.0",
],
types: [
"AudioResult",
"ContextNumber",
],
gen_java: true,

View file

@ -16,23 +16,12 @@
package android.hardware.automotive.audiocontrol@1.0;
import IAudioControlCallback;
/**
* Interacts with the car's audio subsystem to manage audio sources and volumes
*/
interface IAudioControl {
/**
* Registers the required callback object so that we can be notified when the state
* of the car's audio system changes. This call must be made when the interface is
* initialized.
*/
setCallback(IAudioControlCallback notificationObject)
generates (AudioResult result);
/**
* Called at startup once per context to get the mapping from ContextNumber to
* busAddress. This lets the car tell the framework to which physical output stream

View file

@ -1,57 +0,0 @@
/*
* Copyright (C) 2017 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.automotive.audiocontrol@1.0;
/**
* Implemented on client (framework) side to receive asynchronous updates from the car.
*/
interface IAudioControlCallback {
/**
* When the HAL makes this call, any apps currently playing must be asked to
* temporarily suspend playback (via an AudioManager::AUDIOFOCUS_LOSS_TRANSIENT event).
*
* This is only a suggestion. Apps may be slow to react or even ignore this message
* entirely. Enforcement, if necessary, must be done at the AudioHAL level as the
* samples are delivered. In most instances, this is the way a car should ask for
* quiet if it needs it for some important situation, such as warning alarms or chimes.
*/
oneway suggestPausePlayers();
/**
* When the HAL makes this case, any apps currently playing must be asked to stop
* playing (via an AudioManager::AUDIOFOCUS_LOSS event). Once stopped, the apps must
* not resume their playback.
*
* It should be noted that not all apps or sound sources honor this request, but this
* at least gives an app the chance to do the right thing.
* Because it premanently stops media, this call is expected to be used only rarely.
* Perhaps in the event of an E-call, where resuming music might be undesirable assuming
* the driver is now dealing with whatever the emergency is?
*/
oneway suggestStopPlayers();
/**
* Receives calls from the HAL when Android should resume normal operations. If the previous
* action was a requestPausePlayers, then things that were paused must be told they may
* resume.
*/
oneway resumePlayers();
};

View file

@ -19,7 +19,6 @@ cc_binary {
relative_install_path: "hw",
srcs: [
"AudioControl.cpp",
"AudioControlCallback.cpp",
"service.cpp"
],
init_rc: ["android.hardware.automotive.audiocontrol@1.0-service.rc"],

View file

@ -36,15 +36,6 @@ AudioControl::AudioControl() {
};
// Methods from ::android::hardware::automotive::audiocontrol::V1_0::IAudioControl follow.
Return<AudioResult> AudioControl::setCallback(const sp<IAudioControlCallback>& notificationObject) {
// Hang onto the provided callback object for future use
callback = notificationObject;
return AudioResult::OK;
}
Return<int32_t> AudioControl::getBusForContext(uint32_t contextNumber) {
if (contextNumber > sContextNumberMax) {
ALOGE("Unexpected context number %d (max expected is %d)", contextNumber, sContextCount);

View file

@ -23,16 +23,12 @@ using ::android::sp;
struct AudioControl : public IAudioControl {
public:
// Methods from ::android::hardware::automotive::audiocontrol::V1_0::IAudioControl follow.
Return<AudioResult> setCallback(const sp<IAudioControlCallback>& notificationObject) override;
Return<int32_t> getBusForContext(uint32_t contextNumber) override;
Return<void> setBalanceTowardRight(float value) override;
Return<void> setFadeTowardFront(float value) override;
// Implementation details
AudioControl();
private:
sp<IAudioControlCallback> callback;
};
} // namespace implementation

View file

@ -1,31 +0,0 @@
#include "AudioControlCallback.h"
namespace android {
namespace hardware {
namespace automotive {
namespace audiocontrol {
namespace V1_0 {
namespace implementation {
// Methods from ::android::hardware::automotive::audiocontrol::V1_0::IAudioControlCallback follow.
Return<void> AudioControlCallback::suggestPausePlayers() {
// TODO implement in framework (this is called by the HAL implementation when needed)
return Void();
}
Return<void> AudioControlCallback::suggestStopPlayers() {
// TODO implement in framework (this is called by the HAL implementation when needed)
return Void();
}
Return<void> AudioControlCallback::resumePlayers() {
// TODO implement in framework (this is called by the HAL implementation when needed)
return Void();
}
} // namespace implementation
} // namespace V1_0
} // namespace audiocontrol
} // namespace automotive
} // namespace hardware
} // namespace android

View file

@ -1,41 +0,0 @@
#ifndef ANDROID_HARDWARE_AUTOMOTIVE_AUDIOCONTROL_V1_0_AUDIOCONTROLCALLBACK_H
#define ANDROID_HARDWARE_AUTOMOTIVE_AUDIOCONTROL_V1_0_AUDIOCONTROLCALLBACK_H
#include <android/hardware/automotive/audiocontrol/1.0/IAudioControlCallback.h>
#include <hidl/MQDescriptor.h>
#include <hidl/Status.h>
namespace android {
namespace hardware {
namespace automotive {
namespace audiocontrol {
namespace V1_0 {
namespace implementation {
using ::android::hardware::hidl_array;
using ::android::hardware::hidl_memory;
using ::android::hardware::hidl_string;
using ::android::hardware::hidl_vec;
using ::android::hardware::Return;
using ::android::hardware::Void;
using ::android::sp;
// TODO: Move this into packages/services/Car...
struct AudioControlCallback : public IAudioControlCallback {
// Methods from ::android::hardware::automotive::audiocontrol::V1_0::IAudioControlCallback follow.
Return<void> suggestPausePlayers() override;
Return<void> suggestStopPlayers() override;
Return<void> resumePlayers() override;
// Methods from ::android::hidl::base::V1_0::IBase follow.
};
} // namespace implementation
} // namespace V1_0
} // namespace audiocontrol
} // namespace automotive
} // namespace hardware
} // namespace android
#endif // ANDROID_HARDWARE_AUTOMOTIVE_AUDIOCONTROL_V1_0_AUDIOCONTROLCALLBACK_H

View file

@ -33,12 +33,3 @@ enum ContextNumber : uint32_t {
NOTIFICATION, /* Notifications */
SYSTEM_SOUND, /* User interaction sounds (button clicks, etc) */
};
/** Error codes used in AudioControl HAL interface. */
enum AudioResult : uint32_t {
OK = 0,
NOT_AVAILABLE,
INVALID_ARGUMENT,
UNDERLYING_SERVICE_ERROR,
};