Merge "DO NOT MERGE ANYWHERE Fix NPE when UID has no packages." into cw-e-dev

This commit is contained in:
Erik Wolsheimer
2016-06-09 03:25:42 +00:00
committed by Android (Google) Code Review
2 changed files with 7 additions and 5 deletions

View File

@@ -2692,7 +2692,7 @@ public abstract class PackageManager {
* @return Returns an array of one or more packages assigned to the user
* id, or null if there are no known packages with the given id.
*/
public abstract String[] getPackagesForUid(int uid);
public abstract @Nullable String[] getPackagesForUid(int uid);
/**
* Retrieve the official name associated with a user id. This name is
@@ -2705,7 +2705,7 @@ public abstract class PackageManager {
* @return Returns a unique name for the given user id, or null if the
* user id is not currently assigned.
*/
public abstract String getNameForUid(int uid);
public abstract @Nullable String getNameForUid(int uid);
/**
* Return the user id associated with a shared user name. Multiple

View File

@@ -2319,9 +2319,11 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
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 (!ArrayUtils.isEmpty(packages)) {
for (String packageName : packages) {
if (!mUsageStats.isAppIdle(packageName, uid, userId)) {
return false;
}
}
}
return true;