Merge "Ensure AAudioStreamBuilder handles null strings" into sc-dev
diff --git a/media/libaaudio/src/core/AAudioAudio.cpp b/media/libaaudio/src/core/AAudioAudio.cpp
index 5d49759..d103aca 100644
--- a/media/libaaudio/src/core/AAudioAudio.cpp
+++ b/media/libaaudio/src/core/AAudioAudio.cpp
@@ -91,16 +91,24 @@
const char* packageName)
{
AudioStreamBuilder *streamBuilder = convertAAudioBuilderToStreamBuilder(builder);
- // Only system apps can read the op package name. For regular apps the regular package name
- // is a sufficient replacement
- streamBuilder->setOpPackageName(packageName);
+ std::optional<std::string> optionalPackageName;
+ if (packageName != nullptr) {
+ optionalPackageName = std::string(packageName);
+ }
+ // Only system apps can read the op package name. For regular apps the
+ // regular package name is a sufficient replacement
+ streamBuilder->setOpPackageName(optionalPackageName);
}
AAUDIO_API void AAudioStreamBuilder_setAttributionTag(AAudioStreamBuilder* builder,
const char* attributionTag)
{
AudioStreamBuilder *streamBuilder = convertAAudioBuilderToStreamBuilder(builder);
- streamBuilder->setAttributionTag(attributionTag);
+ std::optional<std::string> optionalAttrTag;
+ if (attributionTag != nullptr) {
+ optionalAttrTag = std::string(attributionTag);
+ }
+ streamBuilder->setAttributionTag(optionalAttrTag);
}
AAUDIO_API void AAudioStreamBuilder_setSampleRate(AAudioStreamBuilder* builder,
diff --git a/media/libaaudio/src/core/AAudioStreamParameters.h b/media/libaaudio/src/core/AAudioStreamParameters.h
index bb39d8b..5737052 100644
--- a/media/libaaudio/src/core/AAudioStreamParameters.h
+++ b/media/libaaudio/src/core/AAudioStreamParameters.h
@@ -141,7 +141,7 @@
}
// TODO b/182392769: reexamine if Identity can be used
- void setOpPackageName(const std::string opPackageName) {
+ void setOpPackageName(const std::optional<std::string> opPackageName) {
mOpPackageName = opPackageName;
}
@@ -149,7 +149,7 @@
return mAttributionTag;
}
- void setAttributionTag(const std::string attributionTag) {
+ void setAttributionTag(const std::optional<std::string> attributionTag) {
mAttributionTag = attributionTag;
}