Use String8/16 c_str
Bug: 295394788 Test: make checkbuild Change-Id: I538720d4de2dcc038b417048209782ff605b7e30
This commit is contained in:
parent
6c8fb01159
commit
3815d34e5f
@ -66,10 +66,10 @@ public:
|
||||
* executing boot class Java code and thereby deny ourselves access to
|
||||
* non-boot classes.
|
||||
*/
|
||||
char* slashClassName = toSlashClassName(mClassName.string());
|
||||
char* slashClassName = toSlashClassName(mClassName.c_str());
|
||||
mClass = env->FindClass(slashClassName);
|
||||
if (mClass == NULL) {
|
||||
ALOGE("ERROR: could not find class '%s'\n", mClassName.string());
|
||||
ALOGE("ERROR: could not find class '%s'\n", mClassName.c_str());
|
||||
}
|
||||
free(slashClassName);
|
||||
|
||||
@ -179,7 +179,7 @@ int main(int argc, char* const argv[])
|
||||
argv_String.append(argv[i]);
|
||||
argv_String.append("\" ");
|
||||
}
|
||||
ALOGV("app_process main with argv: %s", argv_String.string());
|
||||
ALOGV("app_process main with argv: %s", argv_String.c_str());
|
||||
}
|
||||
|
||||
AppRuntime runtime(argv[0], computeArgBlockSize(argc, argv));
|
||||
@ -300,7 +300,7 @@ int main(int argc, char* const argv[])
|
||||
restOfArgs.append(argv_new[k]);
|
||||
restOfArgs.append("\" ");
|
||||
}
|
||||
ALOGV("Class name = %s, args = %s", className.string(), restOfArgs.string());
|
||||
ALOGV("Class name = %s, args = %s", className.c_str(), restOfArgs.c_str());
|
||||
}
|
||||
} else {
|
||||
// We're in zygote mode.
|
||||
@ -329,7 +329,7 @@ int main(int argc, char* const argv[])
|
||||
}
|
||||
|
||||
if (!niceName.empty()) {
|
||||
runtime.setArgv0(niceName.string(), true /* setProcName */);
|
||||
runtime.setArgv0(niceName.c_str(), true /* setProcName */);
|
||||
}
|
||||
|
||||
if (zygote) {
|
||||
|
@ -1137,7 +1137,7 @@ bool BootAnimation::parseAnimationDesc(Animation& animation) {
|
||||
if (!readFile(animation.zip, "desc.txt", desString)) {
|
||||
return false;
|
||||
}
|
||||
char const* s = desString.string();
|
||||
char const* s = desString.c_str();
|
||||
std::string dynamicColoringPartName = "";
|
||||
bool postDynamicColoring = false;
|
||||
|
||||
@ -1146,7 +1146,7 @@ bool BootAnimation::parseAnimationDesc(Animation& animation) {
|
||||
const char* endl = strstr(s, "\n");
|
||||
if (endl == nullptr) break;
|
||||
String8 line(s, endl - s);
|
||||
const char* l = line.string();
|
||||
const char* l = line.c_str();
|
||||
int fps = 0;
|
||||
int width = 0;
|
||||
int height = 0;
|
||||
@ -1330,7 +1330,7 @@ bool BootAnimation::preloadZip(Animation& animation) {
|
||||
|
||||
// If there is trimData present, override the positioning defaults.
|
||||
for (Animation::Part& part : animation.parts) {
|
||||
const char* trimDataStr = part.trimData.string();
|
||||
const char* trimDataStr = part.trimData.c_str();
|
||||
for (size_t frameIdx = 0; frameIdx < part.frames.size(); frameIdx++) {
|
||||
const char* endl = strstr(trimDataStr, "\n");
|
||||
// No more trimData for this part.
|
||||
@ -1338,7 +1338,7 @@ bool BootAnimation::preloadZip(Animation& animation) {
|
||||
break;
|
||||
}
|
||||
String8 line(trimDataStr, endl - trimDataStr);
|
||||
const char* lineStr = line.string();
|
||||
const char* lineStr = line.c_str();
|
||||
trimDataStr = ++endl;
|
||||
int width = 0, height = 0, x = 0, y = 0;
|
||||
if (sscanf(lineStr, "%dx%d+%d+%d", &width, &height, &x, &y) == 4) {
|
||||
@ -1566,7 +1566,7 @@ bool BootAnimation::playAnimation(const Animation& animation) {
|
||||
1.0f);
|
||||
|
||||
ALOGD("Playing files = %s/%s, Requested repeat = %d, playUntilComplete = %s",
|
||||
animation.fileName.string(), part.path.string(), part.count,
|
||||
animation.fileName.c_str(), part.path.c_str(), part.count,
|
||||
part.playUntilComplete ? "true" : "false");
|
||||
|
||||
// For the last animation, if we have progress indicator from
|
||||
@ -1787,17 +1787,17 @@ void BootAnimation::releaseAnimation(Animation* animation) const {
|
||||
BootAnimation::Animation* BootAnimation::loadAnimation(const String8& fn) {
|
||||
if (mLoadedFiles.indexOf(fn) >= 0) {
|
||||
SLOGE("File \"%s\" is already loaded. Cyclic ref is not allowed",
|
||||
fn.string());
|
||||
fn.c_str());
|
||||
return nullptr;
|
||||
}
|
||||
ZipFileRO *zip = ZipFileRO::open(fn);
|
||||
if (zip == nullptr) {
|
||||
SLOGE("Failed to open animation zip \"%s\": %s",
|
||||
fn.string(), strerror(errno));
|
||||
fn.c_str(), strerror(errno));
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
ALOGD("%s is loaded successfully", fn.string());
|
||||
ALOGD("%s is loaded successfully", fn.c_str());
|
||||
|
||||
Animation *animation = new Animation;
|
||||
animation->fileName = fn;
|
||||
|
@ -83,8 +83,8 @@ StatusListener::onReportSectionStatus(int32_t section, int32_t status)
|
||||
Status
|
||||
StatusListener::onReportServiceStatus(const String16& service, int32_t status)
|
||||
{
|
||||
fprintf(stderr, "service '%s' status %d\n", String8(service).string(), status);
|
||||
ALOGD("service '%s' status %d\n", String8(service).string(), status);
|
||||
fprintf(stderr, "service '%s' status %d\n", String8(service).c_str(), status);
|
||||
ALOGD("service '%s' status %d\n", String8(service).c_str(), status);
|
||||
return Status::ok();
|
||||
}
|
||||
|
||||
@ -384,7 +384,7 @@ main(int argc, char** argv)
|
||||
status = service->reportIncidentToStream(args, listener, std::move(writeEnd));
|
||||
|
||||
if (!status.isOk()) {
|
||||
fprintf(stderr, "reportIncident returned \"%s\"\n", status.toString8().string());
|
||||
fprintf(stderr, "reportIncident returned \"%s\"\n", status.toString8().c_str());
|
||||
return 1;
|
||||
}
|
||||
|
||||
@ -396,14 +396,14 @@ main(int argc, char** argv)
|
||||
sp<StatusListener> listener(new StatusListener());
|
||||
status = service->reportIncidentToDumpstate(std::move(writeEnd), listener);
|
||||
if (!status.isOk()) {
|
||||
fprintf(stderr, "reportIncident returned \"%s\"\n", status.toString8().string());
|
||||
fprintf(stderr, "reportIncident returned \"%s\"\n", status.toString8().c_str());
|
||||
return 1;
|
||||
}
|
||||
return listener->getExitCodeOrElse(stream_output(fds[0], STDOUT_FILENO));
|
||||
} else {
|
||||
status = service->reportIncident(args);
|
||||
if (!status.isOk()) {
|
||||
fprintf(stderr, "reportIncident returned \"%s\"\n", status.toString8().string());
|
||||
fprintf(stderr, "reportIncident returned \"%s\"\n", status.toString8().c_str());
|
||||
return 1;
|
||||
} else {
|
||||
return 0;
|
||||
|
@ -27,11 +27,11 @@ status_t NoopParser::Parse(const int in, const int out) const
|
||||
{
|
||||
string content;
|
||||
if (!ReadFdToString(in, &content)) {
|
||||
fprintf(stderr, "[%s]Failed to read data from incidentd\n", this->name.string());
|
||||
fprintf(stderr, "[%s]Failed to read data from incidentd\n", this->name.c_str());
|
||||
return -1;
|
||||
}
|
||||
if (!WriteStringToFd(content, out)) {
|
||||
fprintf(stderr, "[%s]Failed to write data to incidentd\n", this->name.string());
|
||||
fprintf(stderr, "[%s]Failed to write data to incidentd\n", this->name.c_str());
|
||||
return -1;
|
||||
}
|
||||
return NO_ERROR;
|
||||
@ -42,13 +42,13 @@ status_t ReverseParser::Parse(const int in, const int out) const
|
||||
{
|
||||
string content;
|
||||
if (!ReadFdToString(in, &content)) {
|
||||
fprintf(stderr, "[%s]Failed to read data from incidentd\n", this->name.string());
|
||||
fprintf(stderr, "[%s]Failed to read data from incidentd\n", this->name.c_str());
|
||||
return -1;
|
||||
}
|
||||
// reverse the content
|
||||
reverse(content.begin(), content.end());
|
||||
if (!WriteStringToFd(content, out)) {
|
||||
fprintf(stderr, "[%s]Failed to write data to incidentd\n", this->name.string());
|
||||
fprintf(stderr, "[%s]Failed to write data to incidentd\n", this->name.c_str());
|
||||
return -1;
|
||||
}
|
||||
return NO_ERROR;
|
||||
|
@ -101,7 +101,7 @@ int main(int argc, char** argv) {
|
||||
fprintf(stderr, "Pasring section %d...\n", sectionID);
|
||||
TextParserBase* parser = selectParser(sectionID);
|
||||
if (parser != nullptr) {
|
||||
fprintf(stderr, "Running parser: %s\n", parser->name.string());
|
||||
fprintf(stderr, "Running parser: %s\n", parser->name.c_str());
|
||||
status_t err = parser->Parse(STDIN_FILENO, STDOUT_FILENO);
|
||||
if (err != NO_ERROR) {
|
||||
fprintf(stderr, "Parse error in section %d: %s\n", sectionID, strerror(-err));
|
||||
|
@ -52,9 +52,9 @@ BatteryTypeParser::Parse(const int in, const int out) const
|
||||
}
|
||||
|
||||
if (!proto.flush(out)) {
|
||||
fprintf(stderr, "[%s]Error writing proto back\n", this->name.string());
|
||||
fprintf(stderr, "[%s]Error writing proto back\n", this->name.c_str());
|
||||
return -1;
|
||||
}
|
||||
fprintf(stderr, "[%s]Proto size: %zu bytes\n", this->name.string(), proto.size());
|
||||
fprintf(stderr, "[%s]Proto size: %zu bytes\n", this->name.c_str(), proto.size());
|
||||
return NO_ERROR;
|
||||
}
|
||||
|
@ -82,9 +82,9 @@ CpuFreqParser::Parse(const int in, const int out) const
|
||||
}
|
||||
|
||||
if (!proto.flush(out)) {
|
||||
fprintf(stderr, "[%s]Error writing proto back\n", this->name.string());
|
||||
fprintf(stderr, "[%s]Error writing proto back\n", this->name.c_str());
|
||||
return -1;
|
||||
}
|
||||
fprintf(stderr, "[%s]Proto size: %zu bytes\n", this->name.string(), proto.size());
|
||||
fprintf(stderr, "[%s]Proto size: %zu bytes\n", this->name.c_str(), proto.size());
|
||||
return NO_ERROR;
|
||||
}
|
||||
|
@ -130,11 +130,11 @@ CpuInfoParser::Parse(const int in, const int out) const
|
||||
record = parseRecordByColumns(line, columnIndices);
|
||||
diff = record.size() - header.size();
|
||||
if (diff < 0) {
|
||||
fprintf(stderr, "[%s]Line %d has %d missing fields\n%s\n", this->name.string(), nline, -diff, line.c_str());
|
||||
fprintf(stderr, "[%s]Line %d has %d missing fields\n%s\n", this->name.c_str(), nline, -diff, line.c_str());
|
||||
printRecord(record);
|
||||
continue;
|
||||
} else if (diff > 0) {
|
||||
fprintf(stderr, "[%s]Line %d has %d extra fields\n%s\n", this->name.string(), nline, diff, line.c_str());
|
||||
fprintf(stderr, "[%s]Line %d has %d extra fields\n%s\n", this->name.c_str(), nline, diff, line.c_str());
|
||||
printRecord(record);
|
||||
continue;
|
||||
}
|
||||
@ -143,7 +143,7 @@ CpuInfoParser::Parse(const int in, const int out) const
|
||||
for (int i=0; i<(int)record.size(); i++) {
|
||||
if (!table.insertField(&proto, header[i], record[i])) {
|
||||
fprintf(stderr, "[%s]Line %d fails to insert field %s with value %s\n",
|
||||
this->name.string(), nline, header[i].c_str(), record[i].c_str());
|
||||
this->name.c_str(), nline, header[i].c_str(), record[i].c_str());
|
||||
}
|
||||
}
|
||||
proto.end(token);
|
||||
@ -155,9 +155,9 @@ CpuInfoParser::Parse(const int in, const int out) const
|
||||
}
|
||||
|
||||
if (!proto.flush(out)) {
|
||||
fprintf(stderr, "[%s]Error writing proto back\n", this->name.string());
|
||||
fprintf(stderr, "[%s]Error writing proto back\n", this->name.c_str());
|
||||
return -1;
|
||||
}
|
||||
fprintf(stderr, "[%s]Proto size: %zu bytes\n", this->name.string(), proto.size());
|
||||
fprintf(stderr, "[%s]Proto size: %zu bytes\n", this->name.c_str(), proto.size());
|
||||
return NO_ERROR;
|
||||
}
|
||||
|
@ -76,9 +76,9 @@ EventLogTagsParser::Parse(const int in, const int out) const
|
||||
}
|
||||
|
||||
if (!proto.flush(out)) {
|
||||
fprintf(stderr, "[%s]Error writing proto back\n", this->name.string());
|
||||
fprintf(stderr, "[%s]Error writing proto back\n", this->name.c_str());
|
||||
return -1;
|
||||
}
|
||||
fprintf(stderr, "[%s]Proto size: %zu bytes\n", this->name.string(), proto.size());
|
||||
fprintf(stderr, "[%s]Proto size: %zu bytes\n", this->name.c_str(), proto.size());
|
||||
return NO_ERROR;
|
||||
}
|
||||
|
@ -51,11 +51,11 @@ KernelWakesParser::Parse(const int in, const int out) const
|
||||
|
||||
if (record.size() < header.size()) {
|
||||
// TODO: log this to incident report!
|
||||
fprintf(stderr, "[%s]Line %d has missing fields\n%s\n", this->name.string(), nline, line.c_str());
|
||||
fprintf(stderr, "[%s]Line %d has missing fields\n%s\n", this->name.c_str(), nline, line.c_str());
|
||||
continue;
|
||||
} else if (record.size() > header.size()) {
|
||||
// TODO: log this to incident report!
|
||||
fprintf(stderr, "[%s]Line %d has extra fields\n%s\n", this->name.string(), nline, line.c_str());
|
||||
fprintf(stderr, "[%s]Line %d has extra fields\n%s\n", this->name.c_str(), nline, line.c_str());
|
||||
continue;
|
||||
}
|
||||
|
||||
@ -63,7 +63,7 @@ KernelWakesParser::Parse(const int in, const int out) const
|
||||
for (int i=0; i<(int)record.size(); i++) {
|
||||
if (!table.insertField(&proto, header[i], record[i])) {
|
||||
fprintf(stderr, "[%s]Line %d has bad value %s of %s\n",
|
||||
this->name.string(), nline, header[i].c_str(), record[i].c_str());
|
||||
this->name.c_str(), nline, header[i].c_str(), record[i].c_str());
|
||||
}
|
||||
}
|
||||
proto.end(token);
|
||||
@ -75,9 +75,9 @@ KernelWakesParser::Parse(const int in, const int out) const
|
||||
}
|
||||
|
||||
if (!proto.flush(out)) {
|
||||
fprintf(stderr, "[%s]Error writing proto back\n", this->name.string());
|
||||
fprintf(stderr, "[%s]Error writing proto back\n", this->name.c_str());
|
||||
return -1;
|
||||
}
|
||||
fprintf(stderr, "[%s]Proto size: %zu bytes\n", this->name.string(), proto.size());
|
||||
fprintf(stderr, "[%s]Proto size: %zu bytes\n", this->name.c_str(), proto.size());
|
||||
return NO_ERROR;
|
||||
}
|
||||
|
@ -114,10 +114,10 @@ PageTypeInfoParser::Parse(const int in, const int out) const
|
||||
}
|
||||
|
||||
if (!proto.flush(out)) {
|
||||
fprintf(stderr, "[%s]Error writing proto back\n", this->name.string());
|
||||
fprintf(stderr, "[%s]Error writing proto back\n", this->name.c_str());
|
||||
return -1;
|
||||
}
|
||||
|
||||
fprintf(stderr, "[%s]Proto size: %zu bytes\n", this->name.string(), proto.size());
|
||||
fprintf(stderr, "[%s]Proto size: %zu bytes\n", this->name.c_str(), proto.size());
|
||||
return NO_ERROR;
|
||||
}
|
||||
|
@ -60,7 +60,7 @@ ProcrankParser::Parse(const int in, const int out) const
|
||||
if (record[record.size() - 1] == "TOTAL") { // TOTAL record
|
||||
total = line;
|
||||
} else {
|
||||
fprintf(stderr, "[%s]Line %d has missing fields\n%s\n", this->name.string(), nline,
|
||||
fprintf(stderr, "[%s]Line %d has missing fields\n%s\n", this->name.c_str(), nline,
|
||||
line.c_str());
|
||||
}
|
||||
continue;
|
||||
@ -70,7 +70,7 @@ ProcrankParser::Parse(const int in, const int out) const
|
||||
for (int i=0; i<(int)record.size(); i++) {
|
||||
if (!table.insertField(&proto, header[i], record[i])) {
|
||||
fprintf(stderr, "[%s]Line %d has bad value %s of %s\n",
|
||||
this->name.string(), nline, header[i].c_str(), record[i].c_str());
|
||||
this->name.c_str(), nline, header[i].c_str(), record[i].c_str());
|
||||
}
|
||||
}
|
||||
proto.end(token);
|
||||
@ -104,9 +104,9 @@ ProcrankParser::Parse(const int in, const int out) const
|
||||
}
|
||||
|
||||
if (!proto.flush(out)) {
|
||||
fprintf(stderr, "[%s]Error writing proto back\n", this->name.string());
|
||||
fprintf(stderr, "[%s]Error writing proto back\n", this->name.c_str());
|
||||
return -1;
|
||||
}
|
||||
fprintf(stderr, "[%s]Proto size: %zu bytes\n", this->name.string(), proto.size());
|
||||
fprintf(stderr, "[%s]Proto size: %zu bytes\n", this->name.c_str(), proto.size());
|
||||
return NO_ERROR;
|
||||
}
|
||||
|
@ -61,12 +61,12 @@ status_t PsParser::Parse(const int in, const int out) const {
|
||||
diff = record.size() - header.size();
|
||||
if (diff < 0) {
|
||||
// TODO: log this to incident report!
|
||||
fprintf(stderr, "[%s]Line %d has %d missing fields\n%s\n", this->name.string(), nline, -diff, line.c_str());
|
||||
fprintf(stderr, "[%s]Line %d has %d missing fields\n%s\n", this->name.c_str(), nline, -diff, line.c_str());
|
||||
printRecord(record);
|
||||
continue;
|
||||
} else if (diff > 0) {
|
||||
// TODO: log this to incident report!
|
||||
fprintf(stderr, "[%s]Line %d has %d extra fields\n%s\n", this->name.string(), nline, diff, line.c_str());
|
||||
fprintf(stderr, "[%s]Line %d has %d extra fields\n%s\n", this->name.c_str(), nline, diff, line.c_str());
|
||||
printRecord(record);
|
||||
continue;
|
||||
}
|
||||
@ -75,7 +75,7 @@ status_t PsParser::Parse(const int in, const int out) const {
|
||||
for (int i=0; i<(int)record.size(); i++) {
|
||||
if (!table.insertField(&proto, header[i], record[i])) {
|
||||
fprintf(stderr, "[%s]Line %d has bad value %s of %s\n",
|
||||
this->name.string(), nline, header[i].c_str(), record[i].c_str());
|
||||
this->name.c_str(), nline, header[i].c_str(), record[i].c_str());
|
||||
}
|
||||
}
|
||||
proto.end(token);
|
||||
@ -87,9 +87,9 @@ status_t PsParser::Parse(const int in, const int out) const {
|
||||
}
|
||||
|
||||
if (!proto.flush(out)) {
|
||||
fprintf(stderr, "[%s]Error writing proto back\n", this->name.string());
|
||||
fprintf(stderr, "[%s]Error writing proto back\n", this->name.c_str());
|
||||
return -1;
|
||||
}
|
||||
fprintf(stderr, "[%s]Proto size: %zu bytes\n", this->name.string(), proto.size());
|
||||
fprintf(stderr, "[%s]Proto size: %zu bytes\n", this->name.c_str(), proto.size());
|
||||
return NO_ERROR;
|
||||
}
|
||||
|
@ -219,9 +219,9 @@ SystemPropertiesParser::Parse(const int in, const int out) const
|
||||
}
|
||||
|
||||
if (!proto.flush(out)) {
|
||||
fprintf(stderr, "[%s]Error writing proto back\n", this->name.string());
|
||||
fprintf(stderr, "[%s]Error writing proto back\n", this->name.c_str());
|
||||
return -1;
|
||||
}
|
||||
fprintf(stderr, "[%s]Proto size: %zu bytes\n", this->name.string(), proto.size());
|
||||
fprintf(stderr, "[%s]Proto size: %zu bytes\n", this->name.c_str(), proto.size());
|
||||
return NO_ERROR;
|
||||
}
|
||||
|
@ -407,8 +407,8 @@ Status IncidentService::systemRunning() {
|
||||
Status IncidentService::getIncidentReportList(const String16& pkg16, const String16& cls16,
|
||||
vector<String16>* result) {
|
||||
status_t err;
|
||||
const string pkg(String8(pkg16).string());
|
||||
const string cls(String8(cls16).string());
|
||||
const string pkg(String8(pkg16).c_str());
|
||||
const string cls(String8(cls16).c_str());
|
||||
|
||||
// List the reports
|
||||
vector<sp<ReportFile>> all;
|
||||
@ -441,9 +441,9 @@ Status IncidentService::getIncidentReport(const String16& pkg16, const String16&
|
||||
const String16& id16, IncidentManager::IncidentReport* result) {
|
||||
status_t err;
|
||||
|
||||
const string pkg(String8(pkg16).string());
|
||||
const string cls(String8(cls16).string());
|
||||
const string id(String8(id16).string());
|
||||
const string pkg(String8(pkg16).c_str());
|
||||
const string cls(String8(cls16).c_str());
|
||||
const string id(String8(id16).c_str());
|
||||
|
||||
IncidentReportArgs args;
|
||||
sp<ReportFile> file = mWorkDirectory->getReport(pkg, cls, id, &args);
|
||||
@ -470,9 +470,9 @@ Status IncidentService::getIncidentReport(const String16& pkg16, const String16&
|
||||
|
||||
Status IncidentService::deleteIncidentReports(const String16& pkg16, const String16& cls16,
|
||||
const String16& id16) {
|
||||
const string pkg(String8(pkg16).string());
|
||||
const string cls(String8(cls16).string());
|
||||
const string id(String8(id16).string());
|
||||
const string pkg(String8(pkg16).c_str());
|
||||
const string cls(String8(cls16).c_str());
|
||||
const string id(String8(id16).c_str());
|
||||
|
||||
sp<ReportFile> file = mWorkDirectory->getReport(pkg, cls, id, nullptr);
|
||||
if (file != nullptr) {
|
||||
@ -484,7 +484,7 @@ Status IncidentService::deleteIncidentReports(const String16& pkg16, const Strin
|
||||
}
|
||||
|
||||
Status IncidentService::deleteAllIncidentReports(const String16& pkg16) {
|
||||
const string pkg(String8(pkg16).string());
|
||||
const string pkg(String8(pkg16).c_str());
|
||||
|
||||
mWorkDirectory->commitAll(pkg);
|
||||
mBroadcaster->clearPackageBroadcasts(pkg);
|
||||
@ -568,7 +568,7 @@ status_t IncidentService::command(FILE* in, FILE* out, FILE* err, Vector<String8
|
||||
while (SECTION_LIST[idx] != NULL) {
|
||||
const Section* section = SECTION_LIST[idx];
|
||||
if (section->id == id) {
|
||||
fprintf(out, "Section[%d] %s\n", id, section->name.string());
|
||||
fprintf(out, "Section[%d] %s\n", id, section->name.c_str());
|
||||
break;
|
||||
}
|
||||
idx++;
|
||||
@ -592,7 +592,7 @@ status_t IncidentService::cmd_help(FILE* out) {
|
||||
|
||||
static void printPrivacy(const Privacy* p, FILE* out, String8 indent) {
|
||||
if (p == NULL) return;
|
||||
fprintf(out, "%sid:%d, type:%d, dest:%d\n", indent.string(), p->field_id, p->type, p->policy);
|
||||
fprintf(out, "%sid:%d, type:%d, dest:%d\n", indent.c_str(), p->field_id, p->type, p->policy);
|
||||
if (p->children == NULL) return;
|
||||
for (int i = 0; p->children[i] != NULL; i++) { // NULL-terminated.
|
||||
printPrivacy(p->children[i], out, indent + " ");
|
||||
@ -605,7 +605,7 @@ status_t IncidentService::cmd_privacy(FILE* in, FILE* out, FILE* err, Vector<Str
|
||||
const int argCount = args.size();
|
||||
if (argCount >= 3) {
|
||||
String8 opt = args[1];
|
||||
int sectionId = atoi(args[2].string());
|
||||
int sectionId = atoi(args[2].c_str());
|
||||
|
||||
const Privacy* p = get_privacy_of_section(sectionId);
|
||||
if (p == NULL) {
|
||||
|
@ -711,7 +711,7 @@ status_t Reporter::execute_section(const Section* section, IncidentMetadata* met
|
||||
return NO_ERROR;
|
||||
}
|
||||
|
||||
ALOGD("Start incident report section %d '%s'", sectionId, section->name.string());
|
||||
ALOGD("Start incident report section %d '%s'", sectionId, section->name.c_str());
|
||||
IncidentMetadata::SectionStats* sectionMetadata = metadata->add_sections();
|
||||
|
||||
// Notify listener of starting
|
||||
@ -747,7 +747,7 @@ status_t Reporter::execute_section(const Section* section, IncidentMetadata* met
|
||||
sectionId, IIncidentReportStatusListener::STATUS_FINISHED);
|
||||
});
|
||||
|
||||
ALOGD("Finish incident report section %d '%s'", sectionId, section->name.string());
|
||||
ALOGD("Finish incident report section %d '%s'", sectionId, section->name.c_str());
|
||||
return NO_ERROR;
|
||||
}
|
||||
|
||||
|
@ -60,7 +60,7 @@ const char INCIDENT_HELPER[] = "/system/bin/incident_helper";
|
||||
const char* GZIP[] = {"/system/bin/gzip", NULL};
|
||||
|
||||
static pid_t fork_execute_incident_helper(const int id, Fpipe* p2cPipe, Fpipe* c2pPipe) {
|
||||
const char* ihArgs[]{INCIDENT_HELPER, "-s", String8::format("%d", id).string(), NULL};
|
||||
const char* ihArgs[]{INCIDENT_HELPER, "-s", String8::format("%d", id).c_str(), NULL};
|
||||
return fork_execute_cmd(const_cast<char**>(ihArgs), p2cPipe, c2pPipe);
|
||||
}
|
||||
|
||||
@ -100,7 +100,7 @@ status_t FileSection::Execute(ReportWriter* writer) const {
|
||||
// add O_CLOEXEC to make sure it is closed when exec incident helper
|
||||
unique_fd fd(open(mFilename, O_RDONLY | O_CLOEXEC));
|
||||
if (fd.get() == -1) {
|
||||
ALOGW("[%s] failed to open file", this->name.string());
|
||||
ALOGW("[%s] failed to open file", this->name.c_str());
|
||||
// There may be some devices/architectures that won't have the file.
|
||||
// Just return here without an error.
|
||||
return NO_ERROR;
|
||||
@ -110,13 +110,13 @@ status_t FileSection::Execute(ReportWriter* writer) const {
|
||||
Fpipe c2pPipe;
|
||||
// initiate pipes to pass data to/from incident_helper
|
||||
if (!p2cPipe.init() || !c2pPipe.init()) {
|
||||
ALOGW("[%s] failed to setup pipes", this->name.string());
|
||||
ALOGW("[%s] failed to setup pipes", this->name.c_str());
|
||||
return -errno;
|
||||
}
|
||||
|
||||
pid_t pid = fork_execute_incident_helper(this->id, &p2cPipe, &c2pPipe);
|
||||
if (pid == -1) {
|
||||
ALOGW("[%s] failed to fork", this->name.string());
|
||||
ALOGW("[%s] failed to fork", this->name.c_str());
|
||||
return -errno;
|
||||
}
|
||||
|
||||
@ -128,14 +128,14 @@ status_t FileSection::Execute(ReportWriter* writer) const {
|
||||
writer->setSectionStats(buffer);
|
||||
if (readStatus != NO_ERROR || buffer.timedOut()) {
|
||||
ALOGW("[%s] failed to read data from incident helper: %s, timedout: %s",
|
||||
this->name.string(), strerror(-readStatus), buffer.timedOut() ? "true" : "false");
|
||||
this->name.c_str(), strerror(-readStatus), buffer.timedOut() ? "true" : "false");
|
||||
kill_child(pid);
|
||||
return readStatus;
|
||||
}
|
||||
|
||||
status_t ihStatus = wait_child(pid);
|
||||
if (ihStatus != NO_ERROR) {
|
||||
ALOGW("[%s] abnormal child process: %s", this->name.string(), strerror(-ihStatus));
|
||||
ALOGW("[%s] abnormal child process: %s", this->name.c_str(), strerror(-ihStatus));
|
||||
return OK; // Not a fatal error.
|
||||
}
|
||||
|
||||
@ -169,7 +169,7 @@ status_t GZipSection::Execute(ReportWriter* writer) const {
|
||||
index++; // look at the next file.
|
||||
}
|
||||
if (fd.get() == -1) {
|
||||
ALOGW("[%s] can't open all the files", this->name.string());
|
||||
ALOGW("[%s] can't open all the files", this->name.c_str());
|
||||
return NO_ERROR; // e.g. LAST_KMSG will reach here in user build.
|
||||
}
|
||||
FdBuffer buffer;
|
||||
@ -177,13 +177,13 @@ status_t GZipSection::Execute(ReportWriter* writer) const {
|
||||
Fpipe c2pPipe;
|
||||
// initiate pipes to pass data to/from gzip
|
||||
if (!p2cPipe.init() || !c2pPipe.init()) {
|
||||
ALOGW("[%s] failed to setup pipes", this->name.string());
|
||||
ALOGW("[%s] failed to setup pipes", this->name.c_str());
|
||||
return -errno;
|
||||
}
|
||||
|
||||
pid_t pid = fork_execute_cmd((char* const*)GZIP, &p2cPipe, &c2pPipe);
|
||||
if (pid == -1) {
|
||||
ALOGW("[%s] failed to fork", this->name.string());
|
||||
ALOGW("[%s] failed to fork", this->name.c_str());
|
||||
return -errno;
|
||||
}
|
||||
// parent process
|
||||
@ -202,14 +202,14 @@ status_t GZipSection::Execute(ReportWriter* writer) const {
|
||||
size_t editPos = internalBuffer->wp()->pos();
|
||||
internalBuffer->wp()->move(8); // reserve 8 bytes for the varint of the data size.
|
||||
size_t dataBeginAt = internalBuffer->wp()->pos();
|
||||
VLOG("[%s] editPos=%zu, dataBeginAt=%zu", this->name.string(), editPos, dataBeginAt);
|
||||
VLOG("[%s] editPos=%zu, dataBeginAt=%zu", this->name.c_str(), editPos, dataBeginAt);
|
||||
|
||||
status_t readStatus = buffer.readProcessedDataInStream(
|
||||
fd.get(), std::move(p2cPipe.writeFd()), std::move(c2pPipe.readFd()), this->timeoutMs,
|
||||
isSysfs(mFilenames[index]));
|
||||
writer->setSectionStats(buffer);
|
||||
if (readStatus != NO_ERROR || buffer.timedOut()) {
|
||||
ALOGW("[%s] failed to read data from gzip: %s, timedout: %s", this->name.string(),
|
||||
ALOGW("[%s] failed to read data from gzip: %s, timedout: %s", this->name.c_str(),
|
||||
strerror(-readStatus), buffer.timedOut() ? "true" : "false");
|
||||
kill_child(pid);
|
||||
return readStatus;
|
||||
@ -217,7 +217,7 @@ status_t GZipSection::Execute(ReportWriter* writer) const {
|
||||
|
||||
status_t gzipStatus = wait_child(pid);
|
||||
if (gzipStatus != NO_ERROR) {
|
||||
ALOGW("[%s] abnormal child process: %s", this->name.string(), strerror(-gzipStatus));
|
||||
ALOGW("[%s] abnormal child process: %s", this->name.c_str(), strerror(-gzipStatus));
|
||||
return gzipStatus;
|
||||
}
|
||||
// Revisit the actual size from gzip result and edit the internal buffer accordingly.
|
||||
@ -290,7 +290,7 @@ status_t WorkerThreadSection::Execute(ReportWriter* writer) const {
|
||||
FdBuffer buffer;
|
||||
err = buffer.read(data->pipe.readFd().get(), this->timeoutMs);
|
||||
if (err != NO_ERROR) {
|
||||
ALOGE("[%s] reader failed with error '%s'", this->name.string(), strerror(-err));
|
||||
ALOGE("[%s] reader failed with error '%s'", this->name.c_str(), strerror(-err));
|
||||
}
|
||||
|
||||
// If the worker side is finished, then return its error (which may overwrite
|
||||
@ -300,7 +300,7 @@ status_t WorkerThreadSection::Execute(ReportWriter* writer) const {
|
||||
data->pipe.close();
|
||||
if (data->workerError != NO_ERROR) {
|
||||
err = data->workerError;
|
||||
ALOGE("[%s] worker failed with error '%s'", this->name.string(), strerror(-err));
|
||||
ALOGE("[%s] worker failed with error '%s'", this->name.c_str(), strerror(-err));
|
||||
}
|
||||
workerDone = data->workerDone;
|
||||
}
|
||||
@ -309,17 +309,17 @@ status_t WorkerThreadSection::Execute(ReportWriter* writer) const {
|
||||
if (err != NO_ERROR) {
|
||||
char errMsg[128];
|
||||
snprintf(errMsg, 128, "[%s] failed with error '%s'",
|
||||
this->name.string(), strerror(-err));
|
||||
this->name.c_str(), strerror(-err));
|
||||
writer->error(this, err, "WorkerThreadSection failed.");
|
||||
return NO_ERROR;
|
||||
}
|
||||
if (buffer.truncated()) {
|
||||
ALOGW("[%s] too large, truncating", this->name.string());
|
||||
ALOGW("[%s] too large, truncating", this->name.c_str());
|
||||
// Do not write a truncated section. It won't pass through the PrivacyFilter.
|
||||
return NO_ERROR;
|
||||
}
|
||||
if (!workerDone || buffer.timedOut()) {
|
||||
ALOGW("[%s] timed out", this->name.string());
|
||||
ALOGW("[%s] timed out", this->name.c_str());
|
||||
return NO_ERROR;
|
||||
}
|
||||
|
||||
@ -360,18 +360,18 @@ status_t CommandSection::Execute(ReportWriter* writer) const {
|
||||
Fpipe ihPipe;
|
||||
|
||||
if (!cmdPipe.init() || !ihPipe.init()) {
|
||||
ALOGW("[%s] failed to setup pipes", this->name.string());
|
||||
ALOGW("[%s] failed to setup pipes", this->name.c_str());
|
||||
return -errno;
|
||||
}
|
||||
|
||||
pid_t cmdPid = fork_execute_cmd((char* const*)mCommand, NULL, &cmdPipe);
|
||||
if (cmdPid == -1) {
|
||||
ALOGW("[%s] failed to fork", this->name.string());
|
||||
ALOGW("[%s] failed to fork", this->name.c_str());
|
||||
return -errno;
|
||||
}
|
||||
pid_t ihPid = fork_execute_incident_helper(this->id, &cmdPipe, &ihPipe);
|
||||
if (ihPid == -1) {
|
||||
ALOGW("[%s] failed to fork", this->name.string());
|
||||
ALOGW("[%s] failed to fork", this->name.c_str());
|
||||
return -errno;
|
||||
}
|
||||
|
||||
@ -381,7 +381,7 @@ status_t CommandSection::Execute(ReportWriter* writer) const {
|
||||
writer->setSectionStats(buffer);
|
||||
if (readStatus != NO_ERROR || buffer.timedOut()) {
|
||||
ALOGW("[%s] failed to read data from incident helper: %s, timedout: %s",
|
||||
this->name.string(), strerror(-readStatus), buffer.timedOut() ? "true" : "false");
|
||||
this->name.c_str(), strerror(-readStatus), buffer.timedOut() ? "true" : "false");
|
||||
kill_child(cmdPid);
|
||||
kill_child(ihPid);
|
||||
return readStatus;
|
||||
@ -393,7 +393,7 @@ status_t CommandSection::Execute(ReportWriter* writer) const {
|
||||
status_t ihStatus = wait_child(ihPid);
|
||||
if (cmdStatus != NO_ERROR || ihStatus != NO_ERROR) {
|
||||
ALOGW("[%s] abnormal child processes, return status: command: %s, incident helper: %s",
|
||||
this->name.string(), strerror(-cmdStatus), strerror(-ihStatus));
|
||||
this->name.c_str(), strerror(-cmdStatus), strerror(-ihStatus));
|
||||
// Not a fatal error.
|
||||
return NO_ERROR;
|
||||
}
|
||||
@ -428,7 +428,7 @@ status_t DumpsysSection::BlockingCall(unique_fd& pipeWriteFd) const {
|
||||
sp<IBinder> service = defaultServiceManager()->checkService(mService);
|
||||
|
||||
if (service == NULL) {
|
||||
ALOGW("DumpsysSection: Can't lookup service: %s", String8(mService).string());
|
||||
ALOGW("DumpsysSection: Can't lookup service: %s", String8(mService).c_str());
|
||||
return NAME_NOT_FOUND;
|
||||
}
|
||||
|
||||
@ -463,14 +463,14 @@ status_t TextDumpsysSection::Execute(ReportWriter* writer) const {
|
||||
// checkService won't wait for the service to show up like getService will.
|
||||
sp<IBinder> service = defaultServiceManager()->checkService(mService);
|
||||
if (service == NULL) {
|
||||
ALOGW("TextDumpsysSection: Can't lookup service: %s", String8(mService).string());
|
||||
ALOGW("TextDumpsysSection: Can't lookup service: %s", String8(mService).c_str());
|
||||
return NAME_NOT_FOUND;
|
||||
}
|
||||
|
||||
// Create pipe
|
||||
Fpipe dumpPipe;
|
||||
if (!dumpPipe.init()) {
|
||||
ALOGW("[%s] failed to setup pipe", this->name.string());
|
||||
ALOGW("[%s] failed to setup pipe", this->name.c_str());
|
||||
return -errno;
|
||||
}
|
||||
|
||||
@ -482,7 +482,7 @@ status_t TextDumpsysSection::Execute(ReportWriter* writer) const {
|
||||
signal(SIGPIPE, sigpipe_handler);
|
||||
status_t err = service->dump(write_fd.get(), this->mArgs);
|
||||
if (err != OK) {
|
||||
ALOGW("[%s] dump thread failed. Error: %s", this->name.string(), strerror(-err));
|
||||
ALOGW("[%s] dump thread failed. Error: %s", this->name.c_str(), strerror(-err));
|
||||
}
|
||||
write_fd.reset();
|
||||
});
|
||||
@ -490,7 +490,7 @@ status_t TextDumpsysSection::Execute(ReportWriter* writer) const {
|
||||
// Collect dump content
|
||||
FdBuffer buffer;
|
||||
ProtoOutputStream proto;
|
||||
proto.write(TextDumpProto::COMMAND, std::string(name.string()));
|
||||
proto.write(TextDumpProto::COMMAND, std::string(name.c_str()));
|
||||
proto.write(TextDumpProto::DUMP_DURATION_NS, int64_t(Nanotime() - start));
|
||||
buffer.write(proto.data());
|
||||
|
||||
@ -504,7 +504,7 @@ status_t TextDumpsysSection::Execute(ReportWriter* writer) const {
|
||||
dumpPipe.readFd().reset();
|
||||
writer->setSectionStats(buffer);
|
||||
if (readStatus != OK || buffer.timedOut()) {
|
||||
ALOGW("[%s] failed to read from dumpsys: %s, timedout: %s", this->name.string(),
|
||||
ALOGW("[%s] failed to read from dumpsys: %s, timedout: %s", this->name.c_str(),
|
||||
strerror(-readStatus), buffer.timedOut() ? "true" : "false");
|
||||
worker.detach();
|
||||
return readStatus;
|
||||
@ -579,7 +579,7 @@ status_t LogSection::BlockingCall(unique_fd& pipeWriteFd) const {
|
||||
// Hence forking a new process to prevent memory fragmentation.
|
||||
pid_t pid = fork();
|
||||
if (pid < 0) {
|
||||
ALOGW("[%s] failed to fork", this->name.string());
|
||||
ALOGW("[%s] failed to fork", this->name.c_str());
|
||||
return errno;
|
||||
}
|
||||
if (pid > 0) {
|
||||
@ -593,7 +593,7 @@ status_t LogSection::BlockingCall(unique_fd& pipeWriteFd) const {
|
||||
android_logger_list_free);
|
||||
|
||||
if (android_logger_open(loggers.get(), mLogID) == NULL) {
|
||||
ALOGE("[%s] Can't get logger.", this->name.string());
|
||||
ALOGE("[%s] Can't get logger.", this->name.c_str());
|
||||
_exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
@ -610,7 +610,7 @@ status_t LogSection::BlockingCall(unique_fd& pipeWriteFd) const {
|
||||
// status = -EAGAIN, graceful indication for ANDRODI_LOG_NONBLOCK that this is the end.
|
||||
if (status <= 0) {
|
||||
if (status != -EAGAIN) {
|
||||
ALOGW("[%s] fails to read a log_msg.\n", this->name.string());
|
||||
ALOGW("[%s] fails to read a log_msg.\n", this->name.c_str());
|
||||
err = -status;
|
||||
}
|
||||
break;
|
||||
@ -680,7 +680,7 @@ status_t LogSection::BlockingCall(unique_fd& pipeWriteFd) const {
|
||||
AndroidLogEntry entry;
|
||||
status = android_log_processLogBuffer(&msg.entry, &entry);
|
||||
if (status != OK) {
|
||||
ALOGW("[%s] fails to process to an entry.\n", this->name.string());
|
||||
ALOGW("[%s] fails to process to an entry.\n", this->name.c_str());
|
||||
err = status;
|
||||
break;
|
||||
}
|
||||
@ -702,7 +702,7 @@ status_t LogSection::BlockingCall(unique_fd& pipeWriteFd) const {
|
||||
}
|
||||
if (!proto.flush(pipeWriteFd.get())) {
|
||||
if (errno == EPIPE) {
|
||||
ALOGW("[%s] wrote to a broken pipe\n", this->name.string());
|
||||
ALOGW("[%s] wrote to a broken pipe\n", this->name.c_str());
|
||||
}
|
||||
err = errno;
|
||||
break;
|
||||
@ -757,7 +757,7 @@ status_t TombstoneSection::BlockingCall(unique_fd& pipeWriteFd) const {
|
||||
}
|
||||
ssize_t exe_name_len = readlink(link_name, exe_name, EXE_NAME_LEN);
|
||||
if (exe_name_len < 0 || exe_name_len >= EXE_NAME_LEN) {
|
||||
ALOGE("[%s] Can't read '%s': %s", name.string(), link_name, strerror(errno));
|
||||
ALOGE("[%s] Can't read '%s': %s", name.c_str(), link_name, strerror(errno));
|
||||
continue;
|
||||
}
|
||||
// readlink(2) does not put a null terminator at the end
|
||||
@ -788,7 +788,7 @@ status_t TombstoneSection::BlockingCall(unique_fd& pipeWriteFd) const {
|
||||
|
||||
Fpipe dumpPipe;
|
||||
if (!dumpPipe.init()) {
|
||||
ALOGW("[%s] failed to setup dump pipe", this->name.string());
|
||||
ALOGW("[%s] failed to setup dump pipe", this->name.c_str());
|
||||
err = -errno;
|
||||
break;
|
||||
}
|
||||
@ -822,12 +822,12 @@ status_t TombstoneSection::BlockingCall(unique_fd& pipeWriteFd) const {
|
||||
// Wait on the child to avoid it becoming a zombie process.
|
||||
status_t cStatus = wait_child(child);
|
||||
if (err != NO_ERROR) {
|
||||
ALOGW("[%s] failed to read stack dump: %d", this->name.string(), err);
|
||||
ALOGW("[%s] failed to read stack dump: %d", this->name.c_str(), err);
|
||||
dumpPipe.readFd().reset();
|
||||
break;
|
||||
}
|
||||
if (cStatus != NO_ERROR) {
|
||||
ALOGE("[%s] child had an issue: %s\n", this->name.string(), strerror(-cStatus));
|
||||
ALOGE("[%s] child had an issue: %s\n", this->name.c_str(), strerror(-cStatus));
|
||||
}
|
||||
|
||||
// Resize dump buffer
|
||||
@ -852,7 +852,7 @@ status_t TombstoneSection::BlockingCall(unique_fd& pipeWriteFd) const {
|
||||
dumpPipe.readFd().reset();
|
||||
if (!proto.flush(pipeWriteFd.get())) {
|
||||
if (errno == EPIPE) {
|
||||
ALOGE("[%s] wrote to a broken pipe\n", this->name.string());
|
||||
ALOGE("[%s] wrote to a broken pipe\n", this->name.c_str());
|
||||
}
|
||||
err = errno;
|
||||
break;
|
||||
|
@ -62,8 +62,8 @@ void clean_directory(const char* directory, off_t maxSize, size_t maxCount) {
|
||||
continue;
|
||||
}
|
||||
String8 filename = dirbase + entry->d_name;
|
||||
if (stat(filename.string(), &st) != 0) {
|
||||
ALOGE("Unable to stat file %s", filename.string());
|
||||
if (stat(filename.c_str(), &st) != 0) {
|
||||
ALOGE("Unable to stat file %s", filename.c_str());
|
||||
continue;
|
||||
}
|
||||
if (!S_ISREG(st.st_mode)) {
|
||||
@ -88,7 +88,7 @@ void clean_directory(const char* directory, off_t maxSize, size_t maxCount) {
|
||||
// Remove files until we're under our limits.
|
||||
for (std::vector<std::pair<String8, struct stat>>::iterator it = files.begin();
|
||||
it != files.end() && totalSize >= maxSize && totalCount >= maxCount; it++) {
|
||||
remove(it->first.string());
|
||||
remove(it->first.c_str());
|
||||
totalSize -= it->second.st_size;
|
||||
totalCount--;
|
||||
}
|
||||
|
@ -352,7 +352,7 @@ loadNativeCode_native(JNIEnv* env, jobject clazz, jstring path, jstring funcName
|
||||
|
||||
const char* dirStr = env->GetStringUTFChars(internalDataDir, NULL);
|
||||
code->internalDataPathObj = dirStr;
|
||||
code->internalDataPath = code->internalDataPathObj.string();
|
||||
code->internalDataPath = code->internalDataPathObj.c_str();
|
||||
env->ReleaseStringUTFChars(internalDataDir, dirStr);
|
||||
|
||||
if (externalDataDir != NULL) {
|
||||
@ -360,7 +360,7 @@ loadNativeCode_native(JNIEnv* env, jobject clazz, jstring path, jstring funcName
|
||||
code->externalDataPathObj = dirStr;
|
||||
env->ReleaseStringUTFChars(externalDataDir, dirStr);
|
||||
}
|
||||
code->externalDataPath = code->externalDataPathObj.string();
|
||||
code->externalDataPath = code->externalDataPathObj.c_str();
|
||||
|
||||
code->sdkVersion = sdkVersion;
|
||||
|
||||
@ -372,7 +372,7 @@ loadNativeCode_native(JNIEnv* env, jobject clazz, jstring path, jstring funcName
|
||||
code->obbPathObj = dirStr;
|
||||
env->ReleaseStringUTFChars(obbDir, dirStr);
|
||||
}
|
||||
code->obbPath = code->obbPathObj.string();
|
||||
code->obbPath = code->obbPathObj.c_str();
|
||||
|
||||
jbyte* rawSavedState = NULL;
|
||||
jsize rawSavedSize = 0;
|
||||
|
@ -106,15 +106,14 @@ static jint backupToTar(JNIEnv* env, jobject clazz, jstring packageNameObj,
|
||||
: NULL;
|
||||
|
||||
if (path.length() < rootpath.length()) {
|
||||
ALOGE("file path [%s] shorter than root path [%s]",
|
||||
path.string(), rootpath.string());
|
||||
ALOGE("file path [%s] shorter than root path [%s]", path.c_str(), rootpath.c_str());
|
||||
return (jint) -1;
|
||||
}
|
||||
|
||||
off64_t tarSize = 0;
|
||||
jint err = write_tarfile(packageName, domain, rootpath, path, &tarSize, writer);
|
||||
if (!err) {
|
||||
ALOGI("measured [%s] at %lld", path.string(), (long long)tarSize);
|
||||
ALOGI("measured [%s] at %lld", path.c_str(), (long long)tarSize);
|
||||
env->CallVoidMethod(dataOutputObj, sFullBackupDataOutput.addSize, (jlong) tarSize);
|
||||
}
|
||||
|
||||
|
@ -76,7 +76,7 @@ readNextHeader_native(JNIEnv* env, jobject clazz, jlong r, jobject entity)
|
||||
return err < 0 ? err : -1;
|
||||
}
|
||||
// TODO: Set the fields in the entity object
|
||||
jstring keyStr = env->NewStringUTF(key.string());
|
||||
jstring keyStr = env->NewStringUTF(key.c_str());
|
||||
env->SetObjectField(entity, s_keyField, keyStr);
|
||||
env->SetIntField(entity, s_dataSizeField, dataSize);
|
||||
return 0;
|
||||
|
@ -118,7 +118,7 @@ readHeader_native(JNIEnv* env, jobject clazz, jobject headerObj, jobject fdObj)
|
||||
}
|
||||
|
||||
env->SetIntField(headerObj, s_chunkSizeField, flattenedHeader.dataSize);
|
||||
env->SetObjectField(headerObj, s_keyPrefixField, env->NewStringUTF(keyPrefix.string()));
|
||||
env->SetObjectField(headerObj, s_keyPrefixField, env->NewStringUTF(keyPrefix.c_str()));
|
||||
|
||||
return (jint) 0;
|
||||
}
|
||||
|
@ -58,13 +58,13 @@ static void throwExceptionWithRowCol(JNIEnv* env, jint row, jint column) {
|
||||
msg.appendFormat("Couldn't read row %d, col %d from CursorWindow. "
|
||||
"Make sure the Cursor is initialized correctly before accessing data from it.",
|
||||
row, column);
|
||||
jniThrowException(env, "java/lang/IllegalStateException", msg.string());
|
||||
jniThrowException(env, "java/lang/IllegalStateException", msg.c_str());
|
||||
}
|
||||
|
||||
static void throwUnknownTypeException(JNIEnv * env, jint type) {
|
||||
String8 msg;
|
||||
msg.appendFormat("UNKNOWN type %d", type);
|
||||
jniThrowException(env, "java/lang/IllegalStateException", msg.string());
|
||||
jniThrowException(env, "java/lang/IllegalStateException", msg.c_str());
|
||||
}
|
||||
|
||||
static int getFdCount() {
|
||||
@ -107,7 +107,7 @@ static jlong nativeCreate(JNIEnv* env, jclass clazz, jstring nameObj, jint curso
|
||||
fail:
|
||||
jniThrowExceptionFmt(env, "android/database/CursorWindowAllocationException",
|
||||
"Could not allocate CursorWindow '%s' of size %d due to error %d.",
|
||||
name.string(), cursorWindowSize, status);
|
||||
name.c_str(), cursorWindowSize, status);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -139,7 +139,7 @@ static void nativeDispose(JNIEnv* env, jclass clazz, jlong windowPtr) {
|
||||
|
||||
static jstring nativeGetName(JNIEnv* env, jclass clazz, jlong windowPtr) {
|
||||
CursorWindow* window = reinterpret_cast<CursorWindow*>(windowPtr);
|
||||
return env->NewStringUTF(window->name().string());
|
||||
return env->NewStringUTF(window->name().c_str());
|
||||
}
|
||||
|
||||
static void nativeWriteToParcel(JNIEnv * env, jclass clazz, jlong windowPtr,
|
||||
@ -151,7 +151,7 @@ static void nativeWriteToParcel(JNIEnv * env, jclass clazz, jlong windowPtr,
|
||||
if (status) {
|
||||
String8 msg;
|
||||
msg.appendFormat("Could not write CursorWindow to Parcel due to error %d.", status);
|
||||
jniThrowRuntimeException(env, msg.string());
|
||||
jniThrowRuntimeException(env, msg.c_str());
|
||||
}
|
||||
}
|
||||
|
||||
@ -267,7 +267,7 @@ static jstring nativeGetString(JNIEnv* env, jclass clazz, jlong windowPtr,
|
||||
// doesn't like UTF-8 strings with high codepoints. It actually expects
|
||||
// Modified UTF-8 with encoded surrogate pairs.
|
||||
String16 utf16(value, sizeIncludingNull - 1);
|
||||
return env->NewString(reinterpret_cast<const jchar*>(utf16.string()), utf16.size());
|
||||
return env->NewString(reinterpret_cast<const jchar*>(utf16.c_str()), utf16.size());
|
||||
} else if (type == CursorWindow::FIELD_TYPE_INTEGER) {
|
||||
int64_t value = window->getFieldSlotValueLong(fieldSlot);
|
||||
char buf[32];
|
||||
|
@ -229,7 +229,7 @@ void throw_sqlite3_exception(JNIEnv* env, int errcode,
|
||||
fullMessage.append(": ");
|
||||
fullMessage.append(message);
|
||||
}
|
||||
jniThrowException(env, exceptionClass, fullMessage.string());
|
||||
jniThrowException(env, exceptionClass, fullMessage.c_str());
|
||||
} else {
|
||||
jniThrowException(env, exceptionClass, message);
|
||||
}
|
||||
|
@ -91,15 +91,14 @@ struct SQLiteConnection {
|
||||
// Called each time a statement begins execution, when tracing is enabled.
|
||||
static void sqliteTraceCallback(void *data, const char *sql) {
|
||||
SQLiteConnection* connection = static_cast<SQLiteConnection*>(data);
|
||||
ALOG(LOG_VERBOSE, SQLITE_TRACE_TAG, "%s: \"%s\"\n",
|
||||
connection->label.string(), sql);
|
||||
ALOG(LOG_VERBOSE, SQLITE_TRACE_TAG, "%s: \"%s\"\n", connection->label.c_str(), sql);
|
||||
}
|
||||
|
||||
// Called each time a statement finishes execution, when profiling is enabled.
|
||||
static void sqliteProfileCallback(void *data, const char *sql, sqlite3_uint64 tm) {
|
||||
SQLiteConnection* connection = static_cast<SQLiteConnection*>(data);
|
||||
ALOG(LOG_VERBOSE, SQLITE_PROFILE_TAG, "%s: \"%s\" took %0.3f ms\n",
|
||||
connection->label.string(), sql, tm * 0.000001f);
|
||||
ALOG(LOG_VERBOSE, SQLITE_PROFILE_TAG, "%s: \"%s\" took %0.3f ms\n", connection->label.c_str(),
|
||||
sql, tm * 0.000001f);
|
||||
}
|
||||
|
||||
// Called after each SQLite VM instruction when cancelation is enabled.
|
||||
@ -130,7 +129,7 @@ static jlong nativeOpen(JNIEnv* env, jclass clazz, jstring pathStr, jint openFla
|
||||
env->ReleaseStringUTFChars(labelStr, labelChars);
|
||||
|
||||
sqlite3* db;
|
||||
int err = sqlite3_open_v2(path.string(), &db, sqliteFlags, NULL);
|
||||
int err = sqlite3_open_v2(path.c_str(), &db, sqliteFlags, NULL);
|
||||
if (err != SQLITE_OK) {
|
||||
throw_sqlite3_exception_errcode(env, err, "Could not open database");
|
||||
return 0;
|
||||
@ -180,7 +179,7 @@ static jlong nativeOpen(JNIEnv* env, jclass clazz, jstring pathStr, jint openFla
|
||||
sqlite3_profile(db, &sqliteProfileCallback, connection);
|
||||
}
|
||||
|
||||
ALOGV("Opened connection %p with label '%s'", db, label.string());
|
||||
ALOGV("Opened connection %p with label '%s'", db, label.c_str());
|
||||
return reinterpret_cast<jlong>(connection);
|
||||
}
|
||||
|
||||
@ -760,7 +759,7 @@ static jlong nativeExecuteForCursorWindow(JNIEnv* env, jclass clazz,
|
||||
if (status) {
|
||||
String8 msg;
|
||||
msg.appendFormat("Failed to clear the cursor window, status=%d", status);
|
||||
throw_sqlite3_exception(env, connection->db, msg.string());
|
||||
throw_sqlite3_exception(env, connection->db, msg.c_str());
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -770,7 +769,7 @@ static jlong nativeExecuteForCursorWindow(JNIEnv* env, jclass clazz,
|
||||
String8 msg;
|
||||
msg.appendFormat("Failed to set the cursor window column count to %d, status=%d",
|
||||
numColumns, status);
|
||||
throw_sqlite3_exception(env, connection->db, msg.string());
|
||||
throw_sqlite3_exception(env, connection->db, msg.c_str());
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -845,7 +844,7 @@ static jlong nativeExecuteForCursorWindow(JNIEnv* env, jclass clazz,
|
||||
String8 msg;
|
||||
msg.appendFormat("Row too big to fit into CursorWindow requiredPos=%d, totalRows=%d",
|
||||
requiredPos, totalRows);
|
||||
throw_sqlite3_exception(env, SQLITE_TOOBIG, NULL, msg.string());
|
||||
throw_sqlite3_exception(env, SQLITE_TOOBIG, NULL, msg.c_str());
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -100,8 +100,8 @@ static jbyteArray DdmHandleNativeHeap_getLeakInfo(JNIEnv* env, jobject) {
|
||||
if (array != NULL) {
|
||||
env->SetByteArrayRegion(array, 0,
|
||||
sizeof(header), reinterpret_cast<jbyte*>(&header));
|
||||
env->SetByteArrayRegion(array, sizeof(header),
|
||||
maps.size(), reinterpret_cast<const jbyte*>(maps.string()));
|
||||
env->SetByteArrayRegion(array, sizeof(header), maps.size(),
|
||||
reinterpret_cast<const jbyte*>(maps.c_str()));
|
||||
env->SetByteArrayRegion(array, sizeof(header) + maps.size(),
|
||||
header.allocSize, reinterpret_cast<jbyte*>(leak_info.buffer));
|
||||
}
|
||||
|
@ -878,7 +878,7 @@ static jstring android_hardware_Camera_getParameters(JNIEnv *env, jobject thiz)
|
||||
jniThrowRuntimeException(env, "getParameters failed (empty parameters)");
|
||||
return 0;
|
||||
}
|
||||
return env->NewStringUTF(params8.string());
|
||||
return env->NewStringUTF(params8.c_str());
|
||||
}
|
||||
|
||||
static void android_hardware_Camera_reconnect(JNIEnv *env, jobject thiz)
|
||||
|
@ -514,7 +514,7 @@ static void CameraMetadata_dump(JNIEnv *env, jclass thiz, jlong ptr) {
|
||||
ssize_t res;
|
||||
while ((res = TEMP_FAILURE_RETRY(read(readFd, &out[0], /*count*/1))) > 0) {
|
||||
if (out[0] == '\n') {
|
||||
ALOGD("%s", logLine.string());
|
||||
ALOGD("%s", logLine.c_str());
|
||||
logLine.clear();
|
||||
} else {
|
||||
logLine.append(out);
|
||||
@ -527,7 +527,7 @@ static void CameraMetadata_dump(JNIEnv *env, jclass thiz, jlong ptr) {
|
||||
errno, strerror(errno));
|
||||
//return;
|
||||
} else if (!logLine.empty()) {
|
||||
ALOGD("%s", logLine.string());
|
||||
ALOGD("%s", logLine.c_str());
|
||||
}
|
||||
|
||||
close(readFd);
|
||||
@ -956,8 +956,8 @@ static jint CameraMetadata_setupGlobalVendorTagDescriptor(JNIEnv *env, jclass th
|
||||
return OK;
|
||||
} else if (!res.isOk()) {
|
||||
VendorTagDescriptor::clearGlobalVendorTagDescriptor();
|
||||
ALOGE("%s: Failed to setup vendor tag descriptors: %s",
|
||||
__FUNCTION__, res.toString8().string());
|
||||
ALOGE("%s: Failed to setup vendor tag descriptors: %s", __FUNCTION__,
|
||||
res.toString8().c_str());
|
||||
return res.serviceSpecificErrorCode();
|
||||
}
|
||||
if (0 < desc->getTagCount()) {
|
||||
@ -971,8 +971,8 @@ static jint CameraMetadata_setupGlobalVendorTagDescriptor(JNIEnv *env, jclass th
|
||||
return OK;
|
||||
} else if (!res.isOk()) {
|
||||
VendorTagDescriptorCache::clearGlobalVendorTagCache();
|
||||
ALOGE("%s: Failed to setup vendor tag cache: %s",
|
||||
__FUNCTION__, res.toString8().string());
|
||||
ALOGE("%s: Failed to setup vendor tag cache: %s", __FUNCTION__,
|
||||
res.toString8().c_str());
|
||||
return res.serviceSpecificErrorCode();
|
||||
}
|
||||
|
||||
|
@ -1543,7 +1543,8 @@ static sp<TiffWriter> DngCreator_setup(JNIEnv* env, jobject thiz, uint32_t image
|
||||
String8 captureTime = nativeContext->getCaptureTime();
|
||||
|
||||
if (writer->addEntry(TAG_DATETIME, NativeContext::DATETIME_COUNT,
|
||||
reinterpret_cast<const uint8_t*>(captureTime.string()), TIFF_IFD_0) != OK) {
|
||||
reinterpret_cast<const uint8_t*>(captureTime.c_str()),
|
||||
TIFF_IFD_0) != OK) {
|
||||
jniThrowExceptionFmt(env, "java/lang/IllegalArgumentException",
|
||||
"Invalid metadata for tag %x", TAG_DATETIME);
|
||||
return nullptr;
|
||||
@ -1551,7 +1552,8 @@ static sp<TiffWriter> DngCreator_setup(JNIEnv* env, jobject thiz, uint32_t image
|
||||
|
||||
// datetime original
|
||||
if (writer->addEntry(TAG_DATETIMEORIGINAL, NativeContext::DATETIME_COUNT,
|
||||
reinterpret_cast<const uint8_t*>(captureTime.string()), TIFF_IFD_0) != OK) {
|
||||
reinterpret_cast<const uint8_t*>(captureTime.c_str()),
|
||||
TIFF_IFD_0) != OK) {
|
||||
jniThrowExceptionFmt(env, "java/lang/IllegalArgumentException",
|
||||
"Invalid metadata for tag %x", TAG_DATETIMEORIGINAL);
|
||||
return nullptr;
|
||||
@ -1879,8 +1881,10 @@ static sp<TiffWriter> DngCreator_setup(JNIEnv* env, jobject thiz, uint32_t image
|
||||
cameraModel += brand.c_str();
|
||||
|
||||
BAIL_IF_INVALID_RET_NULL_SP(writer->addEntry(TAG_UNIQUECAMERAMODEL, cameraModel.size() + 1,
|
||||
reinterpret_cast<const uint8_t*>(cameraModel.string()), TIFF_IFD_0), env,
|
||||
TAG_UNIQUECAMERAMODEL, writer);
|
||||
reinterpret_cast<const uint8_t*>(
|
||||
cameraModel.c_str()),
|
||||
TIFF_IFD_0),
|
||||
env, TAG_UNIQUECAMERAMODEL, writer);
|
||||
}
|
||||
|
||||
{
|
||||
@ -2165,7 +2169,8 @@ static sp<TiffWriter> DngCreator_setup(JNIEnv* env, jobject thiz, uint32_t image
|
||||
String8 description = nativeContext->getDescription();
|
||||
size_t len = description.bytes() + 1;
|
||||
if (writer->addEntry(TAG_IMAGEDESCRIPTION, len,
|
||||
reinterpret_cast<const uint8_t*>(description.string()), TIFF_IFD_0) != OK) {
|
||||
reinterpret_cast<const uint8_t*>(description.c_str()),
|
||||
TIFF_IFD_0) != OK) {
|
||||
jniThrowExceptionFmt(env, "java/lang/IllegalArgumentException",
|
||||
"Invalid metadata for tag %x", TAG_IMAGEDESCRIPTION);
|
||||
}
|
||||
|
@ -285,7 +285,7 @@ static void JHwParcel_native_writeInterfaceToken(
|
||||
hardware::Parcel *parcel =
|
||||
JHwParcel::GetNativeContext(env, thiz)->getParcel();
|
||||
|
||||
status_t err = parcel->writeInterfaceToken(nameCopy.string());
|
||||
status_t err = parcel->writeInterfaceToken(nameCopy.c_str());
|
||||
signalExceptionForError(env, err);
|
||||
}
|
||||
}
|
||||
@ -687,9 +687,7 @@ static void JHwParcel_native_writeHidlMemory(
|
||||
static jstring MakeStringObjFromHidlString(JNIEnv *env, const hidl_string &s) {
|
||||
String16 utf16String(s.c_str(), s.size());
|
||||
|
||||
return env->NewString(
|
||||
reinterpret_cast<const jchar *>(utf16String.string()),
|
||||
utf16String.size());
|
||||
return env->NewString(reinterpret_cast<const jchar *>(utf16String.c_str()), utf16String.size());
|
||||
}
|
||||
|
||||
static jstring JHwParcel_native_readString(JNIEnv *env, jobject thiz) {
|
||||
|
@ -51,8 +51,8 @@ static bool isMatch(const char* buffer, size_t length) {
|
||||
const char* field = buffer;
|
||||
const char* end = buffer + length + 1;
|
||||
do {
|
||||
if (strstr(field, match.string())) {
|
||||
ALOGV("Matched uevent message with pattern: %s", match.string());
|
||||
if (strstr(field, match.c_str())) {
|
||||
ALOGV("Matched uevent message with pattern: %s", match.c_str());
|
||||
return true;
|
||||
}
|
||||
field += strlen(field) + 1;
|
||||
|
@ -953,8 +953,10 @@ void signalExceptionForError(JNIEnv* env, jobject obj, status_t err,
|
||||
String8 msg;
|
||||
msg.appendFormat("Unknown binder error code. 0x%" PRIx32, err);
|
||||
// RemoteException is a checked exception, only throw from certain methods.
|
||||
jniThrowException(env, canThrowRemoteException
|
||||
? "android/os/RemoteException" : "java/lang/RuntimeException", msg.string());
|
||||
jniThrowException(env,
|
||||
canThrowRemoteException ? "android/os/RemoteException"
|
||||
: "java/lang/RuntimeException",
|
||||
msg.c_str());
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -1286,8 +1288,7 @@ static jstring android_os_BinderProxy_getInterfaceDescriptor(JNIEnv* env, jobjec
|
||||
IBinder* target = getBPNativeData(env, obj)->mObject.get();
|
||||
if (target != NULL) {
|
||||
const String16& desc = target->getInterfaceDescriptor();
|
||||
return env->NewString(reinterpret_cast<const jchar*>(desc.string()),
|
||||
desc.size());
|
||||
return env->NewString(reinterpret_cast<const jchar*>(desc.c_str()), desc.size());
|
||||
}
|
||||
jniThrowException(env, "java/lang/RuntimeException",
|
||||
"No binder found for object");
|
||||
|
@ -148,7 +148,7 @@ jint android_os_Process_getUidForName(JNIEnv* env, jobject clazz, jstring name)
|
||||
|
||||
const size_t N = name8.size();
|
||||
if (N > 0) {
|
||||
const char* str = name8.string();
|
||||
const char* str = name8.c_str();
|
||||
for (size_t i=0; i<N; i++) {
|
||||
if (str[i] < '0' || str[i] > '9') {
|
||||
struct passwd* pwd = getpwnam(str);
|
||||
@ -180,7 +180,7 @@ jint android_os_Process_getGidForName(JNIEnv* env, jobject clazz, jstring name)
|
||||
|
||||
const size_t N = name8.size();
|
||||
if (N > 0) {
|
||||
const char* str = name8.string();
|
||||
const char* str = name8.c_str();
|
||||
for (size_t i=0; i<N; i++) {
|
||||
if (str[i] < '0' || str[i] > '9') {
|
||||
struct group* grp = getgrnam(str);
|
||||
@ -584,7 +584,7 @@ void android_os_Process_setArgV0(JNIEnv* env, jobject clazz, jstring name)
|
||||
}
|
||||
|
||||
if (!name8.empty()) {
|
||||
AndroidRuntime::getRuntime()->setArgv0(name8.string(), true /* setProcName */);
|
||||
AndroidRuntime::getRuntime()->setArgv0(name8.c_str(), true /* setProcName */);
|
||||
}
|
||||
}
|
||||
|
||||
@ -690,7 +690,7 @@ void android_os_Process_readProcLines(JNIEnv* env, jobject clazz, jstring fileSt
|
||||
return;
|
||||
}
|
||||
|
||||
int fd = open(file.string(), O_RDONLY | O_CLOEXEC);
|
||||
int fd = open(file.c_str(), O_RDONLY | O_CLOEXEC);
|
||||
|
||||
if (fd >= 0) {
|
||||
//ALOGI("Clearing %" PRId32 " sizes", count);
|
||||
@ -704,7 +704,7 @@ void android_os_Process_readProcLines(JNIEnv* env, jobject clazz, jstring fileSt
|
||||
close(fd);
|
||||
|
||||
if (len < 0) {
|
||||
ALOGW("Unable to read %s", file.string());
|
||||
ALOGW("Unable to read %s", file.c_str());
|
||||
len = 0;
|
||||
}
|
||||
buffer[len] = 0;
|
||||
@ -717,7 +717,7 @@ void android_os_Process_readProcLines(JNIEnv* env, jobject clazz, jstring fileSt
|
||||
//ALOGI("Parsing at: %s", p);
|
||||
for (i=0; i<count; i++) {
|
||||
const String8& field = fields[i];
|
||||
if (strncmp(p, field.string(), field.length()) == 0) {
|
||||
if (strncmp(p, field.c_str(), field.length()) == 0) {
|
||||
p += field.length();
|
||||
while (*p == ' ' || *p == '\t') p++;
|
||||
char* num = p;
|
||||
@ -729,7 +729,7 @@ void android_os_Process_readProcLines(JNIEnv* env, jobject clazz, jstring fileSt
|
||||
}
|
||||
char* end;
|
||||
sizesArray[i] = strtoll(num, &end, 10);
|
||||
//ALOGI("Field %s = %" PRId64, field.string(), sizesArray[i]);
|
||||
// ALOGI("Field %s = %" PRId64, field.c_str(), sizesArray[i]);
|
||||
foundCount++;
|
||||
break;
|
||||
}
|
||||
@ -746,7 +746,7 @@ void android_os_Process_readProcLines(JNIEnv* env, jobject clazz, jstring fileSt
|
||||
|
||||
free(buffer);
|
||||
} else {
|
||||
ALOGW("Unable to open %s", file.string());
|
||||
ALOGW("Unable to open %s", file.c_str());
|
||||
}
|
||||
|
||||
//ALOGI("Done!");
|
||||
|
@ -167,8 +167,8 @@ void JNIOnInfoListener::onInfo(const DrmInfoEvent& event) {
|
||||
jint uniqueId = event.getUniqueId();
|
||||
jint type = event.getType();
|
||||
JNIEnv *env = AndroidRuntime::getJNIEnv();
|
||||
jstring message = env->NewStringUTF(event.getMessage().string());
|
||||
ALOGV("JNIOnInfoListener::onInfo => %d | %d | %s", uniqueId, type, event.getMessage().string());
|
||||
jstring message = env->NewStringUTF(event.getMessage().c_str());
|
||||
ALOGV("JNIOnInfoListener::onInfo => %d | %d | %s", uniqueId, type, event.getMessage().c_str());
|
||||
|
||||
env->CallStaticVoidMethod(
|
||||
mClass,
|
||||
@ -273,15 +273,15 @@ static jobject android_drm_DrmManagerClient_getConstraintsFromContent(
|
||||
const char* value = pConstraints->getAsByteArray(&key);
|
||||
if (NULL != value) {
|
||||
ScopedLocalRef<jbyteArray> dataArray(env, env->NewByteArray(strlen(value)));
|
||||
ScopedLocalRef<jstring> keyString(env, env->NewStringUTF(key.string()));
|
||||
ScopedLocalRef<jstring> keyString(env, env->NewStringUTF(key.c_str()));
|
||||
env->SetByteArrayRegion(dataArray.get(), 0, strlen(value), (jbyte*)value);
|
||||
env->CallVoidMethod(constraints, ContentValues_putByteArray,
|
||||
keyString.get(), dataArray.get());
|
||||
}
|
||||
} else {
|
||||
String8 value = pConstraints->get(key);
|
||||
ScopedLocalRef<jstring> keyString(env, env->NewStringUTF(key.string()));
|
||||
ScopedLocalRef<jstring> valueString(env, env->NewStringUTF(value.string()));
|
||||
ScopedLocalRef<jstring> keyString(env, env->NewStringUTF(key.c_str()));
|
||||
ScopedLocalRef<jstring> valueString(env, env->NewStringUTF(value.c_str()));
|
||||
env->CallVoidMethod(constraints, ContentValues_putString,
|
||||
keyString.get(), valueString.get());
|
||||
}
|
||||
@ -320,8 +320,8 @@ static jobject android_drm_DrmManagerClient_getMetadataFromContent(
|
||||
// insert the entry<constraintKey, constraintValue>
|
||||
// to newly created java object
|
||||
String8 value = pMetadata->get(key);
|
||||
ScopedLocalRef<jstring> keyString(env, env->NewStringUTF(key.string()));
|
||||
ScopedLocalRef<jstring> valueString(env, env->NewStringUTF(value.string()));
|
||||
ScopedLocalRef<jstring> keyString(env, env->NewStringUTF(key.c_str()));
|
||||
ScopedLocalRef<jstring> valueString(env, env->NewStringUTF(value.c_str()));
|
||||
env->CallVoidMethod(metadata, ContentValues_putString,
|
||||
keyString.get(), valueString.get());
|
||||
}
|
||||
@ -357,19 +357,19 @@ static jobjectArray android_drm_DrmManagerClient_getAllSupportInfo(
|
||||
|
||||
env->CallVoidMethod(
|
||||
drmSupportInfo, env->GetMethodID(clazz, "setDescription", "(Ljava/lang/String;)V"),
|
||||
env->NewStringUTF(info.getDescription().string()));
|
||||
env->NewStringUTF(info.getDescription().c_str()));
|
||||
|
||||
DrmSupportInfo::MimeTypeIterator iterator = info.getMimeTypeIterator();
|
||||
while (iterator.hasNext()) {
|
||||
String8 value = iterator.next();
|
||||
env->CallVoidMethod(drmSupportInfo, addMimeTypeId, env->NewStringUTF(value.string()));
|
||||
env->CallVoidMethod(drmSupportInfo, addMimeTypeId, env->NewStringUTF(value.c_str()));
|
||||
}
|
||||
|
||||
DrmSupportInfo::FileSuffixIterator it = info.getFileSuffixIterator();
|
||||
while (it.hasNext()) {
|
||||
String8 value = it.next();
|
||||
env->CallVoidMethod(
|
||||
drmSupportInfo, addFileSuffixId, env->NewStringUTF(value.string()));
|
||||
drmSupportInfo, addFileSuffixId, env->NewStringUTF(value.c_str()));
|
||||
}
|
||||
|
||||
env->SetObjectArrayElement(array, i, drmSupportInfo);
|
||||
@ -459,7 +459,7 @@ static jobject android_drm_DrmManagerClient_processDrmInfo(
|
||||
|
||||
String8 keyString = Utility::getStringValue(env, key.get());
|
||||
String8 valueString = Utility::getStringValue(env, valString.get());
|
||||
ALOGV("Key: %s | Value: %s", keyString.string(), valueString.string());
|
||||
ALOGV("Key: %s | Value: %s", keyString.c_str(), valueString.c_str());
|
||||
|
||||
drmInfo.put(keyString, valueString);
|
||||
}
|
||||
@ -488,15 +488,15 @@ static jobject android_drm_DrmManagerClient_processDrmInfo(
|
||||
jmethodID constructorId
|
||||
= env->GetMethodID(clazz, "<init>", "([BLjava/lang/String;Ljava/lang/String;)V");
|
||||
jobject processedData = env->NewObject(clazz, constructorId, dataArray,
|
||||
env->NewStringUTF((drmInfo.get(DrmInfoRequest::ACCOUNT_ID)).string()),
|
||||
env->NewStringUTF((drmInfo.get(DrmInfoRequest::SUBSCRIPTION_ID)).string()));
|
||||
env->NewStringUTF((drmInfo.get(DrmInfoRequest::ACCOUNT_ID)).c_str()),
|
||||
env->NewStringUTF((drmInfo.get(DrmInfoRequest::SUBSCRIPTION_ID)).c_str()));
|
||||
|
||||
constructorId
|
||||
= env->GetMethodID(localRef,
|
||||
"<init>", "(IILandroid/drm/ProcessedData;Ljava/lang/String;)V");
|
||||
|
||||
drmInfoStatus = env->NewObject(localRef, constructorId, statusCode, infoType,
|
||||
processedData, env->NewStringUTF(pDrmInfoStatus->mimeType.string()));
|
||||
processedData, env->NewStringUTF(pDrmInfoStatus->mimeType.c_str()));
|
||||
}
|
||||
|
||||
delete[] mData; mData = NULL;
|
||||
@ -533,7 +533,7 @@ static jobject android_drm_DrmManagerClient_acquireDrmInfo(
|
||||
|
||||
String8 keyString = Utility::getStringValue(env, key.get());
|
||||
String8 valueString = Utility::getStringValue(env, value.get());
|
||||
ALOGV("Key: %s | Value: %s", keyString.string(), valueString.string());
|
||||
ALOGV("Key: %s | Value: %s", keyString.c_str(), valueString.c_str());
|
||||
|
||||
drmInfoReq.put(keyString, valueString);
|
||||
}
|
||||
@ -554,7 +554,7 @@ static jobject android_drm_DrmManagerClient_acquireDrmInfo(
|
||||
drmInfoObject
|
||||
= env->NewObject(localRef,
|
||||
env->GetMethodID(localRef, "<init>", "(I[BLjava/lang/String;)V"),
|
||||
mInfoType, dataArray, env->NewStringUTF(pDrmInfo->getMimeType().string()));
|
||||
mInfoType, dataArray, env->NewStringUTF(pDrmInfo->getMimeType().c_str()));
|
||||
|
||||
DrmInfo::KeyIterator it = pDrmInfo->keyIterator();
|
||||
jmethodID putMethodId
|
||||
@ -563,8 +563,8 @@ static jobject android_drm_DrmManagerClient_acquireDrmInfo(
|
||||
while (it.hasNext()) {
|
||||
String8 key = it.next();
|
||||
String8 value = pDrmInfo->get(key);
|
||||
ScopedLocalRef<jstring> keyString(env, env->NewStringUTF(key.string()));
|
||||
ScopedLocalRef<jstring> valueString(env, env->NewStringUTF(value.string()));
|
||||
ScopedLocalRef<jstring> keyString(env, env->NewStringUTF(key.c_str()));
|
||||
ScopedLocalRef<jstring> valueString(env, env->NewStringUTF(value.c_str()));
|
||||
env->CallVoidMethod(drmInfoObject, putMethodId,
|
||||
keyString.get(), valueString.get());
|
||||
}
|
||||
@ -602,7 +602,7 @@ static jstring android_drm_DrmManagerClient_getOriginalMimeType(
|
||||
->getOriginalMimeType(uniqueId,
|
||||
Utility::getStringValue(env, path), fd);
|
||||
ALOGV("getOriginalMimeType Exit");
|
||||
return env->NewStringUTF(mimeType.string());
|
||||
return env->NewStringUTF(mimeType.c_str());
|
||||
}
|
||||
|
||||
static jint android_drm_DrmManagerClient_checkRightsStatus(
|
||||
|
@ -152,8 +152,8 @@ IncidentReportArgs::readFromParcel(const Parcel* in)
|
||||
}
|
||||
mPrivacyPolicy = privacyPolicy;
|
||||
|
||||
mReceiverPkg = String8(in->readString16()).string();
|
||||
mReceiverCls = String8(in->readString16()).string();
|
||||
mReceiverPkg = String8(in->readString16()).c_str();
|
||||
mReceiverCls = String8(in->readString16()).c_str();
|
||||
|
||||
int32_t gzip;
|
||||
err = in->readInt32(&gzip);
|
||||
|
@ -196,7 +196,7 @@ DropBoxManager::addData(const String16& tag, uint8_t const* data,
|
||||
vector<uint8_t> dataArg;
|
||||
dataArg.assign(data, data + size);
|
||||
Status status = service->addData(tag, dataArg, flags);
|
||||
ALOGD("service->add returned %s", status.toString8().string());
|
||||
ALOGD("service->add returned %s", status.toString8().c_str());
|
||||
return status;
|
||||
}
|
||||
|
||||
@ -230,7 +230,7 @@ DropBoxManager::addFile(const String16& tag, int fd, int flags)
|
||||
android::base::unique_fd uniqueFd(fd);
|
||||
android::os::ParcelFileDescriptor parcelFd(std::move(uniqueFd));
|
||||
Status status = service->addFile(tag, parcelFd, flags);
|
||||
ALOGD("service->add returned %s", status.toString8().string());
|
||||
ALOGD("service->add returned %s", status.toString8().c_str());
|
||||
return status;
|
||||
}
|
||||
|
||||
|
@ -617,7 +617,7 @@ static jint ImageReader_imageSetup(JNIEnv* env, jobject thiz, jobject image) {
|
||||
"match the ImageReader's configured buffer format 0x%x.",
|
||||
bufferFormat, ctx->getBufferFormat());
|
||||
jniThrowException(env, "java/lang/UnsupportedOperationException",
|
||||
msg.string());
|
||||
msg.c_str());
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
@ -789,7 +789,7 @@ static jobjectArray ImageReader_createImagePlanes(JNIEnv* env, jobject /*thiz*/,
|
||||
String8 msg;
|
||||
msg.appendFormat("Format 0x%x is opaque, thus not writable, the number of planes (%d)"
|
||||
" must be 0", halReaderFormat, numPlanes);
|
||||
jniThrowException(env, "java/lang/IllegalArgumentException", msg.string());
|
||||
jniThrowException(env, "java/lang/IllegalArgumentException", msg.c_str());
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@ -854,7 +854,7 @@ static jobjectArray Image_createSurfacePlanes(JNIEnv* env, jobject thiz,
|
||||
String8 msg;
|
||||
msg.appendFormat("Format 0x%x is opaque, thus not writable, the number of planes (%d)"
|
||||
" must be 0", halReaderFormat, numPlanes);
|
||||
jniThrowException(env, "java/lang/IllegalArgumentException", msg.string());
|
||||
jniThrowException(env, "java/lang/IllegalArgumentException", msg.c_str());
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
@ -1068,7 +1068,7 @@ static jobjectArray Image_createSurfacePlanes(JNIEnv* env, jobject thiz,
|
||||
String8 msg;
|
||||
msg.appendFormat("Format 0x%x is opaque, thus not writable, the number of planes (%d)"
|
||||
" must be 0", writerFormat, numPlanes);
|
||||
jniThrowException(env, "java/lang/IllegalArgumentException", msg.string());
|
||||
jniThrowException(env, "java/lang/IllegalArgumentException", msg.c_str());
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
@ -299,7 +299,7 @@ static void android_media_MediaCrypto_setMediaDrmSession(
|
||||
std::string strerr(StrCryptoError(err));
|
||||
msg.appendFormat(": general failure (%s)", strerr.c_str());
|
||||
}
|
||||
jniThrowException(env, "android/media/MediaCryptoException", msg.string());
|
||||
jniThrowException(env, "android/media/MediaCryptoException", msg.c_str());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -708,8 +708,8 @@ static jobject KeyedVectorToHashMap (JNIEnv *env, KeyedVector<String8, String8>
|
||||
jclass clazz = gFields.hashmapClassId;
|
||||
jobject hashMap = env->NewObject(clazz, gFields.hashmap.init);
|
||||
for (size_t i = 0; i < map.size(); ++i) {
|
||||
jstring jkey = env->NewStringUTF(map.keyAt(i).string());
|
||||
jstring jvalue = env->NewStringUTF(map.valueAt(i).string());
|
||||
jstring jkey = env->NewStringUTF(map.keyAt(i).c_str());
|
||||
jstring jvalue = env->NewStringUTF(map.valueAt(i).c_str());
|
||||
env->CallObjectMethod(hashMap, gFields.hashmap.put, jkey, jvalue);
|
||||
env->DeleteLocalRef(jkey);
|
||||
env->DeleteLocalRef(jvalue);
|
||||
@ -1169,7 +1169,7 @@ static jobject android_media_MediaDrm_getKeyRequest(
|
||||
jbyteArray jrequest = VectorToJByteArray(env, request);
|
||||
env->SetObjectField(keyObj, gFields.keyRequest.data, jrequest);
|
||||
|
||||
jstring jdefaultUrl = env->NewStringUTF(defaultUrl.string());
|
||||
jstring jdefaultUrl = env->NewStringUTF(defaultUrl.c_str());
|
||||
env->SetObjectField(keyObj, gFields.keyRequest.defaultUrl, jdefaultUrl);
|
||||
|
||||
switch (keyRequestType) {
|
||||
@ -1332,7 +1332,7 @@ static jobject android_media_MediaDrm_getProvisionRequestNative(
|
||||
jbyteArray jrequest = VectorToJByteArray(env, request);
|
||||
env->SetObjectField(provisionObj, gFields.provisionRequest.data, jrequest);
|
||||
|
||||
jstring jdefaultUrl = env->NewStringUTF(defaultUrl.string());
|
||||
jstring jdefaultUrl = env->NewStringUTF(defaultUrl.c_str());
|
||||
env->SetObjectField(provisionObj, gFields.provisionRequest.defaultUrl, jdefaultUrl);
|
||||
}
|
||||
|
||||
@ -1686,7 +1686,7 @@ static jstring android_media_MediaDrm_getPropertyString(
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return env->NewStringUTF(value.string());
|
||||
return env->NewStringUTF(value.c_str());
|
||||
}
|
||||
|
||||
static jbyteArray android_media_MediaDrm_getPropertyByteArray(
|
||||
|
@ -126,7 +126,7 @@ android_media_MediaMetadataRetriever_setDataSourceAndHeaders(
|
||||
tmp = NULL;
|
||||
|
||||
// Don't let somebody trick us in to reading some random block of memory
|
||||
if (strncmp("mem://", pathStr.string(), 6) == 0) {
|
||||
if (strncmp("mem://", pathStr.c_str(), 6) == 0) {
|
||||
jniThrowException(
|
||||
env, "java/lang/IllegalArgumentException", "Invalid pathname");
|
||||
return;
|
||||
@ -149,7 +149,7 @@ android_media_MediaMetadataRetriever_setDataSourceAndHeaders(
|
||||
env,
|
||||
retriever->setDataSource(
|
||||
httpService,
|
||||
pathStr.string(),
|
||||
pathStr.c_str(),
|
||||
headersVector.size() > 0 ? &headersVector : NULL),
|
||||
|
||||
"java/lang/RuntimeException",
|
||||
|
@ -1214,7 +1214,7 @@ static bool throwDrmExceptionAsNecessary(JNIEnv *env, status_t err, const char *
|
||||
String8 vendorMessage;
|
||||
if (err >= ERROR_DRM_VENDOR_MIN && err <= ERROR_DRM_VENDOR_MAX) {
|
||||
vendorMessage = String8::format("DRM vendor-defined error: %d", err);
|
||||
drmMessage = vendorMessage.string();
|
||||
drmMessage = vendorMessage.c_str();
|
||||
}
|
||||
|
||||
if (err == BAD_VALUE) {
|
||||
@ -1240,7 +1240,7 @@ static bool throwDrmExceptionAsNecessary(JNIEnv *env, status_t err, const char *
|
||||
msg = drmMessage;
|
||||
} else {
|
||||
errbuf = String8::format("%s: %s", msg, drmMessage);
|
||||
msg = errbuf.string();
|
||||
msg = errbuf.c_str();
|
||||
}
|
||||
}
|
||||
throwDrmStateException(env, msg, err);
|
||||
|
@ -38,7 +38,7 @@ FileStream::FileStream(const int fd)
|
||||
|
||||
FileStream::FileStream(const String8 filename)
|
||||
: mPosition(0) {
|
||||
mFile = fopen(filename.string(), "r");
|
||||
mFile = fopen(filename.c_str(), "r");
|
||||
if (mFile == NULL) {
|
||||
return;
|
||||
}
|
||||
@ -86,7 +86,7 @@ bool GetExifFromRawImage(
|
||||
|
||||
if (!piex::IsRaw(stream)) {
|
||||
// Format not supported.
|
||||
ALOGV("Format not supported: %s", filename.string());
|
||||
ALOGV("Format not supported: %s", filename.c_str());
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -94,7 +94,7 @@ bool GetExifFromRawImage(
|
||||
|
||||
if (err != piex::Error::kOk) {
|
||||
// The input data seems to be broken.
|
||||
ALOGV("Raw image not detected: %s (piex error code: %d)", filename.string(), (int32_t)err);
|
||||
ALOGV("Raw image not detected: %s (piex error code: %d)", filename.c_str(), (int32_t)err);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -118,7 +118,7 @@ const char* AAssetDir_getNextFileName(AAssetDir* assetDir)
|
||||
// the string to return and advance the iterator for next time.
|
||||
if (index < max) {
|
||||
assetDir->mCachedFileName = assetDir->mAssetDir->getFileName(index);
|
||||
returnName = assetDir->mCachedFileName.string();
|
||||
returnName = assetDir->mCachedFileName.c_str();
|
||||
index++;
|
||||
}
|
||||
|
||||
@ -134,7 +134,7 @@ void AAssetDir_rewind(AAssetDir* assetDir)
|
||||
const char* AAssetDir_getFileName(AAssetDir* assetDir, int index)
|
||||
{
|
||||
assetDir->mCachedFileName = assetDir->mAssetDir->getFileName(index);
|
||||
return assetDir->mCachedFileName.string();
|
||||
return assetDir->mCachedFileName.c_str();
|
||||
}
|
||||
|
||||
void AAssetDir_close(AAssetDir* assetDir)
|
||||
|
@ -304,12 +304,12 @@ int ASensorEventQueue_requestAdditionalInfoEvents(ASensorEventQueue* queue, bool
|
||||
|
||||
const char* ASensor_getName(ASensor const* sensor) {
|
||||
RETURN_IF_SENSOR_IS_NULL(nullptr);
|
||||
return static_cast<Sensor const*>(sensor)->getName().string();
|
||||
return static_cast<Sensor const*>(sensor)->getName().c_str();
|
||||
}
|
||||
|
||||
const char* ASensor_getVendor(ASensor const* sensor) {
|
||||
RETURN_IF_SENSOR_IS_NULL(nullptr);
|
||||
return static_cast<Sensor const*>(sensor)->getVendor().string();
|
||||
return static_cast<Sensor const*>(sensor)->getVendor().c_str();
|
||||
}
|
||||
|
||||
int ASensor_getType(ASensor const* sensor) {
|
||||
@ -339,7 +339,7 @@ int ASensor_getFifoReservedEventCount(ASensor const* sensor) {
|
||||
|
||||
const char* ASensor_getStringType(ASensor const* sensor) {
|
||||
RETURN_IF_SENSOR_IS_NULL(nullptr);
|
||||
return static_cast<Sensor const*>(sensor)->getStringType().string();
|
||||
return static_cast<Sensor const*>(sensor)->getStringType().c_str();
|
||||
}
|
||||
|
||||
int ASensor_getReportingMode(ASensor const* sensor) {
|
||||
|
@ -175,7 +175,7 @@ public:
|
||||
String16 filename16(filename);
|
||||
String16 path16;
|
||||
if (mMountService->getMountedObbPath(filename16, path16)) {
|
||||
return String8(path16).string();
|
||||
return String8(path16).c_str();
|
||||
} else {
|
||||
return NULL;
|
||||
}
|
||||
@ -183,7 +183,7 @@ public:
|
||||
};
|
||||
|
||||
void ObbActionListener::onObbResult(const android::String16& filename, const int32_t nonce, const int32_t state) {
|
||||
mStorageManager->fireCallback(String8(filename).string(), nonce, state);
|
||||
mStorageManager->fireCallback(String8(filename).c_str(), nonce, state);
|
||||
}
|
||||
|
||||
|
||||
|
@ -73,7 +73,7 @@ bool GnssVisibilityControlCallbackUtil::isInEmergencySession() {
|
||||
|
||||
template <>
|
||||
jstring ToJstring(JNIEnv* env, const String16& value) {
|
||||
const char16_t* str = value.string();
|
||||
const char16_t* str = value.c_str();
|
||||
size_t len = value.size();
|
||||
return env->NewString(reinterpret_cast<const jchar*>(str), len);
|
||||
}
|
||||
|
@ -135,7 +135,7 @@ void doInfo(const char* filename) {
|
||||
}
|
||||
|
||||
printf("OBB info for '%s':\n", filename);
|
||||
printf("Package name: %s\n", obb->getPackageName().string());
|
||||
printf("Package name: %s\n", obb->getPackageName().c_str());
|
||||
printf(" Version: %d\n", obb->getVersion());
|
||||
printf(" Flags: 0x%08x\n", obb->getFlags());
|
||||
printf(" Overlay: %s\n", obb->isOverlay() ? "true" : "false");
|
||||
|
Loading…
x
Reference in New Issue
Block a user