OSDN Git Service

Remove BugReportSender, which has a happy new home in packages/experimental
authorDan Egnor <egnor@google.com>
Thu, 1 Apr 2010 23:39:31 +0000 (16:39 -0700)
committerDan Egnor <egnor@google.com>
Thu, 1 Apr 2010 23:39:31 +0000 (16:39 -0700)
Change-Id: I97628264f3249c86d83cded73daf3b1cc291e051

apps/BugReportSender/Android.mk [deleted file]
apps/BugReportSender/AndroidManifest.xml [deleted file]
apps/BugReportSender/res/drawable-hdpi/icon.png [deleted file]
apps/BugReportSender/res/drawable-mdpi/icon.png [deleted file]
apps/BugReportSender/res/layout/bugreport_preview.xml [deleted file]
apps/BugReportSender/src/com/android/bugreportsender/BugReportListActivity.java [deleted file]
apps/BugReportSender/src/com/android/bugreportsender/BugReportParser.java [deleted file]
apps/BugReportSender/src/com/android/bugreportsender/BugReportPreviewActivity.java [deleted file]

diff --git a/apps/BugReportSender/Android.mk b/apps/BugReportSender/Android.mk
deleted file mode 100644 (file)
index 1c3a5e4..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright (C) 2009 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.
-
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-LOCAL_CERTIFICATE := platform
-LOCAL_MODULE_TAGS := eng
-LOCAL_PACKAGE_NAME := BugReportSender
-LOCAL_SDK_VERSION := 4
-LOCAL_SRC_FILES := $(call all-subdir-java-files)
-include $(BUILD_PACKAGE)
diff --git a/apps/BugReportSender/AndroidManifest.xml b/apps/BugReportSender/AndroidManifest.xml
deleted file mode 100644 (file)
index 4d1f97d..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2009 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.
--->
-
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
-        package="com.android.bugreportsender"
-        android:versionCode="11" >
-
-    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
-
-    <!-- Minimum Donut, target Froyo -->
-    <uses-sdk android:minSdkVersion="4" android:targetSdkVersion="7" />
-
-    <application
-            android:icon="@drawable/icon"
-            android:label="Bug Report Sender" >
-
-        <activity android:name="BugReportListActivity">
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-                <category android:name="android.intent.category.LAUNCHER" />
-            </intent-filter>
-        </activity>
-
-        <activity android:name="BugReportPreviewActivity">
-            <intent-filter>
-                <action android:name="android.intent.action.VIEW" />
-                <category android:name="android.intent.category.DEFAULT" />
-                <data android:mimeType="vnd.android/bugreport" />
-            </intent-filter>
-        </activity>
-
-    </application>
-
-</manifest>
diff --git a/apps/BugReportSender/res/drawable-hdpi/icon.png b/apps/BugReportSender/res/drawable-hdpi/icon.png
deleted file mode 100755 (executable)
index 60fbdf5..0000000
Binary files a/apps/BugReportSender/res/drawable-hdpi/icon.png and /dev/null differ
diff --git a/apps/BugReportSender/res/drawable-mdpi/icon.png b/apps/BugReportSender/res/drawable-mdpi/icon.png
deleted file mode 100644 (file)
index cb40a19..0000000
Binary files a/apps/BugReportSender/res/drawable-mdpi/icon.png and /dev/null differ
diff --git a/apps/BugReportSender/res/layout/bugreport_preview.xml b/apps/BugReportSender/res/layout/bugreport_preview.xml
deleted file mode 100644 (file)
index 2f85c20..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<ScrollView
-        xmlns:android="http://schemas.android.com/apk/res/android"
-        android:orientation="vertical"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent">
-    <TextView
-            android:id="@+id/preview"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:scrollbars="horizontal|vertical"
-            android:scrollbarAlwaysDrawVerticalTrack="true"/>
-</ScrollView>
\ No newline at end of file
diff --git a/apps/BugReportSender/src/com/android/bugreportsender/BugReportListActivity.java b/apps/BugReportSender/src/com/android/bugreportsender/BugReportListActivity.java
deleted file mode 100644 (file)
index 966de88..0000000
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * Copyright (C) 2009 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.bugreportsender;
-
-import android.app.ListActivity;
-import android.content.Intent;
-import android.net.Uri;
-import android.os.Build;
-import android.os.Bundle;
-import android.os.FileObserver;
-import android.os.Handler;
-import android.util.Log;
-import android.view.ContextMenu;
-import android.view.MenuItem;
-import android.view.View;
-import android.widget.AdapterView;
-import android.widget.ArrayAdapter;
-import android.widget.ListView;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-
-/**
- * Shows a list of bug reports currently in /sdcard/bugreports
- */
-public class BugReportListActivity extends ListActivity {
-    private static final String TAG = "BugReportListActivity";
-    private static final File REPORT_DIR = new File("/sdcard/bugreports");
-    private static final int SYSTEM_LOG_ID = 1;
-    private static final int MEMORY_ID = 2;
-    private static final int CPU_ID = 3;
-    private static final int PROCRANK_ID = 4;
-    private static final HashMap<Integer, String> ID_MAP = new HashMap<Integer, String>();
-
-    static {
-        ID_MAP.put(SYSTEM_LOG_ID, "SYSTEM LOG");
-        ID_MAP.put(MEMORY_ID, "MEMORY INFO");
-        ID_MAP.put(CPU_ID, "CPU INFO");
-        ID_MAP.put(PROCRANK_ID, "PROCRANK");
-    }
-
-    private ArrayAdapter<String> mAdapter = null;
-    private ArrayList<File> mFiles = null;
-    private Handler mHandler = null;
-    private FileObserver mObserver = null;
-
-    @Override
-    public void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        mAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1);
-        mFiles = new ArrayList<File>();
-        mHandler = new Handler();
-
-        int flags = FileObserver.CREATE | FileObserver.MOVED_TO;
-        mObserver = new FileObserver(REPORT_DIR.getPath(), flags) {
-            public void onEvent(int event, String path) {
-                mHandler.post(new Runnable() { public void run() { scanDirectory(); } });
-            }
-        };
-
-        setListAdapter(mAdapter);
-        registerForContextMenu(getListView());
-    }
-
-    @Override
-    public void onCreateContextMenu(ContextMenu menu, View v,
-                                    ContextMenu.ContextMenuInfo menuInfo) {
-        super.onCreateContextMenu(menu, v, menuInfo);
-        menu.add(0, SYSTEM_LOG_ID, 0, "System Log");
-        menu.add(0, CPU_ID, 0, "CPU Info");
-        menu.add(0, MEMORY_ID, 0, "Memory Info");
-        menu.add(0, PROCRANK_ID, 0, "Procrank");
-    }
-
-    @Override
-    public void onStart() {
-        super.onStart();
-        mObserver.startWatching();
-        scanDirectory();
-    }
-
-    @Override
-    public void onStop() {
-        super.onStop();
-        mObserver.stopWatching();
-    }
-
-    @Override
-    protected void onListItemClick(ListView l, View v, int position, long id) {
-        super.onListItemClick(l, v, position, id);
-        if (position < mFiles.size()) {
-            File file = mFiles.get(position);
-            Intent intent = new Intent(Intent.ACTION_SEND);
-            intent.putExtra("subject", file.getName());
-            intent.putExtra("body", "Build: " + Build.DISPLAY + "\n(Sent by BugReportSender)");
-            intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file));
-            if (file.getName().endsWith(".gz")) {
-                intent.setType("application/x-gzip");
-            } else if (file.getName().endsWith(".txt")) {
-                intent.setType("text/plain");
-            } else {
-                intent.setType("application/octet-stream");
-            }
-            startActivity(intent);
-        }
-    }
-
-
-    @Override
-    public boolean onContextItemSelected(MenuItem item) {
-      AdapterView.AdapterContextMenuInfo info =
-              (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
-      if (info.position >= mFiles.size()) {
-        return true;
-      }
-      int id = item.getItemId();
-      switch (id) {
-          case SYSTEM_LOG_ID: // drop down
-          case MEMORY_ID:     // drop down
-          case CPU_ID:        // drop down
-          case PROCRANK_ID:
-          File file = mFiles.get(info.position);
-          Intent intent = new Intent(Intent.ACTION_VIEW);
-          intent.setDataAndType(Uri.fromFile(file), "vnd.android/bugreport");
-          intent.putExtra("section", ID_MAP.get(id));
-          startActivity(intent);
-          return true;
-      default:
-        return super.onContextItemSelected(item);
-      }
-    }
-
-    private void scanDirectory() {
-        mAdapter.clear();
-        mFiles.clear();
-
-        File[] files = REPORT_DIR.listFiles();
-        if (files == null) return;
-
-        // Sort in reverse order: newest bug reports first
-        Arrays.sort(files, Collections.reverseOrder());
-        for (int i = 0; i < files.length; i++) {
-            String name = files[i].getName();
-            if (name.endsWith(".gz")) name = name.substring(0, name.length() - 3);
-            if (!name.startsWith("bugreport-") || !name.endsWith(".txt")) {
-                Log.w(TAG, "Ignoring non-bugreport: " + files[i]);
-                continue;
-            }
-
-            // Make sure to keep the parallel arrays in sync
-            mAdapter.add(name.substring(10, name.length() - 4));
-            mFiles.add(files[i]);
-        }
-    }
-}
diff --git a/apps/BugReportSender/src/com/android/bugreportsender/BugReportParser.java b/apps/BugReportSender/src/com/android/bugreportsender/BugReportParser.java
deleted file mode 100644 (file)
index 4675cd9..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-package com.android.bugreportsender;
-
-import android.util.Log;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-
-/**
- * Utility class for parsing a bugreport into its sections.
- */
-public final class BugReportParser {
-    private static final int BUFFER_SIZE = 8*1024;
-    private static final String SECTION_HEADER = "------";
-    private static final int MAX_LINES = 1000; // just in case we miss the end of the section.
-
-    // utility class
-    private BugReportParser() {}
-
-    public static String extractSystemLogs(InputStream in, String section) throws IOException {
-        final String sectionWithHeader = SECTION_HEADER + " " + section;
-        StringBuilder sb = new StringBuilder();
-        // open a reader around the provided inputstream.
-        BufferedReader reader = new BufferedReader(new InputStreamReader(in, "UTF-8"), BUFFER_SIZE);
-        boolean inSection = false;
-        int numLines = 0;
-        // read file contents.  loop until we get to the appropriate section header.
-        // once we reach that header, accumulate all lines until we get to the next section.
-        String line = null;
-        while ((line = reader.readLine()) != null) {
-            if (inSection) {
-                // finish when we get to:
-                // -----
-                if (line.startsWith(SECTION_HEADER) || (numLines > MAX_LINES)) {
-                    break;
-                }
-                sb.append(line);
-                sb.append("\n");
-                ++numLines;
-            } else if (line.startsWith(sectionWithHeader)) {
-                sb.append(line);
-                sb.append("\n");
-                inSection = true;
-            }
-        }
-        return sb.toString();
-    }
-}
diff --git a/apps/BugReportSender/src/com/android/bugreportsender/BugReportPreviewActivity.java b/apps/BugReportSender/src/com/android/bugreportsender/BugReportPreviewActivity.java
deleted file mode 100644 (file)
index 74239c6..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-package com.android.bugreportsender;
-
-import android.app.Activity;
-import android.content.Intent;
-import android.net.Uri;
-import android.os.Bundle;
-import android.util.Config;
-import android.util.Log;
-import android.widget.TextView;
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-
-/**
- * Provides a scrolling text view previewing a named section of a
- * bugreport.
- */
-public class BugReportPreviewActivity extends Activity {
-
-    private static final String TAG = "BugReportPreview";
-
-    private TextView mText;
-
-    @Override
-    protected void onCreate(Bundle icicle) {
-        super.onCreate(icicle);
-
-        setContentView(com.android.bugreportsender.R.layout.bugreport_preview);
-        mText = (TextView) findViewById(R.id.preview);
-
-        if (icicle != null && icicle.getString("text") != null) {
-            mText.setText(icicle.getString("text"));
-        } else {
-            Intent intent = getIntent();
-            if (intent == null) {
-                Log.w(TAG, "No intent provided.");
-                return;
-            }
-            Uri uri = intent.getData();
-            String section = intent.getStringExtra("section");
-            if (section == null || section.length() == 0) {
-                section = "SYSTEM LOG";
-            }
-            Log.d(TAG, "Loading " + uri);
-            InputStream in = null;
-            try {
-               // TODO: do this in a background thread, using handlers and all that nonsense.
-                in = getContentResolver().openInputStream(uri);
-                String text = BugReportParser.extractSystemLogs(in, section);
-                mText.setText(text);
-            } catch (FileNotFoundException fnfe) {
-                Log.w(TAG, "Unable to open file: " + uri, fnfe);
-               mText.setText("Unable to open file: " + uri + ": " + fnfe);
-                return;
-            } catch (IOException ioe) {
-                Log.w(TAG, "Unable to process log.", ioe);
-               mText.setText("Unable to process log: " + ioe);
-               return;
-            } finally {
-                try {
-                    if (in != null) {
-                       in.close();
-                   }
-                } catch (IOException ioe) {
-                    // ignore
-                }
-            }
-        }
-    }
-
-    @Override
-    protected void onSaveInstanceState(Bundle icicle) {
-        CharSequence text = mText.getText();
-        if (text != null) {
-            icicle.putString("text", mText.getText().toString());
-        }
-    }
-}