NetworkPolicyManagerService.
if the multi user occurs switch and remove then to getPackagesForUid
the return value will got null,because the user remove is not synced
with the getPackagesForUid,so we must check the return value for
getPackagesForUid to avoid the crash.
https://code.google.com/p/android/issues/detail?id=211972
Change-Id: If921582da86dbe862f2dad337b0a8d1f20593c99
Signed-off-by: songjinshi <songjinshi@xiaomi.com>
final String[] packages = mContext.getPackageManager().getPackagesForUid(uid);
final int userId = UserHandle.getUserId(uid);
- for (String packageName : packages) {
- if (!mUsageStats.isAppIdle(packageName, uid, userId)) {
- return false;
+ if (packages != null) {
+ for (String packageName : packages) {
+ if (!mUsageStats.isAppIdle(packageName, uid, userId)) {
+ return false;
+ }
}
}
return true;