Merge "mCallback defined in BringYourOwnSection should be an object instead of a reference." into rvc-dev am: ad24e49e2f

Change-Id: Ia39b5ca803f3962ab2e864a16e7ceedb47788a9e
This commit is contained in:
Wenjie Zhou
2020-05-15 16:04:32 +00:00
committed by Automerger Merge Worker
4 changed files with 10 additions and 7 deletions

View File

@@ -351,9 +351,9 @@ Status IncidentService::reportIncidentToDumpstate(unique_fd stream,
Status IncidentService::registerSection(const int id, const String16& name16,
const sp<IIncidentDumpCallback>& callback) {
const char* name = String8(name16).c_str();
const String8 name = String8(name16);
const uid_t callingUid = IPCThreadState::self()->getCallingUid();
ALOGI("Uid %d registers section %d '%s'", callingUid, id, name);
ALOGI("Uid %d registers section %d '%s'", callingUid, id, name.c_str());
if (callback == nullptr) {
return Status::fromExceptionCode(Status::EX_NULL_POINTER);
}
@@ -363,11 +363,11 @@ Status IncidentService::registerSection(const int id, const String16& name16,
ALOGW("Error registering section %d: calling uid does not match", id);
return Status::fromExceptionCode(Status::EX_SECURITY);
}
mRegisteredSections.at(i) = new BringYourOwnSection(id, name, callingUid, callback);
mRegisteredSections.at(i) = new BringYourOwnSection(id, name.c_str(), callingUid, callback);
return Status::ok();
}
}
mRegisteredSections.push_back(new BringYourOwnSection(id, name, callingUid, callback));
mRegisteredSections.push_back(new BringYourOwnSection(id, name.c_str(), callingUid, callback));
return Status::ok();
}

View File

@@ -875,7 +875,9 @@ BringYourOwnSection::~BringYourOwnSection() {}
status_t BringYourOwnSection::BlockingCall(unique_fd& pipeWriteFd) const {
android::os::ParcelFileDescriptor pfd(std::move(pipeWriteFd));
mCallback->onDumpSection(pfd);
if(mCallback != nullptr) {
mCallback->onDumpSection(pfd);
}
return NO_ERROR;
}

View File

@@ -207,7 +207,7 @@ public:
virtual status_t BlockingCall(unique_fd& pipeWriteFd) const;
private:
const sp<IIncidentDumpCallback>& mCallback;
const sp<IIncidentDumpCallback> mCallback;
};

View File

@@ -25,7 +25,8 @@ import android.os.ParcelFileDescriptor;
*/
oneway interface IIncidentDumpCallback {
/**
* Dumps section data to the given ParcelFileDescriptor.
* Dumps section data to the given ParcelFileDescriptor, which needs to be
* closed properly after writing the data.
*/
void onDumpSection(in ParcelFileDescriptor fd);
}