diff --git a/res/layout/lease_list_item_view.xml b/res/layout/lease_list_item_view.xml index 5edd9e54034..92717f8d7b9 100644 --- a/res/layout/lease_list_item_view.xml +++ b/res/layout/lease_list_item_view.xml @@ -18,35 +18,46 @@ xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" - android:background="?android:attr/selectableItemBackground" android:gravity="center_vertical" - android:orientation="vertical" + android:orientation="horizontal" android:minHeight="?android:attr/listPreferredItemHeightSmall" android:padding="@dimen/list_preferred_item_padding"> - + - - - + android:gravity="center_vertical" + android:orientation="vertical" + android:minHeight="?android:attr/listPreferredItemHeightSmall" + android:padding="@dimen/list_preferred_item_padding"> - + + + + + + diff --git a/src/com/android/settings/development/storage/LeaseInfoListView.java b/src/com/android/settings/development/storage/LeaseInfoListView.java index b20bb65ff45..22002fb49f4 100644 --- a/src/com/android/settings/development/storage/LeaseInfoListView.java +++ b/src/com/android/settings/development/storage/LeaseInfoListView.java @@ -23,8 +23,10 @@ import android.app.blob.BlobStoreManager; import android.app.blob.LeaseInfo; import android.content.Context; import android.content.DialogInterface; +import android.content.pm.PackageManager; import android.content.res.Resources; import android.graphics.Typeface; +import android.graphics.drawable.Drawable; import android.os.Bundle; import android.text.TextUtils; import android.util.Log; @@ -90,6 +92,7 @@ public class LeaseInfoListView extends ListActivity { private LinearLayout getHeaderView() { final LinearLayout headerView = (LinearLayout) mInflater.inflate( R.layout.blob_list_item_view , null); + headerView.setEnabled(false); // disable clicking final TextView blobLabel = headerView.findViewById(R.id.blob_label); final TextView blobId = headerView.findViewById(R.id.blob_id); final TextView blobExpiry = headerView.findViewById(R.id.blob_expiry); @@ -137,9 +140,12 @@ public class LeaseInfoListView extends ListActivity { } private class LeaseListAdapter extends ArrayAdapter { + private Context mContext; + LeaseListAdapter(Context context) { super(context, 0); + mContext = context; final List leases = mBlobInfo.getLeases(); if (CollectionUtils.isEmpty(leases)) { return; @@ -152,8 +158,17 @@ public class LeaseInfoListView extends ListActivity { final LeaseInfoViewHolder holder = LeaseInfoViewHolder.createOrRecycle( mInflater, convertView); convertView = holder.rootView; + convertView.setEnabled(false); // disable clicking final LeaseInfo lease = getItem(position); + Drawable appIcon; + try { + appIcon = mContext.getPackageManager().getApplicationIcon(lease.getPackageName()); + } catch (PackageManager.NameNotFoundException e) { + // set to system default app icon + appIcon = mContext.getDrawable(android.R.drawable.sym_def_app_icon); + } + holder.appIcon.setImageDrawable(appIcon); holder.leasePackageName.setText(lease.getPackageName()); holder.leaseDescription.setText(getDescriptionString(lease)); holder.leaseExpiry.setText(getString(R.string.accessor_expires_text, diff --git a/src/com/android/settings/development/storage/LeaseInfoViewHolder.java b/src/com/android/settings/development/storage/LeaseInfoViewHolder.java index d74c92994d7..66b37ec6021 100644 --- a/src/com/android/settings/development/storage/LeaseInfoViewHolder.java +++ b/src/com/android/settings/development/storage/LeaseInfoViewHolder.java @@ -18,6 +18,7 @@ package com.android.settings.development.storage; import android.view.LayoutInflater; import android.view.View; +import android.widget.ImageView; import android.widget.TextView; import com.android.settings.R; @@ -27,6 +28,7 @@ import com.android.settings.R; */ class LeaseInfoViewHolder { View rootView; + ImageView appIcon; TextView leasePackageName; TextView leaseDescription; TextView leaseExpiry; @@ -39,6 +41,7 @@ class LeaseInfoViewHolder { final LeaseInfoViewHolder holder = new LeaseInfoViewHolder(); holder.rootView = convertView; + holder.appIcon = convertView.findViewById(R.id.app_icon); holder.leasePackageName = convertView.findViewById(R.id.lease_package); holder.leaseDescription = convertView.findViewById(R.id.lease_desc); holder.leaseExpiry = convertView.findViewById(R.id.lease_expiry); diff --git a/tests/robotests/src/com/android/settings/development/storage/SharedDataPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/storage/SharedDataPreferenceControllerTest.java index c6a19c703e0..88904df6864 100644 --- a/tests/robotests/src/com/android/settings/development/storage/SharedDataPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/development/storage/SharedDataPreferenceControllerTest.java @@ -103,9 +103,9 @@ public class SharedDataPreferenceControllerTest { } private List generateBlobList() { - LeaseInfo one = new LeaseInfo("com.google.android.photos", + LeaseInfo one = new LeaseInfo("com.google.android.apps.photos", System.currentTimeMillis(), -1, "test description"); - LeaseInfo two = new LeaseInfo("com.google.android.drive", + LeaseInfo two = new LeaseInfo("om.google.android.googlequicksearchbox", System.currentTimeMillis(), -1, "test description 2"); List accessors = new ArrayList<>();