From 7833d183e7ddeaf08938b9db6d8714185e11901f Mon Sep 17 00:00:00 2001 From: "Philip P. Moltmann" Date: Mon, 7 Mar 2016 15:28:25 -0800 Subject: [PATCH] Deal with the case that no print services are installed. Bug: 27530312 Change-Id: Idd709e66d72efcca4928b471f138f8be66e7ab00 --- .../settings/print/PrintSettingsFragment.java | 29 ++++++++++--------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/src/com/android/settings/print/PrintSettingsFragment.java b/src/com/android/settings/print/PrintSettingsFragment.java index 44bdf0c42b6..fb80f293295 100644 --- a/src/com/android/settings/print/PrintSettingsFragment.java +++ b/src/com/android/settings/print/PrintSettingsFragment.java @@ -584,21 +584,24 @@ public class PrintSettingsFragment extends ProfileSettingsPreferenceFragment // updated until this function is called again List services = printManager.getPrintServices(PrintManager.ALL_SERVICES); - final int serviceCount = services.size(); - for (int i = 0; i < serviceCount; i++) { - PrintServiceInfo service = services.get(i); - ComponentName componentName = new ComponentName( - service.getResolveInfo().serviceInfo.packageName, - service.getResolveInfo().serviceInfo.name); + if (services != null) { + final int serviceCount = services.size(); + for (int i = 0; i < serviceCount; i++) { + PrintServiceInfo service = services.get(i); - data = new SearchIndexableRaw(context); - data.key = componentName.flattenToString(); - data.title = service.getResolveInfo().loadLabel(packageManager).toString(); - data.summaryOn = context.getString(R.string.print_feature_state_on); - data.summaryOff = context.getString(R.string.print_feature_state_off); - data.screenTitle = screenTitle; - indexables.add(data); + ComponentName componentName = new ComponentName( + service.getResolveInfo().serviceInfo.packageName, + service.getResolveInfo().serviceInfo.name); + + data = new SearchIndexableRaw(context); + data.key = componentName.flattenToString(); + data.title = service.getResolveInfo().loadLabel(packageManager).toString(); + data.summaryOn = context.getString(R.string.print_feature_state_on); + data.summaryOff = context.getString(R.string.print_feature_state_off); + data.screenTitle = screenTitle; + indexables.add(data); + } } return indexables;