Loading packages/DocumentsUI/src/com/android/documentsui/CopyService.java +5 −5 Original line number Diff line number Diff line Loading @@ -173,8 +173,6 @@ public class CopyService extends IntentService { .setAutoCancel(true); mNotificationManager.notify(mJobId, 0, errorBuilder.build()); } // TODO: Display a toast if the copy was cancelled. } } Loading Loading @@ -306,13 +304,15 @@ public class CopyService extends IntentService { private void handleCancel(Intent intent) { final String cancelledId = intent.getStringExtra(EXTRA_CANCEL); // Do nothing if the cancelled ID doesn't match the current job ID. This prevents racey // cancellation requests from affecting unrelated copy jobs. if (Objects.equals(mJobId, cancelledId)) { // cancellation requests from affecting unrelated copy jobs. However, if the current job ID // is null, the service most likely crashed and was revived by the incoming cancel intent. // In that case, always allow the cancellation to proceed. if (Objects.equals(mJobId, cancelledId) || mJobId == null) { // Set the cancel flag. This causes the copy loops to exit. mIsCancelled = true; // Dismiss the progress notification here rather than in the copy loop. This preserves // interactivity for the user in case the copy loop is stalled. mNotificationManager.cancel(mJobId, 0); mNotificationManager.cancel(cancelledId, 0); } } Loading Loading
packages/DocumentsUI/src/com/android/documentsui/CopyService.java +5 −5 Original line number Diff line number Diff line Loading @@ -173,8 +173,6 @@ public class CopyService extends IntentService { .setAutoCancel(true); mNotificationManager.notify(mJobId, 0, errorBuilder.build()); } // TODO: Display a toast if the copy was cancelled. } } Loading Loading @@ -306,13 +304,15 @@ public class CopyService extends IntentService { private void handleCancel(Intent intent) { final String cancelledId = intent.getStringExtra(EXTRA_CANCEL); // Do nothing if the cancelled ID doesn't match the current job ID. This prevents racey // cancellation requests from affecting unrelated copy jobs. if (Objects.equals(mJobId, cancelledId)) { // cancellation requests from affecting unrelated copy jobs. However, if the current job ID // is null, the service most likely crashed and was revived by the incoming cancel intent. // In that case, always allow the cancellation to proceed. if (Objects.equals(mJobId, cancelledId) || mJobId == null) { // Set the cancel flag. This causes the copy loops to exit. mIsCancelled = true; // Dismiss the progress notification here rather than in the copy loop. This preserves // interactivity for the user in case the copy loop is stalled. mNotificationManager.cancel(mJobId, 0); mNotificationManager.cancel(cancelledId, 0); } } Loading