summaryrefslogtreecommitdiffstats
path: root/packages/Shell
diff options
context:
space:
mode:
authorWei Liu <luciferleo@google.com>2015-06-12 18:06:46 -0700
committerWei Liu <luciferleo@google.com>2015-06-17 15:32:05 -0700
commitae363d2db4398a695606c254b88be8940139edd1 (patch)
tree43578cb6f280774d3e51f3668bf4fbed031f8869 /packages/Shell
parent2f7103565cf1732d6d1281195cfa49a1564751d7 (diff)
downloadframeworks_base-ae363d2db4398a695606c254b88be8940139edd1.zip
frameworks_base-ae363d2db4398a695606c254b88be8940139edd1.tar.gz
frameworks_base-ae363d2db4398a695606c254b88be8940139edd1.tar.bz2
Wear doesn't need Shell to send notification when bugreport captured.
b/19179040 Change-Id: Iec74e1e55adee16c8674f28a6e7d697499b85acf
Diffstat (limited to 'packages/Shell')
-rw-r--r--packages/Shell/src/com/android/shell/BugreportReceiver.java39
1 files changed, 27 insertions, 12 deletions
diff --git a/packages/Shell/src/com/android/shell/BugreportReceiver.java b/packages/Shell/src/com/android/shell/BugreportReceiver.java
index 48ecaa5..b3ba895 100644
--- a/packages/Shell/src/com/android/shell/BugreportReceiver.java
+++ b/packages/Shell/src/com/android/shell/BugreportReceiver.java
@@ -27,6 +27,7 @@ import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
+import android.content.res.Configuration;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.FileUtils;
@@ -65,9 +66,35 @@ public class BugreportReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
+ final Configuration conf = context.getResources().getConfiguration();
final File bugreportFile = getFileExtra(intent, EXTRA_BUGREPORT);
final File screenshotFile = getFileExtra(intent, EXTRA_SCREENSHOT);
+ if ((conf.uiMode & Configuration.UI_MODE_TYPE_MASK) != Configuration.UI_MODE_TYPE_WATCH) {
+ triggerLocalNotification(context, bugreportFile, screenshotFile);
+ }
+
+ // Clean up older bugreports in background
+ final PendingResult result = goAsync();
+ new AsyncTask<Void, Void, Void>() {
+ @Override
+ protected Void doInBackground(Void... params) {
+ FileUtils.deleteOlderFiles(
+ bugreportFile.getParentFile(), MIN_KEEP_COUNT, MIN_KEEP_AGE);
+ result.finish();
+ return null;
+ }
+ }.execute();
+ }
+
+ /**
+ * Responsible for triggering a notification that allows the user to start a
+ * "share" intent with the bug report. On watches we have other methods to allow the user to
+ * start this intent (usually by triggering it on another connected device); we don't need to
+ * display the notification in this case.
+ */
+ private void triggerLocalNotification(final Context context, final File bugreportFile,
+ final File screenshotFile) {
// Files are kept on private storage, so turn into Uris that we can
// grant temporary permissions for.
final Uri bugreportUri = FileProvider.getUriForFile(context, AUTHORITY, bugreportFile);
@@ -97,18 +124,6 @@ public class BugreportReceiver extends BroadcastReceiver {
com.android.internal.R.color.system_notification_accent_color));
NotificationManager.from(context).notify(TAG, 0, builder.build());
-
- // Clean up older bugreports in background
- final PendingResult result = goAsync();
- new AsyncTask<Void, Void, Void>() {
- @Override
- protected Void doInBackground(Void... params) {
- FileUtils.deleteOlderFiles(
- bugreportFile.getParentFile(), MIN_KEEP_COUNT, MIN_KEEP_AGE);
- result.finish();
- return null;
- }
- }.execute();
}
private static Intent buildWarningIntent(Context context, Intent sendIntent) {