Remove notification correctly upon cancellation of download.
The check was set up to only cancel when the `AppDetails` for that app was shown. This is the correct behaviour for the 'complete' event, but not the cancel. The cancel event should always result in the relevant notification being removed.
This commit is contained in:
parent
5c4d23d2d6
commit
0967b79763
@ -226,9 +226,7 @@ public class InstallManagerService extends Service {
|
||||
Apk apk = ACTIVE_APKS.remove(urlString);
|
||||
ACTIVE_APPS.remove(apk.packageName);
|
||||
unregisterDownloaderReceivers(urlString);
|
||||
if (AppDetails.isAppVisible(apk.packageName)) {
|
||||
cancelNotification(urlString);
|
||||
}
|
||||
cancelNotification(urlString);
|
||||
}
|
||||
};
|
||||
localBroadcastManager.registerReceiver(startedReceiver,
|
||||
|
@ -89,6 +89,7 @@ public class DownloaderService extends Service {
|
||||
|
||||
@Override
|
||||
public void handleMessage(Message msg) {
|
||||
Utils.debugLog(TAG, "Handling download message with ID of " + msg.what);
|
||||
handleIntent((Intent) msg.obj);
|
||||
stopSelf(msg.arg1);
|
||||
}
|
||||
@ -120,12 +121,13 @@ public class DownloaderService extends Service {
|
||||
Utils.debugLog(TAG, "Cancelling download of " + uriString);
|
||||
Integer whatToRemove = uriString.hashCode();
|
||||
if (serviceHandler.hasMessages(whatToRemove)) {
|
||||
Utils.debugLog(TAG, "Removing download with ID of " + whatToRemove + " from service handler, then sending interrupted event.");
|
||||
serviceHandler.removeMessages(whatToRemove);
|
||||
sendBroadcast(intent.getData(), Downloader.ACTION_INTERRUPTED);
|
||||
} else if (isActive(uriString)) {
|
||||
downloader.cancelDownload();
|
||||
} else {
|
||||
Log.e(TAG, "ACTION_CANCEL called on something not queued or running");
|
||||
Log.e(TAG, "ACTION_CANCEL called on something not queued or running (expected to find message with ID of " + whatToRemove + " in queue).");
|
||||
}
|
||||
} else if (ACTION_QUEUE.equals(intent.getAction())) {
|
||||
Message msg = serviceHandler.obtainMessage();
|
||||
|
Loading…
x
Reference in New Issue
Block a user