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/camera/CameraBase.cpp b/camera/CameraBase.cpp
index 9ae4607..be1d4c5 100644
--- a/camera/CameraBase.cpp
+++ b/camera/CameraBase.cpp
@@ -31,6 +31,7 @@
#include <camera/CameraBase.h>
#include <camera/CameraUtils.h>
+#include <camera/StringUtils.h>
// needed to instantiate
#include <camera/Camera.h>
@@ -58,7 +59,7 @@
}
status_t CameraStatus::writeToParcel(android::Parcel* parcel) const {
- auto res = parcel->writeString16(String16(cameraId));
+ auto res = parcel->writeString16(toString16(cameraId));
if (res != OK) return res;
res = parcel->writeInt32(status);
@@ -66,12 +67,12 @@
std::vector<String16> unavailablePhysicalIds16;
for (auto& id8 : unavailablePhysicalIds) {
- unavailablePhysicalIds16.push_back(String16(id8));
+ unavailablePhysicalIds16.push_back(toString16(id8));
}
res = parcel->writeString16Vector(unavailablePhysicalIds16);
if (res != OK) return res;
- res = parcel->writeString16(String16(clientPackage));
+ res = parcel->writeString16(toString16(clientPackage));
return res;
}
@@ -79,7 +80,7 @@
String16 tempCameraId;
auto res = parcel->readString16(&tempCameraId);
if (res != OK) return res;
- cameraId = String8(tempCameraId);
+ cameraId = toString8(tempCameraId);
res = parcel->readInt32(&status);
if (res != OK) return res;
@@ -88,13 +89,13 @@
res = parcel->readString16Vector(&unavailablePhysicalIds16);
if (res != OK) return res;
for (auto& id16 : unavailablePhysicalIds16) {
- unavailablePhysicalIds.push_back(String8(id16));
+ unavailablePhysicalIds.push_back(toStdString(id16));
}
String16 tempClientPackage;
res = parcel->readString16(&tempClientPackage);
if (res != OK) return res;
- clientPackage = String8(tempClientPackage);
+ clientPackage = toStdString(tempClientPackage);
return res;
}
@@ -142,7 +143,7 @@
sp<IServiceManager> sm = defaultServiceManager();
sp<IBinder> binder;
do {
- binder = sm->getService(String16(kCameraServiceName));
+ binder = sm->getService(toString16(kCameraServiceName));
if (binder != 0) {
break;
}
@@ -161,7 +162,7 @@
template <typename TCam, typename TCamTraits>
sp<TCam> CameraBase<TCam, TCamTraits>::connect(int cameraId,
- const String16& clientPackageName,
+ const std::string& clientPackageName,
int clientUid, int clientPid, int targetSdkVersion,
bool overrideToPortrait, bool forceSlowJpegMode)
{