Wear doesn't need Shell to send notification when bugreport captured.
b/19179040 Change-Id: Iec74e1e55adee16c8674f28a6e7d697499b85acf
This commit is contained in:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user