Merge change 5319 into donut

* changes:
  Add new APIs to LauncherActivity to be used elsewhere.
This commit is contained in:
Android (Google) Code Review
2009-06-24 20:29:21 -07:00
2 changed files with 44 additions and 9 deletions

View File

@@ -22088,6 +22088,19 @@
<parameter name="position" type="int">
</parameter>
</method>
<method name="itemForPosition"
return="android.app.LauncherActivity.ListItem"
abstract="false"
native="false"
synchronized="false"
static="false"
final="false"
deprecated="not deprecated"
visibility="protected"
>
<parameter name="position" type="int">
</parameter>
</method>
<method name="makeListItems"
return="java.util.List&lt;android.app.LauncherActivity.ListItem&gt;"
abstract="false"
@@ -22196,6 +22209,16 @@
visibility="public"
>
</field>
<field name="resolveInfo"
type="android.content.pm.ResolveInfo"
transient="false"
volatile="false"
static="false"
final="false"
deprecated="not deprecated"
visibility="public"
>
</field>
</class>
<class name="ListActivity"
extends="android.app.Activity"
@@ -180577,7 +180600,7 @@
<method name="startMethodTracing"
return="void"
abstract="false"
native="true"
native="false"
synchronized="false"
static="true"
final="false"

View File

@@ -60,26 +60,20 @@ public abstract class LauncherActivity extends ListActivity {
* An item in the list
*/
public static class ListItem {
public ResolveInfo resolveInfo;
public CharSequence label;
//public CharSequence description;
public Drawable icon;
public String packageName;
public String className;
public Bundle extras;
ListItem(PackageManager pm, ResolveInfo resolveInfo, IconResizer resizer) {
this.resolveInfo = resolveInfo;
label = resolveInfo.loadLabel(pm);
if (label == null && resolveInfo.activityInfo != null) {
label = resolveInfo.activityInfo.name;
}
/*
if (resolveInfo.activityInfo != null &&
resolveInfo.activityInfo.applicationInfo != null) {
description = resolveInfo.activityInfo.applicationInfo.loadDescription(pm);
}
*/
icon = resizer.createIconThumbnail(resolveInfo.loadIcon(pm));
packageName = resolveInfo.activityInfo.applicationInfo.packageName;
className = resolveInfo.activityInfo.name;
@@ -122,6 +116,14 @@ public abstract class LauncherActivity extends ListActivity {
return intent;
}
public ListItem itemForPosition(int position) {
if (mActivitiesList == null) {
return null;
}
return mActivitiesList.get(position);
}
public int getCount() {
return mActivitiesList != null ? mActivitiesList.size() : 0;
}
@@ -353,6 +355,16 @@ public abstract class LauncherActivity extends ListActivity {
return adapter.intentForPosition(position);
}
/**
* Return the {@link ListItem} for a specific position in our
* {@link android.widget.ListView}.
* @param position The item to return
*/
protected ListItem itemForPosition(int position) {
ActivityAdapter adapter = (ActivityAdapter) mAdapter;
return adapter.itemForPosition(position);
}
/**
* Get the base intent to use when running
* {@link PackageManager#queryIntentActivities(Intent, int)}.