Merge "remove redundant share intent for Wear bug report"
This commit is contained in:
committed by
Android (Google) Code Review
commit
e002b6b63d
@@ -570,6 +570,7 @@ public class BugreportProgressService extends Service {
|
||||
break;
|
||||
case INTENT_BUGREPORT_DONE:
|
||||
maybeShowWarningMessageAndCloseNotification(id);
|
||||
break;
|
||||
case INTENT_BUGREPORT_CANCEL:
|
||||
cancel(id);
|
||||
break;
|
||||
@@ -840,16 +841,11 @@ public class BugreportProgressService extends Service {
|
||||
PendingIntent.FLAG_IMMUTABLE | PendingIntent.FLAG_UPDATE_CURRENT);
|
||||
}
|
||||
|
||||
@GuardedBy("mLock")
|
||||
private void stopProgressLocked(int id) {
|
||||
stopProgressLocked(id, /* cancelNotification */ true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Finalizes the progress on a given bugreport and cancel its notification.
|
||||
*/
|
||||
@GuardedBy("mLock")
|
||||
private void stopProgressLocked(int id, boolean cancelNotification) {
|
||||
private void stopProgressLocked(int id) {
|
||||
if (mBugreportInfos.indexOfKey(id) < 0) {
|
||||
Log.w(TAG, "ID not watched: " + id);
|
||||
} else {
|
||||
@@ -859,12 +855,10 @@ public class BugreportProgressService extends Service {
|
||||
// Must stop foreground service first, otherwise notif.cancel() will fail below.
|
||||
stopForegroundWhenDoneLocked(id);
|
||||
|
||||
if (cancelNotification) {
|
||||
Log.d(TAG, "stopProgress(" + id + "): cancel notification");
|
||||
NotificationManager.from(mContext).cancel(id);
|
||||
} else {
|
||||
Log.d(TAG, "stopProgress(" + id + ")");
|
||||
}
|
||||
|
||||
Log.d(TAG, "stopProgress(" + id + "): cancel notification");
|
||||
NotificationManager.from(mContext).cancel(id);
|
||||
|
||||
stopSelfWhenDoneLocked();
|
||||
}
|
||||
|
||||
@@ -1109,30 +1103,7 @@ public class BugreportProgressService extends Service {
|
||||
return;
|
||||
}
|
||||
|
||||
if (mIsWatch) {
|
||||
// Wear wants to send the notification directly and not wait for the user to tap on the
|
||||
// notification.
|
||||
triggerShareBugreportAndLocalNotification(info);
|
||||
} else {
|
||||
triggerLocalNotification(info);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Responsible for starting the bugerport sharing process and posting a notification which
|
||||
* shows that the bugreport has been taken and that the sharing process has kicked-off.
|
||||
*/
|
||||
private void triggerShareBugreportAndLocalNotification(final BugreportInfo info) {
|
||||
boolean isPlainText = info.bugreportFile.getName().toLowerCase().endsWith(".txt");
|
||||
if (!isPlainText) {
|
||||
// Already zipped, share it right away.
|
||||
shareBugreport(info.id, info, /* showWarning */ false,
|
||||
/* cancelNotificationWhenStoppingProgress */ false);
|
||||
sendBugreportNotification(info, mTakingScreenshot);
|
||||
} else {
|
||||
// Asynchronously zip the file first, then share it.
|
||||
shareAndPostNotificationForZippedBugreport(info, mTakingScreenshot);
|
||||
}
|
||||
triggerLocalNotification(info);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1246,16 +1217,14 @@ public class BugreportProgressService extends Service {
|
||||
}
|
||||
|
||||
private void shareBugreport(int id, BugreportInfo sharedInfo) {
|
||||
shareBugreport(id, sharedInfo, !hasUserDecidedNotToGetWarningMessage(),
|
||||
/* cancelNotificationWhenStoppingProgress */ true);
|
||||
shareBugreport(id, sharedInfo, !hasUserDecidedNotToGetWarningMessage());
|
||||
}
|
||||
|
||||
/**
|
||||
* Shares the bugreport upon user's request by issuing a {@link Intent#ACTION_SEND_MULTIPLE}
|
||||
* intent, but issuing a warning dialog the first time.
|
||||
*/
|
||||
private void shareBugreport(int id, BugreportInfo sharedInfo, boolean showWarning,
|
||||
boolean cancelNotificationWhenStoppingProgress) {
|
||||
private void shareBugreport(int id, BugreportInfo sharedInfo, boolean showWarning) {
|
||||
MetricsLogger.action(this, MetricsEvent.ACTION_BUGREPORT_NOTIFICATION_ACTION_SHARE);
|
||||
BugreportInfo info;
|
||||
synchronized (mLock) {
|
||||
@@ -1304,7 +1273,7 @@ public class BugreportProgressService extends Service {
|
||||
}
|
||||
synchronized (mLock) {
|
||||
// ... and stop watching this process.
|
||||
stopProgressLocked(id, cancelNotificationWhenStoppingProgress);
|
||||
stopProgressLocked(id);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1359,7 +1328,7 @@ public class BugreportProgressService extends Service {
|
||||
PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE))
|
||||
.setDeleteIntent(newCancelIntent(mContext, info));
|
||||
} else {
|
||||
// Device is a watch.
|
||||
// Device is a watch
|
||||
if (hasUserDecidedNotToGetWarningMessage()) {
|
||||
// No action button needed for the notification. User can swipe to dimiss.
|
||||
builder.setActions(new Action[0]);
|
||||
@@ -1429,24 +1398,6 @@ public class BugreportProgressService extends Service {
|
||||
}.execute();
|
||||
}
|
||||
|
||||
/**
|
||||
* Zips a bugreport, shares it, and sends for it a bugreport notification.
|
||||
*/
|
||||
private void shareAndPostNotificationForZippedBugreport(final BugreportInfo info,
|
||||
final boolean takingScreenshot) {
|
||||
new AsyncTask<Void, Void, Void>() {
|
||||
@Override
|
||||
protected Void doInBackground(Void... params) {
|
||||
Looper.prepare();
|
||||
zipBugreport(info);
|
||||
shareBugreport(info.id, info, /* showWarning */ false,
|
||||
/* cancelNotificationWhenStoppingProgress */ false);
|
||||
sendBugreportNotification(info, mTakingScreenshot);
|
||||
return null;
|
||||
}
|
||||
}.execute();
|
||||
}
|
||||
|
||||
/**
|
||||
* Zips a bugreport file, returning the path to the new file (or to the
|
||||
* original in case of failure).
|
||||
|
||||
Reference in New Issue
Block a user