summaryrefslogtreecommitdiffstats
path: root/core/java/com
diff options
context:
space:
mode:
authorAdam Powell <adamp@google.com>2012-03-22 15:24:43 -0700
committerAdam Powell <adamp@google.com>2012-03-22 15:29:37 -0700
commit2d80962b2e93ae4e59d0197487bd0f6aad4cf26e (patch)
treeb8ac63fd90daabd166e4d92578c3ec9fc328a392 /core/java/com
parent3004cc50f22e724efb791aa80e9d6c566d2ddb5d (diff)
downloadframeworks_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.java23
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;
+ }
+
+ }
}