Merge "Use std::string for interface name in RecordedTransaction" am: 079fb30e3b am: 34d842d723 am: 76c91d0d01
Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/2401692
Change-Id: Id21b7d394713245d5b9da0524c520c0370674fb1
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/libs/binder/RecordedTransaction.cpp b/libs/binder/RecordedTransaction.cpp
index 5406205..2e70304 100644
--- a/libs/binder/RecordedTransaction.cpp
+++ b/libs/binder/RecordedTransaction.cpp
@@ -123,8 +123,8 @@
static_cast<int32_t>(timestamp.tv_nsec),
0};
- t.mData.mInterfaceName = String8(interfaceName);
- if (interfaceName.size() != t.mData.mInterfaceName.bytes()) {
+ t.mData.mInterfaceName = std::string(String8(interfaceName).string());
+ if (interfaceName.size() != t.mData.mInterfaceName.size()) {
LOG(ERROR) << "Interface Name is not valid. Contains characters that aren't single byte "
"utf-8: "
<< interfaceName;
@@ -231,7 +231,8 @@
break;
}
case INTERFACE_NAME_CHUNK: {
- t.mData.mInterfaceName.setTo(reinterpret_cast<char*>(payloadMap), chunk.dataSize);
+ t.mData.mInterfaceName =
+ std::string(reinterpret_cast<char*>(payloadMap), chunk.dataSize);
break;
}
case DATA_PARCEL_CHUNK: {
@@ -308,7 +309,7 @@
}
if (NO_ERROR !=
writeChunk(fd, INTERFACE_NAME_CHUNK, mData.mInterfaceName.size() * sizeof(uint8_t),
- reinterpret_cast<const uint8_t*>(mData.mInterfaceName.string()))) {
+ reinterpret_cast<const uint8_t*>(mData.mInterfaceName.c_str()))) {
LOG(INFO) << "Failed to write Interface Name Chunk to fd " << fd.get();
return UNKNOWN_ERROR;
}
@@ -328,7 +329,7 @@
return NO_ERROR;
}
-const android::String8& RecordedTransaction::getInterfaceName() const {
+const std::string& RecordedTransaction::getInterfaceName() const {
return mData.mInterfaceName;
}
diff --git a/libs/binder/include/binder/RecordedTransaction.h b/libs/binder/include/binder/RecordedTransaction.h
index 4966330..eb765fe 100644
--- a/libs/binder/include/binder/RecordedTransaction.h
+++ b/libs/binder/include/binder/RecordedTransaction.h
@@ -41,7 +41,7 @@
[[nodiscard]] status_t dumpToFile(const android::base::unique_fd& fd) const;
- const String8& getInterfaceName() const;
+ const std::string& getInterfaceName() const;
uint32_t getCode() const;
uint32_t getFlags() const;
int32_t getReturnedStatus() const;
@@ -73,7 +73,7 @@
struct MovableData { // movable
TransactionHeader mHeader;
- String8 mInterfaceName;
+ std::string mInterfaceName;
};
MovableData mData;
Parcel mSent;
diff --git a/libs/binder/tests/binderRecordedTransactionTest.cpp b/libs/binder/tests/binderRecordedTransactionTest.cpp
index 2f5c8c6..30172cc 100644
--- a/libs/binder/tests/binderRecordedTransactionTest.cpp
+++ b/libs/binder/tests/binderRecordedTransactionTest.cpp
@@ -45,7 +45,7 @@
auto retrievedTransaction = RecordedTransaction::fromFile(fd);
- EXPECT_EQ(retrievedTransaction->getInterfaceName(), android::String8(interfaceName));
+ EXPECT_EQ(retrievedTransaction->getInterfaceName(), android::String8(interfaceName).c_str());
EXPECT_EQ(retrievedTransaction->getCode(), 1);
EXPECT_EQ(retrievedTransaction->getFlags(), 42);
EXPECT_EQ(retrievedTransaction->getTimestamp().tv_sec, ts.tv_sec);