From 7eca687c2ee8f633678a1cd3ebf0886c0e6bbcf9 Mon Sep 17 00:00:00 2001 From: Dianne Hackborn Date: Mon, 28 Sep 2009 23:57:05 -0700 Subject: [PATCH] Fix bug where we would return null with disabled components. Change-Id: I1624a42803f1c4b02736f558a8eeeeba2890667e --- .../android/content/pm/PackageParser.java | 40 +++++++++++++++++-- 1 file changed, 36 insertions(+), 4 deletions(-) diff --git a/core/java/android/content/pm/PackageParser.java b/core/java/android/content/pm/PackageParser.java index 27c65f036500a..3e117d49a3b84 100644 --- a/core/java/android/content/pm/PackageParser.java +++ b/core/java/android/content/pm/PackageParser.java @@ -195,7 +195,15 @@ public class PackageParser { if ((flags&PackageManager.GET_ACTIVITIES) != 0) { int N = p.activities.size(); if (N > 0) { - pi.activities = new ActivityInfo[N]; + if ((flags&PackageManager.GET_DISABLED_COMPONENTS) != 0) { + pi.activities = new ActivityInfo[N]; + } else { + int num = 0; + for (int i=0; i 0) { - pi.receivers = new ActivityInfo[N]; + if ((flags&PackageManager.GET_DISABLED_COMPONENTS) != 0) { + pi.receivers = new ActivityInfo[N]; + } else { + int num = 0; + for (int i=0; i 0) { - pi.services = new ServiceInfo[N]; + if ((flags&PackageManager.GET_DISABLED_COMPONENTS) != 0) { + pi.services = new ServiceInfo[N]; + } else { + int num = 0; + for (int i=0; i 0) { - pi.providers = new ProviderInfo[N]; + if ((flags&PackageManager.GET_DISABLED_COMPONENTS) != 0) { + pi.providers = new ProviderInfo[N]; + } else { + int num = 0; + for (int i=0; i