Merge "Fix job scheduler crash due to uninstall race" into nyc-mr1-dev

This commit is contained in:
Chris Tate
2016-10-06 18:10:35 +00:00
committed by Android (Google) Code Review

View File

@@ -429,7 +429,18 @@ public final class JobSchedulerService extends com.android.server.SystemService
}
cancelJobsForUid(pkgUid, true);
}
} catch (RemoteException e) { /* cannot happen */ }
} catch (RemoteException|IllegalArgumentException e) {
/*
* IllegalArgumentException means that the package doesn't exist.
* This arises when PACKAGE_CHANGED broadcast delivery has lagged
* behind outright uninstall, so by the time we try to act it's gone.
* We don't need to act on this PACKAGE_CHANGED when this happens;
* we'll get a PACKAGE_REMOVED later and clean up then.
*
* RemoteException can't actually happen; the package manager is
* running in this same process.
*/
}
break;
}
}