/* * Copyright (C) 2008 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.ddmuilib.log.event; import java.io.BufferedReader; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; public class BugReportImporter { private final static String TAG_HEADER = "------ EVENT LOG TAGS ------"; private final static String LOG_HEADER = "------ EVENT LOG ------"; private final static String HEADER_TAG = "------"; private String[] mTags; private String[] mLog; public BugReportImporter(String filePath) throws FileNotFoundException { BufferedReader reader = new BufferedReader( new InputStreamReader(new FileInputStream(filePath))); try { String line; while ((line = reader.readLine()) != null) { if (TAG_HEADER.equals(line)) { readTags(reader); return; } } } catch (IOException e) { } } public String[] getTags() { return mTags; } public String[] getLog() { return mLog; } private void readTags(BufferedReader reader) throws IOException { String line; ArrayList<String> content = new ArrayList<String>(); while ((line = reader.readLine()) != null) { if (LOG_HEADER.equals(line)) { mTags = content.toArray(new String[content.size()]); readLog(reader); return; } else { content.add(line); } } } private void readLog(BufferedReader reader) throws IOException { String line; ArrayList<String> content = new ArrayList<String>(); while ((line = reader.readLine()) != null) { if (line.startsWith(HEADER_TAG) == false) { content.add(line); } else { break; } } mLog = content.toArray(new String[content.size()]); } }