From 8e62d9ae7e47c3d84895761b254034604b6ea80a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Mart=C3=AD?= Date: Sun, 10 May 2015 22:43:05 +0200 Subject: [PATCH] Add install confirm+perms screen to SystemInstaller --- F-Droid/AndroidManifest.xml | 8 + .../ic_bullet_key_permission.png | Bin 0 -> 545 bytes F-Droid/res/drawable-hdpi/ic_coins_s.png | Bin 0 -> 1100 bytes .../drawable-hdpi/tab_unselected_holo.9.png | Bin 0 -> 153 bytes .../ic_bullet_key_permission.png | Bin 0 -> 611 bytes .../ic_bullet_key_permission.png | Bin 0 -> 453 bytes F-Droid/res/drawable-mdpi/ic_coins_s.png | Bin 0 -> 741 bytes .../drawable-mdpi/tab_unselected_holo.9.png | Bin 0 -> 157 bytes .../ic_bullet_key_permission.png | Bin 0 -> 646 bytes F-Droid/res/drawable-xhdpi/ic_coins_s.png | Bin 0 -> 1483 bytes .../drawable-xhdpi/tab_unselected_holo.9.png | Bin 0 -> 166 bytes .../ic_bullet_key_permission.png | Bin 0 -> 1518 bytes .../drawable-xxhdpi/tab_unselected_holo.9.png | Bin 0 -> 1054 bytes F-Droid/res/drawable/ic_text_dot.xml | 22 + F-Droid/res/layout/app_permission_item.xml | 50 ++ .../res/layout/app_permission_item_money.xml | 76 +++ .../res/layout/app_permission_item_old.xml | 55 ++ F-Droid/res/layout/app_perms_summary.xml | 43 ++ F-Droid/res/layout/install_app_details.xml | 68 +++ F-Droid/res/layout/install_confirm.xml | 149 +++++ F-Droid/res/layout/install_start.xml | 37 ++ F-Droid/res/layout/label.xml | 20 + F-Droid/res/layout/permissions_list.xml | 53 ++ F-Droid/res/values/colors.xml | 7 +- F-Droid/res/values/strings.xml | 29 +- .../installer/AppSecurityPermissions.java | 525 ++++++++++++++++++ .../installer/CaffeinatedScrollView.java | 75 +++ .../installer/InstallConfirmActivity.java | 251 +++++++++ .../fdroid/fdroid/installer/Installer.java | 12 - .../fdroid/installer/SystemInstaller.java | 44 +- .../fdroid/fdroid/installer/TabsAdapter.java | 163 ++++++ .../fdroid/localrepo/LocalRepoService.java | 3 +- .../org/fdroid/fdroid/RepoUpdaterTest.java | 2 +- 33 files changed, 1666 insertions(+), 26 deletions(-) create mode 100644 F-Droid/res/drawable-hdpi/ic_bullet_key_permission.png create mode 100644 F-Droid/res/drawable-hdpi/ic_coins_s.png create mode 100644 F-Droid/res/drawable-hdpi/tab_unselected_holo.9.png create mode 100644 F-Droid/res/drawable-ldpi/ic_bullet_key_permission.png create mode 100644 F-Droid/res/drawable-mdpi/ic_bullet_key_permission.png create mode 100644 F-Droid/res/drawable-mdpi/ic_coins_s.png create mode 100644 F-Droid/res/drawable-mdpi/tab_unselected_holo.9.png create mode 100644 F-Droid/res/drawable-xhdpi/ic_bullet_key_permission.png create mode 100644 F-Droid/res/drawable-xhdpi/ic_coins_s.png create mode 100644 F-Droid/res/drawable-xhdpi/tab_unselected_holo.9.png create mode 100644 F-Droid/res/drawable-xxhdpi/ic_bullet_key_permission.png create mode 100644 F-Droid/res/drawable-xxhdpi/tab_unselected_holo.9.png create mode 100644 F-Droid/res/drawable/ic_text_dot.xml create mode 100644 F-Droid/res/layout/app_permission_item.xml create mode 100644 F-Droid/res/layout/app_permission_item_money.xml create mode 100644 F-Droid/res/layout/app_permission_item_old.xml create mode 100644 F-Droid/res/layout/app_perms_summary.xml create mode 100644 F-Droid/res/layout/install_app_details.xml create mode 100644 F-Droid/res/layout/install_confirm.xml create mode 100644 F-Droid/res/layout/install_start.xml create mode 100644 F-Droid/res/layout/label.xml create mode 100644 F-Droid/res/layout/permissions_list.xml create mode 100644 F-Droid/src/org/fdroid/fdroid/installer/AppSecurityPermissions.java create mode 100644 F-Droid/src/org/fdroid/fdroid/installer/CaffeinatedScrollView.java create mode 100644 F-Droid/src/org/fdroid/fdroid/installer/InstallConfirmActivity.java create mode 100644 F-Droid/src/org/fdroid/fdroid/installer/TabsAdapter.java diff --git a/F-Droid/AndroidManifest.xml b/F-Droid/AndroidManifest.xml index cd48da400..679b6d7af 100644 --- a/F-Droid/AndroidManifest.xml +++ b/F-Droid/AndroidManifest.xml @@ -292,6 +292,14 @@ android:name="android.support.PARENT_ACTIVITY" android:value=".FDroid" /> + + + ArXh)PIb&XWFX+WUv|m8B?Sy(whYpI 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 Cg`{Wz literal 0 HcmV?d00001 diff --git a/F-Droid/res/drawable-mdpi/ic_coins_s.png b/F-Droid/res/drawable-mdpi/ic_coins_s.png new file mode 100644 index 0000000000000000000000000000000000000000..3b8fd8abd5277e2ae61becdfbdee85a8ec89c3ca GIT binary patch literal 741 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;x#X;^) z4C~IxyaaL-l0AZa85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP=YPV z+ueoXKL{?^yL>WGgtNdSvY3H^TL^?1FWs&C12lf3r;B5V#p%+^w%H+x0;~_7-`oAs zc)=o$MPgb@gl3ygh+xtEBEMu4mspc;j?N#(s9P&rd;c-#-c^cP(dxpo)nHLapuj{? zmkVz;RqK9>+2J80@$Bhei{fWz_PE}CJxwCn`rJdFzL__w*E~?HTfB3%#cnREn==l} z%DDF`F_=#K$R+-94KEW=>AVBUZ;qXK7WOb)XzxLhwx%-6{`Q?aX7U^Kdh4d8GH=+N z`1t>|Id6}a&he5=oq6m3mM;>j+pY({NahU>`XqEr_1+^hyVk&|H@=nc=sc>@Bt7Hh z1MYckN9AOE_KNO%TW4>)ZX&E6V7A_nc$yGQ8bd3CuO#<_{dDHwt@w-ykY} z=^DT0@^kKmEr8ycDYnX(M1Koz7QC9x#cDjB3ImBGls&`8(7QrE~d z#L(2rz}(8zSQkhd7?hMA0GWu;kei>9nO2Eg1FJ^GKA;8}kPX54X(i=}MX3yqDfvmM i3T~N2spa`a*~JRZ!KQ^Hr>mdKI;Vst04D7$hX4Qo literal 0 HcmV?d00001 diff --git a/F-Droid/res/drawable-xhdpi/ic_bullet_key_permission.png b/F-Droid/res/drawable-xhdpi/ic_bullet_key_permission.png new file mode 100644 index 0000000000000000000000000000000000000000..6a0bdfcb1b43be721326d91b544e0878cdbd1027 GIT binary patch literal 646 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;rX+877l!}s{b%+Ad7K3vk;OpT z1B~5HX4`=T%L*LRfwTh{zxwCawb0DYxw>?OZkO z|GZgk;#qa3?3=0#)1~-YUmRGvI$R|sT+epKc7a6oc`H(#owlt|znbL6c-VB#wGT(9 zu8x|qY5D)>^)q}PEu5}*{ICArF9mb5KUuC-e5s*QweN%AkCWm1l<$7{x_#%Idy{gP zJw8(R;{B{k>&%v>Rs~CegH3?t{W)d7c?*s2p0#@gj3U(%*NBpo#FA92>rd0T%!O literal 0 HcmV?d00001 diff --git a/F-Droid/res/drawable-xhdpi/ic_coins_s.png b/F-Droid/res/drawable-xhdpi/ic_coins_s.png new file mode 100644 index 0000000000000000000000000000000000000000..13d134e6b64e2760f3c9ed505fe17d4c4a9853e0 GIT binary patch literal 1483 zcmZ{kdpOe#6vuxt$>j1j%gp^QCCnycUUONqR${EEDZ`W%+nAAia$A(!DtaXqT9U#; z5k-?JrHcyXGA&WB%$;h_yLbM4|9GGCob!FoIiK%y{ySV>AG{hE4h8@~jo|G?lB>~r zZrUiXv5ARGaseH4-{%eh4F#%Fs*=3l5KF>)0QLQP-`2@6Z_+*hNVEWe^h^NwB_E|v z13;V|0DKPt0OwKw&}Npm`C;UXjiE%m7a&`Y%8r{Q@`(!5J17hPR`sQu(=f zf|q+hprCq?kk2D)D$gB_*YKiX9nHZe_V%4rO3!f$MA?rES3-$6WY$C28DhQ#9IfN4 z0mlU(&nAkV;Bpe|EOzD+uNT2^pm-G+7F0I7GWUJCJu)Iu^T-12(W&6OwPTNK{~;e$ zx}4$~O7_K#b~+mj*el_?$Bsy|4d;`L4|^)^m6yY=o!&?R}NYXG5YC zYM0>e3=jH0^9je-!X{rExs{^ei%gai!piLBBLniuVtO0dF{c$yf^mqLdH9D3a`_?Y zn1?7f8D{lPcC+Ey0ax}NK|;Q&%Pz4ZMF;VI1`AmYEzmkIU|lzG=1fpWbngEsIM&!* zx~RaVqcG*^S!>PdmXH@+*fB#1>eepGnZKAgX@yGN=^JJ(n62lmIo?%owzFh^U)urM z>*%`+D_nlkwRiWN#ZDF1)l0s@=TL;J-bufC_(`E^f@16(xJ7FtJuCSRlS%CD?*i`- z6x$)S?jpr#+i}Feq?nYKqHZX@lVG^L=)D%#Ry0*OnsKEeO}XAChH6IA4R$UZKj;l@ z*q~a~EmgQm=t%P~G8}yXpW2P-`xJ+$Na~v!<_}E^1KRb*P;0ps+So=(%bnfc2+1`!&2)hl_BsNYB`ez{+Oy=*y3NHEZ? zZcDS`?JcPdIcf9&Z*pIMNbm8hONpJ<+?7Q-M@J-a`&>5DIb1ozb1>CYOU{y*`3&W! zIKi7t(<1P7<3jQpKlrG67wp!tyPHbY#2`iUgL#^4-PEWHrK}W~A(Y=-GfBDcA}A|M z_$bogt+e-=AM|cRUic~hCbNvUj6yEvR>&?wBo4-y1N3S)7==#re?DBX-D36Z zPHy*y?Du)6|ANq|efzi5;iW*ZD3`!DvicQ!* zj<@t0zoOedmDzqyzO{6b5cH?%7om~0g+KO0Bwsv+1euAkrAi<-=Jib@JMdZTfgAXh+xN4V`zYTI3tv1v^z3} c7SD(|5o_e>k76~89pxNA!1;L9dxT{C3-1hx3;+NC literal 0 HcmV?d00001 diff --git a/F-Droid/res/drawable-xhdpi/tab_unselected_holo.9.png b/F-Droid/res/drawable-xhdpi/tab_unselected_holo.9.png new file mode 100644 index 0000000000000000000000000000000000000000..9465173781eaa7fc9ab0e191904f928ad1c0b8f4 GIT binary patch literal 166 zcmeAS@N?(olHy`uVBq!ia0vp^Y(UJ#0V1dK=^FznmSQK*5Dp-y;YjHK@;M7UB8wRq zxI00Z(fs7;wLn1+PZ!4!j+x0n{{OdUW@bKIZ*t~9!x;yr|1&pm7#RS;1ieP?Kk11H z2?+-Ger=J9{IX`d2{ZSUyAFF~k44WnGFVV~q2hHg8$(d6=$w>Y|ILABGI+ZBxvX8JZ{~IQEfqBRDZL5C%*V34;ZlLAHoZrr|VOO`BtCuX0?CDAfe%|R^BWA_bM9C?GgCq~58U*(HmAIC*MafP7~=ZYWZh+rM8 zD3L5hN9;1P-BqmZiCD}g(4@o(9*(PxbU=}hlQ_}G@u00l4?0PTVHH^^&q}m7EietV z*Di2=a5=vivyT1$j(Y{`{XaQ_WoKZeIsVlwkt4YSmF-&V%fj05(5yT$f;<`o-~2NG zM8D|3t)Ae`#ZKpLyg0ROJnP8e!#k6%e?&k~E0g?IXm7V+^4#>)rWY<8n9MBKzjr4F z?`*K)ozL}WKm;D2)Nydi^68DyEVy(bb$p1^-TSL6ywD-uo9XZjR2c8S9Y3)_l?Q-8 zR0xO#q7#9q74Cm%-7@&F{oLu%ozMQ(UpikLcArc-7XQ=8(c}L9H;Igl>YP;1NK5Wr z^-EumaQ2(Tus-P3L!X&8{S@s@#Wg@^7`qz|clF3r_3`o|b%s66V2cg}x*HY9=m;I8j1#|&4t7A2fX;5K-onW34K&(i0Kaw)!~Ei^K*;T;cW|{Z}Buw!729Yg|WbEd0&Oyi`2mB zvv*T_2anH|HZ=Ftomvbxg>tU6&v}lv-`M>7Qs1O&dcNf$N$#CKnZ4z)scmZUV)E3> za~~v41iShU+BNam!wS_R=YMyUBTAT6|Dz3#^VU#}k!d*LuqG-X0$ z`U2#E;JR^K1M849(O)+XwGLbBJ`$QJ#A|^?>(NaoV4Az5g~n9b0QI z@<>fDa`X>xJGLroRVlBFRl^XaTpq%_0;}a*wrXUxavm63!f_Z@(&UPy=ve?OIS36{ zmc&Y>pj2c<5-CSE!PdNxn4X0aU5DxpvGS2vRSS?waL~edHR*uG9ws>KVV~8OvTWV7 z94|h{<=Kx`M}cz}+0_8M>>$6YbBI2W^8i9c28sxhxC=7Omlatt^18$gvG)JuOrXvP zadZ6BEXft^z<7Jm`t)!xJjkOH6VTB}PvmClST$;TxfOlx{My?qji%FIHpjkgJxQJ4 zd7ypVoE;n4N^Sorz0AyinjU{KKa+YC%{cFWo_lV--JQO9>-VcS>52PauVd%+)Aan~VPi)O-=-ZXs_x=DA97YZR literal 0 HcmV?d00001 diff --git a/F-Droid/res/drawable/ic_text_dot.xml b/F-Droid/res/drawable/ic_text_dot.xml new file mode 100644 index 000000000..f8f396453 --- /dev/null +++ b/F-Droid/res/drawable/ic_text_dot.xml @@ -0,0 +1,22 @@ + + + + + + + + diff --git a/F-Droid/res/layout/app_permission_item.xml b/F-Droid/res/layout/app_permission_item.xml new file mode 100644 index 000000000..b5aab370d --- /dev/null +++ b/F-Droid/res/layout/app_permission_item.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + diff --git a/F-Droid/res/layout/app_permission_item_money.xml b/F-Droid/res/layout/app_permission_item_money.xml new file mode 100644 index 000000000..6b29bcd77 --- /dev/null +++ b/F-Droid/res/layout/app_permission_item_money.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + diff --git a/F-Droid/res/layout/app_permission_item_old.xml b/F-Droid/res/layout/app_permission_item_old.xml new file mode 100644 index 000000000..a5b395ede --- /dev/null +++ b/F-Droid/res/layout/app_permission_item_old.xml @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + diff --git a/F-Droid/res/layout/app_perms_summary.xml b/F-Droid/res/layout/app_perms_summary.xml new file mode 100644 index 000000000..065dab090 --- /dev/null +++ b/F-Droid/res/layout/app_perms_summary.xml @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + diff --git a/F-Droid/res/layout/install_app_details.xml b/F-Droid/res/layout/install_app_details.xml new file mode 100644 index 000000000..bed2ecfc2 --- /dev/null +++ b/F-Droid/res/layout/install_app_details.xml @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + diff --git a/F-Droid/res/layout/install_confirm.xml b/F-Droid/res/layout/install_confirm.xml new file mode 100644 index 000000000..911e8d944 --- /dev/null +++ b/F-Droid/res/layout/install_confirm.xml @@ -0,0 +1,149 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +