From 0ad40283bb6b811c26874af3fccf25745f63de8d Mon Sep 17 00:00:00 2001 From: Svetoslav Date: Fri, 20 Sep 2013 17:25:22 -0700 Subject: [PATCH] Offer to enable a print service after it is installed (Settings). The user has to explicitly enable a print service from the settings UI before using it. Usually, users very rarely if at all interact with print services, therefore all print service management task are performed from the print settings. We also have to get user consent warning that the user's data is about to be given to a third-party app. We now post a notification allowing the user to go directly to the settings screen to turn the service on. bug:10447510 Change-Id: Ibfb5368a09b1e012dd6dd0f3d33a5ad10e5ee00e --- res/drawable-hdpi/ic_print.png | Bin 1050 -> 0 bytes res/drawable-mdpi/ic_print.png | Bin 799 -> 0 bytes res/drawable-xhdpi/ic_print.png | Bin 1132 -> 0 bytes res/xml/settings_headers.xml | 2 +- .../settings/print/PrintSettingsFragment.java | 18 ++++++++++++++++++ 5 files changed, 19 insertions(+), 1 deletion(-) delete mode 100644 res/drawable-hdpi/ic_print.png delete mode 100644 res/drawable-mdpi/ic_print.png delete mode 100644 res/drawable-xhdpi/ic_print.png diff --git a/res/drawable-hdpi/ic_print.png b/res/drawable-hdpi/ic_print.png deleted file mode 100644 index aaff3ddb0e46b490be61c3c24304a9cb5a756583..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1050 zcmeAS@N?(olHy`uVBq!ia0vp^Dj>|k1|%Oc%$NbBSkfJR9T^xl_H+M9WCijWi-X*q z7}lMWc?skwBzpw;GB8xBF)%c=FfjZA3N^f7U???UV0e|lz+eS5K)hhiu0R{01Y44~ zy9>jA5L~c#`DCC7XMsm#F_88EW4Dvpb_@(muRL8GLn02}ow2|BN`Sy|d;OD@-S-+7 zb(AM$sx}oY)i7(i7L}c-e4YCr=eMSRtYT%`l%|P^{d=)DD8%KVh3lV*DLVJgq?x@_ zyZMCak;92RBjfkh_s!p*-E+WRE%BbS;K%ySu2r@!4K-F3H}tnFdr3P>Zs3)ae2dclK|FgB)5AEhGmm{}&~?e=E>YbM`&iFLw8p<9cxCj@-H%ClnIdlpljum7Uw z^PgSV`O7PZM^Mu?Tam?y*XPuI&+W?&{Pvs9Z?Zf}rTF-l;AtGW9ieYMgiKOGA$Rsj3azdVWm1(L5(u45=~Sp1to zjddSGd1vpevo4-*cFuG3@oNyTa#gu%m?663DT8l$S*HJ@kmfJ3&-4oTf1F&DJmHsb zR$Jq$3%{OE%XZ~h_|amqW2LmTdT`q-$EgmPJX7yoFbpx+9plgZyz#KoB@PeCTcNX8 zX0N&%_snpMfmQAdwRO#B*h@Onb}zQGZ8pC2R3!0q-HGK~n{#!obG>64Y?GAp&Q{28 zOuiteYh5<|y>m8m!x?5XTeiRA_uIu@@l2RGIV<)bgUwR=)%SS!^8k~-YKdz^NlIc# zs#S7PDv)9@GB7mOHL%b%Fby#@w=y)bGB(sTFt;)=sGe3^jiMnpKP5A*61N7f(?^d3 wHAsSN2+mI{DNig)WpGT%PfAtr%uP&B4N6T+sVqF13d*Alp00i_>zopr0F5%Q*#H0l diff --git a/res/drawable-mdpi/ic_print.png b/res/drawable-mdpi/ic_print.png deleted file mode 100644 index a3954b544e005bb35852887cb4822f4bc4485c2d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 799 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEa{HEjtmSN`?>!lvI6;x#X;^) z4C~IxyaaL-l0AZa85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP=YPV z+ueoXKL{?^yL>WGgtNdSvKUBvfU(=jY&)Rw?>$`{Lp+Y}opwG;#8Kc_z3FAeo2?QT z8y*C*oRof|RKazmx#EMO3s2>QIeS`S_Ew6_R}lE9YE~h7M%7Tw@Z^~qxouY8OsuVU z>qHoQ*}v-7tJUk?$teqZZjAn6-f!|RF|Bx(o`SB1r)mImeq;Cn{RMA61~Pwd&_BQ! zFe_44+?oA>+6LYb;gX_GD|^`mq9xNmPThW8?x7At_+&BXO&c|v7j8doY@lH*?Ooe; zWTWcEI#xM`=U>8unb+*%eYco_MPt!Se;Y!?5rE&nYcS8kh7> z%F@-_{w`aglVij4?x{=C7@zM~{rmA>9E*g9l^?^isTrSrgC=~rcU;-?FjGWgO~8yq z=jA6YA5XIV_)%-aoUp*~RukL45}FwdwW#k_M~IYl9n%7){J`&ZdWZU0Ew6 z``L2oHpU%{c8uBc+Oi*5ZkT8=d&|v2nNqg{f{%Z%W;oX{J0VT{fS+5nJ-fkXv4$lw z4+JWvFE2OC7#SEE>l#?-8kmL{np+u~SQ#7Y8kk!d7*tQItwzz1o1c=IR*72!*Xg6jff^)1 tHU#IVm6RtIr7}3CNS%G}U;vjb? zhIQv;UIIA^$sR$z3=CCj3=9n|3=F@3LJcn%7)pVryh>nTu$sZZAYL$MSD+10f-TA0 z-G$*l2rk&Wd@@jkv%n*=7)X17vD?XPI|c@38&4OEwAc->vg3J@CgM#J@cD-~Lx~g3T>l_7+Sw>fktM>2idz*JY2@Im?aPjz9G1^kU6W z7YdMYWwB7*&k}Pvz1rTlX9LJN_yOvA4Hu z+s(3ANKe1YpYf-U@$s__m)l#f=V=^z`eoPN45skL$p^oubnkrdQ~iV3k7fUjg&BX$ zyB@zRGuUNbr-$~#ONl~Jr&d}X*=o*o?X!5p^8-H@u)i`|x@YE3?E>Kl<8yv4XP)&l z>o=zUnU%gw?a>3@BhNHGAMY#r#Sz0E)xd3h*H+=l!u;p;FWe7HKHbK1C-~gn9=?dH z(^txv@;{ps|Dn47@&Va|;GHv9uK%`UwXuxw#P_cZ?n=$wy7*=8)2kQ0bnd%7i@UDOm=PU~8W)_9XJCsD?Q#iYX>FhF{W-zopr06;$BTmS$7 diff --git a/res/xml/settings_headers.xml b/res/xml/settings_headers.xml index 55b3bca036a..8744328d0a1 100644 --- a/res/xml/settings_headers.xml +++ b/res/xml/settings_headers.xml @@ -192,7 +192,7 @@
diff --git a/src/com/android/settings/print/PrintSettingsFragment.java b/src/com/android/settings/print/PrintSettingsFragment.java index d2548421f71..49f0e658b53 100644 --- a/src/com/android/settings/print/PrintSettingsFragment.java +++ b/src/com/android/settings/print/PrintSettingsFragment.java @@ -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) {