Loading libs/binder/RecordedTransaction.cpp +6 −5 Original line number Diff line number Diff line Loading @@ -123,8 +123,8 @@ std::optional<RecordedTransaction> RecordedTransaction::fromDetails( 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; Loading Loading @@ -231,7 +231,8 @@ std::optional<RecordedTransaction> RecordedTransaction::fromFile(const unique_fd 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: { Loading Loading @@ -308,7 +309,7 @@ android::status_t RecordedTransaction::dumpToFile(const unique_fd& fd) const { } 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; } Loading @@ -328,7 +329,7 @@ android::status_t RecordedTransaction::dumpToFile(const unique_fd& fd) const { return NO_ERROR; } const android::String8& RecordedTransaction::getInterfaceName() const { const std::string& RecordedTransaction::getInterfaceName() const { return mData.mInterfaceName; } Loading libs/binder/include/binder/RecordedTransaction.h +2 −2 Original line number Diff line number Diff line Loading @@ -41,7 +41,7 @@ public: [[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; Loading Loading @@ -73,7 +73,7 @@ private: struct MovableData { // movable TransactionHeader mHeader; String8 mInterfaceName; std::string mInterfaceName; }; MovableData mData; Parcel mSent; Loading libs/binder/tests/binderRecordedTransactionTest.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -45,7 +45,7 @@ TEST(BinderRecordedTransaction, RoundTripEncoding) { 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); Loading Loading
libs/binder/RecordedTransaction.cpp +6 −5 Original line number Diff line number Diff line Loading @@ -123,8 +123,8 @@ std::optional<RecordedTransaction> RecordedTransaction::fromDetails( 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; Loading Loading @@ -231,7 +231,8 @@ std::optional<RecordedTransaction> RecordedTransaction::fromFile(const unique_fd 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: { Loading Loading @@ -308,7 +309,7 @@ android::status_t RecordedTransaction::dumpToFile(const unique_fd& fd) const { } 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; } Loading @@ -328,7 +329,7 @@ android::status_t RecordedTransaction::dumpToFile(const unique_fd& fd) const { return NO_ERROR; } const android::String8& RecordedTransaction::getInterfaceName() const { const std::string& RecordedTransaction::getInterfaceName() const { return mData.mInterfaceName; } Loading
libs/binder/include/binder/RecordedTransaction.h +2 −2 Original line number Diff line number Diff line Loading @@ -41,7 +41,7 @@ public: [[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; Loading Loading @@ -73,7 +73,7 @@ private: struct MovableData { // movable TransactionHeader mHeader; String8 mInterfaceName; std::string mInterfaceName; }; MovableData mData; Parcel mSent; Loading
libs/binder/tests/binderRecordedTransactionTest.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -45,7 +45,7 @@ TEST(BinderRecordedTransaction, RoundTripEncoding) { 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); Loading