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.
Change-Id: I59330ac03c8a52b6c21a2388bba0c143e68af4cf
Bug: 265487852
Test: Presubmit, ran CtsCameraTestCases on Cuttlefish, adb shell dumpsys media camera and observed output
diff --git a/services/camera/libcameraservice/api2/CameraDeviceClient.h b/services/camera/libcameraservice/api2/CameraDeviceClient.h
index 1533cf5..45c904a 100644
--- a/services/camera/libcameraservice/api2/CameraDeviceClient.h
+++ b/services/camera/libcameraservice/api2/CameraDeviceClient.h
@@ -50,10 +50,10 @@
protected:
CameraDeviceClientBase(const sp<CameraService>& cameraService,
const sp<hardware::camera2::ICameraDeviceCallbacks>& remoteCallback,
- const String16& clientPackageName,
+ const std::string& clientPackageName,
bool systemNativeClient,
- const std::optional<String16>& clientFeatureId,
- const String8& cameraId,
+ const std::optional<std::string>& clientFeatureId,
+ const std::string& cameraId,
int api1CameraId,
int cameraFacing,
int sensorOrientation,
@@ -181,10 +181,10 @@
CameraDeviceClient(const sp<CameraService>& cameraService,
const sp<hardware::camera2::ICameraDeviceCallbacks>& remoteCallback,
std::shared_ptr<CameraServiceProxyWrapper> cameraServiceProxyWrapper,
- const String16& clientPackageName,
+ const std::string& clientPackageName,
bool clientPackageOverride,
- const std::optional<String16>& clientFeatureId,
- const String8& cameraId,
+ const std::optional<std::string>& clientFeatureId,
+ const std::string& cameraId,
int cameraFacing,
int sensorOrientation,
int clientPid,
@@ -195,7 +195,7 @@
virtual ~CameraDeviceClient();
virtual status_t initialize(sp<CameraProviderManager> manager,
- const String8& monitorTags) override;
+ const std::string& monitorTags) override;
virtual status_t setRotateAndCropOverride(uint8_t rotateAndCrop) override;
@@ -211,7 +211,7 @@
virtual status_t dumpClient(int fd, const Vector<String16>& args);
- virtual status_t startWatchingTags(const String8 &tags, int out);
+ virtual status_t startWatchingTags(const std::string &tags, int out);
virtual status_t stopWatchingTags(int out);
virtual status_t dumpWatchedEventsToVector(std::vector<std::string> &out);
@@ -245,12 +245,12 @@
// Calculate the ANativeWindow transform from android.sensor.orientation
status_t getRotationTransformLocked(int mirrorMode, /*out*/int32_t* transform);
- bool supportsUltraHighResolutionCapture(const String8 &cameraId);
+ bool supportsUltraHighResolutionCapture(const std::string &cameraId);
bool isSensorPixelModeConsistent(const std::list<int> &streamIdList,
const CameraMetadata &settings);
- const CameraMetadata &getStaticInfo(const String8 &cameraId);
+ const CameraMetadata &getStaticInfo(const std::string &cameraId);
private:
// StreamSurfaceId encapsulates streamId + surfaceId for a particular surface.
@@ -289,7 +289,7 @@
std::vector<int32_t> mSupportedPhysicalRequestKeys;
template<typename TProviderPtr>
- status_t initializeImpl(TProviderPtr providerPtr, const String8& monitorTags);
+ status_t initializeImpl(TProviderPtr providerPtr, const std::string& monitorTags);
/** Utility members */
binder::Status checkPidStatus(const char* checkLocation);