From 39e71de6b49d1cb67ce30b411cede8d4f40dc765 Mon Sep 17 00:00:00 2001 From: Svetoslav Date: Wed, 2 Oct 2013 19:30:32 -0700 Subject: [PATCH] Print UI tweaks as per UX request. 1. Limit the width of the dropdown of the printers list. 2. Add icons the the list in the all pritners activity. 3. Update the empty state view for the all printers activity. bug:10983508 Change-Id: I19effcf32770fdda278009a060b5170a3f29988e --- .../res/layout/select_printer_activity.xml | 15 ++++++++++----- packages/PrintSpooler/res/values/strings.xml | 2 +- .../printspooler/PrintJobConfigActivity.java | 5 +++-- .../printspooler/SelectPrinterFragment.java | 15 ++++++++++++++- 4 files changed, 28 insertions(+), 9 deletions(-) diff --git a/packages/PrintSpooler/res/layout/select_printer_activity.xml b/packages/PrintSpooler/res/layout/select_printer_activity.xml index e86e9aaea352c..2792dcf17605d 100644 --- a/packages/PrintSpooler/res/layout/select_printer_activity.xml +++ b/packages/PrintSpooler/res/layout/select_printer_activity.xml @@ -38,25 +38,30 @@ android:layout_gravity="center" android:gravity="center" android:orientation="vertical"> - + + android:contentDescription="@string/print_searching_for_printers"> + android:text="@string/print_searching_for_printers"> + + + diff --git a/packages/PrintSpooler/res/values/strings.xml b/packages/PrintSpooler/res/values/strings.xml index 41775a11271b1..5b947baca31c8 100644 --- a/packages/PrintSpooler/res/values/strings.xml +++ b/packages/PrintSpooler/res/values/strings.xml @@ -84,7 +84,7 @@ Choose print service - No printers found + Searching for printers diff --git a/packages/PrintSpooler/src/com/android/printspooler/PrintJobConfigActivity.java b/packages/PrintSpooler/src/com/android/printspooler/PrintJobConfigActivity.java index 847411527615b..0c593ef196c00 100644 --- a/packages/PrintSpooler/src/com/android/printspooler/PrintJobConfigActivity.java +++ b/packages/PrintSpooler/src/com/android/printspooler/PrintJobConfigActivity.java @@ -1613,7 +1613,6 @@ public class PrintJobConfigActivity extends Activity { mCopiesEditText = (EditText) findViewById(R.id.copies_edittext); mCopiesEditText.setText(MIN_COPIES_STRING); mCopiesEditText.addTextChangedListener(mCopiesTextWatcher); - mCopiesEditText.selectAll(); if (!TextUtils.equals(mCopiesEditText.getText(), MIN_COPIES_STRING)) { mIgnoreNextCopiesChange = true; } @@ -1622,6 +1621,7 @@ public class PrintJobConfigActivity extends Activity { // Destination. mDestinationSpinner = (Spinner) findViewById(R.id.destination_spinner); + mDestinationSpinner.setDropDownWidth(ViewGroup.LayoutParams.MATCH_PARENT); mDestinationSpinner.setAdapter(mDestinationSpinnerAdapter); mDestinationSpinner.setOnItemSelectedListener(mOnItemSelectedListener); if (mDestinationSpinnerAdapter.getCount() > 0 && mController.hasStarted()) { @@ -1954,7 +1954,6 @@ public class PrintJobConfigActivity extends Activity { && TextUtils.isEmpty(mCopiesEditText.getText())) { mIgnoreNextCopiesChange = true; mCopiesEditText.setText(String.valueOf(MIN_COPIES)); - mCopiesEditText.selectAll(); mCopiesEditText.requestFocus(); } @@ -2151,6 +2150,8 @@ public class PrintJobConfigActivity extends Activity { R.layout.printer_dropdown_item, parent, false); } + convertView.getLayoutParams().width = mDestinationSpinner.getWidth(); + CharSequence title = null; CharSequence subtitle = null; Drawable icon = null; diff --git a/packages/PrintSpooler/src/com/android/printspooler/SelectPrinterFragment.java b/packages/PrintSpooler/src/com/android/printspooler/SelectPrinterFragment.java index c888e2c37dc56..114c1515886f2 100644 --- a/packages/PrintSpooler/src/com/android/printspooler/SelectPrinterFragment.java +++ b/packages/PrintSpooler/src/com/android/printspooler/SelectPrinterFragment.java @@ -36,6 +36,7 @@ import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; import android.content.pm.ResolveInfo; import android.content.pm.ServiceInfo; +import android.graphics.drawable.Drawable; import android.net.Uri; import android.os.Bundle; import android.print.PrintManager; @@ -53,6 +54,7 @@ import android.widget.ArrayAdapter; import android.widget.BaseAdapter; import android.widget.Filter; import android.widget.Filterable; +import android.widget.ImageView; import android.widget.ListView; import android.widget.SearchView; import android.widget.TextView; @@ -357,11 +359,12 @@ public final class SelectPrinterFragment extends ListFragment { public View getView(int position, View convertView, ViewGroup parent) { if (convertView == null) { convertView = getActivity().getLayoutInflater().inflate( - R.layout.spinner_dropdown_item, parent, false); + R.layout.printer_dropdown_item, parent, false); } CharSequence title = null; CharSequence subtitle = null; + Drawable icon = null; PrinterInfo printer = (PrinterInfo) getItem(position); title = printer.getName(); @@ -370,6 +373,7 @@ public final class SelectPrinterFragment extends ListFragment { PackageInfo packageInfo = pm.getPackageInfo(printer.getId() .getServiceName().getPackageName(), 0); subtitle = packageInfo.applicationInfo.loadLabel(pm); + icon = packageInfo.applicationInfo.loadIcon(pm); } catch (NameNotFoundException nnfe) { /* ignore */ } @@ -386,6 +390,15 @@ public final class SelectPrinterFragment extends ListFragment { subtitleView.setVisibility(View.GONE); } + + ImageView iconView = (ImageView) convertView.findViewById(R.id.icon); + if (icon != null) { + iconView.setImageDrawable(icon); + iconView.setVisibility(View.VISIBLE); + } else { + iconView.setVisibility(View.GONE); + } + return convertView; }