Don't cancel scheduled jobs when packages are updated
Only cancel the app's jobs when it is fully uninstalled, not when it's being updated to a newer version. Bug 18059252 Change-Id: I6cf617013ec8e9e9abd90e366d7a6ab0711790de
This commit is contained in:
@@ -137,11 +137,15 @@ public class JobSchedulerService extends com.android.server.SystemService
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
Slog.d(TAG, "Receieved: " + intent.getAction());
|
||||
if (Intent.ACTION_PACKAGE_REMOVED.equals(intent.getAction())) {
|
||||
int uidRemoved = intent.getIntExtra(Intent.EXTRA_UID, -1);
|
||||
if (DEBUG) {
|
||||
Slog.d(TAG, "Removing jobs for uid: " + uidRemoved);
|
||||
// If this is an outright uninstall rather than the first half of an
|
||||
// app update sequence, cancel the jobs associated with the app.
|
||||
if (!intent.getBooleanExtra(Intent.EXTRA_REPLACING, false)) {
|
||||
int uidRemoved = intent.getIntExtra(Intent.EXTRA_UID, -1);
|
||||
if (DEBUG) {
|
||||
Slog.d(TAG, "Removing jobs for uid: " + uidRemoved);
|
||||
}
|
||||
cancelJobsForUid(uidRemoved);
|
||||
}
|
||||
cancelJobsForUid(uidRemoved);
|
||||
} else if (Intent.ACTION_USER_REMOVED.equals(intent.getAction())) {
|
||||
final int userId = intent.getIntExtra(Intent.EXTRA_USER_HANDLE, 0);
|
||||
if (DEBUG) {
|
||||
|
||||
Reference in New Issue
Block a user