Lock down String8|16.string() usage
All users should migrate to .c_str()
Bug: 295394788
Test: make checkbuild
Change-Id: Ic6295848cf3377e0bf5334448d5ed7ea53fae7ae
diff --git a/libutils/include/utils/String16.h b/libutils/include/utils/String16.h
index 1fa3723..44a4fd7 100644
--- a/libutils/include/utils/String16.h
+++ b/libutils/include/utils/String16.h
@@ -59,7 +59,6 @@
~String16();
inline const char16_t* c_str() const;
- inline const char16_t* string() const;
size_t size() const;
inline bool empty() const;
@@ -188,6 +187,14 @@
template <size_t N>
explicit constexpr String16(const StaticData<N>& s) : mString(s.data) {}
+
+// These symbols are for potential backward compatibility with prebuilts. To be removed.
+#ifdef ENABLE_STRING8_OBSOLETE_METHODS
+public:
+#else
+private:
+#endif
+ inline const char16_t* string() const;
};
// String16 can be trivially moved using memcpy() because moving does not
diff --git a/libutils/include/utils/String8.h b/libutils/include/utils/String8.h
index 0b92f5b..6d25072 100644
--- a/libutils/include/utils/String8.h
+++ b/libutils/include/utils/String8.h
@@ -65,7 +65,6 @@
static String8 formatV(const char* fmt, va_list args);
inline const char* c_str() const;
- inline const char* string() const;
inline size_t size() const;
inline size_t bytes() const;
@@ -155,6 +154,7 @@
#else
private:
#endif
+ inline const char* string() const;
inline bool isEmpty() const;
};