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); 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; break;
} }
} }