Merge "Deprecate nfc@1.0 for P." into pi-dev
diff --git a/audio/core/2.0/default/Device.cpp b/audio/core/2.0/default/Device.cpp
index 221ea5c..b67203d 100644
--- a/audio/core/2.0/default/Device.cpp
+++ b/audio/core/2.0/default/Device.cpp
@@ -21,7 +21,7 @@
#include "core/2.0/default/Conversions.h"
#include "core/2.0/default/StreamIn.h"
#include "core/2.0/default/StreamOut.h"
-#include "core/all-versions/default/Util.h"
+#include "core/2.0/default/Util.h"
#define AUDIO_HAL_VERSION V2_0
#include <core/all-versions/default/Device.impl.h>
diff --git a/audio/core/2.0/default/ParametersUtil.cpp b/audio/core/2.0/default/ParametersUtil.cpp
index 33a3ad9..963e291 100644
--- a/audio/core/2.0/default/ParametersUtil.cpp
+++ b/audio/core/2.0/default/ParametersUtil.cpp
@@ -15,6 +15,7 @@
*/
#include "core/2.0/default/ParametersUtil.h"
+#include "core/2.0/default/Util.h"
#define AUDIO_HAL_VERSION V2_0
#include <core/all-versions/default/ParametersUtil.impl.h>
diff --git a/audio/core/2.0/default/PrimaryDevice.cpp b/audio/core/2.0/default/PrimaryDevice.cpp
index ce57403..decaa14 100644
--- a/audio/core/2.0/default/PrimaryDevice.cpp
+++ b/audio/core/2.0/default/PrimaryDevice.cpp
@@ -17,7 +17,7 @@
#define LOG_TAG "PrimaryDeviceHAL"
#include "core/2.0/default/PrimaryDevice.h"
-#include "core/all-versions/default/Util.h"
+#include "core/2.0/default/Util.h"
#define AUDIO_HAL_VERSION V2_0
#include <core/all-versions/default/PrimaryDevice.impl.h>
diff --git a/audio/core/2.0/default/Stream.cpp b/audio/core/2.0/default/Stream.cpp
index 69ee659..0863a7c 100644
--- a/audio/core/2.0/default/Stream.cpp
+++ b/audio/core/2.0/default/Stream.cpp
@@ -19,6 +19,7 @@
#include "core/2.0/default/Stream.h"
#include "common/all-versions/default/EffectMap.h"
#include "core/2.0/default/Conversions.h"
+#include "core/2.0/default/Util.h"
#define AUDIO_HAL_VERSION V2_0
#include <core/all-versions/default/Stream.impl.h>
diff --git a/audio/core/2.0/default/StreamIn.cpp b/audio/core/2.0/default/StreamIn.cpp
index 6b8776e..2021df1 100644
--- a/audio/core/2.0/default/StreamIn.cpp
+++ b/audio/core/2.0/default/StreamIn.cpp
@@ -17,7 +17,7 @@
#define LOG_TAG "StreamInHAL"
#include "core/2.0/default/StreamIn.h"
-#include "core/all-versions/default/Util.h"
+#include "core/2.0/default/Util.h"
#define AUDIO_HAL_VERSION V2_0
#include <core/all-versions/default/StreamIn.impl.h>
diff --git a/audio/core/2.0/default/StreamOut.cpp b/audio/core/2.0/default/StreamOut.cpp
index 7f1461a..940a251 100644
--- a/audio/core/2.0/default/StreamOut.cpp
+++ b/audio/core/2.0/default/StreamOut.cpp
@@ -17,7 +17,7 @@
#define LOG_TAG "StreamOutHAL"
#include "core/2.0/default/StreamOut.h"
-#include "core/all-versions/default/Util.h"
+#include "core/2.0/default/Util.h"
#define AUDIO_HAL_VERSION V2_0
#include <core/all-versions/default/StreamOut.impl.h>
diff --git a/audio/core/2.0/default/include/core/2.0/default/Util.h b/audio/core/2.0/default/include/core/2.0/default/Util.h
new file mode 100644
index 0000000..1f0e284
--- /dev/null
+++ b/audio/core/2.0/default/include/core/2.0/default/Util.h
@@ -0,0 +1,26 @@
+/*
+ * 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.
+ */
+
+#ifndef ANDROID_HARDWARE_AUDIO_V2_0_UTIL_H
+#define ANDROID_HARDWARE_AUDIO_V2_0_UTIL_H
+
+#include <android/hardware/audio/2.0/types.h>
+
+#define AUDIO_HAL_VERSION V2_0
+#include <core/all-versions/default/Util.h>
+#undef AUDIO_HAL_VERSION
+
+#endif // ANDROID_HARDWARE_AUDIO_V2_0_UTIL_H
diff --git a/audio/core/4.0/default/Device.cpp b/audio/core/4.0/default/Device.cpp
index 26f9ab4..b33434e 100644
--- a/audio/core/4.0/default/Device.cpp
+++ b/audio/core/4.0/default/Device.cpp
@@ -21,7 +21,7 @@
#include "core/4.0/default/Conversions.h"
#include "core/4.0/default/StreamIn.h"
#include "core/4.0/default/StreamOut.h"
-#include "core/all-versions/default/Util.h"
+#include "core/4.0/default/Util.h"
#define AUDIO_HAL_VERSION V4_0
#include <core/all-versions/default/Device.impl.h>
diff --git a/audio/core/4.0/default/ParametersUtil.cpp b/audio/core/4.0/default/ParametersUtil.cpp
index 5c1b1c4..2cc9fb5 100644
--- a/audio/core/4.0/default/ParametersUtil.cpp
+++ b/audio/core/4.0/default/ParametersUtil.cpp
@@ -15,6 +15,7 @@
*/
#include "core/4.0/default/ParametersUtil.h"
+#include "core/4.0/default/Util.h"
#define AUDIO_HAL_VERSION V4_0
#include <core/all-versions/default/ParametersUtil.impl.h>
diff --git a/audio/core/4.0/default/PrimaryDevice.cpp b/audio/core/4.0/default/PrimaryDevice.cpp
index 0294b4d..e3e4976 100644
--- a/audio/core/4.0/default/PrimaryDevice.cpp
+++ b/audio/core/4.0/default/PrimaryDevice.cpp
@@ -17,7 +17,7 @@
#define LOG_TAG "PrimaryDeviceHAL"
#include "core/4.0/default/PrimaryDevice.h"
-#include "core/all-versions/default/Util.h"
+#include "core/4.0/default/Util.h"
#define AUDIO_HAL_VERSION V4_0
#include <core/all-versions/default/PrimaryDevice.impl.h>
diff --git a/audio/core/4.0/default/Stream.cpp b/audio/core/4.0/default/Stream.cpp
index 30b3454..b8c71de 100644
--- a/audio/core/4.0/default/Stream.cpp
+++ b/audio/core/4.0/default/Stream.cpp
@@ -19,6 +19,7 @@
#include "core/4.0/default/Stream.h"
#include "common/all-versions/default/EffectMap.h"
#include "core/4.0/default/Conversions.h"
+#include "core/4.0/default/Util.h"
#define AUDIO_HAL_VERSION V4_0
#include <core/all-versions/default/Stream.impl.h>
diff --git a/audio/core/4.0/default/StreamIn.cpp b/audio/core/4.0/default/StreamIn.cpp
index 18719b5..718bd25 100644
--- a/audio/core/4.0/default/StreamIn.cpp
+++ b/audio/core/4.0/default/StreamIn.cpp
@@ -17,7 +17,7 @@
#define LOG_TAG "StreamInHAL"
#include "core/4.0/default/StreamIn.h"
-#include "core/all-versions/default/Util.h"
+#include "core/4.0/default/Util.h"
#define AUDIO_HAL_VERSION V4_0
#include <core/all-versions/default/StreamIn.impl.h>
diff --git a/audio/core/4.0/default/StreamOut.cpp b/audio/core/4.0/default/StreamOut.cpp
index 11c8fde..db88e40 100644
--- a/audio/core/4.0/default/StreamOut.cpp
+++ b/audio/core/4.0/default/StreamOut.cpp
@@ -17,7 +17,7 @@
#define LOG_TAG "StreamOutHAL"
#include "core/4.0/default/StreamOut.h"
-#include "core/all-versions/default/Util.h"
+#include "core/4.0/default/Util.h"
#define AUDIO_HAL_VERSION V4_0
#include <core/all-versions/default/StreamOut.impl.h>
diff --git a/audio/core/4.0/default/include/core/4.0/default/Util.h b/audio/core/4.0/default/include/core/4.0/default/Util.h
new file mode 100644
index 0000000..ce31e6f
--- /dev/null
+++ b/audio/core/4.0/default/include/core/4.0/default/Util.h
@@ -0,0 +1,26 @@
+/*
+ * 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.
+ */
+
+#ifndef ANDROID_HARDWARE_AUDIO_V4_0_UTIL_H
+#define ANDROID_HARDWARE_AUDIO_V4_0_UTIL_H
+
+#include <android/hardware/audio/4.0/types.h>
+
+#define AUDIO_HAL_VERSION V4_0
+#include <core/all-versions/default/Util.h>
+#undef AUDIO_HAL_VERSION
+
+#endif // ANDROID_HARDWARE_AUDIO_V4_0_UTIL_H
diff --git a/audio/core/all-versions/default/include/core/all-versions/default/Device.impl.h b/audio/core/all-versions/default/include/core/all-versions/default/Device.impl.h
index 581e1dc..37b7124 100644
--- a/audio/core/all-versions/default/include/core/all-versions/default/Device.impl.h
+++ b/audio/core/all-versions/default/include/core/all-versions/default/Device.impl.h
@@ -25,7 +25,6 @@
#include <android/log.h>
using ::android::hardware::audio::common::AUDIO_HAL_VERSION::HidlUtils;
-using ::android::hardware::audio::all_versions::implementation::isGainNormalized;
namespace android {
namespace hardware {
diff --git a/audio/core/all-versions/default/include/core/all-versions/default/ParametersUtil.impl.h b/audio/core/all-versions/default/include/core/all-versions/default/ParametersUtil.impl.h
index 3907284..afff2b6 100644
--- a/audio/core/all-versions/default/include/core/all-versions/default/ParametersUtil.impl.h
+++ b/audio/core/all-versions/default/include/core/all-versions/default/ParametersUtil.impl.h
@@ -149,26 +149,7 @@
Result ParametersUtil::setParams(const AudioParameter& param) {
int halStatus = halSetParameters(param.toString().string());
- switch (halStatus) {
- case OK:
- return Result::OK;
- case -EINVAL:
- return Result::INVALID_ARGUMENTS;
- case -ENODATA:
- return Result::INVALID_STATE;
- case -ENODEV:
- return Result::NOT_INITIALIZED;
- // The rest of the API (*::analyseStatus) returns NOT_SUPPORTED
- // when the legacy API returns -ENOSYS
- // However the legacy API explicitly state that for get_paramers,
- // -ENOSYS should be returned if
- // "the implementation does not accept a parameter change while the
- // output is active but the parameter is acceptable otherwise"
- case -ENOSYS:
- return Result::INVALID_STATE;
- default:
- return Result::INVALID_ARGUMENTS;
- }
+ return util::analyzeStatus(halStatus);
}
} // namespace implementation
diff --git a/audio/core/all-versions/default/include/core/all-versions/default/PrimaryDevice.impl.h b/audio/core/all-versions/default/include/core/all-versions/default/PrimaryDevice.impl.h
index 9b39d9c..61ffbe0 100644
--- a/audio/core/all-versions/default/include/core/all-versions/default/PrimaryDevice.impl.h
+++ b/audio/core/all-versions/default/include/core/all-versions/default/PrimaryDevice.impl.h
@@ -160,7 +160,7 @@
// Methods from ::android::hardware::audio::AUDIO_HAL_VERSION::IPrimaryDevice follow.
Return<Result> PrimaryDevice::setVoiceVolume(float volume) {
- if (!all_versions::implementation::isGainNormalized(volume)) {
+ if (!isGainNormalized(volume)) {
ALOGW("Can not set a voice volume (%f) outside [0,1]", volume);
return Result::INVALID_ARGUMENTS;
}
@@ -248,7 +248,7 @@
return mDevice->setParam(AUDIO_PARAMETER_KEY_HFP_SET_SAMPLING_RATE, int(sampleRateHz));
}
Return<Result> PrimaryDevice::setBtHfpVolume(float volume) {
- if (!all_versions::implementation::isGainNormalized(volume)) {
+ if (!isGainNormalized(volume)) {
ALOGW("Can not set BT HFP volume (%f) outside [0,1]", volume);
return Result::INVALID_ARGUMENTS;
}
diff --git a/audio/core/all-versions/default/include/core/all-versions/default/Stream.impl.h b/audio/core/all-versions/default/include/core/all-versions/default/Stream.impl.h
index fa0ef45..7415112 100644
--- a/audio/core/all-versions/default/include/core/all-versions/default/Stream.impl.h
+++ b/audio/core/all-versions/default/include/core/all-versions/default/Stream.impl.h
@@ -39,35 +39,14 @@
// static
Result Stream::analyzeStatus(const char* funcName, int status) {
- static const std::vector<int> empty;
- return analyzeStatus(funcName, status, empty);
+ return util::analyzeStatus("stream", funcName, status);
}
-template <typename T>
-inline bool element_in(T e, const std::vector<T>& v) {
- return std::find(v.begin(), v.end(), e) != v.end();
-}
// static
Result Stream::analyzeStatus(const char* funcName, int status,
const std::vector<int>& ignoreErrors) {
- if (status != 0 && (ignoreErrors.empty() || !element_in(-status, ignoreErrors))) {
- ALOGW("Error from HAL stream in function %s: %s", funcName, strerror(-status));
- }
- switch (status) {
- case 0:
- return Result::OK;
- case -EINVAL:
- return Result::INVALID_ARGUMENTS;
- case -ENODATA:
- return Result::INVALID_STATE;
- case -ENODEV:
- return Result::NOT_INITIALIZED;
- case -ENOSYS:
- return Result::NOT_SUPPORTED;
- default:
- return Result::INVALID_STATE;
- }
+ return util::analyzeStatus("stream", funcName, status, ignoreErrors);
}
char* Stream::halGetParameters(const char* keys) {
diff --git a/audio/core/all-versions/default/include/core/all-versions/default/StreamIn.impl.h b/audio/core/all-versions/default/include/core/all-versions/default/StreamIn.impl.h
index 8774be9..64c85ab 100644
--- a/audio/core/all-versions/default/include/core/all-versions/default/StreamIn.impl.h
+++ b/audio/core/all-versions/default/include/core/all-versions/default/StreamIn.impl.h
@@ -25,9 +25,7 @@
#include <memory>
using ::android::hardware::audio::AUDIO_HAL_VERSION::MessageQueueFlagBits;
-using ::android::hardware::audio::all_versions::implementation::isGainNormalized;
#include "Conversions.h"
-#include "Util.h"
namespace android {
namespace hardware {
diff --git a/audio/core/all-versions/default/include/core/all-versions/default/StreamOut.impl.h b/audio/core/all-versions/default/include/core/all-versions/default/StreamOut.impl.h
index 77098a8..6fb157f 100644
--- a/audio/core/all-versions/default/include/core/all-versions/default/StreamOut.impl.h
+++ b/audio/core/all-versions/default/include/core/all-versions/default/StreamOut.impl.h
@@ -32,7 +32,6 @@
namespace implementation {
using ::android::hardware::audio::common::AUDIO_HAL_VERSION::ThreadInfo;
-using ::android::hardware::audio::all_versions::implementation::isGainNormalized;
namespace {
diff --git a/audio/core/all-versions/default/include/core/all-versions/default/Util.h b/audio/core/all-versions/default/include/core/all-versions/default/Util.h
index 39d9dbd..350fd86 100644
--- a/audio/core/all-versions/default/include/core/all-versions/default/Util.h
+++ b/audio/core/all-versions/default/include/core/all-versions/default/Util.h
@@ -14,24 +14,61 @@
* limitations under the License.
*/
-#ifndef ANDROID_HARDWARE_AUDIO_DEVICE_ALL_VERSIONS_UTIL_H
-#define ANDROID_HARDWARE_AUDIO_DEVICE_ALL_VERSIONS_UTIL_H
+#include <common/all-versions/IncludeGuard.h>
+
+#include <algorithm>
+#include <vector>
+
+#include <system/audio.h>
namespace android {
namespace hardware {
namespace audio {
-namespace all_versions {
+namespace AUDIO_HAL_VERSION {
namespace implementation {
+using ::android::hardware::audio::AUDIO_HAL_VERSION::Result;
+
/** @return true if gain is between 0 and 1 included. */
constexpr bool isGainNormalized(float gain) {
return gain >= 0.0 && gain <= 1.0;
}
+namespace util {
+
+template <typename T>
+inline bool element_in(T e, const std::vector<T>& v) {
+ return std::find(v.begin(), v.end(), e) != v.end();
+}
+
+static inline Result analyzeStatus(status_t status) {
+ switch (status) {
+ case 0:
+ return Result::OK;
+ case -EINVAL:
+ return Result::INVALID_ARGUMENTS;
+ case -ENODATA:
+ return Result::INVALID_STATE;
+ case -ENODEV:
+ return Result::NOT_INITIALIZED;
+ case -ENOSYS:
+ return Result::NOT_SUPPORTED;
+ default:
+ return Result::INVALID_STATE;
+ }
+}
+
+static inline Result analyzeStatus(const char* className, const char* funcName, status_t status,
+ const std::vector<int>& ignoreErrors = {}) {
+ if (status != 0 && !element_in(-status, ignoreErrors)) {
+ ALOGW("Error from HAL %s in function %s: %s", className, funcName, strerror(-status));
+ }
+ return analyzeStatus(status);
+}
+
+} // namespace util
} // namespace implementation
-} // namespace all_versions
+} // namespace AUDIO_HAL_VERSION
} // namespace audio
} // namespace hardware
} // namespace android
-
-#endif // ANDROID_HARDWARE_AUDIO_DEVICE_ALL_VERSIONS_UTIL_H