summaryrefslogtreecommitdiffstats
path: root/packages/DocumentsUI
diff options
context:
space:
mode:
authorJeff Sharkey <jsharkey@android.com>2013-10-23 16:05:56 -0700
committerJeff Sharkey <jsharkey@android.com>2013-10-23 16:05:56 -0700
commitc24bbd4ce525d80e385de6e27b19dac239db1dfd (patch)
tree4c2d4b0f151db4ff918771b1ccd9356466925c82 /packages/DocumentsUI
parent04d45a0bdd47c243ad7ccb179aa52a83e7bf45db (diff)
downloadframeworks_base-c24bbd4ce525d80e385de6e27b19dac239db1dfd.zip
frameworks_base-c24bbd4ce525d80e385de6e27b19dac239db1dfd.tar.gz
frameworks_base-c24bbd4ce525d80e385de6e27b19dac239db1dfd.tar.bz2
Long-press on GET_CONTENT app shows its details.
Matches ResolverActivity behavior. Bug: 11319259 Change-Id: Id7f2a73b225e4cfd9bdef3b1c7cecb77d9bd2b90
Diffstat (limited to 'packages/DocumentsUI')
-rw-r--r--packages/DocumentsUI/src/com/android/documentsui/RootsFragment.java32
1 files changed, 32 insertions, 0 deletions
diff --git a/packages/DocumentsUI/src/com/android/documentsui/RootsFragment.java b/packages/DocumentsUI/src/com/android/documentsui/RootsFragment.java
index fdbc3ab..58c5daf 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/RootsFragment.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/RootsFragment.java
@@ -16,6 +16,8 @@
package com.android.documentsui;
+import static com.android.documentsui.DocumentsActivity.State.ACTION_GET_CONTENT;
+
import android.app.Fragment;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
@@ -25,7 +27,9 @@ import android.content.Intent;
import android.content.Loader;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
+import android.net.Uri;
import android.os.Bundle;
+import android.provider.Settings;
import android.text.TextUtils;
import android.text.format.Formatter;
import android.view.LayoutInflater;
@@ -33,6 +37,7 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
+import android.widget.AdapterView.OnItemLongClickListener;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.ListView;
@@ -133,6 +138,13 @@ public class RootsFragment extends Fragment {
final State state = ((DocumentsActivity) context).getDisplayState();
state.showAdvanced = SettingsActivity.getDisplayAdvancedDevices(context);
+ if (state.action == ACTION_GET_CONTENT) {
+ mList.setOnItemLongClickListener(mItemLongClickListener);
+ } else {
+ mList.setOnItemLongClickListener(null);
+ mList.setLongClickable(false);
+ }
+
getLoaderManager().restartLoader(2, null, mCallbacks);
}
@@ -152,6 +164,13 @@ public class RootsFragment extends Fragment {
}
}
+ private void showAppDetails(ResolveInfo ri) {
+ final Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
+ intent.setData(Uri.fromParts("package", ri.activityInfo.packageName, null));
+ intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
+ startActivity(intent);
+ }
+
private OnItemClickListener mItemListener = new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
@@ -167,6 +186,19 @@ public class RootsFragment extends Fragment {
}
};
+ private OnItemLongClickListener mItemLongClickListener = new OnItemLongClickListener() {
+ @Override
+ public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
+ final Item item = mAdapter.getItem(position);
+ if (item instanceof AppItem) {
+ showAppDetails(((AppItem) item).info);
+ return true;
+ } else {
+ return false;
+ }
+ }
+ };
+
private static abstract class Item {
private final int mLayoutId;