diff options
author | Adam Powell <adamp@google.com> | 2012-03-22 15:24:43 -0700 |
---|---|---|
committer | Adam Powell <adamp@google.com> | 2012-03-22 15:29:37 -0700 |
commit | 2d80962b2e93ae4e59d0197487bd0f6aad4cf26e (patch) | |
tree | b8ac63fd90daabd166e4d92578c3ec9fc328a392 /core/java/com | |
parent | 3004cc50f22e724efb791aa80e9d6c566d2ddb5d (diff) | |
download | frameworks_base-2d80962b2e93ae4e59d0197487bd0f6aad4cf26e.zip frameworks_base-2d80962b2e93ae4e59d0197487bd0f6aad4cf26e.tar.gz frameworks_base-2d80962b2e93ae4e59d0197487bd0f6aad4cf26e.tar.bz2 |
Let users reach app details from ResolverActivity
A long press on a list item in ResolverActivity (shown when users are
asked to choose an activity to complete an action) will now open
the app detail settings for the package providing that item.
This is a work in progress; awaiting more UX input on other changes
and better discoverability of this feature.
Change-Id: I2cc07c5520fdd23cf1a43f169b114295f5d9d0ac
Diffstat (limited to 'core/java/com')
-rw-r--r-- | core/java/com/android/internal/app/ResolverActivity.java | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/core/java/com/android/internal/app/ResolverActivity.java b/core/java/com/android/internal/app/ResolverActivity.java index 0563846..af722a8 100644 --- a/core/java/com/android/internal/app/ResolverActivity.java +++ b/core/java/com/android/internal/app/ResolverActivity.java @@ -33,14 +33,17 @@ import android.net.Uri; import android.os.Bundle; import android.os.PatternMatcher; import android.util.Log; +import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; -import android.view.LayoutInflater; +import android.widget.AdapterView; import android.widget.BaseAdapter; import android.widget.CheckBox; import android.widget.CompoundButton; import android.widget.ImageView; +import android.widget.ListView; import android.widget.TextView; + import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; @@ -122,6 +125,11 @@ public class ResolverActivity extends AlertActivity implements } setupAlert(); + + ListView lv = mAlert.getListView(); + if (lv != null) { + lv.setOnItemLongClickListener(new ItemLongClickListener()); + } } @Override @@ -489,5 +497,18 @@ public class ResolverActivity extends AlertActivity implements mClearDefaultHint.setVisibility(View.GONE); } } + + class ItemLongClickListener implements AdapterView.OnItemLongClickListener { + + @Override + public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) { + ResolveInfo ri = mAdapter.resolveInfoForPosition(position); + Intent in = new Intent().setAction("android.settings.APPLICATION_DETAILS_SETTINGS") + .setData(Uri.fromParts("package", ri.activityInfo.packageName, null)); + startActivity(in); + return true; + } + + } } |