* commit '940335ba5b68f3382d7b42ba4fd781c8120bc370': Wear doesn't need Shell to send notification when bugreport captured.
This commit is contained in:
@@ -27,6 +27,7 @@ import android.app.PendingIntent;
|
|||||||
import android.content.BroadcastReceiver;
|
import android.content.BroadcastReceiver;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
|
import android.content.res.Configuration;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.AsyncTask;
|
import android.os.AsyncTask;
|
||||||
import android.os.FileUtils;
|
import android.os.FileUtils;
|
||||||
@@ -77,21 +78,12 @@ public class BugreportReceiver extends BroadcastReceiver {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onReceive(Context context, Intent intent) {
|
public void onReceive(Context context, Intent intent) {
|
||||||
|
final Configuration conf = context.getResources().getConfiguration();
|
||||||
final File bugreportFile = getFileExtra(intent, EXTRA_BUGREPORT);
|
final File bugreportFile = getFileExtra(intent, EXTRA_BUGREPORT);
|
||||||
final File screenshotFile = getFileExtra(intent, EXTRA_SCREENSHOT);
|
final File screenshotFile = getFileExtra(intent, EXTRA_SCREENSHOT);
|
||||||
|
|
||||||
// Files are kept on private storage, so turn into Uris that we can
|
if ((conf.uiMode & Configuration.UI_MODE_TYPE_MASK) != Configuration.UI_MODE_TYPE_WATCH) {
|
||||||
// grant temporary permissions for.
|
triggerLocalNotification(context, bugreportFile, screenshotFile);
|
||||||
final Uri bugreportUri = FileProvider.getUriForFile(context, AUTHORITY, bugreportFile);
|
|
||||||
final Uri screenshotUri = FileProvider.getUriForFile(context, AUTHORITY, screenshotFile);
|
|
||||||
|
|
||||||
boolean isPlainText = bugreportFile.getName().toLowerCase().endsWith(".txt");
|
|
||||||
if (!isPlainText) {
|
|
||||||
// Already zipped, send it right away.
|
|
||||||
sendBugreportNotification(context, bugreportFile, screenshotFile);
|
|
||||||
} else {
|
|
||||||
// Asynchronously zip the file first, then send it.
|
|
||||||
sendZippedBugreportNotification(context, bugreportFile, screenshotFile);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Clean up older bugreports in background
|
// Clean up older bugreports in background
|
||||||
@@ -107,6 +99,29 @@ public class BugreportReceiver extends BroadcastReceiver {
|
|||||||
}.execute();
|
}.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);
|
||||||
|
final Uri screenshotUri = FileProvider.getUriForFile(context, AUTHORITY, screenshotFile);
|
||||||
|
|
||||||
|
boolean isPlainText = bugreportFile.getName().toLowerCase().endsWith(".txt");
|
||||||
|
if (!isPlainText) {
|
||||||
|
// Already zipped, send it right away.
|
||||||
|
sendBugreportNotification(context, bugreportFile, screenshotFile);
|
||||||
|
} else {
|
||||||
|
// Asynchronously zip the file first, then send it.
|
||||||
|
sendZippedBugreportNotification(context, bugreportFile, screenshotFile);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private static Intent buildWarningIntent(Context context, Intent sendIntent) {
|
private static Intent buildWarningIntent(Context context, Intent sendIntent) {
|
||||||
final Intent intent = new Intent(context, BugreportWarningActivity.class);
|
final Intent intent = new Intent(context, BugreportWarningActivity.class);
|
||||||
intent.putExtra(Intent.EXTRA_INTENT, sendIntent);
|
intent.putExtra(Intent.EXTRA_INTENT, sendIntent);
|
||||||
|
|||||||
Reference in New Issue
Block a user