cameraservice: Migrate all internal String8/String16s to std::string
String8 and String16 are deprecated classes. It is recommended to use
std::string or std::u16string wherever possible. String16 is the native
string class for aidl, but Strings marked @utf8InCpp can use std::string
directly.
This patch standardizes libcameraservice's use of strings to
std::string, which is capable of storing utf-8 strings. This makes the
code more readable and potentially reduces the number of string copies
to a minimum.
A new set of string utils is added to frameworks/av/camera to aid this
migration.
Bug: 265487852
Test: Presubmit, ran CtsCameraTestCases on Cuttlefish, adb shell dumpsys media camera and observed output
Change-Id: I2b258a8636030dc4b7751140db43981b39c64f0d
Merged-In: I59330ac03c8a52b6c21a2388bba0c143e68af4cf
diff --git a/services/camera/libcameraservice/device3/Camera3OfflineSession.cpp b/services/camera/libcameraservice/device3/Camera3OfflineSession.cpp
index 1e7bd57..172b62a 100644
--- a/services/camera/libcameraservice/device3/Camera3OfflineSession.cpp
+++ b/services/camera/libcameraservice/device3/Camera3OfflineSession.cpp
@@ -27,7 +27,9 @@
#include <inttypes.h>
+#include <android-base/stringprintf.h>
#include <utils/Trace.h>
+#include <camera/StringUtils.h>
#include <android/hardware/camera2/ICameraDeviceCallbacks.h>
@@ -42,7 +44,7 @@
namespace android {
-Camera3OfflineSession::Camera3OfflineSession(const String8 &id,
+Camera3OfflineSession::Camera3OfflineSession(const std::string &id,
const sp<camera3::Camera3Stream>& inputStream,
const camera3::StreamSet& offlineStreamSet,
camera3::BufferRecords&& bufferRecords,
@@ -75,15 +77,15 @@
mRotateAndCropMappers(offlineStates.mRotateAndCropMappers),
mStatus(STATUS_UNINITIALIZED) {
ATRACE_CALL();
- ALOGV("%s: Created offline session for camera %s", __FUNCTION__, mId.string());
+ ALOGV("%s: Created offline session for camera %s", __FUNCTION__, mId.c_str());
}
Camera3OfflineSession::~Camera3OfflineSession() {
ATRACE_CALL();
- ALOGV("%s: Tearing down offline session for camera id %s", __FUNCTION__, mId.string());
+ ALOGV("%s: Tearing down offline session for camera id %s", __FUNCTION__, mId.c_str());
}
-const String8& Camera3OfflineSession::getId() const {
+const std::string& Camera3OfflineSession::getId() const {
return mId;
}
@@ -109,7 +111,7 @@
return OK; // don't close twice
} else if (mStatus == STATUS_ERROR) {
ALOGE("%s: offline session %s shutting down in error state",
- __FUNCTION__, mId.string());
+ __FUNCTION__, mId.c_str());
}
listener = mListener.promote();
}
@@ -217,8 +219,9 @@
void Camera3OfflineSession::setErrorStateLockedV(const char *fmt, va_list args) {
// Print out all error messages to log
- String8 errorCause = String8::formatV(fmt, args);
- ALOGE("Camera %s: %s", mId.string(), errorCause.string());
+ std::string errorCause;
+ base::StringAppendV(&errorCause, fmt, args);
+ ALOGE("Camera %s: %s", mId.c_str(), errorCause.c_str());
// But only do error state transition steps for the first error
if (mStatus == STATUS_ERROR || mStatus == STATUS_UNINITIALIZED) return;