summaryrefslogtreecommitdiffstats
path: root/core/java/android/app/ApplicationPackageManager.java
diff options
context:
space:
mode:
authorJose Lima <joselima@google.com>2014-04-10 10:42:19 -0700
committerJose Lima <joselima@google.com>2014-04-11 10:54:39 -0700
commit970417c7d3e33ccbd6918e28d9bc5da24651f5b3 (patch)
tree749f3b107192ceec97ac39d534138f4298303928 /core/java/android/app/ApplicationPackageManager.java
parent3d9a3b589af661f980a7c03f208915b54521639f (diff)
downloadframeworks_base-970417c7d3e33ccbd6918e28d9bc5da24651f5b3.zip
frameworks_base-970417c7d3e33ccbd6918e28d9bc5da24651f5b3.tar.gz
frameworks_base-970417c7d3e33ccbd6918e28d9bc5da24651f5b3.tar.bz2
Added getLeanbackLaunchIntentForPackage()
Change-Id: I23be3bfa59be812a915adc37e08fdf59be8ad90f
Diffstat (limited to 'core/java/android/app/ApplicationPackageManager.java')
-rw-r--r--core/java/android/app/ApplicationPackageManager.java18
1 files changed, 18 insertions, 0 deletions
diff --git a/core/java/android/app/ApplicationPackageManager.java b/core/java/android/app/ApplicationPackageManager.java
index 6f53df4..010988e 100644
--- a/core/java/android/app/ApplicationPackageManager.java
+++ b/core/java/android/app/ApplicationPackageManager.java
@@ -129,6 +129,24 @@ final class ApplicationPackageManager extends PackageManager {
}
@Override
+ public Intent getLeanbackLaunchIntentForPackage(String packageName) {
+ // Try to find a main leanback_launcher activity.
+ Intent intentToResolve = new Intent(Intent.ACTION_MAIN);
+ intentToResolve.addCategory(Intent.CATEGORY_LEANBACK_LAUNCHER);
+ intentToResolve.setPackage(packageName);
+ List<ResolveInfo> ris = queryIntentActivities(intentToResolve, 0);
+
+ if (ris == null || ris.size() <= 0) {
+ return null;
+ }
+ Intent intent = new Intent(intentToResolve);
+ intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ intent.setClassName(ris.get(0).activityInfo.packageName,
+ ris.get(0).activityInfo.name);
+ return intent;
+ }
+
+ @Override
public int[] getPackageGids(String packageName)
throws NameNotFoundException {
try {