Merge "Offer to enable a print service after it is installed (Settings)." into klp-dev

This commit is contained in:
Svetoslav
2013-09-21 01:15:52 +00:00
committed by Android (Google) Code Review
5 changed files with 19 additions and 1 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 799 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -192,7 +192,7 @@
<header
android:id="@+id/print_settings"
android:fragment="com.android.settings.print.PrintSettingsFragment"
android:icon="@drawable/ic_print"
android:icon="@*android:drawable/ic_print"
android:title="@string/print_settings" />
<!-- Development -->

View File

@@ -65,6 +65,9 @@ public class PrintSettingsFragment extends SettingsPreferenceFragment implements
static final String EXTRA_ADD_PRINTERS_COMPONENT_NAME = "add_printers_component_name";
static final String EXTRA_SERVICE_COMPONENT_NAME = "service_component_name";
private static final String EXTRA_PRINT_SERVICE_COMPONENT_NAME =
"EXTRA_PRINT_SERVICE_COMPONENT_NAME";
private final PackageMonitor mSettingsPackageMonitor = new SettingsPackageMonitor();
private final Handler mHandler = new Handler() {
@@ -97,6 +100,7 @@ public class PrintSettingsFragment extends SettingsPreferenceFragment implements
mSettingsPackageMonitor.register(getActivity(), getActivity().getMainLooper(), false);
mSettingsContentObserver.register(getContentResolver());
updateServicesPreferences();
startPrintServiceSettingsIfNeeded();
setHasOptionsMenu(true);
}
@@ -213,6 +217,20 @@ public class PrintSettingsFragment extends SettingsPreferenceFragment implements
}
}
private void startPrintServiceSettingsIfNeeded() {
if (getArguments() == null) {
return;
}
String componentName = getArguments().getString(EXTRA_PRINT_SERVICE_COMPONENT_NAME);
if (componentName != null) {
getArguments().remove(EXTRA_PRINT_SERVICE_COMPONENT_NAME);
Preference prereference = findPreference(componentName);
if (prereference != null) {
prereference.performClick(getPreferenceScreen());
}
}
}
private class SettingsPackageMonitor extends PackageMonitor {
@Override
public void onPackageAdded(String packageName, int uid) {