Loading core/java/android/content/pm/PackageParser.java +12 −14 Original line number Diff line number Diff line Loading @@ -201,11 +201,11 @@ public class PackageParser { } pi.activities = new ActivityInfo[num]; } for (int i=0; i<N; i++) { for (int i=0, j=0; i<N; i++) { final Activity activity = p.activities.get(i); if (activity.info.enabled || (flags&PackageManager.GET_DISABLED_COMPONENTS) != 0) { pi.activities[i] = generateActivityInfo(p.activities.get(i), flags); pi.activities[j++] = generateActivityInfo(p.activities.get(i), flags); } } } Loading @@ -222,11 +222,11 @@ public class PackageParser { } pi.receivers = new ActivityInfo[num]; } for (int i=0; i<N; i++) { for (int i=0, j=0; i<N; i++) { final Activity activity = p.receivers.get(i); if (activity.info.enabled || (flags&PackageManager.GET_DISABLED_COMPONENTS) != 0) { pi.receivers[i] = generateActivityInfo(p.receivers.get(i), flags); pi.receivers[j++] = generateActivityInfo(p.receivers.get(i), flags); } } } Loading @@ -243,11 +243,11 @@ public class PackageParser { } pi.services = new ServiceInfo[num]; } for (int i=0; i<N; i++) { for (int i=0, j=0; i<N; i++) { final Service service = p.services.get(i); if (service.info.enabled || (flags&PackageManager.GET_DISABLED_COMPONENTS) != 0) { pi.services[i] = generateServiceInfo(p.services.get(i), flags); pi.services[j++] = generateServiceInfo(p.services.get(i), flags); } } } Loading @@ -264,11 +264,11 @@ public class PackageParser { } pi.providers = new ProviderInfo[num]; } for (int i=0; i<N; i++) { for (int i=0, j=0; i<N; i++) { final Provider provider = p.providers.get(i); if (provider.info.enabled || (flags&PackageManager.GET_DISABLED_COMPONENTS) != 0) { pi.providers[i] = generateProviderInfo(p.providers.get(i), flags); pi.providers[j++] = generateProviderInfo(p.providers.get(i), flags); } } } Loading Loading @@ -300,14 +300,12 @@ public class PackageParser { } } if ((flags&PackageManager.GET_SIGNATURES) != 0) { if (p.mSignatures != null) { int N = p.mSignatures.length; int N = (p.mSignatures != null) ? p.mSignatures.length : 0; if (N > 0) { pi.signatures = new Signature[N]; System.arraycopy(p.mSignatures, 0, pi.signatures, 0, N); } } } return pi; } Loading services/java/com/android/server/PackageManagerService.java +6 −2 Original line number Diff line number Diff line Loading @@ -6344,7 +6344,9 @@ class PackageManagerService extends IPackageManager.Stub { continue; } for (PackageSetting pkg:sus.packages) { if (pkg.pkg.requestedPermissions.contains(eachPerm)) { if (pkg.pkg != null && !pkg.pkg.packageName.equalsIgnoreCase(deletedPs.pkg.packageName) && pkg.pkg.requestedPermissions.contains(eachPerm)) { used = true; break; } Loading @@ -6359,8 +6361,10 @@ class PackageManagerService extends IPackageManager.Stub { int newGids[] = globalGids; for (String eachPerm : sus.grantedPermissions) { BasePermission bp = mPermissions.get(eachPerm); if (bp != null) { newGids = appendInts(newGids, bp.gids); } } sus.gids = newGids; } Loading Loading
core/java/android/content/pm/PackageParser.java +12 −14 Original line number Diff line number Diff line Loading @@ -201,11 +201,11 @@ public class PackageParser { } pi.activities = new ActivityInfo[num]; } for (int i=0; i<N; i++) { for (int i=0, j=0; i<N; i++) { final Activity activity = p.activities.get(i); if (activity.info.enabled || (flags&PackageManager.GET_DISABLED_COMPONENTS) != 0) { pi.activities[i] = generateActivityInfo(p.activities.get(i), flags); pi.activities[j++] = generateActivityInfo(p.activities.get(i), flags); } } } Loading @@ -222,11 +222,11 @@ public class PackageParser { } pi.receivers = new ActivityInfo[num]; } for (int i=0; i<N; i++) { for (int i=0, j=0; i<N; i++) { final Activity activity = p.receivers.get(i); if (activity.info.enabled || (flags&PackageManager.GET_DISABLED_COMPONENTS) != 0) { pi.receivers[i] = generateActivityInfo(p.receivers.get(i), flags); pi.receivers[j++] = generateActivityInfo(p.receivers.get(i), flags); } } } Loading @@ -243,11 +243,11 @@ public class PackageParser { } pi.services = new ServiceInfo[num]; } for (int i=0; i<N; i++) { for (int i=0, j=0; i<N; i++) { final Service service = p.services.get(i); if (service.info.enabled || (flags&PackageManager.GET_DISABLED_COMPONENTS) != 0) { pi.services[i] = generateServiceInfo(p.services.get(i), flags); pi.services[j++] = generateServiceInfo(p.services.get(i), flags); } } } Loading @@ -264,11 +264,11 @@ public class PackageParser { } pi.providers = new ProviderInfo[num]; } for (int i=0; i<N; i++) { for (int i=0, j=0; i<N; i++) { final Provider provider = p.providers.get(i); if (provider.info.enabled || (flags&PackageManager.GET_DISABLED_COMPONENTS) != 0) { pi.providers[i] = generateProviderInfo(p.providers.get(i), flags); pi.providers[j++] = generateProviderInfo(p.providers.get(i), flags); } } } Loading Loading @@ -300,14 +300,12 @@ public class PackageParser { } } if ((flags&PackageManager.GET_SIGNATURES) != 0) { if (p.mSignatures != null) { int N = p.mSignatures.length; int N = (p.mSignatures != null) ? p.mSignatures.length : 0; if (N > 0) { pi.signatures = new Signature[N]; System.arraycopy(p.mSignatures, 0, pi.signatures, 0, N); } } } return pi; } Loading
services/java/com/android/server/PackageManagerService.java +6 −2 Original line number Diff line number Diff line Loading @@ -6344,7 +6344,9 @@ class PackageManagerService extends IPackageManager.Stub { continue; } for (PackageSetting pkg:sus.packages) { if (pkg.pkg.requestedPermissions.contains(eachPerm)) { if (pkg.pkg != null && !pkg.pkg.packageName.equalsIgnoreCase(deletedPs.pkg.packageName) && pkg.pkg.requestedPermissions.contains(eachPerm)) { used = true; break; } Loading @@ -6359,8 +6361,10 @@ class PackageManagerService extends IPackageManager.Stub { int newGids[] = globalGids; for (String eachPerm : sus.grantedPermissions) { BasePermission bp = mPermissions.get(eachPerm); if (bp != null) { newGids = appendInts(newGids, bp.gids); } } sus.gids = newGids; } Loading