Merge "Offer to enable a print service after it is installed (Settings)." into klp-dev
diff --git a/res/drawable-hdpi/ic_print.png b/res/drawable-hdpi/ic_print.png
deleted file mode 100644
index aaff3dd..0000000
--- a/res/drawable-hdpi/ic_print.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_print.png b/res/drawable-mdpi/ic_print.png
deleted file mode 100644
index a3954b5..0000000
--- a/res/drawable-mdpi/ic_print.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_print.png b/res/drawable-xhdpi/ic_print.png
deleted file mode 100644
index 6b55a14..0000000
--- a/res/drawable-xhdpi/ic_print.png
+++ /dev/null
Binary files differ
diff --git a/res/xml/settings_headers.xml b/res/xml/settings_headers.xml
index 55b3bca..8744328 100644
--- a/res/xml/settings_headers.xml
+++ b/res/xml/settings_headers.xml
@@ -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 -->
diff --git a/src/com/android/settings/print/PrintSettingsFragment.java b/src/com/android/settings/print/PrintSettingsFragment.java
index d254842..49f0e65 100644
--- a/src/com/android/settings/print/PrintSettingsFragment.java
+++ b/src/com/android/settings/print/PrintSettingsFragment.java
@@ -65,6 +65,9 @@
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 @@
mSettingsPackageMonitor.register(getActivity(), getActivity().getMainLooper(), false);
mSettingsContentObserver.register(getContentResolver());
updateServicesPreferences();
+ startPrintServiceSettingsIfNeeded();
setHasOptionsMenu(true);
}
@@ -213,6 +217,20 @@
}
}
+ 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) {