Merge "Fix wrongly initialized test key." into pi-dev
diff --git a/audio/4.0/config/audio_policy_configuration.xsd b/audio/4.0/config/audio_policy_configuration.xsd
index 14e4fd6..ee17fc9 100644
--- a/audio/4.0/config/audio_policy_configuration.xsd
+++ b/audio/4.0/config/audio_policy_configuration.xsd
@@ -525,6 +525,7 @@
<xs:enumeration value="DEVICE_CATEGORY_SPEAKER"/>
<xs:enumeration value="DEVICE_CATEGORY_EARPIECE"/>
<xs:enumeration value="DEVICE_CATEGORY_EXT_MEDIA"/>
+ <xs:enumeration value="DEVICE_CATEGORY_HEARING_AID"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="volume">
diff --git a/audio/common/all-versions/test/utility/include/utility/PrettyPrintAudioTypes.h b/audio/common/all-versions/test/utility/include/utility/PrettyPrintAudioTypes.h
index 88a67e0..05239ac 100644
--- a/audio/common/all-versions/test/utility/include/utility/PrettyPrintAudioTypes.h
+++ b/audio/common/all-versions/test/utility/include/utility/PrettyPrintAudioTypes.h
@@ -47,7 +47,9 @@
namespace common {
namespace AUDIO_HAL_VERSION {
DEFINE_GTEST_PRINT_TO(AudioConfig)
+DEFINE_GTEST_PRINT_TO(AudioMode)
DEFINE_GTEST_PRINT_TO(AudioDevice)
+DEFINE_GTEST_PRINT_TO(AudioFormat)
DEFINE_GTEST_PRINT_TO(AudioChannelMask)
} // namespace AUDIO_HAL_VERSION
} // namespace common
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/4.0/vts/functional/AudioPrimaryHidlHalTest.cpp b/audio/core/4.0/vts/functional/AudioPrimaryHidlHalTest.cpp
index 9484ddd..de0df40 100644
--- a/audio/core/4.0/vts/functional/AudioPrimaryHidlHalTest.cpp
+++ b/audio/core/4.0/vts/functional/AudioPrimaryHidlHalTest.cpp
@@ -55,6 +55,7 @@
using ::android::sp;
using ::android::hardware::Return;
using ::android::hardware::hidl_bitfield;
+using ::android::hardware::hidl_enum_iterator;
using ::android::hardware::hidl_handle;
using ::android::hardware::hidl_string;
using ::android::hardware::hidl_vec;
@@ -81,6 +82,7 @@
using ::android::hardware::audio::V4_0::SinkMetadata;
using ::android::hardware::audio::common::V4_0::AudioChannelMask;
using ::android::hardware::audio::common::V4_0::AudioConfig;
+using ::android::hardware::audio::common::V4_0::AudioContentType;
using ::android::hardware::audio::common::V4_0::AudioDevice;
using ::android::hardware::audio::common::V4_0::AudioFormat;
using ::android::hardware::audio::common::V4_0::AudioHandleConsts;
@@ -91,6 +93,7 @@
using ::android::hardware::audio::common::V4_0::AudioOffloadInfo;
using ::android::hardware::audio::common::V4_0::AudioOutputFlag;
using ::android::hardware::audio::common::V4_0::AudioSource;
+using ::android::hardware::audio::common::V4_0::AudioUsage;
using ::android::hardware::audio::common::V4_0::ThreadInfo;
using ::android::hardware::audio::common::utils::mkBitfield;
@@ -140,11 +143,11 @@
sp<IDevicesFactory> AudioHidlTest::devicesFactory;
TEST_F(AudioHidlTest, GetAudioDevicesFactoryService) {
- doc::test("test the getService (called in SetUp)");
+ doc::test("Test the getService (called in SetUp)");
}
TEST_F(AudioHidlTest, OpenDeviceInvalidParameter) {
- doc::test("test passing an invalid parameter to openDevice");
+ doc::test("Test passing an invalid parameter to openDevice");
Result result;
sp<IDevice> device;
ASSERT_OK(devicesFactory->openDevice("Non existing device", returnIn(result, device)));
@@ -152,6 +155,19 @@
ASSERT_TRUE(device == nullptr);
}
+TEST_F(AudioHidlTest, OpenPrimaryDeviceUsingGetDevice) {
+ doc::test("Calling openDevice(\"primary\") should return the primary device.");
+ Result result;
+ sp<IDevice> baseDevice;
+ ASSERT_OK(devicesFactory->openDevice("primary", returnIn(result, baseDevice)));
+ ASSERT_OK(result);
+ ASSERT_TRUE(baseDevice != nullptr);
+
+ Return<sp<IPrimaryDevice>> primaryDevice = IPrimaryDevice::castFrom(baseDevice);
+ ASSERT_TRUE(primaryDevice.isOk());
+ ASSERT_TRUE(sp<IPrimaryDevice>(primaryDevice) != nullptr);
+}
+
//////////////////////////////////////////////////////////////////////////////
/////////////////////////////// openDevice primary ///////////////////////////
//////////////////////////////////////////////////////////////////////////////
@@ -165,14 +181,11 @@
if (device == nullptr) {
Result result;
- sp<IDevice> baseDevice;
- ASSERT_OK(devicesFactory->openDevice("primary", returnIn(result, baseDevice)));
+ ASSERT_OK(devicesFactory->openPrimaryDevice(returnIn(result, device)));
ASSERT_OK(result);
- ASSERT_TRUE(baseDevice != nullptr);
+ ASSERT_TRUE(device != nullptr);
environment->registerTearDown([] { device.clear(); });
- device = IPrimaryDevice::castFrom(baseDevice);
- ASSERT_TRUE(device != nullptr);
}
}
@@ -600,13 +613,17 @@
const AudioConfig& config = GetParam();
// TODO: test all flag combination
auto flags = hidl_bitfield<AudioOutputFlag>(AudioOutputFlag::NONE);
- SourceMetadata metadata = {{{}}}; // create on track metadata
testOpen(
[&](AudioIoHandle handle, AudioConfig config, auto cb) {
- return device->openOutputStream(handle, address, config, flags, metadata, cb);
+ return device->openOutputStream(handle, address, config, flags, initialMetadata,
+ cb);
},
config);
}
+
+ protected:
+ const SourceMetadata initialMetadata = {
+ {{AudioUsage::MEDIA, AudioContentType::MUSIC, 1 /* gain */}}};
};
TEST_P(OutputStreamTest, OpenOutputStreamTest) {
doc::test(
@@ -637,13 +654,15 @@
const AudioConfig& config = GetParam();
// TODO: test all supported flags and source
auto flags = hidl_bitfield<AudioInputFlag>(AudioInputFlag::NONE);
- SinkMetadata metadata = {{{AudioSource::DEFAULT, 1}}};
testOpen(
[&](AudioIoHandle handle, AudioConfig config, auto cb) {
- return device->openInputStream(handle, address, config, flags, metadata, cb);
+ return device->openInputStream(handle, address, config, flags, initialMetadata, cb);
},
config);
}
+
+ protected:
+ const SinkMetadata initialMetadata = {{{AudioSource::DEFAULT, 1 /* gain */}}};
};
TEST_P(InputStreamTest, OpenInputStreamTest) {
@@ -727,11 +746,12 @@
ASSERT_OK(ret);
if (currentMustBeSupported) {
+ ASSERT_NE(0U, capabilities.size()) << name << " must not return an empty list";
Property currentValue = extract((stream->*getter)());
- EXPECT_NE(std::find(capabilities.begin(), capabilities.end(), currentValue),
- capabilities.end())
- << "current " << name << " is not in the list of the supported ones "
- << toString(capabilities);
+ EXPECT_TRUE(std::find(capabilities.begin(), capabilities.end(), currentValue) !=
+ capabilities.end())
+ << "value returned by " << name << "() = " << testing::PrintToString(currentValue)
+ << " is not in the list of the supported ones " << toString(capabilities);
}
// Check that all declared supported values are indeed supported
@@ -757,7 +777,7 @@
hidl_vec<hidl_bitfield<AudioChannelMask>>& channels) {
Result res;
EXPECT_OK(
- stream->getSupportedSampleRates(extract(stream->getFormat()), returnIn(res, channels)));
+ stream->getSupportedChannelMasks(extract(stream->getFormat()), returnIn(res, channels)));
return res;
}
@@ -1039,8 +1059,30 @@
ASSERT_RESULT(invalidStateOrNotSupported, res);
}
+TEST_P(InputStreamTest, updateSinkMetadata) {
+ doc::test("The HAL should not crash on metadata change");
+
+ hidl_enum_iterator<AudioSource> range;
+ // Test all possible track configuration
+ for (AudioSource source : range) {
+ for (float volume : {0.0, 0.5, 1.0}) {
+ const SinkMetadata metadata = {{{source, volume}}};
+ ASSERT_OK(stream->updateSinkMetadata(metadata))
+ << "source=" << toString(source) << ", volume=" << volume;
+ }
+ }
+
+ // Do not test concurrent capture as this is not officially supported
+
+ // Set no metadata as if all stream track had stopped
+ ASSERT_OK(stream->updateSinkMetadata({}));
+
+ // Restore initial
+ ASSERT_OK(stream->updateSinkMetadata(initialMetadata));
+}
+
//////////////////////////////////////////////////////////////////////////////
-///////////////////////////////// StreamIn ///////////////////////////////////
+///////////////////////////////// StreamOut //////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
TEST_P(OutputStreamTest, getLatency) {
@@ -1195,7 +1237,7 @@
doc::partialTest("The output stream does not support pause");
return;
}
- ASSERT_RESULT(Result::INVALID_STATE, stream->resume());
+ ASSERT_RESULT(Result::INVALID_STATE, stream->pause());
}
static void testDrain(IStreamOut* stream, AudioDrain type) {
@@ -1261,6 +1303,37 @@
ASSERT_RESULT(okOrNotSupported, stream->selectPresentation(0, 0));
}
+TEST_P(OutputStreamTest, updateSourceMetadata) {
+ doc::test("The HAL should not crash on metadata change");
+
+ hidl_enum_iterator<AudioUsage> usageRange;
+ hidl_enum_iterator<AudioContentType> contentRange;
+ // Test all possible track configuration
+ for (auto usage : usageRange) {
+ for (auto content : contentRange) {
+ for (float volume : {0.0, 0.5, 1.0}) {
+ const SourceMetadata metadata = {{{usage, content, volume}}};
+ ASSERT_OK(stream->updateSourceMetadata(metadata))
+ << "usage=" << toString(usage) << ", content=" << toString(content)
+ << ", volume=" << volume;
+ }
+ }
+ }
+
+ // Set many track of different configuration
+ ASSERT_OK(stream->updateSourceMetadata(
+ {{{AudioUsage::MEDIA, AudioContentType::MUSIC, 0.1},
+ {AudioUsage::VOICE_COMMUNICATION, AudioContentType::SPEECH, 1.0},
+ {AudioUsage::ALARM, AudioContentType::SONIFICATION, 0.0},
+ {AudioUsage::ASSISTANT, AudioContentType::UNKNOWN, 0.3}}}));
+
+ // Set no metadata as if all stream track had stopped
+ ASSERT_OK(stream->updateSourceMetadata({}));
+
+ // Restore initial
+ ASSERT_OK(stream->updateSourceMetadata(initialMetadata));
+}
+
//////////////////////////////////////////////////////////////////////////////
/////////////////////////////// PrimaryDevice ////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
@@ -1271,19 +1344,16 @@
}
TEST_F(AudioPrimaryHidlTest, setMode) {
- doc::test(
- "Make sure setMode always succeeds if mode is valid "
- "and fails otherwise");
+ doc::test("Make sure setMode always succeeds if mode is valid and fails otherwise");
// Test Invalid values
- for (int mode : {-1, 0, int(AudioMode::IN_COMMUNICATION) + 1}) {
- SCOPED_TRACE("mode=" + to_string(mode));
- ASSERT_RESULT(Result::INVALID_ARGUMENTS, device->setMode(AudioMode(mode)));
+ for (int mode : {-2, -1, int(AudioMode::IN_COMMUNICATION) + 1}) {
+ ASSERT_RESULT(Result::INVALID_ARGUMENTS, device->setMode(AudioMode(mode)))
+ << "mode=" << mode;
}
// Test valid values
for (AudioMode mode : {AudioMode::IN_CALL, AudioMode::IN_COMMUNICATION, AudioMode::RINGTONE,
AudioMode::NORMAL /* Make sure to leave the test in normal mode */}) {
- SCOPED_TRACE("mode=" + toString(mode));
- ASSERT_OK(device->setMode(mode));
+ ASSERT_OK(device->setMode(mode)) << "mode=" << toString(mode);
}
}
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..230b8de 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 {
@@ -42,23 +41,7 @@
}
Result Device::analyzeStatus(const char* funcName, int status) {
- if (status != 0) {
- ALOGW("Device %p %s: %s", mDevice, 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("Device", funcName, status);
}
void Device::closeInputStream(audio_stream_in_t* stream) {
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..72d7a37 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) {
@@ -122,11 +101,15 @@
halSampleRates =
samplingRatesFromString(halListValue.string(), AudioParameter::valueListSeparator);
sampleRates.setToExternal(halSampleRates.editArray(), halSampleRates.size());
+ // Legacy get_parameter does not return a status_t, thus can not advertise of failure.
+ // Note that this method must succeed (non empty list) if the format is supported.
+ if (sampleRates.size() == 0) {
+ result = Result::NOT_SUPPORTED;
+ }
}
#ifdef AUDIO_HAL_VERSION_2_0
_hidl_cb(sampleRates);
-#endif
-#ifdef AUDIO_HAL_VERSION_4_0
+#elif AUDIO_HAL_VERSION_4_0
_hidl_cb(result, sampleRates);
#endif
return Void();
@@ -147,6 +130,11 @@
for (size_t i = 0; i < halChannelMasks.size(); ++i) {
channelMasks[i] = AudioChannelBitfield(halChannelMasks[i]);
}
+ // Legacy get_parameter does not return a status_t, thus can not advertise of failure.
+ // Note that this method must succeed (non empty list) if the format is supported.
+ if (channelMasks.size() == 0) {
+ result = Result::NOT_SUPPORTED;
+ }
}
#ifdef AUDIO_HAL_VERSION_2_0
_hidl_cb(channelMasks);
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
diff --git a/audio/effect/all-versions/default/include/effect/all-versions/default/EffectsFactory.h b/audio/effect/all-versions/default/include/effect/all-versions/default/EffectsFactory.h
index 313c8c2..526abbb8 100644
--- a/audio/effect/all-versions/default/include/effect/all-versions/default/EffectsFactory.h
+++ b/audio/effect/all-versions/default/include/effect/all-versions/default/EffectsFactory.h
@@ -46,7 +46,8 @@
Return<void> getDescriptor(const Uuid& uid, getDescriptor_cb _hidl_cb) override;
Return<void> createEffect(const Uuid& uid, int32_t session, int32_t ioHandle,
createEffect_cb _hidl_cb) override;
- Return<void> debugDump(const hidl_handle& fd);
+ Return<void> debugDump(const hidl_handle& fd); //< in V2_0::IEffectsFactory only, alias of debug
+ Return<void> debug(const hidl_handle& fd, const hidl_vec<hidl_string>& options) override;
private:
static sp<IEffect> dispatchEffectInstanceCreation(const effect_descriptor_t& halDescriptor,
diff --git a/audio/effect/all-versions/default/include/effect/all-versions/default/EffectsFactory.impl.h b/audio/effect/all-versions/default/include/effect/all-versions/default/EffectsFactory.impl.h
index b2a36a9..1882a2c 100644
--- a/audio/effect/all-versions/default/include/effect/all-versions/default/EffectsFactory.impl.h
+++ b/audio/effect/all-versions/default/include/effect/all-versions/default/EffectsFactory.impl.h
@@ -172,6 +172,11 @@
}
Return<void> EffectsFactory::debugDump(const hidl_handle& fd) {
+ return debug(fd, {} /* options */);
+}
+
+Return<void> EffectsFactory::debug(const hidl_handle& fd,
+ const hidl_vec<hidl_string>& /* options */) {
if (fd.getNativeHandle() != nullptr && fd->numFds == 1) {
EffectDumpEffects(fd->data[0]);
}
diff --git a/automotive/vehicle/2.0/Android.bp b/automotive/vehicle/2.0/Android.bp
index 4b93008..91255d0 100644
--- a/automotive/vehicle/2.0/Android.bp
+++ b/automotive/vehicle/2.0/Android.bp
@@ -32,9 +32,9 @@
"SubscribeOptions",
"VehicleApPowerBootupReason",
"VehicleApPowerStateConfigFlag",
+ "VehicleApPowerStateReport",
"VehicleApPowerStateReq",
"VehicleApPowerStateReqIndex",
- "VehicleApPowerStateReport",
"VehicleApPowerStateShutdownParam",
"VehicleArea",
"VehicleAreaConfig",
diff --git a/automotive/vehicle/2.0/default/impl/vhal_v2_0/DefaultConfig.h b/automotive/vehicle/2.0/default/impl/vhal_v2_0/DefaultConfig.h
index 56813ce..48ee1bb 100644
--- a/automotive/vehicle/2.0/default/impl/vhal_v2_0/DefaultConfig.h
+++ b/automotive/vehicle/2.0/default/impl/vhal_v2_0/DefaultConfig.h
@@ -242,17 +242,18 @@
},
.initialValue = {.int32Values = {0, 0, 0}}},
- {.config =
- {
- .prop = toInt(VehicleProperty::HVAC_POWER_ON),
- .access = VehiclePropertyAccess::READ_WRITE,
- .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
- .areaConfigs = {VehicleAreaConfig{
- .areaId = (VehicleAreaSeat::ROW_1_LEFT | VehicleAreaSeat::ROW_1_RIGHT)}},
- // TODO(bryaneyler): Ideally, this is generated dynamically from
- // kHvacPowerProperties.
- .configString = "0x12400500,0x12400501" // HVAC_FAN_SPEED,HVAC_FAN_DIRECTION
- },
+ {.config = {.prop = toInt(VehicleProperty::HVAC_POWER_ON),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .areaConfigs = {VehicleAreaConfig{
+ .areaId = (VehicleAreaSeat::ROW_1_LEFT | VehicleAreaSeat::ROW_1_RIGHT)}},
+ // TODO(bryaneyler): Ideally, this is generated dynamically from
+ // kHvacPowerProperties.
+ .configArray =
+ {
+ 0x12400500, // HVAC_FAN_SPEED
+ 0x12400501 // HVAC_FAN_DIRECTION
+ }},
.initialValue = {.int32Values = {1}}},
{
diff --git a/automotive/vehicle/2.0/types.hal b/automotive/vehicle/2.0/types.hal
index 12e2257..d4e4d46 100644
--- a/automotive/vehicle/2.0/types.hal
+++ b/automotive/vehicle/2.0/types.hal
@@ -2003,30 +2003,32 @@
/**
* Used by INFO_EV_CONNECTOR_TYPE to enumerate the type of connectors
- * available to charge the vehicle. Consistent with projection protocol.
+ * available to charge the vehicle.
*/
enum EvConnectorType : int32_t {
/**
* Default type if the vehicle does not know or report the EV connector
* type.
*/
- EV_CONNECTOR_TYPE_UNKNOWN = 0,
- EV_CONNECTOR_TYPE_J1772 = 1,
- EV_CONNECTOR_TYPE_MENNEKES = 2,
- EV_CONNECTOR_TYPE_CHADEMO = 3,
- EV_CONNECTOR_TYPE_COMBO_1 = 4,
- EV_CONNECTOR_TYPE_COMBO_2 = 5,
- EV_CONNECTOR_TYPE_TESLA_ROADSTER = 6,
- EV_CONNECTOR_TYPE_TESLA_HPWC = 7,
- EV_CONNECTOR_TYPE_TESLA_SUPERCHARGER = 8,
- EV_CONNECTOR_TYPE_GBT = 9,
+ UNKNOWN = 0,
+ IEC_TYPE_1_AC = 1, // aka Yazaki
+ IEC_TYPE_2_AC = 2, // aka Mennekes
+ IEC_TYPE_3_AC = 3, // aka Scame
+ IEC_TYPE_4_DC = 4, // aka CHAdeMO
+ IEC_TYPE_1_CCS_DC = 5, // aka Combo 1
+ IEC_TYPE_2_CCS_DC = 6, // aka Combo 2
+ TESLA_ROADSTER = 7,
+ TESLA_HPWC = 8,
+ TESLA_SUPERCHARGER = 9,
+ GBT_AC = 10,
+ GBT_DC = 11,
/**
* Connector type to use when no other types apply. Before using this
* value, work with Google to see if the EvConnectorType enum can be
* extended with an appropriate value.
*/
- EV_CONNECTOR_TYPE_OTHER = 101,
+ OTHER = 101,
};
/**
diff --git a/camera/metadata/3.3/Android.bp b/camera/metadata/3.3/Android.bp
index 166c2ac..ad6f141 100644
--- a/camera/metadata/3.3/Android.bp
+++ b/camera/metadata/3.3/Android.bp
@@ -16,6 +16,7 @@
"CameraMetadataEnumAndroidControlAeMode",
"CameraMetadataEnumAndroidControlAfSceneChange",
"CameraMetadataEnumAndroidControlCaptureIntent",
+ "CameraMetadataEnumAndroidDistortionCorrectionMode",
"CameraMetadataEnumAndroidInfoSupportedHardwareLevel",
"CameraMetadataEnumAndroidLensPoseReference",
"CameraMetadataEnumAndroidLogicalMultiCameraSensorSyncType",
diff --git a/compatibility_matrices/compatibility_matrix.3.xml b/compatibility_matrices/compatibility_matrix.3.xml
index 6aa5fc5..9bc76ea 100644
--- a/compatibility_matrices/compatibility_matrix.3.xml
+++ b/compatibility_matrices/compatibility_matrix.3.xml
@@ -266,7 +266,7 @@
</hal>
<hal format="hidl" optional="true">
<name>android.hardware.nfc</name>
- <version>1.0-1</version>
+ <version>1.1</version>
<interface>
<name>INfc</name>
<instance>default</instance>
diff --git a/current.txt b/current.txt
index 75b1a06..12cc6ff 100644
--- a/current.txt
+++ b/current.txt
@@ -260,7 +260,7 @@
4e7169919d24fbe5573e5bcd683d0bd7abf553a4e6c34c41f9dfc1e12050db07 android.hardware.gnss@1.0::IGnssNavigationMessageCallback
5804ca86611d72e5481f022b3a0c1b334217f2e4988dad25730c42af2d1f4d1c android.hardware.neuralnetworks@1.0::IDevice
12e8dca4ab7d8aadd0ef8f1b438021938e2396139e85db2ed65783b08800aa52 android.hardware.neuralnetworks@1.0::IExecutionCallback
-702f9a4cd3b7486a4b04f7155b737757ac2ca4b3548976d5782ad3cae9ff9780 android.hardware.neuralnetworks@1.0::types
+934b9a0627080bca5dee83126d23ace31bdf1ed36fe192a2a7694f81b4f0c2af android.hardware.neuralnetworks@1.0::types
d4840db8efabdf1e4b344fc981cd36e5fe81a39aff6e199f6d06c1c8da413efd android.hardware.radio@1.0::types
b280c4704dfcc548a9bf127b59b7c3578f460c50cce70a06b66fe0df8b27cff0 android.hardware.wifi@1.0::types
@@ -299,7 +299,7 @@
3b17c1fdfc389e0abe626c37054954b07201127d890c2bc05d47613ec1f4de4f android.hardware.automotive.evs@1.0::types
b3caf524c46a47d67e6453a34419e1881942d059e146cda740502670e9a752c3 android.hardware.automotive.vehicle@2.0::IVehicle
7ce8728b27600e840cacf0a832f6942819fe535f9d3797ae052d5eef5065921c android.hardware.automotive.vehicle@2.0::IVehicleCallback
-2e1815967a3e3278a7f304ed7efc04fbc56d0bb65b3126248c3a0d515b93f63d android.hardware.automotive.vehicle@2.0::types
+962b18e414231b5f3930d63daba116347241b3606242b0606b3699ba25b14315 android.hardware.automotive.vehicle@2.0::types
32cc50cc2a7658ec613c0c2dd2accbf6a05113b749852879e818b8b7b438db19 android.hardware.bluetooth.a2dp@1.0::IBluetoothAudioHost
ff4be64d7992f8bec97dff37f35450e79b3430c61f85f54322ce45bef229dc3b android.hardware.bluetooth.a2dp@1.0::IBluetoothAudioOffload
27f22d2e873e6201f9620cf4d8e2facb25bd0dd30a2b911e441b4600d560fa62 android.hardware.bluetooth.a2dp@1.0::types
@@ -327,7 +327,7 @@
83e7a10ff3702147bd7ffa04567b20d407a3b16bbb7705644af44d919afe9103 android.hardware.gnss@1.1::IGnssMeasurementCallback
0b96e0254e2168cfecb30c1ed5fb42681652cc00faa68c6e07568fafe64d1d50 android.hardware.graphics.common@1.1::types
d9b40a5b09962a5a0780b10fe33a4e607e69e2e088fc83de88a584115b7cb1c0 android.hardware.graphics.composer@2.2::IComposer
-c3cd2a3e245ffefae859c9a3d31382a9421be95cfa6bc1231571eb3533049b54 android.hardware.graphics.composer@2.2::IComposerClient
+18eff12102db47b03a5fa906f8d4fd9018f0fb9236c663d457b8eac8d57c2937 android.hardware.graphics.composer@2.2::IComposerClient
dd83be076b6b3f10ed62ab34d8c8b95f2415961fb785200eb842e7bfb2b0ee92 android.hardware.graphics.mapper@2.1::IMapper
675682dd3007805c985eaaec91612abc88f4c25b3431fb84070b7584a1a741fb android.hardware.health@2.0::IHealth
434c4c32c00b0e54bb05e40c79503208b40f786a318029a2a4f66e34f10f2a76 android.hardware.health@2.0::IHealthInfoCallback
@@ -339,7 +339,7 @@
4a2c0dc82780e6c90731725a103feab8ab6ecf85a64e049b9cbd2b2c61620fe1 android.hardware.media.bufferpool@1.0::IConnection
6aef1218e5949f867b0104752ac536c1b707222a403341720de90141df129e3e android.hardware.media.bufferpool@1.0::types
7698dc2382a2eeb43541840e3ee624f34108efdfb976b2bfa7c13ef15fb8c4c4 android.hardware.neuralnetworks@1.1::IDevice
-5604001029a255648a9e955de0a822a48d9ba7cc259b106fb8be0cd43dc8eece android.hardware.neuralnetworks@1.1::types
+ce5dab4b2dd828bcff09acfb93fcd4846f847868b9e914d214095532c28dc0cf android.hardware.neuralnetworks@1.1::types
8d3d86da0bfa4bf070970d8303c659f67f35d670c287d45a3f542e4fedadd578 android.hardware.nfc@1.1::INfc
e85f566698d2a2c28100e264fcf2c691a066756ddf8dd341d009ff50cfe10614 android.hardware.nfc@1.1::INfcClientCallback
5e278fcaa3287d397d8eebe1c22aaa28150f5caae1cf9381cd6dc32cb37899c5 android.hardware.nfc@1.1::types
diff --git a/dumpstate/1.0/default/android.hardware.dumpstate@1.0-service.rc b/dumpstate/1.0/default/android.hardware.dumpstate@1.0-service.rc
index f626f70..dfc7d78 100644
--- a/dumpstate/1.0/default/android.hardware.dumpstate@1.0-service.rc
+++ b/dumpstate/1.0/default/android.hardware.dumpstate@1.0-service.rc
@@ -2,3 +2,4 @@
class hal
user system
group system
+ interface android.hardware.dumpstate@1.0::IDumpstateDevice default
diff --git a/graphics/composer/2.2/IComposerClient.hal b/graphics/composer/2.2/IComposerClient.hal
index b7ba6a6..a6665a1 100644
--- a/graphics/composer/2.2/IComposerClient.hal
+++ b/graphics/composer/2.2/IComposerClient.hal
@@ -383,9 +383,8 @@
* By default, layer dataspaces are mapped to the current color mode
* colorimetrically with a few exceptions.
*
- * When the layer dataspace is a legacy sRGB dataspace
- * (Dataspace::SRGB_LINEAR, Dataspace::SRGB, or Dataspace::UNKNOWN when
- * treated as such) and the display render intent is
+ * When the layer dataspace is a legacy dataspace (see
+ * common@1.1::Dataspace) and the display render intent is
* RenderIntent::ENHANCE, the pixel values can go through an
* implementation-defined saturation transform before being mapped to the
* current color mode colorimetrically.
@@ -402,7 +401,7 @@
* this:
*
* (in GLSL)
- * linearSrgb = clamp(saturationMatrix * linearSrgb, 0.0, 1.0);
+ * linearSrgb = saturationMatrix * linearSrgb;
*
* @param dataspace must be Dataspace::SRGB_LINEAR.
* @return error is NONE upon success. Otherwise,
diff --git a/neuralnetworks/1.0/types.hal b/neuralnetworks/1.0/types.hal
index 8c07fcc..802f6cb 100644
--- a/neuralnetworks/1.0/types.hal
+++ b/neuralnetworks/1.0/types.hal
@@ -444,10 +444,11 @@
* Supported tensor rank: up to 4.
*
* Inputs:
- * * 0: A tensor, specifying the input. If rank is greater than 2, then it gets flattened to
- * a 2-D Tensor. The 2-D Tensor is handled as if dimensions corresponded to shape
- * [batch_size, input_size], where “batch_size” corresponds to the batching dimension,
- * and “input_size” is the size of the input.
+ * * 0: A tensor of at least rank 2, specifying the input. If rank is greater than 2,
+ * then it gets flattened to a 2-D Tensor. The (flattened) 2-D Tensor is reshaped
+ * (if necessary) to [batch_size, input_size], where "input_size" corresponds to
+ * the number of inputs to the layer, matching the second dimension of weights, and
+ * "batch_size" is calculated by dividing the number of elements by "input_size".
* * 1: A 2-D tensor, specifying the weights, of shape [num_units, input_size], where
* "num_units" corresponds to the number of output nodes.
* * 2: A 1-D tensor, of shape [num_units], specifying the bias.
@@ -728,9 +729,11 @@
* \f{eqnarray*}{
* i_t = 1 - f_t
* \f}
- * * The cell-to-input weights (\f$W_{ci}\f$), cell-to-forget weights (\f$W_{cf}\f$), and cell-to-output
- * weights (\f$W_{co}\f$) either all have values or none of them have values.
- * If they have values, the peephole optimization is used.
+ * * The cell-to-forget weights (\f$W_{cf}\f$) and cell-to-output
+ * weights (\f$W_{co}\f$) either both have values or neither of them have values.
+ * If they have values, the peephole optimization is used. Additionally,
+ * if CIFG is not used, cell-to-input weights (\f$W_{ci}\f$) is also
+ * required to have values for peephole optimization.
* * The projection weights (\f$W_{proj}\f$) is required only for the recurrent projection
* layer, and should otherwise have no value.
* * The projection bias (\f$b_{proj}\f$) may (but not required to) have a value if the
@@ -1008,7 +1011,8 @@
* Resizes images to given size using the bilinear interpretation.
*
* Resized images must be distorted if their output aspect ratio is not the same as
- * input aspect ratio.
+ * input aspect ratio. The corner pixels of output may not be the same as
+ * corner pixels of input.
*
* Supported tensor types:
* * {@link OperandType::TENSOR_FLOAT32}
diff --git a/neuralnetworks/1.0/vts/OWNERS b/neuralnetworks/1.0/vts/OWNERS
index 59e7c28..87e322b 100644
--- a/neuralnetworks/1.0/vts/OWNERS
+++ b/neuralnetworks/1.0/vts/OWNERS
@@ -1,10 +1,10 @@
# Neuralnetworks team
butlermichael@google.com
dgross@google.com
-ijsung@google.com
jeanluc@google.com
miaowang@google.com
-yangni@google.com
+mikie@google.com
+pszczepaniak@google.com
# VTS team
yim@google.com
diff --git a/neuralnetworks/1.0/vts/functional/GeneratedTestHarness.cpp b/neuralnetworks/1.0/vts/functional/GeneratedTestHarness.cpp
index ed1fb94..0682ab9 100644
--- a/neuralnetworks/1.0/vts/functional/GeneratedTestHarness.cpp
+++ b/neuralnetworks/1.0/vts/functional/GeneratedTestHarness.cpp
@@ -36,16 +36,16 @@
namespace generated_tests {
using ::android::hardware::neuralnetworks::V1_0::implementation::ExecutionCallback;
using ::android::hardware::neuralnetworks::V1_0::implementation::PreparedModelCallback;
-using ::generated_tests::filter;
-using ::generated_tests::for_all;
-using ::generated_tests::for_each;
-using ::generated_tests::resize_accordingly;
-using ::generated_tests::MixedTyped;
-using ::generated_tests::MixedTypedExampleType;
-using ::generated_tests::Float32Operands;
-using ::generated_tests::Int32Operands;
-using ::generated_tests::Quant8Operands;
-using ::generated_tests::compare;
+using ::test_helper::filter;
+using ::test_helper::for_all;
+using ::test_helper::for_each;
+using ::test_helper::resize_accordingly;
+using ::test_helper::MixedTyped;
+using ::test_helper::MixedTypedExampleType;
+using ::test_helper::Float32Operands;
+using ::test_helper::Int32Operands;
+using ::test_helper::Quant8Operands;
+using ::test_helper::compare;
template <typename T>
void copy_back_(MixedTyped* dst, const std::vector<RequestArgument>& ra, char* src) {
diff --git a/neuralnetworks/1.0/vts/functional/GeneratedTests.cpp b/neuralnetworks/1.0/vts/functional/GeneratedTests.cpp
index 2107333..d84479c 100644
--- a/neuralnetworks/1.0/vts/functional/GeneratedTests.cpp
+++ b/neuralnetworks/1.0/vts/functional/GeneratedTests.cpp
@@ -31,7 +31,7 @@
namespace neuralnetworks {
namespace generated_tests {
-using ::generated_tests::MixedTypedExampleType;
+using ::test_helper::MixedTypedExampleType;
extern void Execute(const sp<V1_0::IDevice>&, std::function<V1_0::Model(void)>,
std::function<bool(int)>, const std::vector<MixedTypedExampleType>&);
} // namespace generated_tests
@@ -45,7 +45,7 @@
using ::android::nn::allocateSharedMemory;
// Mixed-typed examples
-typedef generated_tests::MixedTypedExampleType MixedTypedExample;
+typedef test_helper::MixedTypedExampleType MixedTypedExample;
// in frameworks/ml/nn/runtime/tests/generated/
#include "all_generated_V1_0_vts_tests.cpp"
diff --git a/neuralnetworks/1.0/vts/functional/Models.h b/neuralnetworks/1.0/vts/functional/Models.h
index a1fbe92..751ab32 100644
--- a/neuralnetworks/1.0/vts/functional/Models.h
+++ b/neuralnetworks/1.0/vts/functional/Models.h
@@ -30,7 +30,7 @@
namespace vts {
namespace functional {
-using MixedTypedExample = generated_tests::MixedTypedExampleType;
+using MixedTypedExample = test_helper::MixedTypedExampleType;
#define FOR_EACH_TEST_MODEL(FN) \
FN(add_broadcast_quant8) \
diff --git a/neuralnetworks/1.0/vts/functional/ValidateRequest.cpp b/neuralnetworks/1.0/vts/functional/ValidateRequest.cpp
index 08f2613..09c1878 100644
--- a/neuralnetworks/1.0/vts/functional/ValidateRequest.cpp
+++ b/neuralnetworks/1.0/vts/functional/ValidateRequest.cpp
@@ -36,9 +36,9 @@
using ::android::hardware::neuralnetworks::V1_0::implementation::ExecutionCallback;
using ::android::hardware::neuralnetworks::V1_0::implementation::PreparedModelCallback;
using ::android::hidl::memory::V1_0::IMemory;
-using generated_tests::MixedTyped;
-using generated_tests::MixedTypedExampleType;
-using generated_tests::for_all;
+using test_helper::MixedTyped;
+using test_helper::MixedTypedExampleType;
+using test_helper::for_all;
///////////////////////// UTILITY FUNCTIONS /////////////////////////
diff --git a/neuralnetworks/1.1/Android.bp b/neuralnetworks/1.1/Android.bp
index 81bcef3..24d8396 100644
--- a/neuralnetworks/1.1/Android.bp
+++ b/neuralnetworks/1.1/Android.bp
@@ -16,6 +16,7 @@
],
types: [
"Capabilities",
+ "ExecutionPreference",
"Model",
"Operation",
"OperationType",
diff --git a/neuralnetworks/1.1/types.hal b/neuralnetworks/1.1/types.hal
index 8290fbb..3fa47a6 100644
--- a/neuralnetworks/1.1/types.hal
+++ b/neuralnetworks/1.1/types.hal
@@ -214,6 +214,13 @@
* tensor to be sliced. The length must be of rank(input0).
* 3: A 1-D Tensor of type TENSOR_INT32, the strides of the dimensions of the input
* tensor to be sliced. The length must be of rank(input0).
+ * 4: An INT32 value, begin_mask. If the ith bit of begin_mask is set, begin[i] is ignored
+ * and the fullest possible range in that dimension is used instead.
+ * 5: An INT32 value, end_mask. If the ith bit of end_mask is set, end[i] is ignored and
+ * the fullest possible range in that dimension is used instead.
+ * 6: An INT32 value, shrink_axis_mask. An int32 mask. If the ith bit of shrink_axis_mask is
+ * set, it implies that the ith specification shrinks the dimensionality by 1. A slice of
+ * size 1 starting from begin[i] in the dimension must be preserved.
*
* Outputs:
* 0: A tensor of the same type as input0.
diff --git a/neuralnetworks/1.1/vts/OWNERS b/neuralnetworks/1.1/vts/OWNERS
index 7f75ab3..87e322b 100644
--- a/neuralnetworks/1.1/vts/OWNERS
+++ b/neuralnetworks/1.1/vts/OWNERS
@@ -3,7 +3,8 @@
dgross@google.com
jeanluc@google.com
miaowang@google.com
-yangni@google.com
+mikie@google.com
+pszczepaniak@google.com
# VTS team
yim@google.com
diff --git a/neuralnetworks/1.1/vts/functional/GeneratedTests.cpp b/neuralnetworks/1.1/vts/functional/GeneratedTests.cpp
index 1f1cc7a..95c2b1a 100644
--- a/neuralnetworks/1.1/vts/functional/GeneratedTests.cpp
+++ b/neuralnetworks/1.1/vts/functional/GeneratedTests.cpp
@@ -31,7 +31,7 @@
namespace neuralnetworks {
namespace generated_tests {
-using ::generated_tests::MixedTypedExampleType;
+using ::test_helper::MixedTypedExampleType;
extern void Execute(const sp<V1_1::IDevice>&, std::function<V1_1::Model(void)>,
std::function<bool(int)>, const std::vector<MixedTypedExampleType>&);
} // namespace generated_tests
diff --git a/neuralnetworks/1.1/vts/functional/Models.h b/neuralnetworks/1.1/vts/functional/Models.h
index c3cadb5..cc0fac1 100644
--- a/neuralnetworks/1.1/vts/functional/Models.h
+++ b/neuralnetworks/1.1/vts/functional/Models.h
@@ -31,277 +31,331 @@
namespace vts {
namespace functional {
-using MixedTypedExample = generated_tests::MixedTypedExampleType;
+using MixedTypedExample = test_helper::MixedTypedExampleType;
-#define FOR_EACH_TEST_MODEL(FN) \
- FN(add) \
- FN(add_broadcast_quant8) \
- FN(add_quant8) \
- FN(add_relaxed) \
- FN(avg_pool_float_1) \
- FN(avg_pool_float_1_relaxed) \
- FN(avg_pool_float_2) \
- FN(avg_pool_float_2_relaxed) \
- FN(avg_pool_float_3) \
- FN(avg_pool_float_3_relaxed) \
- FN(avg_pool_float_4) \
- FN(avg_pool_float_4_relaxed) \
- FN(avg_pool_float_5) \
- FN(avg_pool_quant8_1) \
- FN(avg_pool_quant8_2) \
- FN(avg_pool_quant8_3) \
- FN(avg_pool_quant8_4) \
- FN(avg_pool_quant8_5) \
- FN(batch_to_space) \
- FN(batch_to_space_float_1) \
- FN(batch_to_space_quant8_1) \
- FN(concat_float_1) \
- FN(concat_float_1_relaxed) \
- FN(concat_float_2) \
- FN(concat_float_2_relaxed) \
- FN(concat_float_3) \
- FN(concat_float_3_relaxed) \
- FN(concat_quant8_1) \
- FN(concat_quant8_2) \
- FN(concat_quant8_3) \
- FN(conv_1_h3_w2_SAME) \
- FN(conv_1_h3_w2_SAME_relaxed) \
- FN(conv_1_h3_w2_VALID) \
- FN(conv_1_h3_w2_VALID_relaxed) \
- FN(conv_3_h3_w2_SAME) \
- FN(conv_3_h3_w2_SAME_relaxed) \
- FN(conv_3_h3_w2_VALID) \
- FN(conv_3_h3_w2_VALID_relaxed) \
- FN(conv_float) \
- FN(conv_float_2) \
- FN(conv_float_channels) \
- FN(conv_float_channels_relaxed) \
- FN(conv_float_channels_weights_as_inputs) \
- FN(conv_float_channels_weights_as_inputs_relaxed) \
- FN(conv_float_large) \
- FN(conv_float_large_relaxed) \
- FN(conv_float_large_weights_as_inputs) \
- FN(conv_float_large_weights_as_inputs_relaxed) \
- FN(conv_float_relaxed) \
- FN(conv_float_weights_as_inputs) \
- FN(conv_float_weights_as_inputs_relaxed) \
- FN(conv_quant8) \
- FN(conv_quant8_2) \
- FN(conv_quant8_channels) \
- FN(conv_quant8_channels_weights_as_inputs) \
- FN(conv_quant8_large) \
- FN(conv_quant8_large_weights_as_inputs) \
- FN(conv_quant8_overflow) \
- FN(conv_quant8_overflow_weights_as_inputs) \
- FN(conv_quant8_weights_as_inputs) \
- FN(depth_to_space_float_1) \
- FN(depth_to_space_float_1_relaxed) \
- FN(depth_to_space_float_2) \
- FN(depth_to_space_float_2_relaxed) \
- FN(depth_to_space_float_3) \
- FN(depth_to_space_float_3_relaxed) \
- FN(depth_to_space_quant8_1) \
- FN(depth_to_space_quant8_2) \
- FN(depthwise_conv) \
- FN(depthwise_conv2d_float) \
- FN(depthwise_conv2d_float_2) \
- FN(depthwise_conv2d_float_large) \
- FN(depthwise_conv2d_float_large_2) \
- FN(depthwise_conv2d_float_large_2_weights_as_inputs) \
- FN(depthwise_conv2d_float_large_relaxed) \
- FN(depthwise_conv2d_float_large_weights_as_inputs) \
- FN(depthwise_conv2d_float_large_weights_as_inputs_relaxed) \
- FN(depthwise_conv2d_float_weights_as_inputs) \
- FN(depthwise_conv2d_quant8) \
- FN(depthwise_conv2d_quant8_2) \
- FN(depthwise_conv2d_quant8_large) \
- FN(depthwise_conv2d_quant8_large_weights_as_inputs) \
- FN(depthwise_conv2d_quant8_weights_as_inputs) \
- FN(depthwise_conv_relaxed) \
- FN(dequantize) \
- FN(div) \
- FN(embedding_lookup) \
- FN(embedding_lookup_relaxed) \
- FN(floor) \
- FN(floor_relaxed) \
- FN(fully_connected_float) \
- FN(fully_connected_float_2) \
- FN(fully_connected_float_large) \
- FN(fully_connected_float_large_weights_as_inputs) \
- FN(fully_connected_float_relaxed) \
- FN(fully_connected_float_weights_as_inputs) \
- FN(fully_connected_float_weights_as_inputs_relaxed) \
- FN(fully_connected_quant8) \
- FN(fully_connected_quant8_2) \
- FN(fully_connected_quant8_large) \
- FN(fully_connected_quant8_large_weights_as_inputs) \
- FN(fully_connected_quant8_weights_as_inputs) \
- FN(hashtable_lookup_float) \
- FN(hashtable_lookup_float_relaxed) \
- FN(hashtable_lookup_quant8) \
- FN(l2_normalization) \
- FN(l2_normalization_2) \
- FN(l2_normalization_large) \
- FN(l2_normalization_large_relaxed) \
- FN(l2_normalization_relaxed) \
- FN(l2_pool_float) \
- FN(l2_pool_float_2) \
- FN(l2_pool_float_large) \
- FN(l2_pool_float_relaxed) \
- FN(local_response_norm_float_1) \
- FN(local_response_norm_float_1_relaxed) \
- FN(local_response_norm_float_2) \
- FN(local_response_norm_float_2_relaxed) \
- FN(local_response_norm_float_3) \
- FN(local_response_norm_float_3_relaxed) \
- FN(local_response_norm_float_4) \
- FN(local_response_norm_float_4_relaxed) \
- FN(logistic_float_1) \
- FN(logistic_float_1_relaxed) \
- FN(logistic_float_2) \
- FN(logistic_float_2_relaxed) \
- FN(logistic_quant8_1) \
- FN(logistic_quant8_2) \
- FN(lsh_projection) \
- FN(lsh_projection_2) \
- FN(lsh_projection_2_relaxed) \
- FN(lsh_projection_relaxed) \
- FN(lsh_projection_weights_as_inputs) \
- FN(lsh_projection_weights_as_inputs_relaxed) \
- FN(lstm) \
- FN(lstm2) \
- FN(lstm2_relaxed) \
- FN(lstm2_state) \
- FN(lstm2_state2) \
- FN(lstm2_state2_relaxed) \
- FN(lstm2_state_relaxed) \
- FN(lstm3) \
- FN(lstm3_relaxed) \
- FN(lstm3_state) \
- FN(lstm3_state2) \
- FN(lstm3_state2_relaxed) \
- FN(lstm3_state3) \
- FN(lstm3_state3_relaxed) \
- FN(lstm3_state_relaxed) \
- FN(lstm_relaxed) \
- FN(lstm_state) \
- FN(lstm_state2) \
- FN(lstm_state2_relaxed) \
- FN(lstm_state_relaxed) \
- FN(max_pool_float_1) \
- FN(max_pool_float_1_relaxed) \
- FN(max_pool_float_2) \
- FN(max_pool_float_2_relaxed) \
- FN(max_pool_float_3) \
- FN(max_pool_float_3_relaxed) \
- FN(max_pool_float_4) \
- FN(max_pool_quant8_1) \
- FN(max_pool_quant8_2) \
- FN(max_pool_quant8_3) \
- FN(max_pool_quant8_4) \
- FN(mean) \
- FN(mean_float_1) \
- FN(mean_float_2) \
- FN(mean_quant8_1) \
- FN(mean_quant8_2) \
- FN(mobilenet_224_gender_basic_fixed) \
- FN(mobilenet_224_gender_basic_fixed_relaxed) \
- FN(mobilenet_quantized) \
- FN(mul) \
- FN(mul_broadcast_quant8) \
- FN(mul_quant8) \
- FN(mul_relaxed) \
- FN(mul_relu) \
- FN(mul_relu_relaxed) \
- FN(pad) \
- FN(pad_float_1) \
- FN(relu1_float_1) \
- FN(relu1_float_1_relaxed) \
- FN(relu1_float_2) \
- FN(relu1_float_2_relaxed) \
- FN(relu1_quant8_1) \
- FN(relu1_quant8_2) \
- FN(relu6_float_1) \
- FN(relu6_float_1_relaxed) \
- FN(relu6_float_2) \
- FN(relu6_float_2_relaxed) \
- FN(relu6_quant8_1) \
- FN(relu6_quant8_2) \
- FN(relu_float_1) \
- FN(relu_float_1_relaxed) \
- FN(relu_float_2) \
- FN(relu_quant8_1) \
- FN(relu_quant8_2) \
- FN(reshape) \
- FN(reshape_quant8) \
- FN(reshape_quant8_weights_as_inputs) \
- FN(reshape_relaxed) \
- FN(reshape_weights_as_inputs) \
- FN(reshape_weights_as_inputs_relaxed) \
- FN(resize_bilinear) \
- FN(resize_bilinear_2) \
- FN(resize_bilinear_relaxed) \
- FN(rnn) \
- FN(rnn_relaxed) \
- FN(rnn_state) \
- FN(rnn_state_relaxed) \
- FN(softmax_float_1) \
- FN(softmax_float_1_relaxed) \
- FN(softmax_float_2) \
- FN(softmax_float_2_relaxed) \
- FN(softmax_quant8_1) \
- FN(softmax_quant8_2) \
- FN(space_to_batch) \
- FN(space_to_batch_float_1) \
- FN(space_to_batch_float_2) \
- FN(space_to_batch_float_3) \
- FN(space_to_batch_quant8_1) \
- FN(space_to_batch_quant8_2) \
- FN(space_to_batch_quant8_3) \
- FN(space_to_depth_float_1) \
- FN(space_to_depth_float_1_relaxed) \
- FN(space_to_depth_float_2) \
- FN(space_to_depth_float_2_relaxed) \
- FN(space_to_depth_float_3) \
- FN(space_to_depth_float_3_relaxed) \
- FN(space_to_depth_quant8_1) \
- FN(space_to_depth_quant8_2) \
- FN(squeeze) \
- FN(squeeze_float_1) \
- FN(squeeze_quant8_1) \
- FN(strided_slice) \
- FN(strided_slice_float_1) \
- FN(strided_slice_float_10) \
- FN(strided_slice_float_2) \
- FN(strided_slice_float_3) \
- FN(strided_slice_float_4) \
- FN(strided_slice_float_5) \
- FN(strided_slice_float_6) \
- FN(strided_slice_float_7) \
- FN(strided_slice_float_8) \
- FN(strided_slice_float_9) \
- FN(strided_slice_qaunt8_10) \
- FN(strided_slice_quant8_1) \
- FN(strided_slice_quant8_2) \
- FN(strided_slice_quant8_3) \
- FN(strided_slice_quant8_4) \
- FN(strided_slice_quant8_5) \
- FN(strided_slice_quant8_6) \
- FN(strided_slice_quant8_7) \
- FN(strided_slice_quant8_8) \
- FN(strided_slice_quant8_9) \
- FN(sub) \
- FN(svdf) \
- FN(svdf2) \
- FN(svdf2_relaxed) \
- FN(svdf_relaxed) \
- FN(svdf_state) \
- FN(svdf_state_relaxed) \
- FN(tanh) \
- FN(tanh_relaxed) \
- FN(transpose) \
- FN(transpose_float_1) \
- FN(transpose_quant8_1)
+#define FOR_EACH_TEST_MODEL(FN) \
+ FN(add) \
+ FN(add_broadcast_quant8) \
+ FN(add_quant8) \
+ FN(add_relaxed) \
+ FN(avg_pool_float_1) \
+ FN(avg_pool_float_1_relaxed) \
+ FN(avg_pool_float_2) \
+ FN(avg_pool_float_2_relaxed) \
+ FN(avg_pool_float_3) \
+ FN(avg_pool_float_3_relaxed) \
+ FN(avg_pool_float_4) \
+ FN(avg_pool_float_4_relaxed) \
+ FN(avg_pool_float_5) \
+ FN(avg_pool_float_5_relaxed) \
+ FN(avg_pool_quant8_1) \
+ FN(avg_pool_quant8_2) \
+ FN(avg_pool_quant8_3) \
+ FN(avg_pool_quant8_4) \
+ FN(avg_pool_quant8_5) \
+ FN(batch_to_space) \
+ FN(batch_to_space_float_1) \
+ FN(batch_to_space_float_1_relaxed) \
+ FN(batch_to_space_quant8_1) \
+ FN(batch_to_space_relaxed) \
+ FN(concat_float_1) \
+ FN(concat_float_1_relaxed) \
+ FN(concat_float_2) \
+ FN(concat_float_2_relaxed) \
+ FN(concat_float_3) \
+ FN(concat_float_3_relaxed) \
+ FN(concat_quant8_1) \
+ FN(concat_quant8_2) \
+ FN(concat_quant8_3) \
+ FN(conv_1_h3_w2_SAME) \
+ FN(conv_1_h3_w2_SAME_relaxed) \
+ FN(conv_1_h3_w2_VALID) \
+ FN(conv_1_h3_w2_VALID_relaxed) \
+ FN(conv_3_h3_w2_SAME) \
+ FN(conv_3_h3_w2_SAME_relaxed) \
+ FN(conv_3_h3_w2_VALID) \
+ FN(conv_3_h3_w2_VALID_relaxed) \
+ FN(conv_float) \
+ FN(conv_float_2) \
+ FN(conv_float_2_relaxed) \
+ FN(conv_float_channels) \
+ FN(conv_float_channels_relaxed) \
+ FN(conv_float_channels_weights_as_inputs) \
+ FN(conv_float_channels_weights_as_inputs_relaxed) \
+ FN(conv_float_large) \
+ FN(conv_float_large_relaxed) \
+ FN(conv_float_large_weights_as_inputs) \
+ FN(conv_float_large_weights_as_inputs_relaxed) \
+ FN(conv_float_relaxed) \
+ FN(conv_float_weights_as_inputs) \
+ FN(conv_float_weights_as_inputs_relaxed) \
+ FN(conv_quant8) \
+ FN(conv_quant8_2) \
+ FN(conv_quant8_channels) \
+ FN(conv_quant8_channels_weights_as_inputs) \
+ FN(conv_quant8_large) \
+ FN(conv_quant8_large_weights_as_inputs) \
+ FN(conv_quant8_overflow) \
+ FN(conv_quant8_overflow_weights_as_inputs) \
+ FN(conv_quant8_weights_as_inputs) \
+ FN(depth_to_space_float_1) \
+ FN(depth_to_space_float_1_relaxed) \
+ FN(depth_to_space_float_2) \
+ FN(depth_to_space_float_2_relaxed) \
+ FN(depth_to_space_float_3) \
+ FN(depth_to_space_float_3_relaxed) \
+ FN(depth_to_space_quant8_1) \
+ FN(depth_to_space_quant8_2) \
+ FN(depthwise_conv) \
+ FN(depthwise_conv2d_float) \
+ FN(depthwise_conv2d_float_2) \
+ FN(depthwise_conv2d_float_2_relaxed) \
+ FN(depthwise_conv2d_float_large) \
+ FN(depthwise_conv2d_float_large_2) \
+ FN(depthwise_conv2d_float_large_2_relaxed) \
+ FN(depthwise_conv2d_float_large_2_weights_as_inputs) \
+ FN(depthwise_conv2d_float_large_2_weights_as_inputs_relaxed) \
+ FN(depthwise_conv2d_float_large_relaxed) \
+ FN(depthwise_conv2d_float_large_weights_as_inputs) \
+ FN(depthwise_conv2d_float_large_weights_as_inputs_relaxed) \
+ FN(depthwise_conv2d_float_relaxed) \
+ FN(depthwise_conv2d_float_weights_as_inputs) \
+ FN(depthwise_conv2d_float_weights_as_inputs_relaxed) \
+ FN(depthwise_conv2d_quant8) \
+ FN(depthwise_conv2d_quant8_2) \
+ FN(depthwise_conv2d_quant8_large) \
+ FN(depthwise_conv2d_quant8_large_weights_as_inputs) \
+ FN(depthwise_conv2d_quant8_weights_as_inputs) \
+ FN(depthwise_conv_relaxed) \
+ FN(dequantize) \
+ FN(dequantize_relaxed) \
+ FN(div) \
+ FN(div_broadcast_float) \
+ FN(div_broadcast_float_relaxed) \
+ FN(div_relaxed) \
+ FN(embedding_lookup) \
+ FN(embedding_lookup_relaxed) \
+ FN(floor) \
+ FN(floor_relaxed) \
+ FN(fully_connected_float) \
+ FN(fully_connected_float_2) \
+ FN(fully_connected_float_2_relaxed) \
+ FN(fully_connected_float_4d_simple) \
+ FN(fully_connected_float_4d_simple_relaxed) \
+ FN(fully_connected_float_large) \
+ FN(fully_connected_float_large_relaxed) \
+ FN(fully_connected_float_large_weights_as_inputs) \
+ FN(fully_connected_float_large_weights_as_inputs_relaxed) \
+ FN(fully_connected_float_relaxed) \
+ FN(fully_connected_float_weights_as_inputs) \
+ FN(fully_connected_float_weights_as_inputs_relaxed) \
+ FN(fully_connected_quant8) \
+ FN(fully_connected_quant8_2) \
+ FN(fully_connected_quant8_large) \
+ FN(fully_connected_quant8_large_weights_as_inputs) \
+ FN(fully_connected_quant8_weights_as_inputs) \
+ FN(hashtable_lookup_float) \
+ FN(hashtable_lookup_float_relaxed) \
+ FN(hashtable_lookup_quant8) \
+ FN(l2_normalization) \
+ FN(l2_normalization_2) \
+ FN(l2_normalization_2_relaxed) \
+ FN(l2_normalization_large) \
+ FN(l2_normalization_large_relaxed) \
+ FN(l2_normalization_relaxed) \
+ FN(l2_pool_float) \
+ FN(l2_pool_float_2) \
+ FN(l2_pool_float_2_relaxed) \
+ FN(l2_pool_float_large) \
+ FN(l2_pool_float_large_relaxed) \
+ FN(l2_pool_float_relaxed) \
+ FN(local_response_norm_float_1) \
+ FN(local_response_norm_float_1_relaxed) \
+ FN(local_response_norm_float_2) \
+ FN(local_response_norm_float_2_relaxed) \
+ FN(local_response_norm_float_3) \
+ FN(local_response_norm_float_3_relaxed) \
+ FN(local_response_norm_float_4) \
+ FN(local_response_norm_float_4_relaxed) \
+ FN(logistic_float_1) \
+ FN(logistic_float_1_relaxed) \
+ FN(logistic_float_2) \
+ FN(logistic_float_2_relaxed) \
+ FN(logistic_quant8_1) \
+ FN(logistic_quant8_2) \
+ FN(lsh_projection) \
+ FN(lsh_projection_2) \
+ FN(lsh_projection_2_relaxed) \
+ FN(lsh_projection_relaxed) \
+ FN(lsh_projection_weights_as_inputs) \
+ FN(lsh_projection_weights_as_inputs_relaxed) \
+ FN(lstm) \
+ FN(lstm2) \
+ FN(lstm2_relaxed) \
+ FN(lstm2_state) \
+ FN(lstm2_state2) \
+ FN(lstm2_state2_relaxed) \
+ FN(lstm2_state_relaxed) \
+ FN(lstm3) \
+ FN(lstm3_relaxed) \
+ FN(lstm3_state) \
+ FN(lstm3_state2) \
+ FN(lstm3_state2_relaxed) \
+ FN(lstm3_state3) \
+ FN(lstm3_state3_relaxed) \
+ FN(lstm3_state_relaxed) \
+ FN(lstm_relaxed) \
+ FN(lstm_state) \
+ FN(lstm_state2) \
+ FN(lstm_state2_relaxed) \
+ FN(lstm_state_relaxed) \
+ FN(max_pool_float_1) \
+ FN(max_pool_float_1_relaxed) \
+ FN(max_pool_float_2) \
+ FN(max_pool_float_2_relaxed) \
+ FN(max_pool_float_3) \
+ FN(max_pool_float_3_relaxed) \
+ FN(max_pool_float_4) \
+ FN(max_pool_float_4_relaxed) \
+ FN(max_pool_quant8_1) \
+ FN(max_pool_quant8_2) \
+ FN(max_pool_quant8_3) \
+ FN(max_pool_quant8_4) \
+ FN(mean) \
+ FN(mean_float_1) \
+ FN(mean_float_1_relaxed) \
+ FN(mean_float_2) \
+ FN(mean_float_2_relaxed) \
+ FN(mean_quant8_1) \
+ FN(mean_quant8_2) \
+ FN(mean_relaxed) \
+ FN(mobilenet_224_gender_basic_fixed) \
+ FN(mobilenet_224_gender_basic_fixed_relaxed) \
+ FN(mobilenet_quantized) \
+ FN(mul) \
+ FN(mul_broadcast_quant8) \
+ FN(mul_quant8) \
+ FN(mul_relaxed) \
+ FN(mul_relu) \
+ FN(mul_relu_relaxed) \
+ FN(pad) \
+ FN(pad_float_1) \
+ FN(pad_float_1_relaxed) \
+ FN(pad_relaxed) \
+ FN(relu1_float_1) \
+ FN(relu1_float_1_relaxed) \
+ FN(relu1_float_2) \
+ FN(relu1_float_2_relaxed) \
+ FN(relu1_quant8_1) \
+ FN(relu1_quant8_2) \
+ FN(relu6_float_1) \
+ FN(relu6_float_1_relaxed) \
+ FN(relu6_float_2) \
+ FN(relu6_float_2_relaxed) \
+ FN(relu6_quant8_1) \
+ FN(relu6_quant8_2) \
+ FN(relu_float_1) \
+ FN(relu_float_1_relaxed) \
+ FN(relu_float_2) \
+ FN(relu_float_2_relaxed) \
+ FN(relu_quant8_1) \
+ FN(relu_quant8_2) \
+ FN(reshape) \
+ FN(reshape_quant8) \
+ FN(reshape_quant8_weights_as_inputs) \
+ FN(reshape_relaxed) \
+ FN(reshape_weights_as_inputs) \
+ FN(reshape_weights_as_inputs_relaxed) \
+ FN(resize_bilinear) \
+ FN(resize_bilinear_2) \
+ FN(resize_bilinear_2_relaxed) \
+ FN(resize_bilinear_relaxed) \
+ FN(rnn) \
+ FN(rnn_relaxed) \
+ FN(rnn_state) \
+ FN(rnn_state_relaxed) \
+ FN(softmax_float_1) \
+ FN(softmax_float_1_relaxed) \
+ FN(softmax_float_2) \
+ FN(softmax_float_2_relaxed) \
+ FN(softmax_quant8_1) \
+ FN(softmax_quant8_2) \
+ FN(space_to_batch) \
+ FN(space_to_batch_float_1) \
+ FN(space_to_batch_float_1_relaxed) \
+ FN(space_to_batch_float_2) \
+ FN(space_to_batch_float_2_relaxed) \
+ FN(space_to_batch_float_3) \
+ FN(space_to_batch_float_3_relaxed) \
+ FN(space_to_batch_quant8_1) \
+ FN(space_to_batch_quant8_2) \
+ FN(space_to_batch_quant8_3) \
+ FN(space_to_batch_relaxed) \
+ FN(space_to_depth_float_1) \
+ FN(space_to_depth_float_1_relaxed) \
+ FN(space_to_depth_float_2) \
+ FN(space_to_depth_float_2_relaxed) \
+ FN(space_to_depth_float_3) \
+ FN(space_to_depth_float_3_relaxed) \
+ FN(space_to_depth_quant8_1) \
+ FN(space_to_depth_quant8_2) \
+ FN(squeeze) \
+ FN(squeeze_float_1) \
+ FN(squeeze_float_1_relaxed) \
+ FN(squeeze_quant8_1) \
+ FN(squeeze_relaxed) \
+ FN(strided_slice) \
+ FN(strided_slice_float_1) \
+ FN(strided_slice_float_10) \
+ FN(strided_slice_float_10_relaxed) \
+ FN(strided_slice_float_11) \
+ FN(strided_slice_float_11_relaxed) \
+ FN(strided_slice_float_1_relaxed) \
+ FN(strided_slice_float_2) \
+ FN(strided_slice_float_2_relaxed) \
+ FN(strided_slice_float_3) \
+ FN(strided_slice_float_3_relaxed) \
+ FN(strided_slice_float_4) \
+ FN(strided_slice_float_4_relaxed) \
+ FN(strided_slice_float_5) \
+ FN(strided_slice_float_5_relaxed) \
+ FN(strided_slice_float_6) \
+ FN(strided_slice_float_6_relaxed) \
+ FN(strided_slice_float_7) \
+ FN(strided_slice_float_7_relaxed) \
+ FN(strided_slice_float_8) \
+ FN(strided_slice_float_8_relaxed) \
+ FN(strided_slice_float_9) \
+ FN(strided_slice_float_9_relaxed) \
+ FN(strided_slice_qaunt8_10) \
+ FN(strided_slice_qaunt8_11) \
+ FN(strided_slice_quant8_1) \
+ FN(strided_slice_quant8_2) \
+ FN(strided_slice_quant8_3) \
+ FN(strided_slice_quant8_4) \
+ FN(strided_slice_quant8_5) \
+ FN(strided_slice_quant8_6) \
+ FN(strided_slice_quant8_7) \
+ FN(strided_slice_quant8_8) \
+ FN(strided_slice_quant8_9) \
+ FN(strided_slice_relaxed) \
+ FN(sub) \
+ FN(sub_broadcast_float) \
+ FN(sub_broadcast_float_relaxed) \
+ FN(sub_relaxed) \
+ FN(svdf) \
+ FN(svdf2) \
+ FN(svdf2_relaxed) \
+ FN(svdf_relaxed) \
+ FN(svdf_state) \
+ FN(svdf_state_relaxed) \
+ FN(tanh) \
+ FN(tanh_relaxed) \
+ FN(transpose) \
+ FN(transpose_float_1) \
+ FN(transpose_float_1_relaxed) \
+ FN(transpose_quant8_1) \
+ FN(transpose_relaxed)
#define FORWARD_DECLARE_GENERATED_OBJECTS(function) \
namespace function { \
diff --git a/neuralnetworks/1.1/vts/functional/ValidateRequest.cpp b/neuralnetworks/1.1/vts/functional/ValidateRequest.cpp
index b42f561..687b760 100644
--- a/neuralnetworks/1.1/vts/functional/ValidateRequest.cpp
+++ b/neuralnetworks/1.1/vts/functional/ValidateRequest.cpp
@@ -36,9 +36,9 @@
using ::android::hardware::neuralnetworks::V1_0::implementation::ExecutionCallback;
using ::android::hardware::neuralnetworks::V1_0::implementation::PreparedModelCallback;
using ::android::hidl::memory::V1_0::IMemory;
-using generated_tests::MixedTyped;
-using generated_tests::MixedTypedExampleType;
-using generated_tests::for_all;
+using test_helper::MixedTyped;
+using test_helper::MixedTypedExampleType;
+using test_helper::for_all;
///////////////////////// UTILITY FUNCTIONS /////////////////////////
diff --git a/radio/1.0/vts/functional/radio_hidl_hal_cell_broadcast.cpp b/radio/1.0/vts/functional/radio_hidl_hal_cell_broadcast.cpp
index 8c4ccf6..2c1eb60 100644
--- a/radio/1.0/vts/functional/radio_hidl_hal_cell_broadcast.cpp
+++ b/radio/1.0/vts/functional/radio_hidl_hal_cell_broadcast.cpp
@@ -22,7 +22,7 @@
* Test IRadio.setGsmBroadcastConfig() for the response returned.
*/
TEST_F(RadioHidlTest, setGsmBroadcastConfig) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
// Create GsmBroadcastSmsConfigInfo #1
GsmBroadcastSmsConfigInfo gbSmsConfig1;
@@ -85,7 +85,7 @@
* Test IRadio.getGsmBroadcastConfig() for the response returned.
*/
TEST_F(RadioHidlTest, getGsmBroadcastConfig) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->getGsmBroadcastConfig(serial);
@@ -105,7 +105,7 @@
* Test IRadio.setCdmaBroadcastConfig() for the response returned.
*/
TEST_F(RadioHidlTest, setCdmaBroadcastConfig) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
CdmaBroadcastSmsConfigInfo cbSmsConfig;
cbSmsConfig.serviceCategory = 4096;
@@ -132,7 +132,7 @@
* Test IRadio.getCdmaBroadcastConfig() for the response returned.
*/
TEST_F(RadioHidlTest, getCdmaBroadcastConfig) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->getCdmaBroadcastConfig(serial);
@@ -150,7 +150,7 @@
* Test IRadio.setCdmaBroadcastActivation() for the response returned.
*/
TEST_F(RadioHidlTest, setCdmaBroadcastActivation) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
bool activate = false;
radio->setCdmaBroadcastActivation(serial, activate);
@@ -170,7 +170,7 @@
* Test IRadio.setGsmBroadcastActivation() for the response returned.
*/
TEST_F(RadioHidlTest, setGsmBroadcastActivation) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
bool activate = false;
radio->setGsmBroadcastActivation(serial, activate);
diff --git a/radio/1.0/vts/functional/radio_hidl_hal_data.cpp b/radio/1.0/vts/functional/radio_hidl_hal_data.cpp
index 9496688..4f10f11 100644
--- a/radio/1.0/vts/functional/radio_hidl_hal_data.cpp
+++ b/radio/1.0/vts/functional/radio_hidl_hal_data.cpp
@@ -22,7 +22,7 @@
* Test IRadio.getDataRegistrationState() for the response returned.
*/
TEST_F(RadioHidlTest, getDataRegistrationState) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->getDataRegistrationState(serial);
@@ -39,7 +39,7 @@
* Test IRadio.setupDataCall() for the response returned.
*/
TEST_F(RadioHidlTest, setupDataCall) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
RadioTechnology radioTechnology = RadioTechnology::LTE;
@@ -70,7 +70,7 @@
radio->setupDataCall(serial, radioTechnology, dataProfileInfo, modemCognitive, roamingAllowed,
isRoaming);
- EXPECT_EQ(std::cv_status::no_timeout, wait());
+ EXPECT_EQ(std::cv_status::no_timeout, wait(300));
EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
EXPECT_EQ(serial, radioRsp->rspInfo.serial);
@@ -87,7 +87,7 @@
* Test IRadio.deactivateDataCall() for the response returned.
*/
TEST_F(RadioHidlTest, deactivateDataCall) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
int cid = 1;
bool reasonRadioShutDown = false;
@@ -109,7 +109,7 @@
* Test IRadio.getDataCallList() for the response returned.
*/
TEST_F(RadioHidlTest, getDataCallList) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->getDataCallList(serial);
@@ -128,7 +128,7 @@
* Test IRadio.setInitialAttachApn() for the response returned.
*/
TEST_F(RadioHidlTest, setInitialAttachApn) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
DataProfileInfo dataProfileInfo;
memset(&dataProfileInfo, 0, sizeof(dataProfileInfo));
@@ -171,7 +171,7 @@
* Test IRadio.setDataAllowed() for the response returned.
*/
TEST_F(RadioHidlTest, setDataAllowed) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
bool allow = true;
radio->setDataAllowed(serial, allow);
@@ -189,7 +189,7 @@
* Test IRadio.setDataProfile() for the response returned.
*/
TEST_F(RadioHidlTest, setDataProfile) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
// Create a dataProfileInfo
DataProfileInfo dataProfileInfo;
diff --git a/radio/1.0/vts/functional/radio_hidl_hal_icc.cpp b/radio/1.0/vts/functional/radio_hidl_hal_icc.cpp
index 566a516..b764b13 100644
--- a/radio/1.0/vts/functional/radio_hidl_hal_icc.cpp
+++ b/radio/1.0/vts/functional/radio_hidl_hal_icc.cpp
@@ -30,7 +30,7 @@
* Test IRadio.supplyIccPinForApp() for the response returned
*/
TEST_F(RadioHidlTest, supplyIccPinForApp) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
// Pass wrong password and check PASSWORD_INCORRECT returned for 3GPP and
// 3GPP2 apps only
@@ -53,7 +53,7 @@
* Test IRadio.supplyIccPukForApp() for the response returned.
*/
TEST_F(RadioHidlTest, supplyIccPukForApp) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
// Pass wrong password and check PASSWORD_INCORRECT returned for 3GPP and
// 3GPP2 apps only
@@ -76,7 +76,7 @@
* Test IRadio.supplyIccPin2ForApp() for the response returned.
*/
TEST_F(RadioHidlTest, supplyIccPin2ForApp) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
// Pass wrong password and check PASSWORD_INCORRECT returned for 3GPP and
// 3GPP2 apps only
@@ -99,7 +99,7 @@
* Test IRadio.supplyIccPuk2ForApp() for the response returned.
*/
TEST_F(RadioHidlTest, supplyIccPuk2ForApp) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
// Pass wrong password and check PASSWORD_INCORRECT returned for 3GPP and
// 3GPP2 apps only
@@ -122,7 +122,7 @@
* Test IRadio.changeIccPinForApp() for the response returned.
*/
TEST_F(RadioHidlTest, changeIccPinForApp) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
// Pass wrong password and check PASSWORD_INCORRECT returned for 3GPP and
// 3GPP2 apps only
@@ -145,7 +145,7 @@
* Test IRadio.changeIccPin2ForApp() for the response returned.
*/
TEST_F(RadioHidlTest, changeIccPin2ForApp) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
// Pass wrong password and check PASSWORD_INCORRECT returned for 3GPP and
// 3GPP2 apps only
@@ -168,7 +168,7 @@
* Test IRadio.getImsiForApp() for the response returned.
*/
TEST_F(RadioHidlTest, getImsiForApp) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
// Check success returned while getting imsi for 3GPP and 3GPP2 apps only
for (int i = 0; i < (int)cardStatus.applications.size(); i++) {
@@ -196,7 +196,7 @@
* Test IRadio.iccIOForApp() for the response returned.
*/
TEST_F(RadioHidlTest, iccIOForApp) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
for (int i = 0; i < (int)cardStatus.applications.size(); i++) {
IccIo iccIo;
@@ -221,7 +221,7 @@
* Test IRadio.iccTransmitApduBasicChannel() for the response returned.
*/
TEST_F(RadioHidlTest, iccTransmitApduBasicChannel) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
SimApdu msg;
memset(&msg, 0, sizeof(msg));
msg.data = hidl_string();
@@ -238,7 +238,7 @@
* Test IRadio.iccOpenLogicalChannel() for the response returned.
*/
TEST_F(RadioHidlTest, iccOpenLogicalChannel) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
int p2 = 0x04;
// Specified in ISO 7816-4 clause 7.1.1 0x04 means that FCP template is requested.
for (int i = 0; i < (int)cardStatus.applications.size(); i++) {
@@ -253,7 +253,7 @@
* Test IRadio.iccCloseLogicalChannel() for the response returned.
*/
TEST_F(RadioHidlTest, iccCloseLogicalChannel) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
// Try closing invalid channel and check INVALID_ARGUMENTS returned as error
radio->iccCloseLogicalChannel(serial, 0);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -267,7 +267,7 @@
* Test IRadio.iccTransmitApduLogicalChannel() for the response returned.
*/
TEST_F(RadioHidlTest, iccTransmitApduLogicalChannel) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
SimApdu msg;
memset(&msg, 0, sizeof(msg));
msg.data = hidl_string();
@@ -284,17 +284,18 @@
* Test IRadio.requestIccSimAuthentication() for the response returned.
*/
TEST_F(RadioHidlTest, requestIccSimAuthentication) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
// Pass wrong challenge string and check RadioError::INVALID_ARGUMENTS
- // returned as error.
+ // or REQUEST_NOT_SUPPORTED returned as error.
for (int i = 0; i < (int)cardStatus.applications.size(); i++) {
radio->requestIccSimAuthentication(serial, 0, hidl_string("test"),
cardStatus.applications[i].aidPtr);
EXPECT_EQ(std::cv_status::no_timeout, wait());
EXPECT_EQ(serial, radioRsp->rspInfo.serial);
EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
- EXPECT_EQ(RadioError::INVALID_ARGUMENTS, radioRsp->rspInfo.error);
+ ASSERT_TRUE(CheckAnyOfErrors(radioRsp->rspInfo.error, {RadioError::INVALID_ARGUMENTS,
+ RadioError::REQUEST_NOT_SUPPORTED}));
}
}
@@ -302,7 +303,7 @@
* Test IRadio.supplyNetworkDepersonalization() for the response returned.
*/
TEST_F(RadioHidlTest, supplyNetworkDepersonalization) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->supplyNetworkDepersonalization(serial, hidl_string("test"));
EXPECT_EQ(std::cv_status::no_timeout, wait());
diff --git a/radio/1.0/vts/functional/radio_hidl_hal_ims.cpp b/radio/1.0/vts/functional/radio_hidl_hal_ims.cpp
index 4574678..4331c06 100644
--- a/radio/1.0/vts/functional/radio_hidl_hal_ims.cpp
+++ b/radio/1.0/vts/functional/radio_hidl_hal_ims.cpp
@@ -22,7 +22,7 @@
* Test IRadio.getClir() for the response returned.
*/
TEST_F(RadioHidlTest, getClir) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->getClir(serial);
@@ -40,7 +40,7 @@
* Test IRadio.setClir() for the response returned.
*/
TEST_F(RadioHidlTest, setClir) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
int32_t status = 1;
radio->setClir(serial, status);
@@ -58,7 +58,7 @@
* Test IRadio.getFacilityLockForApp() for the response returned.
*/
TEST_F(RadioHidlTest, getFacilityLockForApp) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
std::string facility = "";
std::string password = "";
int32_t serviceClass = 1;
@@ -81,7 +81,7 @@
* Test IRadio.setFacilityLockForApp() for the response returned.
*/
TEST_F(RadioHidlTest, setFacilityLockForApp) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
std::string facility = "";
bool lockState = false;
std::string password = "";
@@ -105,7 +105,7 @@
* Test IRadio.setBarringPassword() for the response returned.
*/
TEST_F(RadioHidlTest, setBarringPassword) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
std::string facility = "";
std::string oldPassword = "";
std::string newPassword = "";
@@ -128,7 +128,7 @@
* Test IRadio.getClip() for the response returned.
*/
TEST_F(RadioHidlTest, getClip) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->getClip(serial);
@@ -146,7 +146,7 @@
* Test IRadio.setSuppServiceNotifications() for the response returned.
*/
TEST_F(RadioHidlTest, setSuppServiceNotifications) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
bool enable = false;
radio->setSuppServiceNotifications(serial, enable);
@@ -165,7 +165,7 @@
* Test IRadio.requestIsimAuthentication() for the response returned.
*/
TEST_F(RadioHidlTest, requestIsimAuthentication) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
std::string challenge = "";
radio->requestIsimAuthentication(serial, challenge);
@@ -187,7 +187,7 @@
* Test IRadio.getImsRegistrationState() for the response returned.
*/
TEST_F(RadioHidlTest, getImsRegistrationState) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->getImsRegistrationState(serial);
diff --git a/radio/1.0/vts/functional/radio_hidl_hal_misc.cpp b/radio/1.0/vts/functional/radio_hidl_hal_misc.cpp
index cb0a730..bc03cf1 100644
--- a/radio/1.0/vts/functional/radio_hidl_hal_misc.cpp
+++ b/radio/1.0/vts/functional/radio_hidl_hal_misc.cpp
@@ -20,7 +20,7 @@
* Test IRadio.getSignalStrength() for the response returned.
*/
TEST_F(RadioHidlTest, getSignalStrength) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->getSignalStrength(serial);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -36,7 +36,7 @@
* Test IRadio.getVoiceRegistrationState() for the response returned.
*/
TEST_F(RadioHidlTest, getVoiceRegistrationState) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->getVoiceRegistrationState(serial);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -52,7 +52,7 @@
* Test IRadio.getOperator() for the response returned.
*/
TEST_F(RadioHidlTest, getOperator) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->getOperator(serial);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -68,7 +68,7 @@
* Test IRadio.setRadioPower() for the response returned.
*/
TEST_F(RadioHidlTest, setRadioPower) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->setRadioPower(serial, 1);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -84,7 +84,7 @@
* Test IRadio.getNetworkSelectionMode() for the response returned.
*/
TEST_F(RadioHidlTest, getNetworkSelectionMode) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->getNetworkSelectionMode(serial);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -100,7 +100,7 @@
* Test IRadio.setNetworkSelectionModeAutomatic() for the response returned.
*/
TEST_F(RadioHidlTest, setNetworkSelectionModeAutomatic) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->setNetworkSelectionModeAutomatic(serial);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -119,7 +119,7 @@
* Test IRadio.setNetworkSelectionModeManual() for the response returned.
*/
TEST_F(RadioHidlTest, setNetworkSelectionModeManual) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->setNetworkSelectionModeManual(serial, "123456");
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -138,7 +138,7 @@
* Test IRadio.getAvailableNetworks() for the response returned.
*/
TEST_F(RadioHidlTest, getAvailableNetworks) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->getAvailableNetworks(serial);
EXPECT_EQ(std::cv_status::no_timeout, wait(300));
@@ -159,7 +159,7 @@
* Test IRadio.getBasebandVersion() for the response returned.
*/
TEST_F(RadioHidlTest, getBasebandVersion) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->getBasebandVersion(serial);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -175,7 +175,7 @@
* Test IRadio.setBandMode() for the response returned.
*/
TEST_F(RadioHidlTest, setBandMode) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->setBandMode(serial, RadioBandMode::BAND_MODE_USA);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -192,7 +192,7 @@
* Test IRadio.getAvailableBandModes() for the response returned.
*/
TEST_F(RadioHidlTest, getAvailableBandModes) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->getAvailableBandModes(serial);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -208,7 +208,7 @@
* Test IRadio.setPreferredNetworkType() for the response returned.
*/
TEST_F(RadioHidlTest, setPreferredNetworkType) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->setPreferredNetworkType(serial, PreferredNetworkType::GSM_ONLY);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -225,7 +225,7 @@
* Test IRadio.getPreferredNetworkType() for the response returned.
*/
TEST_F(RadioHidlTest, getPreferredNetworkType) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->getPreferredNetworkType(serial);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -241,7 +241,7 @@
* Test IRadio.getNeighboringCids() for the response returned.
*/
TEST_F(RadioHidlTest, getNeighboringCids) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->getNeighboringCids(serial);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -259,7 +259,7 @@
* Test IRadio.setLocationUpdates() for the response returned.
*/
TEST_F(RadioHidlTest, setLocationUpdates) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->setLocationUpdates(serial, true);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -276,7 +276,7 @@
* Test IRadio.setCdmaRoamingPreference() for the response returned.
*/
TEST_F(RadioHidlTest, setCdmaRoamingPreference) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->setCdmaRoamingPreference(serial, CdmaRoamingType::HOME_NETWORK);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -294,7 +294,7 @@
* Test IRadio.getCdmaRoamingPreference() for the response returned.
*/
TEST_F(RadioHidlTest, getCdmaRoamingPreference) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->getCdmaRoamingPreference(serial);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -313,7 +313,7 @@
* Test IRadio.getTTYMode() for the response returned.
*/
TEST_F(RadioHidlTest, getTTYMode) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->getTTYMode(serial);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -329,7 +329,7 @@
* Test IRadio.setTTYMode() for the response returned.
*/
TEST_F(RadioHidlTest, setTTYMode) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->setTTYMode(serial, TtyMode::OFF);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -345,7 +345,7 @@
* Test IRadio.setPreferredVoicePrivacy() for the response returned.
*/
TEST_F(RadioHidlTest, setPreferredVoicePrivacy) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->setPreferredVoicePrivacy(serial, true);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -362,7 +362,7 @@
* Test IRadio.getPreferredVoicePrivacy() for the response returned.
*/
TEST_F(RadioHidlTest, getPreferredVoicePrivacy) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->getPreferredVoicePrivacy(serial);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -379,7 +379,7 @@
* Test IRadio.getCDMASubscription() for the response returned.
*/
TEST_F(RadioHidlTest, getCDMASubscription) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->getCDMASubscription(serial);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -397,7 +397,7 @@
* Test IRadio.getDeviceIdentity() for the response returned.
*/
TEST_F(RadioHidlTest, getDeviceIdentity) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->getDeviceIdentity(serial);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -414,7 +414,7 @@
* Test IRadio.exitEmergencyCallbackMode() for the response returned.
*/
TEST_F(RadioHidlTest, exitEmergencyCallbackMode) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->exitEmergencyCallbackMode(serial);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -432,7 +432,7 @@
* Test IRadio.getCdmaSubscriptionSource() for the response returned.
*/
TEST_F(RadioHidlTest, getCdmaSubscriptionSource) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->getCdmaSubscriptionSource(serial);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -450,7 +450,7 @@
* Test IRadio.setCdmaSubscriptionSource() for the response returned.
*/
TEST_F(RadioHidlTest, setCdmaSubscriptionSource) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->setCdmaSubscriptionSource(serial, CdmaSubscriptionSource::RUIM_SIM);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -469,7 +469,7 @@
* Test IRadio.getVoiceRadioTechnology() for the response returned.
*/
TEST_F(RadioHidlTest, getVoiceRadioTechnology) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->getVoiceRadioTechnology(serial);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -485,7 +485,7 @@
* Test IRadio.getCellInfoList() for the response returned.
*/
TEST_F(RadioHidlTest, getCellInfoList) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->getCellInfoList(serial);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -503,7 +503,7 @@
* Test IRadio.setCellInfoListRate() for the response returned.
*/
TEST_F(RadioHidlTest, setCellInfoListRate) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
// TODO(sanketpadawe): RIL crashes with value of rate = 10
radio->setCellInfoListRate(serial, 10);
@@ -521,7 +521,7 @@
* Test IRadio.nvReadItem() for the response returned.
*/
TEST_F(RadioHidlTest, nvReadItem) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->nvReadItem(serial, NvItem::LTE_BAND_ENABLE_25);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -538,7 +538,7 @@
* Test IRadio.nvWriteItem() for the response returned.
*/
TEST_F(RadioHidlTest, nvWriteItem) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
NvWriteItem item;
memset(&item, 0, sizeof(item));
item.value = hidl_string();
@@ -558,7 +558,7 @@
* Test IRadio.nvWriteCdmaPrl() for the response returned.
*/
TEST_F(RadioHidlTest, nvWriteCdmaPrl) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
std::vector<uint8_t> prl = {1, 2, 3, 4, 5};
radio->nvWriteCdmaPrl(serial, hidl_vec<uint8_t>(prl));
@@ -576,9 +576,9 @@
* Test IRadio.nvResetConfig() for the response returned.
*/
TEST_F(RadioHidlTest, nvResetConfig) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
- radio->nvResetConfig(++serial, ResetNvType::ERASE);
+ radio->nvResetConfig(serial, ResetNvType::ERASE);
EXPECT_EQ(std::cv_status::no_timeout, wait());
EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
EXPECT_EQ(serial, radioRsp->rspInfo.serial);
@@ -593,7 +593,7 @@
* Test IRadio.setUiccSubscription() for the response returned.
*/
TEST_F(RadioHidlTest, setUiccSubscription) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
SelectUiccSub item;
memset(&item, 0, sizeof(item));
@@ -615,7 +615,7 @@
* Test IRadio.getHardwareConfig() for the response returned.
*/
TEST_F(RadioHidlTest, getHardwareConfig) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->getHardwareConfig(serial);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -632,7 +632,7 @@
* Test IRadio.requestShutdown() for the response returned.
*/
TEST_F(RadioHidlTest, requestShutdown) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->requestShutdown(serial);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -649,7 +649,7 @@
* Test IRadio.getRadioCapability() for the response returned.
*/
TEST_F(RadioHidlTest, getRadioCapability) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->getRadioCapability(serial);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -665,7 +665,7 @@
* Test IRadio.setRadioCapability() for the response returned.
*/
TEST_F(RadioHidlTest, setRadioCapability) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
RadioCapability rc;
memset(&rc, 0, sizeof(rc));
rc.logicalModemUuid = hidl_string();
@@ -686,7 +686,7 @@
* Test IRadio.startLceService() for the response returned.
*/
TEST_F(RadioHidlTest, startLceService) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->startLceService(serial, 5, true);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -704,7 +704,7 @@
* Test IRadio.stopLceService() for the response returned.
*/
TEST_F(RadioHidlTest, stopLceService) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->stopLceService(serial);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -722,7 +722,7 @@
* Test IRadio.pullLceData() for the response returned.
*/
TEST_F(RadioHidlTest, pullLceData) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->pullLceData(serial);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -741,7 +741,7 @@
* Test IRadio.getModemActivityInfo() for the response returned.
*/
TEST_F(RadioHidlTest, getModemActivityInfo) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->getModemActivityInfo(serial);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -758,7 +758,7 @@
* Test IRadio.setAllowedCarriers() for the response returned.
*/
TEST_F(RadioHidlTest, setAllowedCarriers) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
CarrierRestrictions carriers;
memset(&carriers, 0, sizeof(carriers));
carriers.allowedCarriers.resize(1);
@@ -778,12 +778,26 @@
{RadioError::NONE, RadioError::REQUEST_NOT_SUPPORTED}));
}
+ /* Setting to carrier restriction needs some time */
+ updateSimCardStatus();
+ auto startTime = std::chrono::system_clock::now();
+ while (cardStatus.cardState != CardState::RESTRICTED &&
+ std::chrono::duration_cast<chrono::seconds>(std::chrono::system_clock::now() - startTime)
+ .count() < 10) {
+ /* Set 2 seconds as interval to check card status */
+ sleep(2);
+ updateSimCardStatus();
+ }
+ EXPECT_EQ(CardState::RESTRICTED, cardStatus.cardState);
+ sleep(10);
+
/* Reset back to no carrier restriction */
memset(&carriers, 0, sizeof(carriers));
carriers.allowedCarriers.resize(0);
carriers.excludedCarriers.resize(0);
- radio->setAllowedCarriers(++serial, true, carriers);
+ serial = GetRandomSerialNumber();
+ radio->setAllowedCarriers(serial, true, carriers);
EXPECT_EQ(std::cv_status::no_timeout, wait());
EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
EXPECT_EQ(serial, radioRsp->rspInfo.serial);
@@ -792,13 +806,26 @@
ASSERT_TRUE(CheckAnyOfErrors(radioRsp->rspInfo.error,
{RadioError::NONE, RadioError::REQUEST_NOT_SUPPORTED}));
}
+
+ /* Resetting back to no carrier restriction needs some time */
+ updateSimCardStatus();
+ startTime = std::chrono::system_clock::now();
+ while (cardStatus.cardState == CardState::RESTRICTED &&
+ std::chrono::duration_cast<chrono::seconds>(std::chrono::system_clock::now() - startTime)
+ .count() < 10) {
+ /* Set 2 seconds as interval to check card status */
+ sleep(2);
+ updateSimCardStatus();
+ }
+ EXPECT_NE(CardState::RESTRICTED, cardStatus.cardState);
+ sleep(10);
}
/*
* Test IRadio.getAllowedCarriers() for the response returned.
*/
TEST_F(RadioHidlTest, getAllowedCarriers) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->getAllowedCarriers(serial);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -815,7 +842,7 @@
* Test IRadio.sendDeviceState() for the response returned.
*/
TEST_F(RadioHidlTest, sendDeviceState) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->sendDeviceState(serial, DeviceStateType::POWER_SAVE_MODE, true);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -834,7 +861,7 @@
* Test IRadio.setIndicationFilter() for the response returned.
*/
TEST_F(RadioHidlTest, setIndicationFilter) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->setIndicationFilter(serial, 1);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -853,7 +880,7 @@
* Test IRadio.setSimCardPower() for the response returned.
*/
TEST_F(RadioHidlTest, setSimCardPower) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->setSimCardPower(serial, true);
EXPECT_EQ(std::cv_status::no_timeout, wait());
diff --git a/radio/1.0/vts/functional/radio_hidl_hal_sms.cpp b/radio/1.0/vts/functional/radio_hidl_hal_sms.cpp
index 469f03a..9e41429 100644
--- a/radio/1.0/vts/functional/radio_hidl_hal_sms.cpp
+++ b/radio/1.0/vts/functional/radio_hidl_hal_sms.cpp
@@ -22,14 +22,14 @@
* Test IRadio.sendSms() for the response returned.
*/
TEST_F(RadioHidlTest, sendSms) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
GsmSmsMessage msg;
msg.smscPdu = "";
msg.pdu = "01000b916105770203f3000006d4f29c3e9b01";
radio->sendSms(serial, msg);
- EXPECT_EQ(std::cv_status::no_timeout, wait());
+ EXPECT_EQ(std::cv_status::no_timeout, wait(300));
EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
EXPECT_EQ(serial, radioRsp->rspInfo.serial);
@@ -46,7 +46,7 @@
* Test IRadio.sendSMSExpectMore() for the response returned.
*/
TEST_F(RadioHidlTest, sendSMSExpectMore) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
GsmSmsMessage msg;
msg.smscPdu = "";
msg.pdu = "01000b916105770203f3000006d4f29c3e9b01";
@@ -56,7 +56,7 @@
// TODO(shuoq): add more test for this API when inserted sim card is
// considered
- EXPECT_EQ(std::cv_status::no_timeout, wait());
+ EXPECT_EQ(std::cv_status::no_timeout, wait(300));
EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
EXPECT_EQ(serial, radioRsp->rspInfo.serial);
@@ -72,7 +72,7 @@
* Test IRadio.acknowledgeLastIncomingGsmSms() for the response returned.
*/
TEST_F(RadioHidlTest, acknowledgeLastIncomingGsmSms) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
bool success = true;
radio->acknowledgeLastIncomingGsmSms(serial, success,
@@ -93,7 +93,7 @@
* Test IRadio.acknowledgeIncomingGsmSmsWithPdu() for the response returned.
*/
TEST_F(RadioHidlTest, acknowledgeIncomingGsmSmsWithPdu) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
bool success = true;
std::string ackPdu = "";
@@ -112,7 +112,7 @@
* Test IRadio.sendCdmaSms() for the response returned.
*/
TEST_F(RadioHidlTest, sendCdmaSms) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
// Create a CdmaSmsAddress
CdmaSmsAddress cdmaSmsAddress;
@@ -156,7 +156,7 @@
* Test IRadio.acknowledgeLastIncomingCdmaSms() for the response returned.
*/
TEST_F(RadioHidlTest, acknowledgeLastIncomingCdmaSms) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
// Create a CdmaSmsAck
CdmaSmsAck cdmaSmsAck;
@@ -180,7 +180,7 @@
* Test IRadio.sendImsSms() for the response returned.
*/
TEST_F(RadioHidlTest, sendImsSms) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
// Create a CdmaSmsAddress
CdmaSmsAddress cdmaSmsAddress;
@@ -230,7 +230,7 @@
* Test IRadio.getSmscAddress() for the response returned.
*/
TEST_F(RadioHidlTest, getSmscAddress) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->getSmscAddress(serial);
@@ -250,7 +250,7 @@
* Test IRadio.setSmscAddress() for the response returned.
*/
TEST_F(RadioHidlTest, setSmscAddress) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
hidl_string address = hidl_string("smscAddress");
radio->setSmscAddress(serial, address);
@@ -271,7 +271,7 @@
* Test IRadio.writeSmsToSim() for the response returned.
*/
TEST_F(RadioHidlTest, writeSmsToSim) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
SmsWriteArgs smsWriteArgs;
smsWriteArgs.status = SmsWriteArgsStatus::REC_UNREAD;
smsWriteArgs.smsc = "";
@@ -297,7 +297,7 @@
* Test IRadio.deleteSmsOnSim() for the response returned.
*/
TEST_F(RadioHidlTest, deleteSmsOnSim) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
int index = 1;
radio->deleteSmsOnSim(serial, index);
@@ -320,7 +320,7 @@
* Test IRadio.writeSmsToRuim() for the response returned.
*/
TEST_F(RadioHidlTest, writeSmsToRuim) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
// Create a CdmaSmsAddress
CdmaSmsAddress cdmaSmsAddress;
@@ -371,7 +371,7 @@
* Test IRadio.deleteSmsOnRuim() for the response returned.
*/
TEST_F(RadioHidlTest, deleteSmsOnRuim) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
int index = 1;
// Create a CdmaSmsAddress
@@ -422,7 +422,7 @@
* Test IRadio.reportSmsMemoryStatus() for the response returned.
*/
TEST_F(RadioHidlTest, reportSmsMemoryStatus) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
bool available = true;
radio->reportSmsMemoryStatus(serial, available);
diff --git a/radio/1.0/vts/functional/radio_hidl_hal_stk.cpp b/radio/1.0/vts/functional/radio_hidl_hal_stk.cpp
index 411d74c..a3b5029 100644
--- a/radio/1.0/vts/functional/radio_hidl_hal_stk.cpp
+++ b/radio/1.0/vts/functional/radio_hidl_hal_stk.cpp
@@ -22,7 +22,7 @@
* Test IRadio.sendEnvelope() for the response returned.
*/
TEST_F(RadioHidlTest, sendEnvelope) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
// Test with sending empty string
std::string content = "";
@@ -45,7 +45,7 @@
* Test IRadio.sendTerminalResponseToSim() for the response returned.
*/
TEST_F(RadioHidlTest, sendTerminalResponseToSim) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
// Test with sending empty string
std::string commandResponse = "";
@@ -68,7 +68,7 @@
* Test IRadio.handleStkCallSetupRequestFromSim() for the response returned.
*/
TEST_F(RadioHidlTest, handleStkCallSetupRequestFromSim) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
bool accept = false;
radio->handleStkCallSetupRequestFromSim(serial, accept);
@@ -89,7 +89,7 @@
* Test IRadio.reportStkServiceIsRunning() for the response returned.
*/
TEST_F(RadioHidlTest, reportStkServiceIsRunning) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->reportStkServiceIsRunning(serial);
@@ -108,7 +108,7 @@
* string.
*/
TEST_F(RadioHidlTest, sendEnvelopeWithStatus) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
// Test with sending empty string
std::string contents = "";
diff --git a/radio/1.0/vts/functional/radio_hidl_hal_test.cpp b/radio/1.0/vts/functional/radio_hidl_hal_test.cpp
index d9c00ce..96719d6 100644
--- a/radio/1.0/vts/functional/radio_hidl_hal_test.cpp
+++ b/radio/1.0/vts/functional/radio_hidl_hal_test.cpp
@@ -37,22 +37,21 @@
radio->setResponseFunctions(radioRsp, radioInd);
- int serial = GetRandomSerialNumber();
- radio->getIccCardStatus(serial);
- EXPECT_EQ(std::cv_status::no_timeout, wait());
+ updateSimCardStatus();
EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
EXPECT_EQ(serial, radioRsp->rspInfo.serial);
EXPECT_EQ(RadioError::NONE, radioRsp->rspInfo.error);
- /* Vts Testing with Sim Absent only. This needs to be removed later in P when sim present
- * scenarios will be tested. */
- EXPECT_EQ(CardState::ABSENT, cardStatus.cardState);
+ /* Enforce Vts Testing with Sim Status Present only. */
+ EXPECT_EQ(CardState::PRESENT, cardStatus.cardState);
}
-void RadioHidlTest::notify() {
+void RadioHidlTest::notify(int receivedSerial) {
std::unique_lock<std::mutex> lock(mtx);
- count++;
- cv.notify_one();
+ if (serial == receivedSerial) {
+ count++;
+ cv.notify_one();
+ }
}
std::cv_status RadioHidlTest::wait(int sec) {
@@ -69,3 +68,9 @@
count--;
return status;
}
+
+void RadioHidlTest::updateSimCardStatus() {
+ serial = GetRandomSerialNumber();
+ radio->getIccCardStatus(serial);
+ EXPECT_EQ(std::cv_status::no_timeout, wait());
+}
\ No newline at end of file
diff --git a/radio/1.0/vts/functional/radio_hidl_hal_utils_v1_0.h b/radio/1.0/vts/functional/radio_hidl_hal_utils_v1_0.h
index 15ac0b8..f5ce072 100644
--- a/radio/1.0/vts/functional/radio_hidl_hal_utils_v1_0.h
+++ b/radio/1.0/vts/functional/radio_hidl_hal_utils_v1_0.h
@@ -533,11 +533,17 @@
std::condition_variable cv;
int count;
+ /* Serial number for radio request */
+ int serial;
+
+ /* Update Sim Card Status */
+ void updateSimCardStatus();
+
public:
virtual void SetUp() override;
/* Used as a mechanism to inform the test about data/event callback */
- void notify();
+ void notify(int receivedSerial);
/* Test code calls this function to wait for response */
std::cv_status wait(int sec = TIMEOUT_PERIOD);
diff --git a/radio/1.0/vts/functional/radio_hidl_hal_voice.cpp b/radio/1.0/vts/functional/radio_hidl_hal_voice.cpp
index d0320b9..1fce470 100644
--- a/radio/1.0/vts/functional/radio_hidl_hal_voice.cpp
+++ b/radio/1.0/vts/functional/radio_hidl_hal_voice.cpp
@@ -20,7 +20,7 @@
* Test IRadio.getCurrentCalls() for the response returned.
*/
TEST_F(RadioHidlTest, getCurrentCalls) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->getCurrentCalls(serial);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -36,7 +36,7 @@
* Test IRadio.dial() for the response returned.
*/
TEST_F(RadioHidlTest, dial) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
Dial dialInfo;
memset(&dialInfo, 0, sizeof(dialInfo));
@@ -63,7 +63,7 @@
* Test IRadio.hangup() for the response returned.
*/
TEST_F(RadioHidlTest, hangup) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->hangup(serial, 1);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -82,7 +82,7 @@
* Test IRadio.hangupWaitingOrBackground() for the response returned.
*/
TEST_F(RadioHidlTest, hangupWaitingOrBackground) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->hangupWaitingOrBackground(serial);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -100,7 +100,7 @@
* Test IRadio.hangupForegroundResumeBackground() for the response returned.
*/
TEST_F(RadioHidlTest, hangupForegroundResumeBackground) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->hangupForegroundResumeBackground(serial);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -118,7 +118,7 @@
* Test IRadio.switchWaitingOrHoldingAndActive() for the response returned.
*/
TEST_F(RadioHidlTest, switchWaitingOrHoldingAndActive) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->switchWaitingOrHoldingAndActive(serial);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -136,7 +136,7 @@
* Test IRadio.conference() for the response returned.
*/
TEST_F(RadioHidlTest, conference) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->conference(serial);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -154,7 +154,7 @@
* Test IRadio.rejectCall() for the response returned.
*/
TEST_F(RadioHidlTest, rejectCall) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->rejectCall(serial);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -172,7 +172,7 @@
* Test IRadio.getLastCallFailCause() for the response returned.
*/
TEST_F(RadioHidlTest, getLastCallFailCause) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->getLastCallFailCause(serial);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -189,7 +189,7 @@
* Test IRadio.sendUssd() for the response returned.
*/
TEST_F(RadioHidlTest, sendUssd) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->sendUssd(serial, hidl_string("test"));
EXPECT_EQ(std::cv_status::no_timeout, wait());
EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp->rspInfo.type);
@@ -207,7 +207,7 @@
* Test IRadio.cancelPendingUssd() for the response returned.
*/
TEST_F(RadioHidlTest, cancelPendingUssd) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->cancelPendingUssd(serial);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -226,7 +226,7 @@
* Test IRadio.getCallForwardStatus() for the response returned.
*/
TEST_F(RadioHidlTest, getCallForwardStatus) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
CallForwardInfo callInfo;
memset(&callInfo, 0, sizeof(callInfo));
callInfo.number = hidl_string();
@@ -248,7 +248,7 @@
* Test IRadio.setCallForward() for the response returned.
*/
TEST_F(RadioHidlTest, setCallForward) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
CallForwardInfo callInfo;
memset(&callInfo, 0, sizeof(callInfo));
callInfo.number = hidl_string();
@@ -270,7 +270,7 @@
* Test IRadio.getCallWaiting() for the response returned.
*/
TEST_F(RadioHidlTest, getCallWaiting) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->getCallWaiting(serial, 1);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -289,7 +289,7 @@
* Test IRadio.setCallWaiting() for the response returned.
*/
TEST_F(RadioHidlTest, setCallWaiting) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->setCallWaiting(serial, true, 1);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -308,7 +308,7 @@
* Test IRadio.acceptCall() for the response returned.
*/
TEST_F(RadioHidlTest, acceptCall) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->acceptCall(serial);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -326,7 +326,7 @@
* Test IRadio.separateConnection() for the response returned.
*/
TEST_F(RadioHidlTest, separateConnection) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->separateConnection(serial, 1);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -345,7 +345,7 @@
* Test IRadio.explicitCallTransfer() for the response returned.
*/
TEST_F(RadioHidlTest, explicitCallTransfer) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->explicitCallTransfer(serial);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -363,7 +363,7 @@
* Test IRadio.sendCDMAFeatureCode() for the response returned.
*/
TEST_F(RadioHidlTest, sendCDMAFeatureCode) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->sendCDMAFeatureCode(serial, hidl_string());
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -383,7 +383,7 @@
* Test IRadio.sendDtmf() for the response returned.
*/
TEST_F(RadioHidlTest, sendDtmf) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->sendDtmf(serial, "1");
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -403,7 +403,7 @@
* Test IRadio.startDtmf() for the response returned.
*/
TEST_F(RadioHidlTest, startDtmf) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->startDtmf(serial, "1");
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -423,7 +423,7 @@
* Test IRadio.stopDtmf() for the response returned.
*/
TEST_F(RadioHidlTest, stopDtmf) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->stopDtmf(serial);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -442,7 +442,7 @@
* Test IRadio.setMute() for the response returned.
*/
TEST_F(RadioHidlTest, setMute) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->setMute(serial, true);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -460,7 +460,7 @@
* Test IRadio.getMute() for the response returned.
*/
TEST_F(RadioHidlTest, getMute) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->getMute(serial);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -476,7 +476,7 @@
* Test IRadio.sendBurstDtmf() for the response returned.
*/
TEST_F(RadioHidlTest, sendBurstDtmf) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio->sendBurstDtmf(serial, "1", 0, 0);
EXPECT_EQ(std::cv_status::no_timeout, wait());
diff --git a/radio/1.0/vts/functional/radio_response.cpp b/radio/1.0/vts/functional/radio_response.cpp
index 434d488..93d5557 100644
--- a/radio/1.0/vts/functional/radio_response.cpp
+++ b/radio/1.0/vts/functional/radio_response.cpp
@@ -24,69 +24,69 @@
const CardStatus& card_status) {
rspInfo = info;
cardStatus = card_status;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::supplyIccPinForAppResponse(const RadioResponseInfo& info,
int32_t /*remainingRetries*/) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::supplyIccPukForAppResponse(const RadioResponseInfo& info,
int32_t /*remainingRetries*/) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::supplyIccPin2ForAppResponse(const RadioResponseInfo& info,
int32_t /*remainingRetries*/) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::supplyIccPuk2ForAppResponse(const RadioResponseInfo& info,
int32_t /*remainingRetries*/) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::changeIccPinForAppResponse(const RadioResponseInfo& info,
int32_t /*remainingRetries*/) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::changeIccPin2ForAppResponse(const RadioResponseInfo& info,
int32_t /*remainingRetries*/) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::supplyNetworkDepersonalizationResponse(const RadioResponseInfo& info,
int32_t /*remainingRetries*/) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::getCurrentCallsResponse(
const RadioResponseInfo& info, const ::android::hardware::hidl_vec<Call>& /*calls*/) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::dialResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
@@ -94,72 +94,72 @@
const ::android::hardware::hidl_string& imsi) {
rspInfo = info;
this->imsi = imsi;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::hangupConnectionResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::hangupWaitingOrBackgroundResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::hangupForegroundResumeBackgroundResponse(
const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::switchWaitingOrHoldingAndActiveResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::conferenceResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::rejectCallResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::getLastCallFailCauseResponse(
const RadioResponseInfo& info, const LastCallFailCauseInfo& /*failCauseInfo*/) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::getSignalStrengthResponse(const RadioResponseInfo& info,
const SignalStrength& /*sig_strength*/) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::getVoiceRegistrationStateResponse(
const RadioResponseInfo& info, const VoiceRegStateResult& /*voiceRegResponse*/) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::getDataRegistrationStateResponse(
const RadioResponseInfo& info, const DataRegStateResult& /*dataRegResponse*/) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
@@ -168,19 +168,19 @@
const ::android::hardware::hidl_string& /*shortName*/,
const ::android::hardware::hidl_string& /*numeric*/) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::setRadioPowerResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::sendDtmfResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
@@ -188,7 +188,7 @@
const SendSmsResult& sms) {
rspInfo = info;
sendSmsResult = sms;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
@@ -196,14 +196,14 @@
const SendSmsResult& sms) {
rspInfo = info;
sendSmsResult = sms;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::setupDataCallResponse(const RadioResponseInfo& info,
const SetupDataCallResult& /*dcResponse*/) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
@@ -211,32 +211,32 @@
const IccIoResult& iccIo) {
rspInfo = info;
this->iccIoResult = iccIo;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::sendUssdResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::cancelPendingUssdResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::getClirResponse(const RadioResponseInfo& info, int32_t /*n*/,
int32_t /*m*/) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::setClirResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
@@ -244,84 +244,84 @@
const RadioResponseInfo& info, const ::android::hardware::hidl_vec<CallForwardInfo>&
/*callForwardInfos*/) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::setCallForwardResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::getCallWaitingResponse(const RadioResponseInfo& info, bool /*enable*/,
int32_t /*serviceClass*/) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::setCallWaitingResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::acknowledgeLastIncomingGsmSmsResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::acceptCallResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::deactivateDataCallResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::getFacilityLockForAppResponse(const RadioResponseInfo& info,
int32_t /*response*/) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::setFacilityLockForAppResponse(const RadioResponseInfo& info,
int32_t /*retry*/) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::setBarringPasswordResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::getNetworkSelectionModeResponse(const RadioResponseInfo& info,
bool /*manual*/) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::setNetworkSelectionModeAutomaticResponse(
const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::setNetworkSelectionModeManualResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
@@ -329,50 +329,50 @@
const RadioResponseInfo& info,
const ::android::hardware::hidl_vec<OperatorInfo>& /*networkInfos*/) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::startDtmfResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::stopDtmfResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::getBasebandVersionResponse(
const RadioResponseInfo& info, const ::android::hardware::hidl_string& /*version*/) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::separateConnectionResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::setMuteResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::getMuteResponse(const RadioResponseInfo& info, bool /*enable*/) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::getClipResponse(const RadioResponseInfo& info, ClipStatus /*status*/) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
@@ -380,7 +380,7 @@
const RadioResponseInfo& info,
const ::android::hardware::hidl_vec<SetupDataCallResult>& /*dcResponse*/) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
@@ -397,26 +397,26 @@
Return<void> RadioResponse::setSuppServiceNotificationsResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::writeSmsToSimResponse(const RadioResponseInfo& info, int32_t index) {
rspInfo = info;
writeSmsToSimIndex = index;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::deleteSmsOnSimResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::setBandModeResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
@@ -424,46 +424,46 @@
const RadioResponseInfo& info,
const ::android::hardware::hidl_vec<RadioBandMode>& /*bandModes*/) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::sendEnvelopeResponse(
const RadioResponseInfo& info, const ::android::hardware::hidl_string& /*commandResponse*/) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::sendTerminalResponseToSimResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::handleStkCallSetupRequestFromSimResponse(
const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::explicitCallTransferResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::setPreferredNetworkTypeResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::getPreferredNetworkTypeResponse(const RadioResponseInfo& info,
PreferredNetworkType /*nw_type*/) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
@@ -471,69 +471,69 @@
const RadioResponseInfo& info,
const ::android::hardware::hidl_vec<NeighboringCell>& /*cells*/) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::setLocationUpdatesResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::setCdmaSubscriptionSourceResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::setCdmaRoamingPreferenceResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::getCdmaRoamingPreferenceResponse(const RadioResponseInfo& info,
CdmaRoamingType /*type*/) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::setTTYModeResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::getTTYModeResponse(const RadioResponseInfo& info, TtyMode /*mode*/) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::setPreferredVoicePrivacyResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::getPreferredVoicePrivacyResponse(const RadioResponseInfo& info,
bool /*enable*/) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::sendCDMAFeatureCodeResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::sendBurstDtmfResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
@@ -541,13 +541,13 @@
const SendSmsResult& sms) {
rspInfo = info;
sendSmsResult = sms;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::acknowledgeLastIncomingCdmaSmsResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
@@ -555,19 +555,19 @@
const RadioResponseInfo& info,
const ::android::hardware::hidl_vec<GsmBroadcastSmsConfigInfo>& /*configs*/) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::setGsmBroadcastConfigResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::setGsmBroadcastActivationResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
@@ -575,19 +575,19 @@
const RadioResponseInfo& info,
const ::android::hardware::hidl_vec<CdmaBroadcastSmsConfigInfo>& /*configs*/) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::setCdmaBroadcastConfigResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::setCdmaBroadcastActivationResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
@@ -598,20 +598,20 @@
const ::android::hardware::hidl_string& /*min*/,
const ::android::hardware::hidl_string& /*prl*/) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::writeSmsToRuimResponse(const RadioResponseInfo& info, uint32_t index) {
rspInfo = info;
writeSmsToRuimIndex = index;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::deleteSmsOnRuimResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
@@ -621,13 +621,13 @@
const ::android::hardware::hidl_string& /*esn*/,
const ::android::hardware::hidl_string& /*meid*/) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::exitEmergencyCallbackModeResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
@@ -635,79 +635,79 @@
const ::android::hardware::hidl_string& smsc) {
rspInfo = info;
smscAddress = smsc;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::setSmscAddressResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::reportSmsMemoryStatusResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::reportStkServiceIsRunningResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::getCdmaSubscriptionSourceResponse(const RadioResponseInfo& info,
CdmaSubscriptionSource /*source*/) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::requestIsimAuthenticationResponse(
const RadioResponseInfo& info, const ::android::hardware::hidl_string& /*response*/) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::acknowledgeIncomingGsmSmsWithPduResponse(
const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::sendEnvelopeWithStatusResponse(const RadioResponseInfo& info,
const IccIoResult& /*iccIo*/) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::getVoiceRadioTechnologyResponse(const RadioResponseInfo& info,
RadioTechnology /*rat*/) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::getCellInfoListResponse(
const RadioResponseInfo& info, const ::android::hardware::hidl_vec<CellInfo>& /*cellInfo*/) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::setCellInfoListRateResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::setInitialAttachApnResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
@@ -715,7 +715,7 @@
bool /*isRegistered*/,
RadioTechnologyFamily /*ratFamily*/) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
@@ -723,7 +723,7 @@
const SendSmsResult& sms) {
rspInfo = info;
sendSmsResult = sms;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
@@ -731,7 +731,7 @@
const IccIoResult& result) {
rspInfo = info;
this->iccIoResult = result;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
@@ -740,13 +740,13 @@
const ::android::hardware::hidl_vec<int8_t>& /*selectResponse*/) {
rspInfo = info;
this->channelId = channelId;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::iccCloseLogicalChannelResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
@@ -754,44 +754,44 @@
const IccIoResult& result) {
rspInfo = info;
this->iccIoResult = result;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::nvReadItemResponse(const RadioResponseInfo& info,
const ::android::hardware::hidl_string& /*result*/) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::nvWriteItemResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::nvWriteCdmaPrlResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::nvResetConfigResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::setUiccSubscriptionResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::setDataAllowedResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
@@ -799,7 +799,7 @@
const RadioResponseInfo& info,
const ::android::hardware::hidl_vec<HardwareConfig>& /*config*/) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
@@ -807,68 +807,68 @@
const IccIoResult& result) {
rspInfo = info;
this->iccIoResult = result;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::setDataProfileResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::requestShutdownResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::getRadioCapabilityResponse(const RadioResponseInfo& info,
const RadioCapability& /*rc*/) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::setRadioCapabilityResponse(const RadioResponseInfo& info,
const RadioCapability& /*rc*/) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::startLceServiceResponse(const RadioResponseInfo& info,
const LceStatusInfo& /*statusInfo*/) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::stopLceServiceResponse(const RadioResponseInfo& info,
const LceStatusInfo& /*statusInfo*/) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::pullLceDataResponse(const RadioResponseInfo& info,
const LceDataInfo& /*lceInfo*/) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::getModemActivityInfoResponse(
const RadioResponseInfo& info, const ActivityStatsInfo& /*activityInfo*/) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::setAllowedCarriersResponse(const RadioResponseInfo& info,
int32_t /*numAllowed*/) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
@@ -876,25 +876,25 @@
bool /*allAllowed*/,
const CarrierRestrictions& /*carriers*/) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::sendDeviceStateResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::setIndicationFilterResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
Return<void> RadioResponse::setSimCardPowerResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent.notify();
+ parent.notify(info.serial);
return Void();
}
diff --git a/radio/1.0/vts/functional/sap_callback.cpp b/radio/1.0/vts/functional/sap_callback.cpp
index fdcc15c..cce69d5 100644
--- a/radio/1.0/vts/functional/sap_callback.cpp
+++ b/radio/1.0/vts/functional/sap_callback.cpp
@@ -21,13 +21,13 @@
Return<void> SapCallback::connectResponse(int32_t token, SapConnectRsp /*sapConnectRsp*/,
int32_t /*maxMsgSize*/) {
sapResponseToken = token;
- parent.notify();
+ parent.notify(token);
return Void();
}
Return<void> SapCallback::disconnectResponse(int32_t token) {
sapResponseToken = token;
- parent.notify();
+ parent.notify(token);
return Void();
}
@@ -40,7 +40,7 @@
const ::android::hardware::hidl_vec<uint8_t>& /*apduRsp*/) {
sapResponseToken = token;
sapResultCode = resultCode;
- parent.notify();
+ parent.notify(token);
return Void();
}
@@ -49,21 +49,21 @@
const ::android::hardware::hidl_vec<uint8_t>& /*atr*/) {
sapResponseToken = token;
sapResultCode = resultCode;
- parent.notify();
+ parent.notify(token);
return Void();
}
Return<void> SapCallback::powerResponse(int32_t token, SapResultCode resultCode) {
sapResponseToken = token;
sapResultCode = resultCode;
- parent.notify();
+ parent.notify(token);
return Void();
}
Return<void> SapCallback::resetSimResponse(int32_t token, SapResultCode resultCode) {
sapResponseToken = token;
sapResultCode = resultCode;
- parent.notify();
+ parent.notify(token);
return Void();
}
@@ -75,7 +75,7 @@
int32_t /*cardReaderStatus*/) {
sapResponseToken = token;
sapResultCode = resultCode;
- parent.notify();
+ parent.notify(token);
return Void();
}
@@ -86,6 +86,6 @@
Return<void> SapCallback::transferProtocolResponse(int32_t token, SapResultCode resultCode) {
sapResponseToken = token;
sapResultCode = resultCode;
- parent.notify();
+ parent.notify(token);
return Void();
}
diff --git a/radio/1.0/vts/functional/sap_hidl_hal_api.cpp b/radio/1.0/vts/functional/sap_hidl_hal_api.cpp
index d0788dd..da78f41 100644
--- a/radio/1.0/vts/functional/sap_hidl_hal_api.cpp
+++ b/radio/1.0/vts/functional/sap_hidl_hal_api.cpp
@@ -20,7 +20,7 @@
* Test ISap.connectReq() for the response returned.
*/
TEST_F(SapHidlTest, connectReq) {
- int32_t token = GetRandomSerialNumber();
+ token = GetRandomSerialNumber();
int32_t maxMsgSize = 100;
sap->connectReq(token, maxMsgSize);
@@ -32,7 +32,7 @@
* Test IRadio.disconnectReq() for the response returned
*/
TEST_F(SapHidlTest, disconnectReq) {
- int32_t token = GetRandomSerialNumber();
+ token = GetRandomSerialNumber();
sap->disconnectReq(token);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -43,7 +43,7 @@
* Test IRadio.apduReq() for the response returned.
*/
TEST_F(SapHidlTest, apduReq) {
- int32_t token = GetRandomSerialNumber();
+ token = GetRandomSerialNumber();
SapApduType sapApduType = SapApduType::APDU;
android::hardware::hidl_vec<uint8_t> command = {};
@@ -61,7 +61,7 @@
* Test IRadio.transferAtrReq() for the response returned.
*/
TEST_F(SapHidlTest, transferAtrReq) {
- int32_t token = GetRandomSerialNumber();
+ token = GetRandomSerialNumber();
sap->transferAtrReq(token);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -77,7 +77,7 @@
* Test IRadio.powerReq() for the response returned.
*/
TEST_F(SapHidlTest, powerReq) {
- int32_t token = GetRandomSerialNumber();
+ token = GetRandomSerialNumber();
bool state = true;
sap->powerReq(token, state);
@@ -94,7 +94,7 @@
* Test IRadio.resetSimReq() for the response returned.
*/
TEST_F(SapHidlTest, resetSimReq) {
- int32_t token = GetRandomSerialNumber();
+ token = GetRandomSerialNumber();
sap->resetSimReq(token);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -110,7 +110,7 @@
* Test IRadio.transferCardReaderStatusReq() for the response returned.
*/
TEST_F(SapHidlTest, transferCardReaderStatusReq) {
- int32_t token = GetRandomSerialNumber();
+ token = GetRandomSerialNumber();
sap->transferCardReaderStatusReq(token);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -124,7 +124,7 @@
* Test IRadio.setTransferProtocolReq() for the response returned.
*/
TEST_F(SapHidlTest, setTransferProtocolReq) {
- int32_t token = GetRandomSerialNumber();
+ token = GetRandomSerialNumber();
SapTransferProtocol sapTransferProtocol = SapTransferProtocol::T0;
sap->setTransferProtocolReq(token, sapTransferProtocol);
diff --git a/radio/1.0/vts/functional/sap_hidl_hal_test.cpp b/radio/1.0/vts/functional/sap_hidl_hal_test.cpp
index 79668bb..65b344b 100644
--- a/radio/1.0/vts/functional/sap_hidl_hal_test.cpp
+++ b/radio/1.0/vts/functional/sap_hidl_hal_test.cpp
@@ -31,10 +31,12 @@
void SapHidlTest::TearDown() {}
-void SapHidlTest::notify() {
+void SapHidlTest::notify(int receivedToken) {
std::unique_lock<std::mutex> lock(mtx);
count++;
- cv.notify_one();
+ if (token == receivedToken) {
+ cv.notify_one();
+ }
}
std::cv_status SapHidlTest::wait() {
diff --git a/radio/1.0/vts/functional/sap_hidl_hal_utils.h b/radio/1.0/vts/functional/sap_hidl_hal_utils.h
index ec237dc..f432932 100644
--- a/radio/1.0/vts/functional/sap_hidl_hal_utils.h
+++ b/radio/1.0/vts/functional/sap_hidl_hal_utils.h
@@ -107,7 +107,7 @@
virtual void TearDown() override;
/* Used as a mechanism to inform the test about data/event callback */
- void notify();
+ void notify(int receivedToken);
/* Test code calls this function to wait for response */
std::cv_status wait();
@@ -117,4 +117,7 @@
/* Sap Callback object */
sp<SapCallback> sapCb;
+
+ /* Token for sap request */
+ int32_t token;
};
diff --git a/radio/1.1/vts/functional/radio_hidl_hal_api.cpp b/radio/1.1/vts/functional/radio_hidl_hal_api.cpp
index 17c2a83..90077dc 100644
--- a/radio/1.1/vts/functional/radio_hidl_hal_api.cpp
+++ b/radio/1.1/vts/functional/radio_hidl_hal_api.cpp
@@ -21,18 +21,57 @@
* Test IRadio.setSimCardPower() for the response returned.
*/
TEST_F(RadioHidlTest_v1_1, setSimCardPower_1_1) {
- int serial = GetRandomSerialNumber();
+ /* Record the sim card state for the testing environment */
+ CardState cardStateForTest = cardStatus.cardState;
+ /* Test setSimCardPower power down */
+ serial = GetRandomSerialNumber();
radio_v1_1->setSimCardPower_1_1(serial, CardPowerState::POWER_DOWN);
EXPECT_EQ(std::cv_status::no_timeout, wait());
EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_1->rspInfo.type);
EXPECT_EQ(serial, radioRsp_v1_1->rspInfo.serial);
+ ASSERT_TRUE(CheckAnyOfErrors(radioRsp_v1_1->rspInfo.error,
+ {RadioError::NONE, RadioError::REQUEST_NOT_SUPPORTED,
+ RadioError::INVALID_ARGUMENTS, RadioError::RADIO_NOT_AVAILABLE}));
+ /* Wait some time for setting sim power down and then verify it */
+ updateSimCardStatus();
+ auto startTime = std::chrono::system_clock::now();
+ while (cardStatus.cardState != CardState::ABSENT &&
+ std::chrono::duration_cast<chrono::seconds>(std::chrono::system_clock::now() - startTime)
+ .count() < 80) {
+ /* Set 2 seconds as interval to check card status */
+ sleep(2);
+ updateSimCardStatus();
+ }
+ EXPECT_EQ(CardState::ABSENT, cardStatus.cardState);
- if (cardStatus.cardState == CardState::ABSENT) {
- ASSERT_TRUE(
- CheckAnyOfErrors(radioRsp_v1_1->rspInfo.error,
- {RadioError::NONE, RadioError::REQUEST_NOT_SUPPORTED,
- RadioError::INVALID_ARGUMENTS, RadioError::RADIO_NOT_AVAILABLE}));
+ /* Test setSimCardPower power up */
+ serial = GetRandomSerialNumber();
+ radio_v1_1->setSimCardPower_1_1(serial, CardPowerState::POWER_UP);
+ EXPECT_EQ(std::cv_status::no_timeout, wait());
+ EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_1->rspInfo.type);
+ EXPECT_EQ(serial, radioRsp_v1_1->rspInfo.serial);
+ ASSERT_TRUE(CheckAnyOfErrors(radioRsp_v1_1->rspInfo.error,
+ {RadioError::NONE, RadioError::REQUEST_NOT_SUPPORTED,
+ RadioError::INVALID_ARGUMENTS, RadioError::RADIO_NOT_AVAILABLE}));
+
+ /**
+ * If the sim card status for the testing environment is PRESENT,
+ * verify if sim status is reset back.
+ */
+ if (cardStateForTest == CardState::PRESENT) {
+ /* Wait some time for resetting back to sim power on and then verify it */
+ updateSimCardStatus();
+ startTime = std::chrono::system_clock::now();
+ while (cardStatus.cardState != CardState::PRESENT &&
+ std::chrono::duration_cast<chrono::seconds>(std::chrono::system_clock::now() -
+ startTime)
+ .count() < 80) {
+ /* Set 2 seconds as interval to check card status */
+ sleep(2);
+ updateSimCardStatus();
+ }
+ EXPECT_EQ(CardState::PRESENT, cardStatus.cardState);
}
}
@@ -40,7 +79,7 @@
* Test IRadio.startNetworkScan() for the response returned.
*/
TEST_F(RadioHidlTest_v1_1, startNetworkScan) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
NetworkScanRequest request;
request.type = ScanType::ONE_SHOT;
@@ -74,7 +113,7 @@
* Test IRadio.startNetworkScan() for the response returned.
*/
TEST_F(RadioHidlTest_v1_1, startNetworkScan_InvalidArgument) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
NetworkScanRequest request;
request.type = ScanType::ONE_SHOT;
@@ -98,7 +137,7 @@
* Test IRadio.stopNetworkScan() for the response returned.
*/
TEST_F(RadioHidlTest_v1_1, stopNetworkScan) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio_v1_1->stopNetworkScan(serial);
EXPECT_EQ(std::cv_status::no_timeout, wait());
@@ -117,7 +156,7 @@
* Test IRadio.setCarrierInfoForImsiEncryption() for the response returned.
*/
TEST_F(RadioHidlTest_v1_1, setCarrierInfoForImsiEncryption) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
ImsiEncryptionInfo imsiInfo;
imsiInfo.mcc = "310";
imsiInfo.mnc = "004";
@@ -222,7 +261,7 @@
}};
for (auto req = requests.begin(); req != requests.end(); req++) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio_v1_1->startKeepalive(serial, *req);
EXPECT_EQ(std::cv_status::no_timeout, wait());
EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_1->rspInfo.type);
@@ -238,7 +277,7 @@
* Test IRadio.stopKeepalive() for the response returned.
*/
TEST_F(RadioHidlTest_v1_1, stopKeepalive) {
- int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
radio_v1_1->stopKeepalive(serial, 0xBAD);
EXPECT_EQ(std::cv_status::no_timeout, wait());
diff --git a/radio/1.1/vts/functional/radio_hidl_hal_test.cpp b/radio/1.1/vts/functional/radio_hidl_hal_test.cpp
index 6d16cd8..2f657b4 100644
--- a/radio/1.1/vts/functional/radio_hidl_hal_test.cpp
+++ b/radio/1.1/vts/functional/radio_hidl_hal_test.cpp
@@ -42,22 +42,21 @@
radio_v1_1->setResponseFunctions(radioRsp_v1_1, radioInd_v1_1);
- int serial = GetRandomSerialNumber();
- radio_v1_1->getIccCardStatus(serial);
- EXPECT_EQ(std::cv_status::no_timeout, wait());
+ updateSimCardStatus();
EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_1->rspInfo.type);
EXPECT_EQ(serial, radioRsp_v1_1->rspInfo.serial);
EXPECT_EQ(RadioError::NONE, radioRsp_v1_1->rspInfo.error);
- /* Vts Testing with Sim Absent only. This needs to be removed later in P when sim present
- * scenarios will be tested. */
- EXPECT_EQ(CardState::ABSENT, cardStatus.cardState);
+ /* Enforce Vts Testing with Sim Status Present only. */
+ EXPECT_EQ(CardState::PRESENT, cardStatus.cardState);
}
-void RadioHidlTest_v1_1::notify() {
+void RadioHidlTest_v1_1::notify(int receivedSerial) {
std::unique_lock<std::mutex> lock(mtx);
- count++;
- cv.notify_one();
+ if (serial == receivedSerial) {
+ count++;
+ cv.notify_one();
+ }
}
std::cv_status RadioHidlTest_v1_1::wait(int sec) {
@@ -74,3 +73,9 @@
count--;
return status;
}
+
+void RadioHidlTest_v1_1::updateSimCardStatus() {
+ serial = GetRandomSerialNumber();
+ radio_v1_1->getIccCardStatus(serial);
+ EXPECT_EQ(std::cv_status::no_timeout, wait());
+}
\ No newline at end of file
diff --git a/radio/1.1/vts/functional/radio_hidl_hal_utils_v1_1.h b/radio/1.1/vts/functional/radio_hidl_hal_utils_v1_1.h
index 36d15c7..925f4fc 100644
--- a/radio/1.1/vts/functional/radio_hidl_hal_utils_v1_1.h
+++ b/radio/1.1/vts/functional/radio_hidl_hal_utils_v1_1.h
@@ -558,11 +558,17 @@
std::condition_variable cv;
int count;
+ /* Serial number for radio request */
+ int serial;
+
+ /* Update Sim Card Status */
+ void updateSimCardStatus();
+
public:
virtual void SetUp() override;
/* Used as a mechanism to inform the test about data/event callback */
- void notify();
+ void notify(int receivedSerial);
/* Test code calls this function to wait for response */
std::cv_status wait(int sec = TIMEOUT_PERIOD);
diff --git a/radio/1.1/vts/functional/radio_response.cpp b/radio/1.1/vts/functional/radio_response.cpp
index 400ef3c..c2edde8 100644
--- a/radio/1.1/vts/functional/radio_response.cpp
+++ b/radio/1.1/vts/functional/radio_response.cpp
@@ -25,7 +25,7 @@
const CardStatus& card_status) {
rspInfo = info;
cardStatus = card_status;
- parent_v1_1.notify();
+ parent_v1_1.notify(info.serial);
return Void();
}
@@ -661,25 +661,25 @@
Return<void> RadioResponse_v1_1::setCarrierInfoForImsiEncryptionResponse(
const RadioResponseInfo& info) {
rspInfo = info;
- parent_v1_1.notify();
+ parent_v1_1.notify(info.serial);
return Void();
}
Return<void> RadioResponse_v1_1::setSimCardPowerResponse_1_1(const RadioResponseInfo& info) {
rspInfo = info;
- parent_v1_1.notify();
+ parent_v1_1.notify(info.serial);
return Void();
}
Return<void> RadioResponse_v1_1::startNetworkScanResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent_v1_1.notify();
+ parent_v1_1.notify(info.serial);
return Void();
}
Return<void> RadioResponse_v1_1::stopNetworkScanResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent_v1_1.notify();
+ parent_v1_1.notify(info.serial);
return Void();
}
@@ -687,12 +687,12 @@
const KeepaliveStatus& status) {
rspInfo = info;
keepaliveStatus = status;
- parent_v1_1.notify();
+ parent_v1_1.notify(info.serial);
return Void();
}
Return<void> RadioResponse_v1_1::stopKeepaliveResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent_v1_1.notify();
+ parent_v1_1.notify(info.serial);
return Void();
}
diff --git a/radio/1.2/vts/functional/radio_hidl_hal_api.cpp b/radio/1.2/vts/functional/radio_hidl_hal_api.cpp
index 0febd38..9284fd8 100644
--- a/radio/1.2/vts/functional/radio_hidl_hal_api.cpp
+++ b/radio/1.2/vts/functional/radio_hidl_hal_api.cpp
@@ -23,7 +23,7 @@
* Test IRadio.startNetworkScan() for the response returned.
*/
TEST_F(RadioHidlTest_v1_2, startNetworkScan) {
- const int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
RadioAccessSpecifier specifier = {
.radioAccessNetwork = RadioAccessNetworks::GERAN,
@@ -51,7 +51,7 @@
* Test IRadio.startNetworkScan() with invalid specifier.
*/
TEST_F(RadioHidlTest_v1_2, startNetworkScan_InvalidArgument) {
- const int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
::android::hardware::radio::V1_2::NetworkScanRequest request = {.type = ScanType::ONE_SHOT,
.interval = 60};
@@ -77,7 +77,7 @@
* Test IRadio.startNetworkScan() with invalid interval (lower boundary).
*/
TEST_F(RadioHidlTest_v1_2, startNetworkScan_InvalidInterval1) {
- const int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
RadioAccessSpecifier specifier = {
.radioAccessNetwork = RadioAccessNetworks::GERAN,
@@ -113,7 +113,7 @@
* Test IRadio.startNetworkScan() with invalid interval (upper boundary).
*/
TEST_F(RadioHidlTest_v1_2, startNetworkScan_InvalidInterval2) {
- const int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
RadioAccessSpecifier specifier = {
.radioAccessNetwork = RadioAccessNetworks::GERAN,
@@ -149,7 +149,7 @@
* Test IRadio.startNetworkScan() with invalid max search time (lower boundary).
*/
TEST_F(RadioHidlTest_v1_2, startNetworkScan_InvalidMaxSearchTime1) {
- const int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
RadioAccessSpecifier specifier = {
.radioAccessNetwork = RadioAccessNetworks::GERAN,
@@ -185,7 +185,7 @@
* Test IRadio.startNetworkScan() with invalid max search time (upper boundary).
*/
TEST_F(RadioHidlTest_v1_2, startNetworkScan_InvalidMaxSearchTime2) {
- const int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
RadioAccessSpecifier specifier = {
.radioAccessNetwork = RadioAccessNetworks::GERAN,
@@ -221,7 +221,7 @@
* Test IRadio.startNetworkScan() with invalid periodicity (lower boundary).
*/
TEST_F(RadioHidlTest_v1_2, startNetworkScan_InvalidPeriodicity1) {
- const int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
RadioAccessSpecifier specifier = {
.radioAccessNetwork = RadioAccessNetworks::GERAN,
@@ -257,7 +257,7 @@
* Test IRadio.startNetworkScan() with invalid periodicity (upper boundary).
*/
TEST_F(RadioHidlTest_v1_2, startNetworkScan_InvalidPeriodicity2) {
- const int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
RadioAccessSpecifier specifier = {
.radioAccessNetwork = RadioAccessNetworks::GERAN,
@@ -293,7 +293,7 @@
* Test IRadio.startNetworkScan() with valid periodicity
*/
TEST_F(RadioHidlTest_v1_2, startNetworkScan_GoodRequest1) {
- const int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
RadioAccessSpecifier specifier = {
.radioAccessNetwork = RadioAccessNetworks::GERAN,
@@ -328,7 +328,7 @@
* Test IRadio.startNetworkScan() with valid periodicity and plmns
*/
TEST_F(RadioHidlTest_v1_2, startNetworkScan_GoodRequest2) {
- const int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
RadioAccessSpecifier specifier = {
.radioAccessNetwork = RadioAccessNetworks::GERAN,
@@ -364,7 +364,7 @@
* Test IRadio.setIndicationFilter_1_2()
*/
TEST_F(RadioHidlTest_v1_2, setIndicationFilter_1_2) {
- const int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
Return<void> res = radio_v1_2->setIndicationFilter_1_2(
serial, static_cast<int>(::android::hardware::radio::V1_2::IndicationFilter::ALL));
@@ -382,7 +382,7 @@
* Test IRadio.setSignalStrengthReportingCriteria() with invalid hysteresisDb
*/
TEST_F(RadioHidlTest_v1_2, setSignalStrengthReportingCriteria_invalidHysteresisDb) {
- const int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
Return<void> res = radio_v1_2->setSignalStrengthReportingCriteria(
serial, 5000,
@@ -402,7 +402,7 @@
* Test IRadio.setSignalStrengthReportingCriteria() with empty parameters
*/
TEST_F(RadioHidlTest_v1_2, setSignalStrengthReportingCriteria_EmptyParams) {
- const int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
Return<void> res = radio_v1_2->setSignalStrengthReportingCriteria(
serial, 0, 0, {}, ::android::hardware::radio::V1_2::AccessNetwork::GERAN);
@@ -420,7 +420,7 @@
* Test IRadio.setSignalStrengthReportingCriteria() for GERAN
*/
TEST_F(RadioHidlTest_v1_2, setSignalStrengthReportingCriteria_Geran) {
- const int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
Return<void> res = radio_v1_2->setSignalStrengthReportingCriteria(
serial, 5000, 2, {-109, -103, -97, -89},
@@ -439,7 +439,7 @@
* Test IRadio.setSignalStrengthReportingCriteria() for UTRAN
*/
TEST_F(RadioHidlTest_v1_2, setSignalStrengthReportingCriteria_Utran) {
- const int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
Return<void> res = radio_v1_2->setSignalStrengthReportingCriteria(
serial, 5000, 2, {-110, -97, -73, -49, -25},
@@ -458,7 +458,7 @@
* Test IRadio.setSignalStrengthReportingCriteria() for EUTRAN
*/
TEST_F(RadioHidlTest_v1_2, setSignalStrengthReportingCriteria_Eutran) {
- const int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
Return<void> res = radio_v1_2->setSignalStrengthReportingCriteria(
serial, 5000, 2, {-140, -128, -118, -108, -98, -44},
@@ -477,7 +477,7 @@
* Test IRadio.setSignalStrengthReportingCriteria() for CDMA2000
*/
TEST_F(RadioHidlTest_v1_2, setSignalStrengthReportingCriteria_Cdma2000) {
- const int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
Return<void> res = radio_v1_2->setSignalStrengthReportingCriteria(
serial, 5000, 2, {-105, -90, -75, -65},
@@ -496,7 +496,7 @@
* Test IRadio.setLinkCapacityReportingCriteria() invalid hysteresisDlKbps
*/
TEST_F(RadioHidlTest_v1_2, setLinkCapacityReportingCriteria_invalidHysteresisDlKbps) {
- const int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
Return<void> res = radio_v1_2->setLinkCapacityReportingCriteria(
serial, 5000,
@@ -517,7 +517,7 @@
* Test IRadio.setLinkCapacityReportingCriteria() invalid hysteresisUlKbps
*/
TEST_F(RadioHidlTest_v1_2, setLinkCapacityReportingCriteria_invalidHysteresisUlKbps) {
- const int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
Return<void> res = radio_v1_2->setLinkCapacityReportingCriteria(
serial, 5000, 500,
@@ -538,7 +538,7 @@
* Test IRadio.setLinkCapacityReportingCriteria() empty params
*/
TEST_F(RadioHidlTest_v1_2, setLinkCapacityReportingCriteria_emptyParams) {
- const int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
Return<void> res = radio_v1_2->setLinkCapacityReportingCriteria(
serial, 0, 0, 0, {}, {}, ::android::hardware::radio::V1_2::AccessNetwork::GERAN);
@@ -556,7 +556,7 @@
* Test IRadio.setLinkCapacityReportingCriteria() GERAN
*/
TEST_F(RadioHidlTest_v1_2, setLinkCapacityReportingCriteria_Geran) {
- const int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
Return<void> res = radio_v1_2->setLinkCapacityReportingCriteria(
serial, 5000, 500, 100, {1000, 5000, 10000, 20000}, {500, 1000, 5000, 10000},
@@ -575,7 +575,7 @@
* Test IRadio.setupDataCall_1_2() for the response returned.
*/
TEST_F(RadioHidlTest_v1_2, setupDataCall_1_2) {
- const int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
::android::hardware::radio::V1_2::AccessNetwork accessNetwork =
::android::hardware::radio::V1_2::AccessNetwork::EUTRAN;
@@ -635,7 +635,7 @@
* Test IRadio.deactivateDataCall_1_2() for the response returned.
*/
TEST_F(RadioHidlTest_v1_2, deactivateDataCall_1_2) {
- const int serial = GetRandomSerialNumber();
+ serial = GetRandomSerialNumber();
int cid = 1;
::android::hardware::radio::V1_2::DataRequestReason reason =
::android::hardware::radio::V1_2::DataRequestReason::NORMAL;
diff --git a/radio/1.2/vts/functional/radio_hidl_hal_test.cpp b/radio/1.2/vts/functional/radio_hidl_hal_test.cpp
index edac1aa..b34f138 100644
--- a/radio/1.2/vts/functional/radio_hidl_hal_test.cpp
+++ b/radio/1.2/vts/functional/radio_hidl_hal_test.cpp
@@ -42,21 +42,24 @@
radio_v1_2->setResponseFunctions(radioRsp_v1_2, radioInd_v1_2);
- int serial = GetRandomSerialNumber();
- radio_v1_2->getIccCardStatus(serial);
- EXPECT_EQ(std::cv_status::no_timeout, wait());
+ updateSimCardStatus();
EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_2->rspInfo.type);
EXPECT_EQ(serial, radioRsp_v1_2->rspInfo.serial);
EXPECT_EQ(RadioError::NONE, radioRsp_v1_2->rspInfo.error);
+
+ /* Enforce Vts Testing with Sim Status Present only. */
+ EXPECT_EQ(CardState::PRESENT, cardStatus.base.cardState);
}
/*
* Notify that the response message is received.
*/
-void RadioHidlTest_v1_2::notify() {
+void RadioHidlTest_v1_2::notify(int receivedSerial) {
std::unique_lock<std::mutex> lock(mtx_);
- count_++;
- cv_.notify_one();
+ if (serial == receivedSerial) {
+ count_++;
+ cv_.notify_one();
+ }
}
/*
@@ -75,4 +78,10 @@
}
count_--;
return status;
+}
+
+void RadioHidlTest_v1_2::updateSimCardStatus() {
+ serial = GetRandomSerialNumber();
+ radio_v1_2->getIccCardStatus(serial);
+ EXPECT_EQ(std::cv_status::no_timeout, wait());
}
\ No newline at end of file
diff --git a/radio/1.2/vts/functional/radio_hidl_hal_utils_v1_2.h b/radio/1.2/vts/functional/radio_hidl_hal_utils_v1_2.h
index 2d0ea29..4712202 100644
--- a/radio/1.2/vts/functional/radio_hidl_hal_utils_v1_2.h
+++ b/radio/1.2/vts/functional/radio_hidl_hal_utils_v1_2.h
@@ -613,11 +613,17 @@
std::condition_variable cv_;
int count_;
+ /* Serial number for radio request */
+ int serial;
+
+ /* Update Sim Card Status */
+ void updateSimCardStatus();
+
public:
virtual void SetUp() override;
/* Used as a mechanism to inform the test about data/event callback */
- void notify();
+ void notify(int receivedSerial);
/* Test code calls this function to wait for response */
std::cv_status wait();
diff --git a/radio/1.2/vts/functional/radio_response.cpp b/radio/1.2/vts/functional/radio_response.cpp
index 85ec3e0..f6bead2 100644
--- a/radio/1.2/vts/functional/radio_response.cpp
+++ b/radio/1.2/vts/functional/radio_response.cpp
@@ -155,7 +155,7 @@
Return<void> RadioResponse_v1_2::setupDataCallResponse(const RadioResponseInfo& info,
const SetupDataCallResult& /*dcResponse*/) {
rspInfo = info;
- parent_v1_2.notify();
+ parent_v1_2.notify(info.serial);
return Void();
}
@@ -211,7 +211,7 @@
Return<void> RadioResponse_v1_2::deactivateDataCallResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent_v1_2.notify();
+ parent_v1_2.notify(info.serial);
return Void();
}
@@ -320,7 +320,7 @@
const RadioResponseInfo& info, const ::android::hardware::hidl_vec<RadioBandMode>& bandModes) {
rspInfo = info;
radioBandModes = bandModes;
- parent_v1_2.notify();
+ parent_v1_2.notify(info.serial);
return Void();
}
@@ -677,13 +677,13 @@
Return<void> RadioResponse_v1_2::startNetworkScanResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent_v1_2.notify();
+ parent_v1_2.notify(info.serial);
return Void();
}
Return<void> RadioResponse_v1_2::stopNetworkScanResponse(const RadioResponseInfo& info) {
rspInfo = info;
- parent_v1_2.notify();
+ parent_v1_2.notify(info.serial);
return Void();
}
@@ -700,14 +700,14 @@
Return<void> RadioResponse_v1_2::setSignalStrengthReportingCriteriaResponse(
const RadioResponseInfo& info) {
rspInfo = info;
- parent_v1_2.notify();
+ parent_v1_2.notify(info.serial);
return Void();
}
Return<void> RadioResponse_v1_2::setLinkCapacityReportingCriteriaResponse(
const RadioResponseInfo& info) {
rspInfo = info;
- parent_v1_2.notify();
+ parent_v1_2.notify(info.serial);
return Void();
}
@@ -716,7 +716,7 @@
const ::android::hardware::radio::V1_2::CardStatus& card_status) {
rspInfo = info;
cardStatus = card_status;
- parent_v1_2.notify();
+ parent_v1_2.notify(info.serial);
return Void();
}
@@ -724,7 +724,7 @@
const RadioResponseInfo& info,
const ::android::hardware::hidl_vec<::android::hardware::radio::V1_2::Call>& /*calls*/) {
rspInfo = info;
- parent_v1_2.notify();
+ parent_v1_2.notify(info.serial);
return Void();
}
@@ -732,7 +732,7 @@
const RadioResponseInfo& info,
const ::android::hardware::radio::V1_2::SignalStrength& /*sig_strength*/) {
rspInfo = info;
- parent_v1_2.notify();
+ parent_v1_2.notify(info.serial);
return Void();
}
@@ -740,7 +740,7 @@
const RadioResponseInfo& info,
const ::android::hardware::hidl_vec<::android::hardware::radio::V1_2::CellInfo>& /*cellInfo*/) {
rspInfo = info;
- parent_v1_2.notify();
+ parent_v1_2.notify(info.serial);
return Void();
}
diff --git a/wifi/1.2/default/wifi_legacy_hal.cpp b/wifi/1.2/default/wifi_legacy_hal.cpp
index c314e64..375204c 100644
--- a/wifi/1.2/default/wifi_legacy_hal.cpp
+++ b/wifi/1.2/default/wifi_legacy_hal.cpp
@@ -494,10 +494,6 @@
std::pair<wifi_error, std::vector<uint8_t>>
WifiLegacyHal::readApfPacketFilterData(const std::string& iface_name) {
- if (global_func_table_.wifi_read_packet_filter == nullptr) {
- return {WIFI_ERROR_NOT_SUPPORTED, {}};
- }
-
PacketFilterCapabilities caps;
wifi_error status = global_func_table_.wifi_get_packet_filter_capabilities(
getIfaceHandle(iface_name), &caps.version, &caps.max_len);
diff --git a/wifi/1.2/default/wifi_legacy_hal_stubs.cpp b/wifi/1.2/default/wifi_legacy_hal_stubs.cpp
index 24aaf15..fc28bb5 100644
--- a/wifi/1.2/default/wifi_legacy_hal_stubs.cpp
+++ b/wifi/1.2/default/wifi_legacy_hal_stubs.cpp
@@ -130,6 +130,7 @@
populateStubFor(&hal_fn->wifi_nan_data_end);
populateStubFor(&hal_fn->wifi_get_packet_filter_capabilities);
populateStubFor(&hal_fn->wifi_set_packet_filter);
+ populateStubFor(&hal_fn->wifi_read_packet_filter);
populateStubFor(&hal_fn->wifi_get_roaming_capabilities);
populateStubFor(&hal_fn->wifi_enable_firmware_roaming);
populateStubFor(&hal_fn->wifi_configure_roaming);