diff options
author | Jeff Sharkey <jsharkey@android.com> | 2013-03-08 16:13:03 -0800 |
---|---|---|
committer | Jeff Sharkey <jsharkey@android.com> | 2013-03-13 15:47:51 -0700 |
commit | 162186ff7fc059d963cd27dc693eb7d620f9ee8a (patch) | |
tree | 0699ea985dfe60016e88233e2be708883dab37dc | |
parent | 79c7ae405544ce425eeeaaee855a06862dd00b71 (diff) | |
download | extras-162186ff7fc059d963cd27dc693eb7d620f9ee8a.tar.gz |
Remove bugsender; now using dumpstate directly.
Bug: 8334369
Change-Id: I3a293c731bb9b02cc21e1df2863e2b0bc7a8f554
-rw-r--r-- | bugmailer/Android.mk | 12 | ||||
-rwxr-xr-x | bugmailer/bugmailer.sh | 50 | ||||
-rwxr-xr-x | bugmailer/send_bug | 5 | ||||
-rw-r--r-- | bugmailer/src/com/android/commands/sendbug/SendBug.java | 180 |
4 files changed, 0 insertions, 247 deletions
diff --git a/bugmailer/Android.mk b/bugmailer/Android.mk deleted file mode 100644 index c5aea4ba..00000000 --- a/bugmailer/Android.mk +++ /dev/null @@ -1,12 +0,0 @@ -# Copyright 2011 The Android Open Source Project -# -LOCAL_PATH:= $(call my-dir) - -ifeq (platform,$(TARGET_BUILD_JAVA_SUPPORT_LEVEL)) -include $(CLEAR_VARS) - -LOCAL_SRC_FILES := $(call all-java-files-under, src) -LOCAL_MODULE := send_bug -LOCAL_MODULE_TAGS := optional -include $(BUILD_JAVA_LIBRARY) -endif #JAVA_SUPPORT diff --git a/bugmailer/bugmailer.sh b/bugmailer/bugmailer.sh deleted file mode 100755 index c467aeea..00000000 --- a/bugmailer/bugmailer.sh +++ /dev/null @@ -1,50 +0,0 @@ -#!/system/bin/sh - -# TODO: restructure this to keep bugreports entirely on internal storage - -# Do not allow bugreports on user builds unless USB debugging -# is enabled. -if [ "x$(getprop ro.build.type)" = "xuser" -a \ - "x$(getprop init.svc.adbd)" != "xrunning" ]; then - exit 0 -fi - -# Build emulated storage paths when appropriate -# See storage config details at http://source.android.com/tech/storage/ -if [ -n "$EMULATED_STORAGE_SOURCE" ]; then - writePath="$EMULATED_STORAGE_SOURCE/0" - readPath="$EMULATED_STORAGE_TARGET/0" -else - writePath="$EXTERNAL_STORAGE" - readPath="$EXTERNAL_STORAGE" -fi - -tmpPath="/data/local/tmp" -bugreportPath="bugreports" -screenshotPath="Pictures/Screenshots" - -# Create directories if needed -if [ ! -e "$writePath/$bugreportPath" ]; then - mkdir "$writePath/$bugreportPath" -fi -if [ ! -e "$writePath/$screenshotPath" ]; then - mkdir "$writePath/$screenshotPath" -fi - -timestamp=`date +'%Y-%m-%d-%H-%M-%S'` - -# take screen shot -# we run this as a bg job in case screencap is stuck -/system/bin/screencap -p "$writePath/$screenshotPath/Screenshot_$timestamp.png" & - -# run bugreport -/system/bin/dumpstate -o "$tmpPath/bugreport-$timestamp" $@ - -# copy finished bugreport into place for sending -cp "$tmpPath/bugreport-$timestamp.txt" "$writePath/$bugreportPath/bugreport-$timestamp.txt" -# clean up any remaining files -rm $tmpPath/bugreport* - -# invoke send_bug to look up email accounts and fire intents -# make it convenient to send bugreport to oneself -/system/bin/send_bug "$readPath/$bugreportPath/bugreport-$timestamp.txt" "$readPath/$screenshotPath/Screenshot_$timestamp.png" diff --git a/bugmailer/send_bug b/bugmailer/send_bug deleted file mode 100755 index db58b326..00000000 --- a/bugmailer/send_bug +++ /dev/null @@ -1,5 +0,0 @@ -# Script to start "send_bug" on the device -# -base=/system -export CLASSPATH=$base/framework/send_bug.jar -exec app_process $base/bin com.android.commands.sendbug.SendBug "$@" diff --git a/bugmailer/src/com/android/commands/sendbug/SendBug.java b/bugmailer/src/com/android/commands/sendbug/SendBug.java deleted file mode 100644 index b650fe02..00000000 --- a/bugmailer/src/com/android/commands/sendbug/SendBug.java +++ /dev/null @@ -1,180 +0,0 @@ -/* - * Copyright (C) 2011 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.commands.sendbug; - -import android.accounts.Account; -import android.accounts.IAccountManager; -import android.app.ActivityManagerNative; -import android.app.IActivityManager; -import android.content.Context; -import android.content.Intent; -import android.content.pm.IPackageManager; -import android.content.pm.ResolveInfo; -import android.net.Uri; -import android.os.RemoteException; -import android.os.ServiceManager; -import android.os.SystemProperties; -import android.os.UserHandle; -import android.util.Log; - -import java.io.File; -import java.util.ArrayList; -import java.util.List; -import java.util.regex.Pattern; - -public class SendBug { - - private static final String LOG_TAG = SendBug.class.getSimpleName(); - private static final Pattern EMAIL_REGEX = Pattern.compile( - "^[\\w.%+-]+@[\\w.-]+\\.[a-zA-Z]{2,}$"); - private static final String SEND_BUG_INTENT_ACTION = "android.testing.SEND_BUG"; - - public static void main(String[] args) { - if (args.length == 1) { - new SendBug().run(args[0]); - } else if (args.length == 2) { - new SendBug().run(args[0], args[1]); - } - } - - private void run(String bugreportPath) { - run(bugreportPath, null); - } - - private void run(String bugreportPath, String screenShotPath) { - final File bugreport = new File(bugreportPath); - File screenShot = null; - if (screenShotPath != null) { - screenShot = new File(screenShotPath); - } - final Uri bugreportUri = Uri.fromFile(bugreport); - // todo (aalbert): investigate adding a screenshot to BugReporter - Intent intent = tryBugReporter(bugreportUri); - if (intent == null) { - final Uri screenshotUri = screenShot != null - ? Uri.fromFile(screenShot) : null; - intent = getSendMailIntent(bugreportUri, screenshotUri); - } - if (intent != null) { - final IActivityManager am = ActivityManagerNative.getDefault(); - if (am == null) { - Log.e(LOG_TAG, "Cannot get ActivityManager, is the system running?"); - return; - } - try { - am.startActivityAsUser(null, null, intent, intent.getType(), null, null, 0, 0, - null, null, null, UserHandle.USER_CURRENT); - } catch (RemoteException e) { - // ignore - } - } else { - Log.w(LOG_TAG, "Cannot find account to send bugreport, local path: " - + bugreportPath); - } - } - - private Intent tryBugReporter(Uri bugreportUri) { - final Intent intent = new Intent(SEND_BUG_INTENT_ACTION); - intent.setData(bugreportUri); - final IPackageManager pm = IPackageManager.Stub.asInterface( - ServiceManager.getService("package")); - if (pm == null) { - Log.e(LOG_TAG, "Cannot get PackageManager, is the system running?"); - return null; - } - final List<ResolveInfo> results; - try { - results = pm.queryIntentActivities(intent, null, 0, 0); - } catch (RemoteException e) { - return null; - } - if (results != null && results.size() > 0) { - final ResolveInfo info = results.get(0); - intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - intent.setClassName(info.activityInfo.applicationInfo.packageName, - info.activityInfo.name); - return intent; - } else { - return null; - } - } - - private Intent getSendMailIntent(Uri bugreportUri, Uri screenshotUri) { - final Account sendToAccount = findSendToAccount(); - final Intent intent = new Intent(Intent.ACTION_SEND); - intent.addCategory(Intent.CATEGORY_DEFAULT); - intent.setType("application/octet-stream"); - intent.putExtra(Intent.EXTRA_SUBJECT, bugreportUri.getLastPathSegment()); - final StringBuilder sb = new StringBuilder(); - sb.append(SystemProperties.get("ro.build.description")); - sb.append("\n(Sent from BugMailer)"); - intent.putExtra(Intent.EXTRA_TEXT, (CharSequence)sb); - if (screenshotUri != null) { - final ArrayList<Uri> attachments = new ArrayList<Uri>(); - attachments.add(bugreportUri); - attachments.add(screenshotUri); - intent.setAction(Intent.ACTION_SEND_MULTIPLE); - intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, attachments); - } else { - intent.putExtra(Intent.EXTRA_STREAM, bugreportUri); - } - if (sendToAccount != null) { - intent.putExtra(Intent.EXTRA_EMAIL, new String[]{sendToAccount.name}); - return intent; - } - return null; - } - - private Account findSendToAccount() { - final IAccountManager accountManager = IAccountManager.Stub.asInterface(ServiceManager - .getService(Context.ACCOUNT_SERVICE)); - if (accountManager == null) { - Log.e(LOG_TAG, "Cannot get AccountManager, is the system running?"); - return null; - } - Account[] accounts = null; - Account foundAccount = null; - String preferredDomain = SystemProperties.get("sendbug.preferred.domain"); - if (!preferredDomain.startsWith("@")) { - preferredDomain = "@" + preferredDomain; - } - try { - accounts = accountManager.getAccounts(null); - } catch (RemoteException e) { - // ignore - } - if (accounts != null) { - for (Account account : accounts) { - if (EMAIL_REGEX.matcher(account.name).matches()) { - if (!preferredDomain.isEmpty()) { - // if we have a preferred domain and it matches, return; otherwise keep - // looking - if (account.name.endsWith(preferredDomain)) { - return account; - } else { - foundAccount = account; - } - // if we don't have a preferred domain, just return since it looks like - // an email address - } else { - return account; - } - } - } - } - return foundAccount; - } -} |