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/common/Camera2ClientBase.h b/services/camera/libcameraservice/common/Camera2ClientBase.h
index 5cf3033..30c763d 100644
--- a/services/camera/libcameraservice/common/Camera2ClientBase.h
+++ b/services/camera/libcameraservice/common/Camera2ClientBase.h
@@ -50,10 +50,10 @@
Camera2ClientBase(const sp<CameraService>& cameraService,
const sp<TCamCallbacks>& remoteCallback,
std::shared_ptr<CameraServiceProxyWrapper> cameraServiceProxyWrapper,
- 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,
@@ -65,11 +65,12 @@
bool legacyClient = false);
virtual ~Camera2ClientBase();
- virtual status_t initialize(sp<CameraProviderManager> manager, const String8& monitorTags);
- virtual status_t dumpClient(int fd, const Vector<String16>& args);
- virtual status_t startWatchingTags(const String8 &tags, int out);
- virtual status_t stopWatchingTags(int out);
- virtual status_t dumpWatchedEventsToVector(std::vector<std::string> &out);
+ virtual status_t initialize(sp<CameraProviderManager> manager,
+ const std::string& monitorTags) override;
+ virtual status_t dumpClient(int fd, const Vector<String16>& args) override;
+ virtual status_t startWatchingTags(const std::string &tags, int out) override;
+ virtual status_t stopWatchingTags(int out) override;
+ virtual status_t dumpWatchedEventsToVector(std::vector<std::string> &out) override;
/**
* NotificationListener implementation
@@ -130,7 +131,7 @@
mutable Mutex mRemoteCallbackLock;
} mSharedCameraCallbacks;
- status_t injectCamera(const String8& injectedCamId,
+ status_t injectCamera(const std::string& injectedCamId,
sp<CameraProviderManager> manager) override;
status_t stopInjection() override;
@@ -181,7 +182,7 @@
private:
template<typename TProviderPtr>
- status_t initializeImpl(TProviderPtr providerPtr, const String8& monitorTags);
+ status_t initializeImpl(TProviderPtr providerPtr, const std::string& monitorTags);
binder::Status disconnectImpl();