Fix launching of activities that I broke.

Change-Id: I39f4189bad6bdecdc7f9362410f36453fd816121
diff --git a/core/java/android/app/ApplicationPackageManager.java b/core/java/android/app/ApplicationPackageManager.java
index 7589e99..4018703 100644
--- a/core/java/android/app/ApplicationPackageManager.java
+++ b/core/java/android/app/ApplicationPackageManager.java
@@ -101,24 +101,23 @@
         Intent intentToResolve = new Intent(Intent.ACTION_MAIN);
         intentToResolve.addCategory(Intent.CATEGORY_INFO);
         intentToResolve.setPackage(packageName);
-        ResolveInfo resolveInfo = resolveActivity(intentToResolve, 0);
+        List<ResolveInfo> ris = queryIntentActivities(intentToResolve, 0);
 
         // Otherwise, try to find a main launcher activity.
-        if (resolveInfo == null) {
+        if (ris == null || ris.size() <= 0) {
             // reuse the intent instance
             intentToResolve.removeCategory(Intent.CATEGORY_INFO);
             intentToResolve.addCategory(Intent.CATEGORY_LAUNCHER);
             intentToResolve.setPackage(packageName);
-            resolveInfo = resolveActivity(intentToResolve, 0);
+            ris = queryIntentActivities(intentToResolve, 0);
         }
-        if (resolveInfo == null) {
+        if (ris == null || ris.size() <= 0) {
             return null;
         }
         Intent intent = new Intent(intentToResolve);
-        // Note: we do NOT fill in the component name; we'll leave the
-        // Intent unspecified, so if there are multiple matches within the
-        // package something reasonable will happen.
         intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+        intent.setClassName(ris.get(0).activityInfo.packageName,
+                ris.get(0).activityInfo.name);
         return intent;
     }