diff --git a/res/layout/empty_print_state.xml b/res/layout/empty_print_state.xml index 135b3dd24d8..e97bb85cdad 100644 --- a/res/layout/empty_print_state.xml +++ b/res/layout/empty_print_state.xml @@ -15,7 +15,7 @@ --> @@ -28,11 +28,12 @@ android:orientation="vertical"> + android:contentDescription="@null"> No services installed + + No printers found + Settings diff --git a/src/com/android/settings/print/PrintServiceSettingsFragment.java b/src/com/android/settings/print/PrintServiceSettingsFragment.java index 9db2decf1bb..044d86e4e77 100644 --- a/src/com/android/settings/print/PrintServiceSettingsFragment.java +++ b/src/com/android/settings/print/PrintServiceSettingsFragment.java @@ -95,6 +95,7 @@ public class PrintServiceSettingsFragment extends SettingsPreferenceFragment @Override public void onChanged() { invalidateOptionsMenuIfNeeded(); + updateEmptyView(); } @Override @@ -227,14 +228,15 @@ public class PrintServiceSettingsFragment extends SettingsPreferenceFragment ViewGroup contentRoot = (ViewGroup) listView.getParent(); View emptyView = listView.getEmptyView(); if (!mToggleSwitch.isChecked()) { - if (emptyView != null - && emptyView.getId() != R.id.empty_printers_list_service_disabled) { + if (emptyView != null && emptyView.getId() != R.id.empty_print_state) { contentRoot.removeView(emptyView); emptyView = null; } if (emptyView == null) { emptyView = getActivity().getLayoutInflater().inflate( R.layout.empty_print_state, contentRoot, false); + ImageView iconView = (ImageView) emptyView.findViewById(R.id.icon); + iconView.setContentDescription(getString(R.string.print_service_disabled)); TextView textView = (TextView) emptyView.findViewById(R.id.message); textView.setText(R.string.print_service_disabled); contentRoot.addView(emptyView); @@ -252,6 +254,21 @@ public class PrintServiceSettingsFragment extends SettingsPreferenceFragment contentRoot.addView(emptyView); listView.setEmptyView(emptyView); } + } else if (mPrintersAdapter.getCount() <= 0) { + if (emptyView != null && emptyView.getId() != R.id.empty_print_state) { + contentRoot.removeView(emptyView); + emptyView = null; + } + if (emptyView == null) { + emptyView = getActivity().getLayoutInflater().inflate( + R.layout.empty_print_state, contentRoot, false); + ImageView iconView = (ImageView) emptyView.findViewById(R.id.icon); + iconView.setContentDescription(getString(R.string.print_no_printers_found)); + TextView textView = (TextView) emptyView.findViewById(R.id.message); + textView.setText(R.string.print_no_printers_found); + contentRoot.addView(emptyView); + listView.setEmptyView(emptyView); + } } }