summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--error_code.h83
-rw-r--r--install.cpp2
-rw-r--r--res-hdpi/images/loop00000.pngbin9715 -> 9201 bytes
-rw-r--r--res-hdpi/images/loop00001.pngbin9823 -> 9276 bytes
-rw-r--r--res-hdpi/images/loop00002.pngbin9807 -> 9279 bytes
-rw-r--r--res-hdpi/images/loop00003.pngbin9748 -> 9267 bytes
-rw-r--r--res-hdpi/images/loop00004.pngbin9966 -> 9476 bytes
-rw-r--r--res-hdpi/images/loop00005.pngbin10030 -> 9528 bytes
-rw-r--r--res-hdpi/images/loop00006.pngbin10211 -> 9690 bytes
-rw-r--r--res-hdpi/images/loop00007.pngbin10300 -> 9779 bytes
-rw-r--r--res-hdpi/images/loop00008.pngbin10271 -> 9764 bytes
-rw-r--r--res-hdpi/images/loop00009.pngbin10172 -> 9678 bytes
-rw-r--r--res-hdpi/images/loop00010.pngbin10252 -> 9798 bytes
-rw-r--r--res-hdpi/images/loop00011.pngbin10194 -> 9731 bytes
-rw-r--r--res-hdpi/images/loop00012.pngbin10246 -> 9821 bytes
-rw-r--r--res-hdpi/images/loop00013.pngbin10280 -> 9829 bytes
-rw-r--r--res-hdpi/images/loop00014.pngbin10263 -> 9823 bytes
-rw-r--r--res-hdpi/images/loop00015.pngbin10214 -> 9800 bytes
-rw-r--r--res-hdpi/images/loop00016.pngbin10308 -> 9890 bytes
-rw-r--r--res-hdpi/images/loop00017.pngbin10082 -> 9641 bytes
-rw-r--r--res-hdpi/images/loop00018.pngbin10115 -> 9681 bytes
-rw-r--r--res-hdpi/images/loop00019.pngbin10004 -> 9578 bytes
-rw-r--r--res-hdpi/images/loop00020.pngbin9793 -> 9383 bytes
-rw-r--r--res-hdpi/images/loop00021.pngbin9952 -> 9529 bytes
-rw-r--r--res-hdpi/images/loop00022.pngbin9784 -> 9372 bytes
-rw-r--r--res-hdpi/images/loop00023.pngbin9758 -> 9307 bytes
-rw-r--r--res-hdpi/images/loop00024.pngbin9738 -> 9284 bytes
-rw-r--r--res-hdpi/images/loop00025.pngbin9716 -> 9279 bytes
-rw-r--r--res-hdpi/images/loop00026.pngbin9912 -> 9477 bytes
-rw-r--r--res-hdpi/images/loop00027.pngbin9716 -> 9265 bytes
-rw-r--r--res-hdpi/images/loop00028.pngbin10005 -> 9532 bytes
-rw-r--r--res-hdpi/images/loop00029.pngbin10038 -> 9536 bytes
-rw-r--r--res-hdpi/images/loop00030.pngbin9975 -> 9511 bytes
-rw-r--r--res-hdpi/images/loop00031.pngbin9855 -> 9368 bytes
-rw-r--r--res-hdpi/images/loop00032.pngbin9743 -> 9280 bytes
-rw-r--r--res-hdpi/images/loop00033.pngbin9989 -> 9513 bytes
-rw-r--r--res-hdpi/images/loop00034.pngbin10005 -> 9521 bytes
-rw-r--r--res-hdpi/images/loop00035.pngbin10192 -> 9692 bytes
-rw-r--r--res-hdpi/images/loop00036.pngbin10112 -> 9636 bytes
-rw-r--r--res-hdpi/images/loop00037.pngbin10325 -> 9833 bytes
-rw-r--r--res-hdpi/images/loop00038.pngbin10477 -> 10034 bytes
-rw-r--r--res-hdpi/images/loop00039.pngbin10458 -> 10005 bytes
-rw-r--r--res-hdpi/images/loop00040.pngbin10381 -> 9925 bytes
-rw-r--r--res-hdpi/images/loop00041.pngbin10791 -> 10310 bytes
-rw-r--r--res-hdpi/images/loop00042.pngbin10753 -> 10307 bytes
-rw-r--r--res-hdpi/images/loop00043.pngbin10721 -> 10253 bytes
-rw-r--r--res-hdpi/images/loop00044.pngbin10763 -> 10274 bytes
-rw-r--r--res-hdpi/images/loop00045.pngbin10839 -> 10364 bytes
-rw-r--r--res-hdpi/images/loop00046.pngbin10883 -> 10416 bytes
-rw-r--r--res-hdpi/images/loop00047.pngbin11049 -> 10593 bytes
-rw-r--r--res-hdpi/images/loop00048.pngbin10971 -> 10473 bytes
-rw-r--r--res-hdpi/images/loop00049.pngbin11018 -> 10521 bytes
-rw-r--r--res-hdpi/images/loop00050.pngbin10662 -> 10203 bytes
-rw-r--r--res-hdpi/images/loop00051.pngbin10500 -> 10022 bytes
-rw-r--r--res-hdpi/images/loop00052.pngbin10593 -> 10115 bytes
-rw-r--r--res-hdpi/images/loop00053.pngbin10591 -> 10126 bytes
-rw-r--r--res-hdpi/images/loop00054.pngbin10594 -> 10117 bytes
-rw-r--r--res-hdpi/images/loop00055.pngbin10338 -> 9845 bytes
-rw-r--r--res-hdpi/images/loop00056.pngbin10291 -> 9782 bytes
-rw-r--r--res-hdpi/images/loop00057.pngbin10227 -> 9735 bytes
-rw-r--r--res-hdpi/images/loop00058.pngbin10082 -> 9582 bytes
-rw-r--r--res-hdpi/images/loop00059.pngbin9914 -> 9391 bytes
-rw-r--r--res-hdpi/images/loop00060.pngbin10011 -> 9512 bytes
-rw-r--r--res-hdpi/images/loop00061.pngbin9884 -> 9383 bytes
-rw-r--r--res-hdpi/images/loop00062.pngbin9943 -> 9404 bytes
-rw-r--r--res-hdpi/images/loop00063.pngbin9961 -> 9421 bytes
-rw-r--r--res-hdpi/images/loop00064.pngbin9965 -> 9430 bytes
-rw-r--r--res-hdpi/images/loop00065.pngbin9969 -> 9429 bytes
-rw-r--r--res-hdpi/images/loop00066.pngbin9816 -> 9308 bytes
-rw-r--r--res-hdpi/images/loop00067.pngbin10008 -> 9516 bytes
-rw-r--r--res-hdpi/images/loop00068.pngbin9980 -> 9468 bytes
-rw-r--r--res-hdpi/images/loop00069.pngbin9829 -> 9302 bytes
-rw-r--r--res-hdpi/images/loop00070.pngbin10000 -> 9517 bytes
-rw-r--r--res-hdpi/images/loop00071.pngbin9831 -> 9358 bytes
-rw-r--r--res-hdpi/images/loop00072.pngbin9641 -> 9165 bytes
-rw-r--r--res-hdpi/images/loop00073.pngbin9616 -> 9171 bytes
-rw-r--r--res-hdpi/images/loop00074.pngbin9440 -> 8981 bytes
-rw-r--r--res-hdpi/images/loop00075.pngbin9238 -> 8780 bytes
-rw-r--r--res-hdpi/images/loop00076.pngbin9244 -> 8790 bytes
-rw-r--r--res-hdpi/images/loop00077.pngbin9056 -> 8609 bytes
-rw-r--r--res-hdpi/images/loop00078.pngbin9027 -> 8561 bytes
-rw-r--r--res-hdpi/images/loop00079.pngbin9030 -> 8543 bytes
-rw-r--r--res-hdpi/images/loop00080.pngbin9251 -> 8797 bytes
-rw-r--r--res-hdpi/images/loop00081.pngbin9435 -> 9012 bytes
-rw-r--r--res-hdpi/images/loop00082.pngbin9672 -> 9226 bytes
-rw-r--r--res-hdpi/images/loop00083.pngbin9581 -> 9140 bytes
-rw-r--r--res-hdpi/images/loop00084.pngbin9684 -> 9214 bytes
-rw-r--r--res-hdpi/images/loop00085.pngbin9824 -> 9336 bytes
-rw-r--r--res-hdpi/images/loop00086.pngbin9833 -> 9322 bytes
-rw-r--r--res-hdpi/images/loop00087.pngbin9827 -> 9309 bytes
-rw-r--r--res-hdpi/images/loop00088.pngbin9772 -> 9265 bytes
-rw-r--r--res-hdpi/images/loop00089.pngbin9626 -> 9137 bytes
-rw-r--r--res-hdpi/images/loop00090.pngbin9715 -> 9201 bytes
-rw-r--r--res-mdpi/images/loop00000.pngbin6155 -> 5900 bytes
-rw-r--r--res-mdpi/images/loop00001.pngbin6135 -> 5873 bytes
-rw-r--r--res-mdpi/images/loop00002.pngbin6122 -> 5854 bytes
-rw-r--r--res-mdpi/images/loop00003.pngbin6181 -> 5924 bytes
-rw-r--r--res-mdpi/images/loop00004.pngbin6224 -> 5981 bytes
-rw-r--r--res-mdpi/images/loop00005.pngbin6280 -> 6052 bytes
-rw-r--r--res-mdpi/images/loop00006.pngbin6318 -> 6096 bytes
-rw-r--r--res-mdpi/images/loop00007.pngbin6345 -> 6126 bytes
-rw-r--r--res-mdpi/images/loop00008.pngbin6382 -> 6132 bytes
-rw-r--r--res-mdpi/images/loop00009.pngbin6406 -> 6179 bytes
-rw-r--r--res-mdpi/images/loop00010.pngbin6299 -> 6078 bytes
-rw-r--r--res-mdpi/images/loop00011.pngbin6373 -> 6167 bytes
-rw-r--r--res-mdpi/images/loop00012.pngbin6269 -> 6079 bytes
-rw-r--r--res-mdpi/images/loop00013.pngbin6351 -> 6147 bytes
-rw-r--r--res-mdpi/images/loop00014.pngbin6257 -> 6052 bytes
-rw-r--r--res-mdpi/images/loop00015.pngbin6288 -> 6089 bytes
-rw-r--r--res-mdpi/images/loop00016.pngbin6273 -> 6069 bytes
-rw-r--r--res-mdpi/images/loop00017.pngbin6228 -> 6040 bytes
-rw-r--r--res-mdpi/images/loop00018.pngbin6248 -> 6055 bytes
-rw-r--r--res-mdpi/images/loop00019.pngbin6116 -> 5923 bytes
-rw-r--r--res-mdpi/images/loop00020.pngbin6031 -> 5831 bytes
-rw-r--r--res-mdpi/images/loop00021.pngbin6036 -> 5844 bytes
-rw-r--r--res-mdpi/images/loop00022.pngbin6049 -> 5839 bytes
-rw-r--r--res-mdpi/images/loop00023.pngbin6077 -> 5865 bytes
-rw-r--r--res-mdpi/images/loop00024.pngbin5992 -> 5789 bytes
-rw-r--r--res-mdpi/images/loop00025.pngbin6007 -> 5779 bytes
-rw-r--r--res-mdpi/images/loop00026.pngbin6029 -> 5819 bytes
-rw-r--r--res-mdpi/images/loop00027.pngbin5993 -> 5763 bytes
-rw-r--r--res-mdpi/images/loop00028.pngbin6004 -> 5769 bytes
-rw-r--r--res-mdpi/images/loop00029.pngbin6146 -> 5932 bytes
-rw-r--r--res-mdpi/images/loop00030.pngbin6196 -> 5973 bytes
-rw-r--r--res-mdpi/images/loop00031.pngbin6134 -> 5904 bytes
-rw-r--r--res-mdpi/images/loop00032.pngbin6114 -> 5872 bytes
-rw-r--r--res-mdpi/images/loop00033.pngbin6083 -> 5843 bytes
-rw-r--r--res-mdpi/images/loop00034.pngbin6132 -> 5903 bytes
-rw-r--r--res-mdpi/images/loop00035.pngbin6239 -> 6000 bytes
-rw-r--r--res-mdpi/images/loop00036.pngbin6260 -> 6023 bytes
-rw-r--r--res-mdpi/images/loop00037.pngbin6317 -> 6057 bytes
-rw-r--r--res-mdpi/images/loop00038.pngbin6424 -> 6204 bytes
-rw-r--r--res-mdpi/images/loop00039.pngbin6479 -> 6265 bytes
-rw-r--r--res-mdpi/images/loop00040.pngbin6515 -> 6307 bytes
-rw-r--r--res-mdpi/images/loop00041.pngbin6643 -> 6420 bytes
-rw-r--r--res-mdpi/images/loop00042.pngbin6654 -> 6448 bytes
-rw-r--r--res-mdpi/images/loop00043.pngbin6619 -> 6411 bytes
-rw-r--r--res-mdpi/images/loop00044.pngbin6730 -> 6504 bytes
-rw-r--r--res-mdpi/images/loop00045.pngbin6622 -> 6384 bytes
-rw-r--r--res-mdpi/images/loop00046.pngbin6683 -> 6447 bytes
-rw-r--r--res-mdpi/images/loop00047.pngbin6655 -> 6437 bytes
-rw-r--r--res-mdpi/images/loop00048.pngbin6768 -> 6532 bytes
-rw-r--r--res-mdpi/images/loop00049.pngbin6671 -> 6424 bytes
-rw-r--r--res-mdpi/images/loop00050.pngbin6572 -> 6323 bytes
-rw-r--r--res-mdpi/images/loop00051.pngbin6551 -> 6327 bytes
-rw-r--r--res-mdpi/images/loop00052.pngbin6561 -> 6342 bytes
-rw-r--r--res-mdpi/images/loop00053.pngbin6486 -> 6263 bytes
-rw-r--r--res-mdpi/images/loop00054.pngbin6559 -> 6347 bytes
-rw-r--r--res-mdpi/images/loop00055.pngbin6498 -> 6277 bytes
-rw-r--r--res-mdpi/images/loop00056.pngbin6369 -> 6133 bytes
-rw-r--r--res-mdpi/images/loop00057.pngbin6336 -> 6103 bytes
-rw-r--r--res-mdpi/images/loop00058.pngbin6329 -> 6083 bytes
-rw-r--r--res-mdpi/images/loop00059.pngbin6261 -> 6014 bytes
-rw-r--r--res-mdpi/images/loop00060.pngbin6168 -> 5930 bytes
-rw-r--r--res-mdpi/images/loop00061.pngbin6161 -> 5902 bytes
-rw-r--r--res-mdpi/images/loop00062.pngbin6185 -> 5927 bytes
-rw-r--r--res-mdpi/images/loop00063.pngbin6235 -> 5952 bytes
-rw-r--r--res-mdpi/images/loop00064.pngbin6226 -> 5965 bytes
-rw-r--r--res-mdpi/images/loop00065.pngbin6280 -> 6010 bytes
-rw-r--r--res-mdpi/images/loop00066.pngbin6167 -> 5918 bytes
-rw-r--r--res-mdpi/images/loop00067.pngbin6161 -> 5916 bytes
-rw-r--r--res-mdpi/images/loop00068.pngbin6234 -> 5976 bytes
-rw-r--r--res-mdpi/images/loop00069.pngbin6190 -> 5941 bytes
-rw-r--r--res-mdpi/images/loop00070.pngbin6168 -> 5948 bytes
-rw-r--r--res-mdpi/images/loop00071.pngbin6083 -> 5867 bytes
-rw-r--r--res-mdpi/images/loop00072.pngbin5992 -> 5777 bytes
-rw-r--r--res-mdpi/images/loop00073.pngbin5967 -> 5757 bytes
-rw-r--r--res-mdpi/images/loop00074.pngbin5818 -> 5602 bytes
-rw-r--r--res-mdpi/images/loop00075.pngbin5717 -> 5468 bytes
-rw-r--r--res-mdpi/images/loop00076.pngbin5724 -> 5507 bytes
-rw-r--r--res-mdpi/images/loop00077.pngbin5644 -> 5417 bytes
-rw-r--r--res-mdpi/images/loop00078.pngbin5660 -> 5415 bytes
-rw-r--r--res-mdpi/images/loop00079.pngbin5670 -> 5430 bytes
-rw-r--r--res-mdpi/images/loop00080.pngbin5718 -> 5478 bytes
-rw-r--r--res-mdpi/images/loop00081.pngbin5872 -> 5633 bytes
-rw-r--r--res-mdpi/images/loop00082.pngbin5929 -> 5706 bytes
-rw-r--r--res-mdpi/images/loop00083.pngbin6009 -> 5783 bytes
-rw-r--r--res-mdpi/images/loop00084.pngbin5988 -> 5750 bytes
-rw-r--r--res-mdpi/images/loop00085.pngbin6026 -> 5778 bytes
-rw-r--r--res-mdpi/images/loop00086.pngbin6021 -> 5782 bytes
-rw-r--r--res-mdpi/images/loop00087.pngbin6163 -> 5927 bytes
-rw-r--r--res-mdpi/images/loop00088.pngbin6127 -> 5882 bytes
-rw-r--r--res-mdpi/images/loop00089.pngbin6243 -> 5992 bytes
-rw-r--r--res-mdpi/images/loop00090.pngbin6155 -> 5900 bytes
-rw-r--r--res-xhdpi/images/loop00000.pngbin13121 -> 12215 bytes
-rw-r--r--res-xhdpi/images/loop00001.pngbin12986 -> 12095 bytes
-rw-r--r--res-xhdpi/images/loop00002.pngbin13588 -> 12714 bytes
-rw-r--r--res-xhdpi/images/loop00003.pngbin13584 -> 12748 bytes
-rw-r--r--res-xhdpi/images/loop00004.pngbin13685 -> 12846 bytes
-rw-r--r--res-xhdpi/images/loop00005.pngbin13802 -> 12919 bytes
-rw-r--r--res-xhdpi/images/loop00006.pngbin14188 -> 13349 bytes
-rw-r--r--res-xhdpi/images/loop00007.pngbin14027 -> 13162 bytes
-rw-r--r--res-xhdpi/images/loop00008.pngbin14273 -> 13426 bytes
-rw-r--r--res-xhdpi/images/loop00009.pngbin14122 -> 13291 bytes
-rw-r--r--res-xhdpi/images/loop00010.pngbin14226 -> 13407 bytes
-rw-r--r--res-xhdpi/images/loop00011.pngbin14155 -> 13346 bytes
-rw-r--r--res-xhdpi/images/loop00012.pngbin14375 -> 13566 bytes
-rw-r--r--res-xhdpi/images/loop00013.pngbin14231 -> 13444 bytes
-rw-r--r--res-xhdpi/images/loop00014.pngbin14037 -> 13322 bytes
-rw-r--r--res-xhdpi/images/loop00015.pngbin14052 -> 13292 bytes
-rw-r--r--res-xhdpi/images/loop00016.pngbin13930 -> 13175 bytes
-rw-r--r--res-xhdpi/images/loop00017.pngbin14127 -> 13359 bytes
-rw-r--r--res-xhdpi/images/loop00018.pngbin14157 -> 13405 bytes
-rw-r--r--res-xhdpi/images/loop00019.pngbin13666 -> 12973 bytes
-rw-r--r--res-xhdpi/images/loop00020.pngbin13677 -> 12998 bytes
-rw-r--r--res-xhdpi/images/loop00021.pngbin13777 -> 13037 bytes
-rw-r--r--res-xhdpi/images/loop00022.pngbin13546 -> 12811 bytes
-rw-r--r--res-xhdpi/images/loop00023.pngbin13674 -> 12911 bytes
-rw-r--r--res-xhdpi/images/loop00024.pngbin13465 -> 12696 bytes
-rw-r--r--res-xhdpi/images/loop00025.pngbin13421 -> 12677 bytes
-rw-r--r--res-xhdpi/images/loop00026.pngbin13507 -> 12789 bytes
-rw-r--r--res-xhdpi/images/loop00027.pngbin13272 -> 12504 bytes
-rw-r--r--res-xhdpi/images/loop00028.pngbin13692 -> 12906 bytes
-rw-r--r--res-xhdpi/images/loop00029.pngbin13709 -> 12916 bytes
-rw-r--r--res-xhdpi/images/loop00030.pngbin13650 -> 12847 bytes
-rw-r--r--res-xhdpi/images/loop00031.pngbin13519 -> 12718 bytes
-rw-r--r--res-xhdpi/images/loop00032.pngbin13523 -> 12708 bytes
-rw-r--r--res-xhdpi/images/loop00033.pngbin13526 -> 12751 bytes
-rw-r--r--res-xhdpi/images/loop00034.pngbin13751 -> 12940 bytes
-rw-r--r--res-xhdpi/images/loop00035.pngbin14005 -> 13215 bytes
-rw-r--r--res-xhdpi/images/loop00036.pngbin14137 -> 13399 bytes
-rw-r--r--res-xhdpi/images/loop00037.pngbin14320 -> 13587 bytes
-rw-r--r--res-xhdpi/images/loop00038.pngbin14322 -> 13600 bytes
-rw-r--r--res-xhdpi/images/loop00039.pngbin14536 -> 13801 bytes
-rw-r--r--res-xhdpi/images/loop00040.pngbin14550 -> 13828 bytes
-rw-r--r--res-xhdpi/images/loop00041.pngbin14691 -> 13956 bytes
-rw-r--r--res-xhdpi/images/loop00042.pngbin14935 -> 14150 bytes
-rw-r--r--res-xhdpi/images/loop00043.pngbin14884 -> 14067 bytes
-rw-r--r--res-xhdpi/images/loop00044.pngbin14958 -> 14166 bytes
-rw-r--r--res-xhdpi/images/loop00045.pngbin14868 -> 14042 bytes
-rw-r--r--res-xhdpi/images/loop00046.pngbin15135 -> 14322 bytes
-rw-r--r--res-xhdpi/images/loop00047.pngbin14967 -> 14156 bytes
-rw-r--r--res-xhdpi/images/loop00048.pngbin15144 -> 14298 bytes
-rw-r--r--res-xhdpi/images/loop00049.pngbin15063 -> 14274 bytes
-rw-r--r--res-xhdpi/images/loop00050.pngbin14846 -> 14025 bytes
-rw-r--r--res-xhdpi/images/loop00051.pngbin14867 -> 14001 bytes
-rw-r--r--res-xhdpi/images/loop00052.pngbin14738 -> 13965 bytes
-rw-r--r--res-xhdpi/images/loop00053.pngbin14750 -> 13886 bytes
-rw-r--r--res-xhdpi/images/loop00054.pngbin14430 -> 13573 bytes
-rw-r--r--res-xhdpi/images/loop00055.pngbin14483 -> 13665 bytes
-rw-r--r--res-xhdpi/images/loop00056.pngbin14106 -> 13313 bytes
-rw-r--r--res-xhdpi/images/loop00057.pngbin14331 -> 13505 bytes
-rw-r--r--res-xhdpi/images/loop00058.pngbin13771 -> 12874 bytes
-rw-r--r--res-xhdpi/images/loop00059.pngbin13765 -> 12906 bytes
-rw-r--r--res-xhdpi/images/loop00060.pngbin13502 -> 12708 bytes
-rw-r--r--res-xhdpi/images/loop00061.pngbin13758 -> 12947 bytes
-rw-r--r--res-xhdpi/images/loop00062.pngbin13659 -> 12817 bytes
-rw-r--r--res-xhdpi/images/loop00063.pngbin13836 -> 13004 bytes
-rw-r--r--res-xhdpi/images/loop00064.pngbin13734 -> 12871 bytes
-rw-r--r--res-xhdpi/images/loop00065.pngbin13620 -> 12785 bytes
-rw-r--r--res-xhdpi/images/loop00066.pngbin13530 -> 12684 bytes
-rw-r--r--res-xhdpi/images/loop00067.pngbin13549 -> 12712 bytes
-rw-r--r--res-xhdpi/images/loop00068.pngbin13608 -> 12809 bytes
-rw-r--r--res-xhdpi/images/loop00069.pngbin13454 -> 12696 bytes
-rw-r--r--res-xhdpi/images/loop00070.pngbin13830 -> 12995 bytes
-rw-r--r--res-xhdpi/images/loop00071.pngbin13616 -> 12807 bytes
-rw-r--r--res-xhdpi/images/loop00072.pngbin13308 -> 12497 bytes
-rw-r--r--res-xhdpi/images/loop00073.pngbin13150 -> 12366 bytes
-rw-r--r--res-xhdpi/images/loop00074.pngbin13091 -> 12355 bytes
-rw-r--r--res-xhdpi/images/loop00075.pngbin12954 -> 12181 bytes
-rw-r--r--res-xhdpi/images/loop00076.pngbin12621 -> 11868 bytes
-rw-r--r--res-xhdpi/images/loop00077.pngbin12465 -> 11726 bytes
-rw-r--r--res-xhdpi/images/loop00078.pngbin12583 -> 11873 bytes
-rw-r--r--res-xhdpi/images/loop00079.pngbin12643 -> 11893 bytes
-rw-r--r--res-xhdpi/images/loop00080.pngbin12859 -> 12119 bytes
-rw-r--r--res-xhdpi/images/loop00081.pngbin13182 -> 12445 bytes
-rw-r--r--res-xhdpi/images/loop00082.pngbin13031 -> 12273 bytes
-rw-r--r--res-xhdpi/images/loop00083.pngbin12974 -> 12183 bytes
-rw-r--r--res-xhdpi/images/loop00084.pngbin13116 -> 12329 bytes
-rw-r--r--res-xhdpi/images/loop00085.pngbin13734 -> 12875 bytes
-rw-r--r--res-xhdpi/images/loop00086.pngbin13390 -> 12559 bytes
-rw-r--r--res-xhdpi/images/loop00087.pngbin13576 -> 12706 bytes
-rw-r--r--res-xhdpi/images/loop00088.pngbin13439 -> 12610 bytes
-rw-r--r--res-xhdpi/images/loop00089.pngbin13377 -> 12531 bytes
-rw-r--r--res-xhdpi/images/loop00090.pngbin13121 -> 12215 bytes
-rw-r--r--res-xxhdpi/images/loop00000.pngbin23844 -> 22250 bytes
-rw-r--r--res-xxhdpi/images/loop00001.pngbin23888 -> 22260 bytes
-rw-r--r--res-xxhdpi/images/loop00002.pngbin23921 -> 22323 bytes
-rw-r--r--res-xxhdpi/images/loop00003.pngbin23643 -> 22069 bytes
-rw-r--r--res-xxhdpi/images/loop00004.pngbin24601 -> 22969 bytes
-rw-r--r--res-xxhdpi/images/loop00005.pngbin24930 -> 23280 bytes
-rw-r--r--res-xxhdpi/images/loop00006.pngbin25409 -> 23713 bytes
-rw-r--r--res-xxhdpi/images/loop00007.pngbin25252 -> 23577 bytes
-rw-r--r--res-xxhdpi/images/loop00008.pngbin25374 -> 23713 bytes
-rw-r--r--res-xxhdpi/images/loop00009.pngbin25053 -> 23372 bytes
-rw-r--r--res-xxhdpi/images/loop00010.pngbin25072 -> 23521 bytes
-rw-r--r--res-xxhdpi/images/loop00011.pngbin25067 -> 23468 bytes
-rw-r--r--res-xxhdpi/images/loop00012.pngbin24800 -> 23188 bytes
-rw-r--r--res-xxhdpi/images/loop00013.pngbin24816 -> 23279 bytes
-rw-r--r--res-xxhdpi/images/loop00014.pngbin24964 -> 23440 bytes
-rw-r--r--res-xxhdpi/images/loop00015.pngbin25074 -> 23498 bytes
-rw-r--r--res-xxhdpi/images/loop00016.pngbin25015 -> 23475 bytes
-rw-r--r--res-xxhdpi/images/loop00017.pngbin25105 -> 23496 bytes
-rw-r--r--res-xxhdpi/images/loop00018.pngbin25231 -> 23561 bytes
-rw-r--r--res-xxhdpi/images/loop00019.pngbin24874 -> 23270 bytes
-rw-r--r--res-xxhdpi/images/loop00020.pngbin24930 -> 23358 bytes
-rw-r--r--res-xxhdpi/images/loop00021.pngbin24971 -> 23377 bytes
-rw-r--r--res-xxhdpi/images/loop00022.pngbin25078 -> 23475 bytes
-rw-r--r--res-xxhdpi/images/loop00023.pngbin24149 -> 22471 bytes
-rw-r--r--res-xxhdpi/images/loop00024.pngbin24109 -> 22493 bytes
-rw-r--r--res-xxhdpi/images/loop00025.pngbin23882 -> 22297 bytes
-rw-r--r--res-xxhdpi/images/loop00026.pngbin24783 -> 23125 bytes
-rw-r--r--res-xxhdpi/images/loop00027.pngbin24047 -> 22420 bytes
-rw-r--r--res-xxhdpi/images/loop00028.pngbin24328 -> 22678 bytes
-rw-r--r--res-xxhdpi/images/loop00029.pngbin24725 -> 23034 bytes
-rw-r--r--res-xxhdpi/images/loop00030.pngbin24785 -> 23109 bytes
-rw-r--r--res-xxhdpi/images/loop00031.pngbin24155 -> 22555 bytes
-rw-r--r--res-xxhdpi/images/loop00032.pngbin25102 -> 23459 bytes
-rw-r--r--res-xxhdpi/images/loop00033.pngbin24598 -> 23005 bytes
-rw-r--r--res-xxhdpi/images/loop00034.pngbin24534 -> 22961 bytes
-rw-r--r--res-xxhdpi/images/loop00035.pngbin25207 -> 23649 bytes
-rw-r--r--res-xxhdpi/images/loop00036.pngbin24850 -> 23331 bytes
-rw-r--r--res-xxhdpi/images/loop00037.pngbin25157 -> 23640 bytes
-rw-r--r--res-xxhdpi/images/loop00038.pngbin25568 -> 24031 bytes
-rw-r--r--res-xxhdpi/images/loop00039.pngbin25564 -> 24099 bytes
-rw-r--r--res-xxhdpi/images/loop00040.pngbin26059 -> 24521 bytes
-rw-r--r--res-xxhdpi/images/loop00041.pngbin25794 -> 24242 bytes
-rw-r--r--res-xxhdpi/images/loop00042.pngbin26273 -> 24703 bytes
-rw-r--r--res-xxhdpi/images/loop00043.pngbin25908 -> 24344 bytes
-rw-r--r--res-xxhdpi/images/loop00044.pngbin26792 -> 25285 bytes
-rw-r--r--res-xxhdpi/images/loop00045.pngbin26875 -> 25408 bytes
-rw-r--r--res-xxhdpi/images/loop00046.pngbin26449 -> 24991 bytes
-rw-r--r--res-xxhdpi/images/loop00047.pngbin27025 -> 25458 bytes
-rw-r--r--res-xxhdpi/images/loop00048.pngbin27182 -> 25598 bytes
-rw-r--r--res-xxhdpi/images/loop00049.pngbin27526 -> 25977 bytes
-rw-r--r--res-xxhdpi/images/loop00050.pngbin25743 -> 24186 bytes
-rw-r--r--res-xxhdpi/images/loop00051.pngbin26020 -> 24442 bytes
-rw-r--r--res-xxhdpi/images/loop00052.pngbin26003 -> 24436 bytes
-rw-r--r--res-xxhdpi/images/loop00053.pngbin25282 -> 23786 bytes
-rw-r--r--res-xxhdpi/images/loop00054.pngbin25708 -> 24167 bytes
-rw-r--r--res-xxhdpi/images/loop00055.pngbin25423 -> 23910 bytes
-rw-r--r--res-xxhdpi/images/loop00056.pngbin25506 -> 23882 bytes
-rw-r--r--res-xxhdpi/images/loop00057.pngbin25419 -> 23858 bytes
-rw-r--r--res-xxhdpi/images/loop00058.pngbin24999 -> 23387 bytes
-rw-r--r--res-xxhdpi/images/loop00059.pngbin24117 -> 22514 bytes
-rw-r--r--res-xxhdpi/images/loop00060.pngbin24146 -> 22566 bytes
-rw-r--r--res-xxhdpi/images/loop00061.pngbin24194 -> 22578 bytes
-rw-r--r--res-xxhdpi/images/loop00062.pngbin24219 -> 22564 bytes
-rw-r--r--res-xxhdpi/images/loop00063.pngbin24330 -> 22657 bytes
-rw-r--r--res-xxhdpi/images/loop00064.pngbin24550 -> 22874 bytes
-rw-r--r--res-xxhdpi/images/loop00065.pngbin24535 -> 22746 bytes
-rw-r--r--res-xxhdpi/images/loop00066.pngbin24626 -> 22808 bytes
-rw-r--r--res-xxhdpi/images/loop00067.pngbin24133 -> 22384 bytes
-rw-r--r--res-xxhdpi/images/loop00068.pngbin24107 -> 22328 bytes
-rw-r--r--res-xxhdpi/images/loop00069.pngbin24891 -> 23196 bytes
-rw-r--r--res-xxhdpi/images/loop00070.pngbin24404 -> 22758 bytes
-rw-r--r--res-xxhdpi/images/loop00071.pngbin24130 -> 22433 bytes
-rw-r--r--res-xxhdpi/images/loop00072.pngbin24004 -> 22350 bytes
-rw-r--r--res-xxhdpi/images/loop00073.pngbin23694 -> 22077 bytes
-rw-r--r--res-xxhdpi/images/loop00074.pngbin23131 -> 21585 bytes
-rw-r--r--res-xxhdpi/images/loop00075.pngbin23422 -> 21795 bytes
-rw-r--r--res-xxhdpi/images/loop00076.pngbin22994 -> 21463 bytes
-rw-r--r--res-xxhdpi/images/loop00077.pngbin23012 -> 21422 bytes
-rw-r--r--res-xxhdpi/images/loop00078.pngbin22839 -> 21289 bytes
-rw-r--r--res-xxhdpi/images/loop00079.pngbin23360 -> 21748 bytes
-rw-r--r--res-xxhdpi/images/loop00080.pngbin23761 -> 22136 bytes
-rw-r--r--res-xxhdpi/images/loop00081.pngbin23512 -> 21906 bytes
-rw-r--r--res-xxhdpi/images/loop00082.pngbin23673 -> 22050 bytes
-rw-r--r--res-xxhdpi/images/loop00083.pngbin24356 -> 22755 bytes
-rw-r--r--res-xxhdpi/images/loop00084.pngbin23987 -> 22357 bytes
-rw-r--r--res-xxhdpi/images/loop00085.pngbin24223 -> 22632 bytes
-rw-r--r--res-xxhdpi/images/loop00086.pngbin24309 -> 22726 bytes
-rw-r--r--res-xxhdpi/images/loop00087.pngbin24488 -> 22801 bytes
-rw-r--r--res-xxhdpi/images/loop00088.pngbin24539 -> 22898 bytes
-rw-r--r--res-xxhdpi/images/loop00089.pngbin24543 -> 22853 bytes
-rw-r--r--res-xxhdpi/images/loop00090.pngbin23844 -> 22250 bytes
-rw-r--r--res-xxxhdpi/images/loop00000.pngbin32138 -> 29744 bytes
-rw-r--r--res-xxxhdpi/images/loop00001.pngbin32195 -> 29762 bytes
-rw-r--r--res-xxxhdpi/images/loop00002.pngbin32040 -> 29731 bytes
-rw-r--r--res-xxxhdpi/images/loop00003.pngbin32554 -> 30210 bytes
-rw-r--r--res-xxxhdpi/images/loop00004.pngbin32935 -> 30518 bytes
-rw-r--r--res-xxxhdpi/images/loop00005.pngbin33131 -> 30698 bytes
-rw-r--r--res-xxxhdpi/images/loop00006.pngbin33508 -> 31133 bytes
-rw-r--r--res-xxxhdpi/images/loop00007.pngbin34862 -> 32354 bytes
-rw-r--r--res-xxxhdpi/images/loop00008.pngbin34026 -> 31543 bytes
-rw-r--r--res-xxxhdpi/images/loop00009.pngbin33660 -> 31303 bytes
-rw-r--r--res-xxxhdpi/images/loop00010.pngbin34391 -> 32007 bytes
-rw-r--r--res-xxxhdpi/images/loop00011.pngbin34154 -> 31710 bytes
-rw-r--r--res-xxxhdpi/images/loop00012.pngbin34256 -> 31918 bytes
-rw-r--r--res-xxxhdpi/images/loop00013.pngbin34040 -> 31732 bytes
-rw-r--r--res-xxxhdpi/images/loop00014.pngbin35473 -> 33175 bytes
-rw-r--r--res-xxxhdpi/images/loop00015.pngbin34333 -> 31977 bytes
-rw-r--r--res-xxxhdpi/images/loop00016.pngbin33916 -> 31668 bytes
-rw-r--r--res-xxxhdpi/images/loop00017.pngbin34493 -> 32141 bytes
-rw-r--r--res-xxxhdpi/images/loop00018.pngbin33763 -> 31503 bytes
-rw-r--r--res-xxxhdpi/images/loop00019.pngbin33855 -> 31538 bytes
-rw-r--r--res-xxxhdpi/images/loop00020.pngbin33288 -> 31061 bytes
-rw-r--r--res-xxxhdpi/images/loop00021.pngbin33174 -> 30781 bytes
-rw-r--r--res-xxxhdpi/images/loop00022.pngbin33157 -> 30730 bytes
-rw-r--r--res-xxxhdpi/images/loop00023.pngbin33287 -> 30866 bytes
-rw-r--r--res-xxxhdpi/images/loop00024.pngbin32859 -> 30482 bytes
-rw-r--r--res-xxxhdpi/images/loop00025.pngbin32260 -> 29882 bytes
-rw-r--r--res-xxxhdpi/images/loop00026.pngbin32597 -> 30197 bytes
-rw-r--r--res-xxxhdpi/images/loop00027.pngbin31878 -> 29631 bytes
-rw-r--r--res-xxxhdpi/images/loop00028.pngbin32518 -> 30156 bytes
-rw-r--r--res-xxxhdpi/images/loop00029.pngbin32930 -> 30608 bytes
-rw-r--r--res-xxxhdpi/images/loop00030.pngbin33688 -> 31201 bytes
-rw-r--r--res-xxxhdpi/images/loop00031.pngbin32547 -> 30294 bytes
-rw-r--r--res-xxxhdpi/images/loop00032.pngbin33104 -> 30856 bytes
-rw-r--r--res-xxxhdpi/images/loop00033.pngbin32907 -> 30695 bytes
-rw-r--r--res-xxxhdpi/images/loop00034.pngbin33611 -> 31456 bytes
-rw-r--r--res-xxxhdpi/images/loop00035.pngbin33202 -> 31051 bytes
-rw-r--r--res-xxxhdpi/images/loop00036.pngbin32973 -> 31007 bytes
-rw-r--r--res-xxxhdpi/images/loop00037.pngbin33595 -> 31503 bytes
-rw-r--r--res-xxxhdpi/images/loop00038.pngbin34809 -> 32686 bytes
-rw-r--r--res-xxxhdpi/images/loop00039.pngbin34692 -> 32568 bytes
-rw-r--r--res-xxxhdpi/images/loop00040.pngbin35484 -> 33303 bytes
-rw-r--r--res-xxxhdpi/images/loop00041.pngbin35146 -> 33036 bytes
-rw-r--r--res-xxxhdpi/images/loop00042.pngbin34815 -> 32627 bytes
-rw-r--r--res-xxxhdpi/images/loop00043.pngbin35465 -> 33272 bytes
-rw-r--r--res-xxxhdpi/images/loop00044.pngbin35643 -> 33420 bytes
-rw-r--r--res-xxxhdpi/images/loop00045.pngbin35835 -> 33601 bytes
-rw-r--r--res-xxxhdpi/images/loop00046.pngbin36635 -> 34392 bytes
-rw-r--r--res-xxxhdpi/images/loop00047.pngbin36481 -> 34190 bytes
-rw-r--r--res-xxxhdpi/images/loop00048.pngbin36482 -> 34209 bytes
-rw-r--r--res-xxxhdpi/images/loop00049.pngbin36341 -> 34099 bytes
-rw-r--r--res-xxxhdpi/images/loop00050.pngbin34835 -> 32586 bytes
-rw-r--r--res-xxxhdpi/images/loop00051.pngbin35569 -> 33282 bytes
-rw-r--r--res-xxxhdpi/images/loop00052.pngbin34899 -> 32691 bytes
-rw-r--r--res-xxxhdpi/images/loop00053.pngbin34589 -> 32340 bytes
-rw-r--r--res-xxxhdpi/images/loop00054.pngbin34365 -> 32088 bytes
-rw-r--r--res-xxxhdpi/images/loop00055.pngbin34332 -> 32066 bytes
-rw-r--r--res-xxxhdpi/images/loop00056.pngbin34188 -> 31890 bytes
-rw-r--r--res-xxxhdpi/images/loop00057.pngbin33961 -> 31671 bytes
-rw-r--r--res-xxxhdpi/images/loop00058.pngbin33300 -> 31028 bytes
-rw-r--r--res-xxxhdpi/images/loop00059.pngbin33405 -> 31030 bytes
-rw-r--r--res-xxxhdpi/images/loop00060.pngbin33229 -> 30831 bytes
-rw-r--r--res-xxxhdpi/images/loop00061.pngbin31814 -> 29450 bytes
-rw-r--r--res-xxxhdpi/images/loop00062.pngbin32900 -> 30420 bytes
-rw-r--r--res-xxxhdpi/images/loop00063.pngbin32809 -> 30289 bytes
-rw-r--r--res-xxxhdpi/images/loop00064.pngbin32625 -> 30063 bytes
-rw-r--r--res-xxxhdpi/images/loop00065.pngbin33560 -> 30967 bytes
-rw-r--r--res-xxxhdpi/images/loop00066.pngbin32825 -> 30301 bytes
-rw-r--r--res-xxxhdpi/images/loop00067.pngbin32885 -> 30273 bytes
-rw-r--r--res-xxxhdpi/images/loop00068.pngbin31901 -> 29460 bytes
-rw-r--r--res-xxxhdpi/images/loop00069.pngbin32514 -> 29991 bytes
-rw-r--r--res-xxxhdpi/images/loop00070.pngbin33063 -> 30574 bytes
-rw-r--r--res-xxxhdpi/images/loop00071.pngbin32486 -> 30057 bytes
-rw-r--r--res-xxxhdpi/images/loop00072.pngbin32218 -> 29668 bytes
-rw-r--r--res-xxxhdpi/images/loop00073.pngbin32100 -> 29647 bytes
-rw-r--r--res-xxxhdpi/images/loop00074.pngbin31018 -> 28742 bytes
-rw-r--r--res-xxxhdpi/images/loop00075.pngbin31186 -> 28865 bytes
-rw-r--r--res-xxxhdpi/images/loop00076.pngbin30704 -> 28477 bytes
-rw-r--r--res-xxxhdpi/images/loop00077.pngbin30379 -> 28217 bytes
-rw-r--r--res-xxxhdpi/images/loop00078.pngbin31001 -> 28767 bytes
-rw-r--r--res-xxxhdpi/images/loop00079.pngbin31273 -> 29012 bytes
-rw-r--r--res-xxxhdpi/images/loop00080.pngbin30904 -> 28594 bytes
-rw-r--r--res-xxxhdpi/images/loop00081.pngbin31821 -> 29414 bytes
-rw-r--r--res-xxxhdpi/images/loop00082.pngbin31287 -> 28937 bytes
-rw-r--r--res-xxxhdpi/images/loop00083.pngbin31149 -> 28804 bytes
-rw-r--r--res-xxxhdpi/images/loop00084.pngbin31294 -> 28994 bytes
-rw-r--r--res-xxxhdpi/images/loop00085.pngbin31875 -> 29510 bytes
-rw-r--r--res-xxxhdpi/images/loop00086.pngbin32357 -> 30033 bytes
-rw-r--r--res-xxxhdpi/images/loop00087.pngbin32312 -> 29930 bytes
-rw-r--r--res-xxxhdpi/images/loop00088.pngbin31914 -> 29559 bytes
-rw-r--r--res-xxxhdpi/images/loop00089.pngbin32685 -> 30335 bytes
-rw-r--r--res-xxxhdpi/images/loop00090.pngbin32138 -> 29744 bytes
-rw-r--r--tests/Android.mk2
-rw-r--r--tests/common/test_constants.h9
-rw-r--r--tests/component/updater_test.cpp92
-rw-r--r--tests/unit/zip_test.cpp3
-rw-r--r--updater/install.cpp145
462 files changed, 198 insertions, 138 deletions
diff --git a/error_code.h b/error_code.h
index dfea0eb38..5dad6b263 100644
--- a/error_code.h
+++ b/error_code.h
@@ -18,52 +18,53 @@
#define _ERROR_CODE_H_
enum ErrorCode {
- kNoError = -1,
- kLowBattery = 20,
- kZipVerificationFailure,
- kZipOpenFailure,
- kBootreasonInBlacklist
+ kNoError = -1,
+ kLowBattery = 20,
+ kZipVerificationFailure,
+ kZipOpenFailure,
+ kBootreasonInBlacklist
};
enum CauseCode {
- kNoCause = -1,
- kArgsParsingFailure = 100,
- kStashCreationFailure,
- kFileOpenFailure,
- kLseekFailure,
- kFreadFailure,
- kFwriteFailure,
- kFsyncFailure,
- kLibfecFailure,
- kFileGetPropFailure,
- kFileRenameFailure,
- kSymlinkFailure,
- kSetMetadataFailure,
- kTune2FsFailure,
- kRebootFailure,
- kVendorFailure = 200
+ kNoCause = -1,
+ kArgsParsingFailure = 100,
+ kStashCreationFailure,
+ kFileOpenFailure,
+ kLseekFailure,
+ kFreadFailure,
+ kFwriteFailure,
+ kFsyncFailure,
+ kLibfecFailure,
+ kFileGetPropFailure,
+ kFileRenameFailure,
+ kSymlinkFailure,
+ kSetMetadataFailure,
+ kTune2FsFailure,
+ kRebootFailure,
+ kPackageExtractFileFailure,
+ kVendorFailure = 200
};
enum UncryptErrorCode {
- kUncryptNoError = -1,
- kUncryptErrorPlaceholder = 50,
- kUncryptTimeoutError = 100,
- kUncryptFileRemoveError,
- kUncryptFileOpenError,
- kUncryptSocketOpenError,
- kUncryptSocketWriteError,
- kUncryptSocketListenError,
- kUncryptSocketAcceptError,
- kUncryptFstabReadError,
- kUncryptFileStatError,
- kUncryptBlockOpenError,
- kUncryptIoctlError,
- kUncryptReadError,
- kUncryptWriteError,
- kUncryptFileSyncError,
- kUncryptFileCloseError,
- kUncryptFileRenameError,
- kUncryptPackageMissingError,
+ kUncryptNoError = -1,
+ kUncryptErrorPlaceholder = 50,
+ kUncryptTimeoutError = 100,
+ kUncryptFileRemoveError,
+ kUncryptFileOpenError,
+ kUncryptSocketOpenError,
+ kUncryptSocketWriteError,
+ kUncryptSocketListenError,
+ kUncryptSocketAcceptError,
+ kUncryptFstabReadError,
+ kUncryptFileStatError,
+ kUncryptBlockOpenError,
+ kUncryptIoctlError,
+ kUncryptReadError,
+ kUncryptWriteError,
+ kUncryptFileSyncError,
+ kUncryptFileCloseError,
+ kUncryptFileRenameError,
+ kUncryptPackageMissingError,
};
-#endif
+#endif // _ERROR_CODE_H_
diff --git a/install.cpp b/install.cpp
index dd6ed81cf..f124a2688 100644
--- a/install.cpp
+++ b/install.cpp
@@ -542,7 +542,7 @@ install_package(const char* path, bool* wipe_cache, const char* install_file,
if (!android::base::ReadFileToString(UNCRYPT_STATUS, &uncrypt_status)) {
PLOG(WARNING) << "failed to read uncrypt status";
} else if (!android::base::StartsWith(uncrypt_status, "uncrypt_")) {
- PLOG(WARNING) << "corrupted uncrypt_status: " << uncrypt_status;
+ LOG(WARNING) << "corrupted uncrypt_status: " << uncrypt_status;
} else {
log_buffer.push_back(android::base::Trim(uncrypt_status));
}
diff --git a/res-hdpi/images/loop00000.png b/res-hdpi/images/loop00000.png
index 030fa2b36..9e9d1e320 100644
--- a/res-hdpi/images/loop00000.png
+++ b/res-hdpi/images/loop00000.png
Binary files differ
diff --git a/res-hdpi/images/loop00001.png b/res-hdpi/images/loop00001.png
index 546a10247..cd53cc6cd 100644
--- a/res-hdpi/images/loop00001.png
+++ b/res-hdpi/images/loop00001.png
Binary files differ
diff --git a/res-hdpi/images/loop00002.png b/res-hdpi/images/loop00002.png
index 262be3f24..d5b5cead4 100644
--- a/res-hdpi/images/loop00002.png
+++ b/res-hdpi/images/loop00002.png
Binary files differ
diff --git a/res-hdpi/images/loop00003.png b/res-hdpi/images/loop00003.png
index 1282fb308..50e08ded4 100644
--- a/res-hdpi/images/loop00003.png
+++ b/res-hdpi/images/loop00003.png
Binary files differ
diff --git a/res-hdpi/images/loop00004.png b/res-hdpi/images/loop00004.png
index 2ff7678ff..d69f76263 100644
--- a/res-hdpi/images/loop00004.png
+++ b/res-hdpi/images/loop00004.png
Binary files differ
diff --git a/res-hdpi/images/loop00005.png b/res-hdpi/images/loop00005.png
index 20b4d815b..32d368e28 100644
--- a/res-hdpi/images/loop00005.png
+++ b/res-hdpi/images/loop00005.png
Binary files differ
diff --git a/res-hdpi/images/loop00006.png b/res-hdpi/images/loop00006.png
index 0f5b28d49..fcc750bdf 100644
--- a/res-hdpi/images/loop00006.png
+++ b/res-hdpi/images/loop00006.png
Binary files differ
diff --git a/res-hdpi/images/loop00007.png b/res-hdpi/images/loop00007.png
index 008acc85b..d37ba5ca8 100644
--- a/res-hdpi/images/loop00007.png
+++ b/res-hdpi/images/loop00007.png
Binary files differ
diff --git a/res-hdpi/images/loop00008.png b/res-hdpi/images/loop00008.png
index ca1309dc2..5a1605470 100644
--- a/res-hdpi/images/loop00008.png
+++ b/res-hdpi/images/loop00008.png
Binary files differ
diff --git a/res-hdpi/images/loop00009.png b/res-hdpi/images/loop00009.png
index b2730f198..49ede64ad 100644
--- a/res-hdpi/images/loop00009.png
+++ b/res-hdpi/images/loop00009.png
Binary files differ
diff --git a/res-hdpi/images/loop00010.png b/res-hdpi/images/loop00010.png
index 3867e9c96..f9e219ff7 100644
--- a/res-hdpi/images/loop00010.png
+++ b/res-hdpi/images/loop00010.png
Binary files differ
diff --git a/res-hdpi/images/loop00011.png b/res-hdpi/images/loop00011.png
index 2761d8fcb..3fbe0b5aa 100644
--- a/res-hdpi/images/loop00011.png
+++ b/res-hdpi/images/loop00011.png
Binary files differ
diff --git a/res-hdpi/images/loop00012.png b/res-hdpi/images/loop00012.png
index 2d976ef62..32294612c 100644
--- a/res-hdpi/images/loop00012.png
+++ b/res-hdpi/images/loop00012.png
Binary files differ
diff --git a/res-hdpi/images/loop00013.png b/res-hdpi/images/loop00013.png
index 5c96bb52c..69773ec6c 100644
--- a/res-hdpi/images/loop00013.png
+++ b/res-hdpi/images/loop00013.png
Binary files differ
diff --git a/res-hdpi/images/loop00014.png b/res-hdpi/images/loop00014.png
index d481ec57a..56c15ccde 100644
--- a/res-hdpi/images/loop00014.png
+++ b/res-hdpi/images/loop00014.png
Binary files differ
diff --git a/res-hdpi/images/loop00015.png b/res-hdpi/images/loop00015.png
index 47716ede3..26126814d 100644
--- a/res-hdpi/images/loop00015.png
+++ b/res-hdpi/images/loop00015.png
Binary files differ
diff --git a/res-hdpi/images/loop00016.png b/res-hdpi/images/loop00016.png
index c0cffe85c..69f632ec4 100644
--- a/res-hdpi/images/loop00016.png
+++ b/res-hdpi/images/loop00016.png
Binary files differ
diff --git a/res-hdpi/images/loop00017.png b/res-hdpi/images/loop00017.png
index a0dc2e51f..af356150e 100644
--- a/res-hdpi/images/loop00017.png
+++ b/res-hdpi/images/loop00017.png
Binary files differ
diff --git a/res-hdpi/images/loop00018.png b/res-hdpi/images/loop00018.png
index c8eefc5f8..0f72ff090 100644
--- a/res-hdpi/images/loop00018.png
+++ b/res-hdpi/images/loop00018.png
Binary files differ
diff --git a/res-hdpi/images/loop00019.png b/res-hdpi/images/loop00019.png
index 0d9d8e0fe..f167644c3 100644
--- a/res-hdpi/images/loop00019.png
+++ b/res-hdpi/images/loop00019.png
Binary files differ
diff --git a/res-hdpi/images/loop00020.png b/res-hdpi/images/loop00020.png
index b4909a80d..202a0fe3e 100644
--- a/res-hdpi/images/loop00020.png
+++ b/res-hdpi/images/loop00020.png
Binary files differ
diff --git a/res-hdpi/images/loop00021.png b/res-hdpi/images/loop00021.png
index b3c5274c8..8c102d983 100644
--- a/res-hdpi/images/loop00021.png
+++ b/res-hdpi/images/loop00021.png
Binary files differ
diff --git a/res-hdpi/images/loop00022.png b/res-hdpi/images/loop00022.png
index 827c93707..4bde99c61 100644
--- a/res-hdpi/images/loop00022.png
+++ b/res-hdpi/images/loop00022.png
Binary files differ
diff --git a/res-hdpi/images/loop00023.png b/res-hdpi/images/loop00023.png
index 84440fec6..350acfb07 100644
--- a/res-hdpi/images/loop00023.png
+++ b/res-hdpi/images/loop00023.png
Binary files differ
diff --git a/res-hdpi/images/loop00024.png b/res-hdpi/images/loop00024.png
index cfc4c5bab..dde1a8e70 100644
--- a/res-hdpi/images/loop00024.png
+++ b/res-hdpi/images/loop00024.png
Binary files differ
diff --git a/res-hdpi/images/loop00025.png b/res-hdpi/images/loop00025.png
index fd048fdcf..a133ebd4d 100644
--- a/res-hdpi/images/loop00025.png
+++ b/res-hdpi/images/loop00025.png
Binary files differ
diff --git a/res-hdpi/images/loop00026.png b/res-hdpi/images/loop00026.png
index 68251873a..6825ad93d 100644
--- a/res-hdpi/images/loop00026.png
+++ b/res-hdpi/images/loop00026.png
Binary files differ
diff --git a/res-hdpi/images/loop00027.png b/res-hdpi/images/loop00027.png
index 238dad60a..91bf1cf74 100644
--- a/res-hdpi/images/loop00027.png
+++ b/res-hdpi/images/loop00027.png
Binary files differ
diff --git a/res-hdpi/images/loop00028.png b/res-hdpi/images/loop00028.png
index 55e058d2e..8cba9bba3 100644
--- a/res-hdpi/images/loop00028.png
+++ b/res-hdpi/images/loop00028.png
Binary files differ
diff --git a/res-hdpi/images/loop00029.png b/res-hdpi/images/loop00029.png
index fc761370e..bd0599357 100644
--- a/res-hdpi/images/loop00029.png
+++ b/res-hdpi/images/loop00029.png
Binary files differ
diff --git a/res-hdpi/images/loop00030.png b/res-hdpi/images/loop00030.png
index 920634f89..e30821a93 100644
--- a/res-hdpi/images/loop00030.png
+++ b/res-hdpi/images/loop00030.png
Binary files differ
diff --git a/res-hdpi/images/loop00031.png b/res-hdpi/images/loop00031.png
index f54846461..40198609b 100644
--- a/res-hdpi/images/loop00031.png
+++ b/res-hdpi/images/loop00031.png
Binary files differ
diff --git a/res-hdpi/images/loop00032.png b/res-hdpi/images/loop00032.png
index 4cff5c44c..41832bb94 100644
--- a/res-hdpi/images/loop00032.png
+++ b/res-hdpi/images/loop00032.png
Binary files differ
diff --git a/res-hdpi/images/loop00033.png b/res-hdpi/images/loop00033.png
index 5d2d27222..583f19cba 100644
--- a/res-hdpi/images/loop00033.png
+++ b/res-hdpi/images/loop00033.png
Binary files differ
diff --git a/res-hdpi/images/loop00034.png b/res-hdpi/images/loop00034.png
index b4d73416e..bffa72bcd 100644
--- a/res-hdpi/images/loop00034.png
+++ b/res-hdpi/images/loop00034.png
Binary files differ
diff --git a/res-hdpi/images/loop00035.png b/res-hdpi/images/loop00035.png
index 49025b82d..d65d6b4e8 100644
--- a/res-hdpi/images/loop00035.png
+++ b/res-hdpi/images/loop00035.png
Binary files differ
diff --git a/res-hdpi/images/loop00036.png b/res-hdpi/images/loop00036.png
index b3aa58da5..a26cda154 100644
--- a/res-hdpi/images/loop00036.png
+++ b/res-hdpi/images/loop00036.png
Binary files differ
diff --git a/res-hdpi/images/loop00037.png b/res-hdpi/images/loop00037.png
index ff47e85d6..660530dca 100644
--- a/res-hdpi/images/loop00037.png
+++ b/res-hdpi/images/loop00037.png
Binary files differ
diff --git a/res-hdpi/images/loop00038.png b/res-hdpi/images/loop00038.png
index 8039b925f..a3c9f31b9 100644
--- a/res-hdpi/images/loop00038.png
+++ b/res-hdpi/images/loop00038.png
Binary files differ
diff --git a/res-hdpi/images/loop00039.png b/res-hdpi/images/loop00039.png
index e76d4bc96..609d8cac2 100644
--- a/res-hdpi/images/loop00039.png
+++ b/res-hdpi/images/loop00039.png
Binary files differ
diff --git a/res-hdpi/images/loop00040.png b/res-hdpi/images/loop00040.png
index 963cce7b6..41904445b 100644
--- a/res-hdpi/images/loop00040.png
+++ b/res-hdpi/images/loop00040.png
Binary files differ
diff --git a/res-hdpi/images/loop00041.png b/res-hdpi/images/loop00041.png
index dcd5f1117..9c3c37188 100644
--- a/res-hdpi/images/loop00041.png
+++ b/res-hdpi/images/loop00041.png
Binary files differ
diff --git a/res-hdpi/images/loop00042.png b/res-hdpi/images/loop00042.png
index 72fe63ab4..dd5baae16 100644
--- a/res-hdpi/images/loop00042.png
+++ b/res-hdpi/images/loop00042.png
Binary files differ
diff --git a/res-hdpi/images/loop00043.png b/res-hdpi/images/loop00043.png
index c109af88f..814724ef5 100644
--- a/res-hdpi/images/loop00043.png
+++ b/res-hdpi/images/loop00043.png
Binary files differ
diff --git a/res-hdpi/images/loop00044.png b/res-hdpi/images/loop00044.png
index 6648ec226..63c7392a1 100644
--- a/res-hdpi/images/loop00044.png
+++ b/res-hdpi/images/loop00044.png
Binary files differ
diff --git a/res-hdpi/images/loop00045.png b/res-hdpi/images/loop00045.png
index 90bf4313d..5c666effc 100644
--- a/res-hdpi/images/loop00045.png
+++ b/res-hdpi/images/loop00045.png
Binary files differ
diff --git a/res-hdpi/images/loop00046.png b/res-hdpi/images/loop00046.png
index 50473f0eb..6fa4667ab 100644
--- a/res-hdpi/images/loop00046.png
+++ b/res-hdpi/images/loop00046.png
Binary files differ
diff --git a/res-hdpi/images/loop00047.png b/res-hdpi/images/loop00047.png
index db4702369..52537ea6e 100644
--- a/res-hdpi/images/loop00047.png
+++ b/res-hdpi/images/loop00047.png
Binary files differ
diff --git a/res-hdpi/images/loop00048.png b/res-hdpi/images/loop00048.png
index 462a42131..412fd1c71 100644
--- a/res-hdpi/images/loop00048.png
+++ b/res-hdpi/images/loop00048.png
Binary files differ
diff --git a/res-hdpi/images/loop00049.png b/res-hdpi/images/loop00049.png
index f86af40f2..6cc8ef01b 100644
--- a/res-hdpi/images/loop00049.png
+++ b/res-hdpi/images/loop00049.png
Binary files differ
diff --git a/res-hdpi/images/loop00050.png b/res-hdpi/images/loop00050.png
index 8c0af52ff..caf36c504 100644
--- a/res-hdpi/images/loop00050.png
+++ b/res-hdpi/images/loop00050.png
Binary files differ
diff --git a/res-hdpi/images/loop00051.png b/res-hdpi/images/loop00051.png
index 2360fc0db..1cf8fb4a5 100644
--- a/res-hdpi/images/loop00051.png
+++ b/res-hdpi/images/loop00051.png
Binary files differ
diff --git a/res-hdpi/images/loop00052.png b/res-hdpi/images/loop00052.png
index dd5220018..7ee60e82a 100644
--- a/res-hdpi/images/loop00052.png
+++ b/res-hdpi/images/loop00052.png
Binary files differ
diff --git a/res-hdpi/images/loop00053.png b/res-hdpi/images/loop00053.png
index c7f0c1886..691bca0ea 100644
--- a/res-hdpi/images/loop00053.png
+++ b/res-hdpi/images/loop00053.png
Binary files differ
diff --git a/res-hdpi/images/loop00054.png b/res-hdpi/images/loop00054.png
index 7f16eff59..fa8d0002d 100644
--- a/res-hdpi/images/loop00054.png
+++ b/res-hdpi/images/loop00054.png
Binary files differ
diff --git a/res-hdpi/images/loop00055.png b/res-hdpi/images/loop00055.png
index b9af0ce54..3b7acb052 100644
--- a/res-hdpi/images/loop00055.png
+++ b/res-hdpi/images/loop00055.png
Binary files differ
diff --git a/res-hdpi/images/loop00056.png b/res-hdpi/images/loop00056.png
index 40b9e9b32..1c94d3094 100644
--- a/res-hdpi/images/loop00056.png
+++ b/res-hdpi/images/loop00056.png
Binary files differ
diff --git a/res-hdpi/images/loop00057.png b/res-hdpi/images/loop00057.png
index 51068cb20..703f48e95 100644
--- a/res-hdpi/images/loop00057.png
+++ b/res-hdpi/images/loop00057.png
Binary files differ
diff --git a/res-hdpi/images/loop00058.png b/res-hdpi/images/loop00058.png
index eba4486ac..8dae68a71 100644
--- a/res-hdpi/images/loop00058.png
+++ b/res-hdpi/images/loop00058.png
Binary files differ
diff --git a/res-hdpi/images/loop00059.png b/res-hdpi/images/loop00059.png
index 28761ac84..1105b4381 100644
--- a/res-hdpi/images/loop00059.png
+++ b/res-hdpi/images/loop00059.png
Binary files differ
diff --git a/res-hdpi/images/loop00060.png b/res-hdpi/images/loop00060.png
index 6532eb93a..8ae4a864c 100644
--- a/res-hdpi/images/loop00060.png
+++ b/res-hdpi/images/loop00060.png
Binary files differ
diff --git a/res-hdpi/images/loop00061.png b/res-hdpi/images/loop00061.png
index fbe2e2e9d..c4fca2f7e 100644
--- a/res-hdpi/images/loop00061.png
+++ b/res-hdpi/images/loop00061.png
Binary files differ
diff --git a/res-hdpi/images/loop00062.png b/res-hdpi/images/loop00062.png
index 54341e34a..d59b9d40d 100644
--- a/res-hdpi/images/loop00062.png
+++ b/res-hdpi/images/loop00062.png
Binary files differ
diff --git a/res-hdpi/images/loop00063.png b/res-hdpi/images/loop00063.png
index cfe9c802c..7ac8fdf08 100644
--- a/res-hdpi/images/loop00063.png
+++ b/res-hdpi/images/loop00063.png
Binary files differ
diff --git a/res-hdpi/images/loop00064.png b/res-hdpi/images/loop00064.png
index e1fe674ea..1fa8fe817 100644
--- a/res-hdpi/images/loop00064.png
+++ b/res-hdpi/images/loop00064.png
Binary files differ
diff --git a/res-hdpi/images/loop00065.png b/res-hdpi/images/loop00065.png
index efa35b64a..542ed34cf 100644
--- a/res-hdpi/images/loop00065.png
+++ b/res-hdpi/images/loop00065.png
Binary files differ
diff --git a/res-hdpi/images/loop00066.png b/res-hdpi/images/loop00066.png
index d8c20fef1..7b6af52f5 100644
--- a/res-hdpi/images/loop00066.png
+++ b/res-hdpi/images/loop00066.png
Binary files differ
diff --git a/res-hdpi/images/loop00067.png b/res-hdpi/images/loop00067.png
index ddf1ea4cc..58d4fb732 100644
--- a/res-hdpi/images/loop00067.png
+++ b/res-hdpi/images/loop00067.png
Binary files differ
diff --git a/res-hdpi/images/loop00068.png b/res-hdpi/images/loop00068.png
index 827cfc6af..1f1616e82 100644
--- a/res-hdpi/images/loop00068.png
+++ b/res-hdpi/images/loop00068.png
Binary files differ
diff --git a/res-hdpi/images/loop00069.png b/res-hdpi/images/loop00069.png
index 6ab833f4b..a2dbbfaec 100644
--- a/res-hdpi/images/loop00069.png
+++ b/res-hdpi/images/loop00069.png
Binary files differ
diff --git a/res-hdpi/images/loop00070.png b/res-hdpi/images/loop00070.png
index a4cc06f12..60a345fc9 100644
--- a/res-hdpi/images/loop00070.png
+++ b/res-hdpi/images/loop00070.png
Binary files differ
diff --git a/res-hdpi/images/loop00071.png b/res-hdpi/images/loop00071.png
index 96653c188..ac444273e 100644
--- a/res-hdpi/images/loop00071.png
+++ b/res-hdpi/images/loop00071.png
Binary files differ
diff --git a/res-hdpi/images/loop00072.png b/res-hdpi/images/loop00072.png
index 44a15f874..a9171eb7d 100644
--- a/res-hdpi/images/loop00072.png
+++ b/res-hdpi/images/loop00072.png
Binary files differ
diff --git a/res-hdpi/images/loop00073.png b/res-hdpi/images/loop00073.png
index 8352c7ce0..7911d324c 100644
--- a/res-hdpi/images/loop00073.png
+++ b/res-hdpi/images/loop00073.png
Binary files differ
diff --git a/res-hdpi/images/loop00074.png b/res-hdpi/images/loop00074.png
index 914f1b7fb..dcea580a2 100644
--- a/res-hdpi/images/loop00074.png
+++ b/res-hdpi/images/loop00074.png
Binary files differ
diff --git a/res-hdpi/images/loop00075.png b/res-hdpi/images/loop00075.png
index 372b87139..0a7a5a527 100644
--- a/res-hdpi/images/loop00075.png
+++ b/res-hdpi/images/loop00075.png
Binary files differ
diff --git a/res-hdpi/images/loop00076.png b/res-hdpi/images/loop00076.png
index ffbf28570..674c9d233 100644
--- a/res-hdpi/images/loop00076.png
+++ b/res-hdpi/images/loop00076.png
Binary files differ
diff --git a/res-hdpi/images/loop00077.png b/res-hdpi/images/loop00077.png
index 8dc6a4002..e344f47f3 100644
--- a/res-hdpi/images/loop00077.png
+++ b/res-hdpi/images/loop00077.png
Binary files differ
diff --git a/res-hdpi/images/loop00078.png b/res-hdpi/images/loop00078.png
index cf1ea6120..e0968ce3c 100644
--- a/res-hdpi/images/loop00078.png
+++ b/res-hdpi/images/loop00078.png
Binary files differ
diff --git a/res-hdpi/images/loop00079.png b/res-hdpi/images/loop00079.png
index 8674c822a..2ff1fb088 100644
--- a/res-hdpi/images/loop00079.png
+++ b/res-hdpi/images/loop00079.png
Binary files differ
diff --git a/res-hdpi/images/loop00080.png b/res-hdpi/images/loop00080.png
index 3d84259bb..26de5af76 100644
--- a/res-hdpi/images/loop00080.png
+++ b/res-hdpi/images/loop00080.png
Binary files differ
diff --git a/res-hdpi/images/loop00081.png b/res-hdpi/images/loop00081.png
index aed44c53b..1ef6cdd98 100644
--- a/res-hdpi/images/loop00081.png
+++ b/res-hdpi/images/loop00081.png
Binary files differ
diff --git a/res-hdpi/images/loop00082.png b/res-hdpi/images/loop00082.png
index a39769bdb..334874ff1 100644
--- a/res-hdpi/images/loop00082.png
+++ b/res-hdpi/images/loop00082.png
Binary files differ
diff --git a/res-hdpi/images/loop00083.png b/res-hdpi/images/loop00083.png
index 905355d9e..3b0deb1cb 100644
--- a/res-hdpi/images/loop00083.png
+++ b/res-hdpi/images/loop00083.png
Binary files differ
diff --git a/res-hdpi/images/loop00084.png b/res-hdpi/images/loop00084.png
index c86deea16..4b8494c4c 100644
--- a/res-hdpi/images/loop00084.png
+++ b/res-hdpi/images/loop00084.png
Binary files differ
diff --git a/res-hdpi/images/loop00085.png b/res-hdpi/images/loop00085.png
index 3744ab708..2e5702753 100644
--- a/res-hdpi/images/loop00085.png
+++ b/res-hdpi/images/loop00085.png
Binary files differ
diff --git a/res-hdpi/images/loop00086.png b/res-hdpi/images/loop00086.png
index 0bb9b0963..ab6f437bc 100644
--- a/res-hdpi/images/loop00086.png
+++ b/res-hdpi/images/loop00086.png
Binary files differ
diff --git a/res-hdpi/images/loop00087.png b/res-hdpi/images/loop00087.png
index 83f97bdd0..d6c3dcdde 100644
--- a/res-hdpi/images/loop00087.png
+++ b/res-hdpi/images/loop00087.png
Binary files differ
diff --git a/res-hdpi/images/loop00088.png b/res-hdpi/images/loop00088.png
index 6fd37909a..88b386842 100644
--- a/res-hdpi/images/loop00088.png
+++ b/res-hdpi/images/loop00088.png
Binary files differ
diff --git a/res-hdpi/images/loop00089.png b/res-hdpi/images/loop00089.png
index 09500f87f..5b4551be9 100644
--- a/res-hdpi/images/loop00089.png
+++ b/res-hdpi/images/loop00089.png
Binary files differ
diff --git a/res-hdpi/images/loop00090.png b/res-hdpi/images/loop00090.png
index 030fa2b36..9e9d1e320 100644
--- a/res-hdpi/images/loop00090.png
+++ b/res-hdpi/images/loop00090.png
Binary files differ
diff --git a/res-mdpi/images/loop00000.png b/res-mdpi/images/loop00000.png
index d7092b68f..0e11c0100 100644
--- a/res-mdpi/images/loop00000.png
+++ b/res-mdpi/images/loop00000.png
Binary files differ
diff --git a/res-mdpi/images/loop00001.png b/res-mdpi/images/loop00001.png
index e04a5255a..9d87ecc7d 100644
--- a/res-mdpi/images/loop00001.png
+++ b/res-mdpi/images/loop00001.png
Binary files differ
diff --git a/res-mdpi/images/loop00002.png b/res-mdpi/images/loop00002.png
index e2a783102..4a4798645 100644
--- a/res-mdpi/images/loop00002.png
+++ b/res-mdpi/images/loop00002.png
Binary files differ
diff --git a/res-mdpi/images/loop00003.png b/res-mdpi/images/loop00003.png
index 28f79bf4b..5e01eabd2 100644
--- a/res-mdpi/images/loop00003.png
+++ b/res-mdpi/images/loop00003.png
Binary files differ
diff --git a/res-mdpi/images/loop00004.png b/res-mdpi/images/loop00004.png
index e4bec8084..cebf84a4b 100644
--- a/res-mdpi/images/loop00004.png
+++ b/res-mdpi/images/loop00004.png
Binary files differ
diff --git a/res-mdpi/images/loop00005.png b/res-mdpi/images/loop00005.png
index de673e03a..4d0e8b039 100644
--- a/res-mdpi/images/loop00005.png
+++ b/res-mdpi/images/loop00005.png
Binary files differ
diff --git a/res-mdpi/images/loop00006.png b/res-mdpi/images/loop00006.png
index 71d420311..00f9543cd 100644
--- a/res-mdpi/images/loop00006.png
+++ b/res-mdpi/images/loop00006.png
Binary files differ
diff --git a/res-mdpi/images/loop00007.png b/res-mdpi/images/loop00007.png
index dee70b3b4..95642214c 100644
--- a/res-mdpi/images/loop00007.png
+++ b/res-mdpi/images/loop00007.png
Binary files differ
diff --git a/res-mdpi/images/loop00008.png b/res-mdpi/images/loop00008.png
index 9eccc7fe4..8d41cc514 100644
--- a/res-mdpi/images/loop00008.png
+++ b/res-mdpi/images/loop00008.png
Binary files differ
diff --git a/res-mdpi/images/loop00009.png b/res-mdpi/images/loop00009.png
index d6672ac0f..2761756b8 100644
--- a/res-mdpi/images/loop00009.png
+++ b/res-mdpi/images/loop00009.png
Binary files differ
diff --git a/res-mdpi/images/loop00010.png b/res-mdpi/images/loop00010.png
index 1bb8f5c38..d8b4865de 100644
--- a/res-mdpi/images/loop00010.png
+++ b/res-mdpi/images/loop00010.png
Binary files differ
diff --git a/res-mdpi/images/loop00011.png b/res-mdpi/images/loop00011.png
index 849ce3dd0..84423537e 100644
--- a/res-mdpi/images/loop00011.png
+++ b/res-mdpi/images/loop00011.png
Binary files differ
diff --git a/res-mdpi/images/loop00012.png b/res-mdpi/images/loop00012.png
index cee9dcf04..cb986c532 100644
--- a/res-mdpi/images/loop00012.png
+++ b/res-mdpi/images/loop00012.png
Binary files differ
diff --git a/res-mdpi/images/loop00013.png b/res-mdpi/images/loop00013.png
index 1ef61d734..63b89b29e 100644
--- a/res-mdpi/images/loop00013.png
+++ b/res-mdpi/images/loop00013.png
Binary files differ
diff --git a/res-mdpi/images/loop00014.png b/res-mdpi/images/loop00014.png
index bc84637bd..9713813a4 100644
--- a/res-mdpi/images/loop00014.png
+++ b/res-mdpi/images/loop00014.png
Binary files differ
diff --git a/res-mdpi/images/loop00015.png b/res-mdpi/images/loop00015.png
index f5607f237..3f666d7c6 100644
--- a/res-mdpi/images/loop00015.png
+++ b/res-mdpi/images/loop00015.png
Binary files differ
diff --git a/res-mdpi/images/loop00016.png b/res-mdpi/images/loop00016.png
index 235527c33..3d76b046e 100644
--- a/res-mdpi/images/loop00016.png
+++ b/res-mdpi/images/loop00016.png
Binary files differ
diff --git a/res-mdpi/images/loop00017.png b/res-mdpi/images/loop00017.png
index 88307a6b6..1438d77b8 100644
--- a/res-mdpi/images/loop00017.png
+++ b/res-mdpi/images/loop00017.png
Binary files differ
diff --git a/res-mdpi/images/loop00018.png b/res-mdpi/images/loop00018.png
index 02472d753..c285fc6e9 100644
--- a/res-mdpi/images/loop00018.png
+++ b/res-mdpi/images/loop00018.png
Binary files differ
diff --git a/res-mdpi/images/loop00019.png b/res-mdpi/images/loop00019.png
index f06bdaae5..d6969ec44 100644
--- a/res-mdpi/images/loop00019.png
+++ b/res-mdpi/images/loop00019.png
Binary files differ
diff --git a/res-mdpi/images/loop00020.png b/res-mdpi/images/loop00020.png
index dc522c071..89aa0124e 100644
--- a/res-mdpi/images/loop00020.png
+++ b/res-mdpi/images/loop00020.png
Binary files differ
diff --git a/res-mdpi/images/loop00021.png b/res-mdpi/images/loop00021.png
index 3a53ee53d..b0bd51402 100644
--- a/res-mdpi/images/loop00021.png
+++ b/res-mdpi/images/loop00021.png
Binary files differ
diff --git a/res-mdpi/images/loop00022.png b/res-mdpi/images/loop00022.png
index 09b8eea14..684d023de 100644
--- a/res-mdpi/images/loop00022.png
+++ b/res-mdpi/images/loop00022.png
Binary files differ
diff --git a/res-mdpi/images/loop00023.png b/res-mdpi/images/loop00023.png
index ebc677d41..d008e9873 100644
--- a/res-mdpi/images/loop00023.png
+++ b/res-mdpi/images/loop00023.png
Binary files differ
diff --git a/res-mdpi/images/loop00024.png b/res-mdpi/images/loop00024.png
index a4fd8e508..8fe2185eb 100644
--- a/res-mdpi/images/loop00024.png
+++ b/res-mdpi/images/loop00024.png
Binary files differ
diff --git a/res-mdpi/images/loop00025.png b/res-mdpi/images/loop00025.png
index 9435624ee..c534bbd92 100644
--- a/res-mdpi/images/loop00025.png
+++ b/res-mdpi/images/loop00025.png
Binary files differ
diff --git a/res-mdpi/images/loop00026.png b/res-mdpi/images/loop00026.png
index b7e808154..61b11b555 100644
--- a/res-mdpi/images/loop00026.png
+++ b/res-mdpi/images/loop00026.png
Binary files differ
diff --git a/res-mdpi/images/loop00027.png b/res-mdpi/images/loop00027.png
index 757d8ed90..5c01dfc7b 100644
--- a/res-mdpi/images/loop00027.png
+++ b/res-mdpi/images/loop00027.png
Binary files differ
diff --git a/res-mdpi/images/loop00028.png b/res-mdpi/images/loop00028.png
index 8eefa3a57..c3e61c08e 100644
--- a/res-mdpi/images/loop00028.png
+++ b/res-mdpi/images/loop00028.png
Binary files differ
diff --git a/res-mdpi/images/loop00029.png b/res-mdpi/images/loop00029.png
index 8d890dee6..e0b23ffaa 100644
--- a/res-mdpi/images/loop00029.png
+++ b/res-mdpi/images/loop00029.png
Binary files differ
diff --git a/res-mdpi/images/loop00030.png b/res-mdpi/images/loop00030.png
index 8e0eeb6f8..6618ef7dc 100644
--- a/res-mdpi/images/loop00030.png
+++ b/res-mdpi/images/loop00030.png
Binary files differ
diff --git a/res-mdpi/images/loop00031.png b/res-mdpi/images/loop00031.png
index 178b29d6e..dfde81e69 100644
--- a/res-mdpi/images/loop00031.png
+++ b/res-mdpi/images/loop00031.png
Binary files differ
diff --git a/res-mdpi/images/loop00032.png b/res-mdpi/images/loop00032.png
index 39192c75a..dc6a01ea2 100644
--- a/res-mdpi/images/loop00032.png
+++ b/res-mdpi/images/loop00032.png
Binary files differ
diff --git a/res-mdpi/images/loop00033.png b/res-mdpi/images/loop00033.png
index 0647e5001..86d104bc9 100644
--- a/res-mdpi/images/loop00033.png
+++ b/res-mdpi/images/loop00033.png
Binary files differ
diff --git a/res-mdpi/images/loop00034.png b/res-mdpi/images/loop00034.png
index d6bc079a6..07a6d7cdd 100644
--- a/res-mdpi/images/loop00034.png
+++ b/res-mdpi/images/loop00034.png
Binary files differ
diff --git a/res-mdpi/images/loop00035.png b/res-mdpi/images/loop00035.png
index 68352e85c..3e5cb4ea9 100644
--- a/res-mdpi/images/loop00035.png
+++ b/res-mdpi/images/loop00035.png
Binary files differ
diff --git a/res-mdpi/images/loop00036.png b/res-mdpi/images/loop00036.png
index 92d9da27b..6ac7e35e6 100644
--- a/res-mdpi/images/loop00036.png
+++ b/res-mdpi/images/loop00036.png
Binary files differ
diff --git a/res-mdpi/images/loop00037.png b/res-mdpi/images/loop00037.png
index a0e4d337f..527c48d20 100644
--- a/res-mdpi/images/loop00037.png
+++ b/res-mdpi/images/loop00037.png
Binary files differ
diff --git a/res-mdpi/images/loop00038.png b/res-mdpi/images/loop00038.png
index c52317363..41c6a0356 100644
--- a/res-mdpi/images/loop00038.png
+++ b/res-mdpi/images/loop00038.png
Binary files differ
diff --git a/res-mdpi/images/loop00039.png b/res-mdpi/images/loop00039.png
index aae776583..d24d6429c 100644
--- a/res-mdpi/images/loop00039.png
+++ b/res-mdpi/images/loop00039.png
Binary files differ
diff --git a/res-mdpi/images/loop00040.png b/res-mdpi/images/loop00040.png
index af9e0188b..f3f077f8b 100644
--- a/res-mdpi/images/loop00040.png
+++ b/res-mdpi/images/loop00040.png
Binary files differ
diff --git a/res-mdpi/images/loop00041.png b/res-mdpi/images/loop00041.png
index 8e089c200..33e0715f2 100644
--- a/res-mdpi/images/loop00041.png
+++ b/res-mdpi/images/loop00041.png
Binary files differ
diff --git a/res-mdpi/images/loop00042.png b/res-mdpi/images/loop00042.png
index e3e3b8a49..b1ef14691 100644
--- a/res-mdpi/images/loop00042.png
+++ b/res-mdpi/images/loop00042.png
Binary files differ
diff --git a/res-mdpi/images/loop00043.png b/res-mdpi/images/loop00043.png
index cc8acbaeb..d835f3399 100644
--- a/res-mdpi/images/loop00043.png
+++ b/res-mdpi/images/loop00043.png
Binary files differ
diff --git a/res-mdpi/images/loop00044.png b/res-mdpi/images/loop00044.png
index 9a3a9b998..47ee00f0a 100644
--- a/res-mdpi/images/loop00044.png
+++ b/res-mdpi/images/loop00044.png
Binary files differ
diff --git a/res-mdpi/images/loop00045.png b/res-mdpi/images/loop00045.png
index ec5e3c4d1..2c9dd7127 100644
--- a/res-mdpi/images/loop00045.png
+++ b/res-mdpi/images/loop00045.png
Binary files differ
diff --git a/res-mdpi/images/loop00046.png b/res-mdpi/images/loop00046.png
index 925e2b788..7b0a557bb 100644
--- a/res-mdpi/images/loop00046.png
+++ b/res-mdpi/images/loop00046.png
Binary files differ
diff --git a/res-mdpi/images/loop00047.png b/res-mdpi/images/loop00047.png
index 62fff8864..60368fef6 100644
--- a/res-mdpi/images/loop00047.png
+++ b/res-mdpi/images/loop00047.png
Binary files differ
diff --git a/res-mdpi/images/loop00048.png b/res-mdpi/images/loop00048.png
index 46efe7032..8da21b50b 100644
--- a/res-mdpi/images/loop00048.png
+++ b/res-mdpi/images/loop00048.png
Binary files differ
diff --git a/res-mdpi/images/loop00049.png b/res-mdpi/images/loop00049.png
index 678dce473..8604a1748 100644
--- a/res-mdpi/images/loop00049.png
+++ b/res-mdpi/images/loop00049.png
Binary files differ
diff --git a/res-mdpi/images/loop00050.png b/res-mdpi/images/loop00050.png
index cbc6fdbf0..230ebd99c 100644
--- a/res-mdpi/images/loop00050.png
+++ b/res-mdpi/images/loop00050.png
Binary files differ
diff --git a/res-mdpi/images/loop00051.png b/res-mdpi/images/loop00051.png
index afa906677..3165ae893 100644
--- a/res-mdpi/images/loop00051.png
+++ b/res-mdpi/images/loop00051.png
Binary files differ
diff --git a/res-mdpi/images/loop00052.png b/res-mdpi/images/loop00052.png
index 4d2d98c53..bf4311234 100644
--- a/res-mdpi/images/loop00052.png
+++ b/res-mdpi/images/loop00052.png
Binary files differ
diff --git a/res-mdpi/images/loop00053.png b/res-mdpi/images/loop00053.png
index 48136a5da..7d801fa0a 100644
--- a/res-mdpi/images/loop00053.png
+++ b/res-mdpi/images/loop00053.png
Binary files differ
diff --git a/res-mdpi/images/loop00054.png b/res-mdpi/images/loop00054.png
index 09f706af6..f3ee2468d 100644
--- a/res-mdpi/images/loop00054.png
+++ b/res-mdpi/images/loop00054.png
Binary files differ
diff --git a/res-mdpi/images/loop00055.png b/res-mdpi/images/loop00055.png
index 7565a1c21..fb9fcfff5 100644
--- a/res-mdpi/images/loop00055.png
+++ b/res-mdpi/images/loop00055.png
Binary files differ
diff --git a/res-mdpi/images/loop00056.png b/res-mdpi/images/loop00056.png
index 2765831a9..f6b1ee7f3 100644
--- a/res-mdpi/images/loop00056.png
+++ b/res-mdpi/images/loop00056.png
Binary files differ
diff --git a/res-mdpi/images/loop00057.png b/res-mdpi/images/loop00057.png
index de440e0dd..af009d1ec 100644
--- a/res-mdpi/images/loop00057.png
+++ b/res-mdpi/images/loop00057.png
Binary files differ
diff --git a/res-mdpi/images/loop00058.png b/res-mdpi/images/loop00058.png
index 67d49c78f..1cd550adc 100644
--- a/res-mdpi/images/loop00058.png
+++ b/res-mdpi/images/loop00058.png
Binary files differ
diff --git a/res-mdpi/images/loop00059.png b/res-mdpi/images/loop00059.png
index a622f4587..cf8d18c7b 100644
--- a/res-mdpi/images/loop00059.png
+++ b/res-mdpi/images/loop00059.png
Binary files differ
diff --git a/res-mdpi/images/loop00060.png b/res-mdpi/images/loop00060.png
index 06d6eec8b..cfa53848d 100644
--- a/res-mdpi/images/loop00060.png
+++ b/res-mdpi/images/loop00060.png
Binary files differ
diff --git a/res-mdpi/images/loop00061.png b/res-mdpi/images/loop00061.png
index 7f11945a0..5fcbf4717 100644
--- a/res-mdpi/images/loop00061.png
+++ b/res-mdpi/images/loop00061.png
Binary files differ
diff --git a/res-mdpi/images/loop00062.png b/res-mdpi/images/loop00062.png
index 8197c94cf..d360d2437 100644
--- a/res-mdpi/images/loop00062.png
+++ b/res-mdpi/images/loop00062.png
Binary files differ
diff --git a/res-mdpi/images/loop00063.png b/res-mdpi/images/loop00063.png
index 4093c9b06..7f59a6673 100644
--- a/res-mdpi/images/loop00063.png
+++ b/res-mdpi/images/loop00063.png
Binary files differ
diff --git a/res-mdpi/images/loop00064.png b/res-mdpi/images/loop00064.png
index d09bd1ebd..e02809f50 100644
--- a/res-mdpi/images/loop00064.png
+++ b/res-mdpi/images/loop00064.png
Binary files differ
diff --git a/res-mdpi/images/loop00065.png b/res-mdpi/images/loop00065.png
index cbb6c1b80..597e7965f 100644
--- a/res-mdpi/images/loop00065.png
+++ b/res-mdpi/images/loop00065.png
Binary files differ
diff --git a/res-mdpi/images/loop00066.png b/res-mdpi/images/loop00066.png
index aed0a700a..3f308f007 100644
--- a/res-mdpi/images/loop00066.png
+++ b/res-mdpi/images/loop00066.png
Binary files differ
diff --git a/res-mdpi/images/loop00067.png b/res-mdpi/images/loop00067.png
index dd0da799f..643598277 100644
--- a/res-mdpi/images/loop00067.png
+++ b/res-mdpi/images/loop00067.png
Binary files differ
diff --git a/res-mdpi/images/loop00068.png b/res-mdpi/images/loop00068.png
index 161802c8e..580790b16 100644
--- a/res-mdpi/images/loop00068.png
+++ b/res-mdpi/images/loop00068.png
Binary files differ
diff --git a/res-mdpi/images/loop00069.png b/res-mdpi/images/loop00069.png
index 4ee0372a5..ae2f4e816 100644
--- a/res-mdpi/images/loop00069.png
+++ b/res-mdpi/images/loop00069.png
Binary files differ
diff --git a/res-mdpi/images/loop00070.png b/res-mdpi/images/loop00070.png
index 41a64fff6..82403915a 100644
--- a/res-mdpi/images/loop00070.png
+++ b/res-mdpi/images/loop00070.png
Binary files differ
diff --git a/res-mdpi/images/loop00071.png b/res-mdpi/images/loop00071.png
index c4793d79c..03f157ce8 100644
--- a/res-mdpi/images/loop00071.png
+++ b/res-mdpi/images/loop00071.png
Binary files differ
diff --git a/res-mdpi/images/loop00072.png b/res-mdpi/images/loop00072.png
index 9399d193c..b62dfd0d8 100644
--- a/res-mdpi/images/loop00072.png
+++ b/res-mdpi/images/loop00072.png
Binary files differ
diff --git a/res-mdpi/images/loop00073.png b/res-mdpi/images/loop00073.png
index d4e55adc9..ba746f2cb 100644
--- a/res-mdpi/images/loop00073.png
+++ b/res-mdpi/images/loop00073.png
Binary files differ
diff --git a/res-mdpi/images/loop00074.png b/res-mdpi/images/loop00074.png
index f29a0af5f..bafd21374 100644
--- a/res-mdpi/images/loop00074.png
+++ b/res-mdpi/images/loop00074.png
Binary files differ
diff --git a/res-mdpi/images/loop00075.png b/res-mdpi/images/loop00075.png
index 020568e4a..fe1f3a4df 100644
--- a/res-mdpi/images/loop00075.png
+++ b/res-mdpi/images/loop00075.png
Binary files differ
diff --git a/res-mdpi/images/loop00076.png b/res-mdpi/images/loop00076.png
index 51a54cc98..49960e5ee 100644
--- a/res-mdpi/images/loop00076.png
+++ b/res-mdpi/images/loop00076.png
Binary files differ
diff --git a/res-mdpi/images/loop00077.png b/res-mdpi/images/loop00077.png
index f6e80a918..a112cb8d2 100644
--- a/res-mdpi/images/loop00077.png
+++ b/res-mdpi/images/loop00077.png
Binary files differ
diff --git a/res-mdpi/images/loop00078.png b/res-mdpi/images/loop00078.png
index 944452120..5d69ab843 100644
--- a/res-mdpi/images/loop00078.png
+++ b/res-mdpi/images/loop00078.png
Binary files differ
diff --git a/res-mdpi/images/loop00079.png b/res-mdpi/images/loop00079.png
index b1ef2c308..31f3b5589 100644
--- a/res-mdpi/images/loop00079.png
+++ b/res-mdpi/images/loop00079.png
Binary files differ
diff --git a/res-mdpi/images/loop00080.png b/res-mdpi/images/loop00080.png
index 8a911fba8..42730befa 100644
--- a/res-mdpi/images/loop00080.png
+++ b/res-mdpi/images/loop00080.png
Binary files differ
diff --git a/res-mdpi/images/loop00081.png b/res-mdpi/images/loop00081.png
index f848df4c8..5ea003ef7 100644
--- a/res-mdpi/images/loop00081.png
+++ b/res-mdpi/images/loop00081.png
Binary files differ
diff --git a/res-mdpi/images/loop00082.png b/res-mdpi/images/loop00082.png
index 35b1325aa..ead63597d 100644
--- a/res-mdpi/images/loop00082.png
+++ b/res-mdpi/images/loop00082.png
Binary files differ
diff --git a/res-mdpi/images/loop00083.png b/res-mdpi/images/loop00083.png
index 1571fb5a4..1d10991a1 100644
--- a/res-mdpi/images/loop00083.png
+++ b/res-mdpi/images/loop00083.png
Binary files differ
diff --git a/res-mdpi/images/loop00084.png b/res-mdpi/images/loop00084.png
index 92b529509..5aafdec1d 100644
--- a/res-mdpi/images/loop00084.png
+++ b/res-mdpi/images/loop00084.png
Binary files differ
diff --git a/res-mdpi/images/loop00085.png b/res-mdpi/images/loop00085.png
index cde8880c7..6813c3375 100644
--- a/res-mdpi/images/loop00085.png
+++ b/res-mdpi/images/loop00085.png
Binary files differ
diff --git a/res-mdpi/images/loop00086.png b/res-mdpi/images/loop00086.png
index 45889e551..5d63072c6 100644
--- a/res-mdpi/images/loop00086.png
+++ b/res-mdpi/images/loop00086.png
Binary files differ
diff --git a/res-mdpi/images/loop00087.png b/res-mdpi/images/loop00087.png
index 9cad9aa39..9c65826dd 100644
--- a/res-mdpi/images/loop00087.png
+++ b/res-mdpi/images/loop00087.png
Binary files differ
diff --git a/res-mdpi/images/loop00088.png b/res-mdpi/images/loop00088.png
index dcf98c8b6..6cb1bf0cf 100644
--- a/res-mdpi/images/loop00088.png
+++ b/res-mdpi/images/loop00088.png
Binary files differ
diff --git a/res-mdpi/images/loop00089.png b/res-mdpi/images/loop00089.png
index 584cb8994..b3d742dbf 100644
--- a/res-mdpi/images/loop00089.png
+++ b/res-mdpi/images/loop00089.png
Binary files differ
diff --git a/res-mdpi/images/loop00090.png b/res-mdpi/images/loop00090.png
index d7092b68f..0e11c0100 100644
--- a/res-mdpi/images/loop00090.png
+++ b/res-mdpi/images/loop00090.png
Binary files differ
diff --git a/res-xhdpi/images/loop00000.png b/res-xhdpi/images/loop00000.png
index f5bf7a73b..b438e9e67 100644
--- a/res-xhdpi/images/loop00000.png
+++ b/res-xhdpi/images/loop00000.png
Binary files differ
diff --git a/res-xhdpi/images/loop00001.png b/res-xhdpi/images/loop00001.png
index 95c14ebf3..343a18572 100644
--- a/res-xhdpi/images/loop00001.png
+++ b/res-xhdpi/images/loop00001.png
Binary files differ
diff --git a/res-xhdpi/images/loop00002.png b/res-xhdpi/images/loop00002.png
index 5910fd106..aa5bc616f 100644
--- a/res-xhdpi/images/loop00002.png
+++ b/res-xhdpi/images/loop00002.png
Binary files differ
diff --git a/res-xhdpi/images/loop00003.png b/res-xhdpi/images/loop00003.png
index e6861d2a2..5385340ca 100644
--- a/res-xhdpi/images/loop00003.png
+++ b/res-xhdpi/images/loop00003.png
Binary files differ
diff --git a/res-xhdpi/images/loop00004.png b/res-xhdpi/images/loop00004.png
index 453cdc615..cdead7d74 100644
--- a/res-xhdpi/images/loop00004.png
+++ b/res-xhdpi/images/loop00004.png
Binary files differ
diff --git a/res-xhdpi/images/loop00005.png b/res-xhdpi/images/loop00005.png
index 12157c961..8eb502fdf 100644
--- a/res-xhdpi/images/loop00005.png
+++ b/res-xhdpi/images/loop00005.png
Binary files differ
diff --git a/res-xhdpi/images/loop00006.png b/res-xhdpi/images/loop00006.png
index 5e7838535..60b0f4a61 100644
--- a/res-xhdpi/images/loop00006.png
+++ b/res-xhdpi/images/loop00006.png
Binary files differ
diff --git a/res-xhdpi/images/loop00007.png b/res-xhdpi/images/loop00007.png
index c69abf4f2..a76c588a1 100644
--- a/res-xhdpi/images/loop00007.png
+++ b/res-xhdpi/images/loop00007.png
Binary files differ
diff --git a/res-xhdpi/images/loop00008.png b/res-xhdpi/images/loop00008.png
index 78c3b993c..80e160322 100644
--- a/res-xhdpi/images/loop00008.png
+++ b/res-xhdpi/images/loop00008.png
Binary files differ
diff --git a/res-xhdpi/images/loop00009.png b/res-xhdpi/images/loop00009.png
index e510b6b80..b8f4954c1 100644
--- a/res-xhdpi/images/loop00009.png
+++ b/res-xhdpi/images/loop00009.png
Binary files differ
diff --git a/res-xhdpi/images/loop00010.png b/res-xhdpi/images/loop00010.png
index 9d775faa4..b58d6ac57 100644
--- a/res-xhdpi/images/loop00010.png
+++ b/res-xhdpi/images/loop00010.png
Binary files differ
diff --git a/res-xhdpi/images/loop00011.png b/res-xhdpi/images/loop00011.png
index 36c01957e..0b67f3736 100644
--- a/res-xhdpi/images/loop00011.png
+++ b/res-xhdpi/images/loop00011.png
Binary files differ
diff --git a/res-xhdpi/images/loop00012.png b/res-xhdpi/images/loop00012.png
index ac65096d9..234d77a84 100644
--- a/res-xhdpi/images/loop00012.png
+++ b/res-xhdpi/images/loop00012.png
Binary files differ
diff --git a/res-xhdpi/images/loop00013.png b/res-xhdpi/images/loop00013.png
index e3fdaafa7..13c65243e 100644
--- a/res-xhdpi/images/loop00013.png
+++ b/res-xhdpi/images/loop00013.png
Binary files differ
diff --git a/res-xhdpi/images/loop00014.png b/res-xhdpi/images/loop00014.png
index 6e85108df..92e30e3d8 100644
--- a/res-xhdpi/images/loop00014.png
+++ b/res-xhdpi/images/loop00014.png
Binary files differ
diff --git a/res-xhdpi/images/loop00015.png b/res-xhdpi/images/loop00015.png
index 9e6032951..9c6076dc9 100644
--- a/res-xhdpi/images/loop00015.png
+++ b/res-xhdpi/images/loop00015.png
Binary files differ
diff --git a/res-xhdpi/images/loop00016.png b/res-xhdpi/images/loop00016.png
index 68417aa54..6f626c07b 100644
--- a/res-xhdpi/images/loop00016.png
+++ b/res-xhdpi/images/loop00016.png
Binary files differ
diff --git a/res-xhdpi/images/loop00017.png b/res-xhdpi/images/loop00017.png
index 4ac5dded3..ff67d5bd6 100644
--- a/res-xhdpi/images/loop00017.png
+++ b/res-xhdpi/images/loop00017.png
Binary files differ
diff --git a/res-xhdpi/images/loop00018.png b/res-xhdpi/images/loop00018.png
index d6511287e..67b5d8fe4 100644
--- a/res-xhdpi/images/loop00018.png
+++ b/res-xhdpi/images/loop00018.png
Binary files differ
diff --git a/res-xhdpi/images/loop00019.png b/res-xhdpi/images/loop00019.png
index 374273574..06ca98012 100644
--- a/res-xhdpi/images/loop00019.png
+++ b/res-xhdpi/images/loop00019.png
Binary files differ
diff --git a/res-xhdpi/images/loop00020.png b/res-xhdpi/images/loop00020.png
index 04489a10f..c2288b424 100644
--- a/res-xhdpi/images/loop00020.png
+++ b/res-xhdpi/images/loop00020.png
Binary files differ
diff --git a/res-xhdpi/images/loop00021.png b/res-xhdpi/images/loop00021.png
index 59c70166c..ba5df4618 100644
--- a/res-xhdpi/images/loop00021.png
+++ b/res-xhdpi/images/loop00021.png
Binary files differ
diff --git a/res-xhdpi/images/loop00022.png b/res-xhdpi/images/loop00022.png
index 0b9a59f38..2b1e947ad 100644
--- a/res-xhdpi/images/loop00022.png
+++ b/res-xhdpi/images/loop00022.png
Binary files differ
diff --git a/res-xhdpi/images/loop00023.png b/res-xhdpi/images/loop00023.png
index 31abae79f..292e07472 100644
--- a/res-xhdpi/images/loop00023.png
+++ b/res-xhdpi/images/loop00023.png
Binary files differ
diff --git a/res-xhdpi/images/loop00024.png b/res-xhdpi/images/loop00024.png
index 98d8ee39c..11352f6f7 100644
--- a/res-xhdpi/images/loop00024.png
+++ b/res-xhdpi/images/loop00024.png
Binary files differ
diff --git a/res-xhdpi/images/loop00025.png b/res-xhdpi/images/loop00025.png
index 9f074d266..4212c76a7 100644
--- a/res-xhdpi/images/loop00025.png
+++ b/res-xhdpi/images/loop00025.png
Binary files differ
diff --git a/res-xhdpi/images/loop00026.png b/res-xhdpi/images/loop00026.png
index 063fca2de..774d00f76 100644
--- a/res-xhdpi/images/loop00026.png
+++ b/res-xhdpi/images/loop00026.png
Binary files differ
diff --git a/res-xhdpi/images/loop00027.png b/res-xhdpi/images/loop00027.png
index 67e503a70..1827471b2 100644
--- a/res-xhdpi/images/loop00027.png
+++ b/res-xhdpi/images/loop00027.png
Binary files differ
diff --git a/res-xhdpi/images/loop00028.png b/res-xhdpi/images/loop00028.png
index 7e76be845..f4e79f91d 100644
--- a/res-xhdpi/images/loop00028.png
+++ b/res-xhdpi/images/loop00028.png
Binary files differ
diff --git a/res-xhdpi/images/loop00029.png b/res-xhdpi/images/loop00029.png
index 4902f6b5e..863850011 100644
--- a/res-xhdpi/images/loop00029.png
+++ b/res-xhdpi/images/loop00029.png
Binary files differ
diff --git a/res-xhdpi/images/loop00030.png b/res-xhdpi/images/loop00030.png
index 387b893b0..94fd37619 100644
--- a/res-xhdpi/images/loop00030.png
+++ b/res-xhdpi/images/loop00030.png
Binary files differ
diff --git a/res-xhdpi/images/loop00031.png b/res-xhdpi/images/loop00031.png
index ad116280f..441a52d9e 100644
--- a/res-xhdpi/images/loop00031.png
+++ b/res-xhdpi/images/loop00031.png
Binary files differ
diff --git a/res-xhdpi/images/loop00032.png b/res-xhdpi/images/loop00032.png
index 7d809e6b2..a10598ff6 100644
--- a/res-xhdpi/images/loop00032.png
+++ b/res-xhdpi/images/loop00032.png
Binary files differ
diff --git a/res-xhdpi/images/loop00033.png b/res-xhdpi/images/loop00033.png
index 59fcdc108..96bf45389 100644
--- a/res-xhdpi/images/loop00033.png
+++ b/res-xhdpi/images/loop00033.png
Binary files differ
diff --git a/res-xhdpi/images/loop00034.png b/res-xhdpi/images/loop00034.png
index cb4301c31..59baf8c64 100644
--- a/res-xhdpi/images/loop00034.png
+++ b/res-xhdpi/images/loop00034.png
Binary files differ
diff --git a/res-xhdpi/images/loop00035.png b/res-xhdpi/images/loop00035.png
index 6b1687807..400a8959b 100644
--- a/res-xhdpi/images/loop00035.png
+++ b/res-xhdpi/images/loop00035.png
Binary files differ
diff --git a/res-xhdpi/images/loop00036.png b/res-xhdpi/images/loop00036.png
index 3aa78502f..fda7acc21 100644
--- a/res-xhdpi/images/loop00036.png
+++ b/res-xhdpi/images/loop00036.png
Binary files differ
diff --git a/res-xhdpi/images/loop00037.png b/res-xhdpi/images/loop00037.png
index a60e8512c..d474e6f76 100644
--- a/res-xhdpi/images/loop00037.png
+++ b/res-xhdpi/images/loop00037.png
Binary files differ
diff --git a/res-xhdpi/images/loop00038.png b/res-xhdpi/images/loop00038.png
index 50107f3aa..c5632e191 100644
--- a/res-xhdpi/images/loop00038.png
+++ b/res-xhdpi/images/loop00038.png
Binary files differ
diff --git a/res-xhdpi/images/loop00039.png b/res-xhdpi/images/loop00039.png
index c85201e25..3cf8b867b 100644
--- a/res-xhdpi/images/loop00039.png
+++ b/res-xhdpi/images/loop00039.png
Binary files differ
diff --git a/res-xhdpi/images/loop00040.png b/res-xhdpi/images/loop00040.png
index 6ae161218..ef55a9281 100644
--- a/res-xhdpi/images/loop00040.png
+++ b/res-xhdpi/images/loop00040.png
Binary files differ
diff --git a/res-xhdpi/images/loop00041.png b/res-xhdpi/images/loop00041.png
index 7602b04a7..60bf78084 100644
--- a/res-xhdpi/images/loop00041.png
+++ b/res-xhdpi/images/loop00041.png
Binary files differ
diff --git a/res-xhdpi/images/loop00042.png b/res-xhdpi/images/loop00042.png
index 054da6d75..cee69800b 100644
--- a/res-xhdpi/images/loop00042.png
+++ b/res-xhdpi/images/loop00042.png
Binary files differ
diff --git a/res-xhdpi/images/loop00043.png b/res-xhdpi/images/loop00043.png
index d28be8b8e..fe5abc15a 100644
--- a/res-xhdpi/images/loop00043.png
+++ b/res-xhdpi/images/loop00043.png
Binary files differ
diff --git a/res-xhdpi/images/loop00044.png b/res-xhdpi/images/loop00044.png
index 83271268f..f33fcee56 100644
--- a/res-xhdpi/images/loop00044.png
+++ b/res-xhdpi/images/loop00044.png
Binary files differ
diff --git a/res-xhdpi/images/loop00045.png b/res-xhdpi/images/loop00045.png
index d749e22d7..e61b2a04e 100644
--- a/res-xhdpi/images/loop00045.png
+++ b/res-xhdpi/images/loop00045.png
Binary files differ
diff --git a/res-xhdpi/images/loop00046.png b/res-xhdpi/images/loop00046.png
index 60025d1be..4d919c036 100644
--- a/res-xhdpi/images/loop00046.png
+++ b/res-xhdpi/images/loop00046.png
Binary files differ
diff --git a/res-xhdpi/images/loop00047.png b/res-xhdpi/images/loop00047.png
index b0be5c69c..deaf9a377 100644
--- a/res-xhdpi/images/loop00047.png
+++ b/res-xhdpi/images/loop00047.png
Binary files differ
diff --git a/res-xhdpi/images/loop00048.png b/res-xhdpi/images/loop00048.png
index be926d9f2..82d8b2b88 100644
--- a/res-xhdpi/images/loop00048.png
+++ b/res-xhdpi/images/loop00048.png
Binary files differ
diff --git a/res-xhdpi/images/loop00049.png b/res-xhdpi/images/loop00049.png
index 456085442..a310cc9e6 100644
--- a/res-xhdpi/images/loop00049.png
+++ b/res-xhdpi/images/loop00049.png
Binary files differ
diff --git a/res-xhdpi/images/loop00050.png b/res-xhdpi/images/loop00050.png
index 967dd87ff..ad802300e 100644
--- a/res-xhdpi/images/loop00050.png
+++ b/res-xhdpi/images/loop00050.png
Binary files differ
diff --git a/res-xhdpi/images/loop00051.png b/res-xhdpi/images/loop00051.png
index c1698597a..52f1ce673 100644
--- a/res-xhdpi/images/loop00051.png
+++ b/res-xhdpi/images/loop00051.png
Binary files differ
diff --git a/res-xhdpi/images/loop00052.png b/res-xhdpi/images/loop00052.png
index 27c23830a..c579e8757 100644
--- a/res-xhdpi/images/loop00052.png
+++ b/res-xhdpi/images/loop00052.png
Binary files differ
diff --git a/res-xhdpi/images/loop00053.png b/res-xhdpi/images/loop00053.png
index cd2ca21c8..2c1bc91b5 100644
--- a/res-xhdpi/images/loop00053.png
+++ b/res-xhdpi/images/loop00053.png
Binary files differ
diff --git a/res-xhdpi/images/loop00054.png b/res-xhdpi/images/loop00054.png
index 588586b3a..888547519 100644
--- a/res-xhdpi/images/loop00054.png
+++ b/res-xhdpi/images/loop00054.png
Binary files differ
diff --git a/res-xhdpi/images/loop00055.png b/res-xhdpi/images/loop00055.png
index 0984d01fe..00d67dacf 100644
--- a/res-xhdpi/images/loop00055.png
+++ b/res-xhdpi/images/loop00055.png
Binary files differ
diff --git a/res-xhdpi/images/loop00056.png b/res-xhdpi/images/loop00056.png
index bab299846..00ad26a5e 100644
--- a/res-xhdpi/images/loop00056.png
+++ b/res-xhdpi/images/loop00056.png
Binary files differ
diff --git a/res-xhdpi/images/loop00057.png b/res-xhdpi/images/loop00057.png
index 4acfce540..351179569 100644
--- a/res-xhdpi/images/loop00057.png
+++ b/res-xhdpi/images/loop00057.png
Binary files differ
diff --git a/res-xhdpi/images/loop00058.png b/res-xhdpi/images/loop00058.png
index d49fea46f..9d28f7d1c 100644
--- a/res-xhdpi/images/loop00058.png
+++ b/res-xhdpi/images/loop00058.png
Binary files differ
diff --git a/res-xhdpi/images/loop00059.png b/res-xhdpi/images/loop00059.png
index fdd75c6b9..776f40e42 100644
--- a/res-xhdpi/images/loop00059.png
+++ b/res-xhdpi/images/loop00059.png
Binary files differ
diff --git a/res-xhdpi/images/loop00060.png b/res-xhdpi/images/loop00060.png
index 06ac591ef..7f728fc03 100644
--- a/res-xhdpi/images/loop00060.png
+++ b/res-xhdpi/images/loop00060.png
Binary files differ
diff --git a/res-xhdpi/images/loop00061.png b/res-xhdpi/images/loop00061.png
index 63be53676..deba02149 100644
--- a/res-xhdpi/images/loop00061.png
+++ b/res-xhdpi/images/loop00061.png
Binary files differ
diff --git a/res-xhdpi/images/loop00062.png b/res-xhdpi/images/loop00062.png
index e25c906cb..e6b618497 100644
--- a/res-xhdpi/images/loop00062.png
+++ b/res-xhdpi/images/loop00062.png
Binary files differ
diff --git a/res-xhdpi/images/loop00063.png b/res-xhdpi/images/loop00063.png
index 1fcaefe25..0e590a573 100644
--- a/res-xhdpi/images/loop00063.png
+++ b/res-xhdpi/images/loop00063.png
Binary files differ
diff --git a/res-xhdpi/images/loop00064.png b/res-xhdpi/images/loop00064.png
index fe373d042..c7b8102ba 100644
--- a/res-xhdpi/images/loop00064.png
+++ b/res-xhdpi/images/loop00064.png
Binary files differ
diff --git a/res-xhdpi/images/loop00065.png b/res-xhdpi/images/loop00065.png
index c5feed6ed..2ccad2577 100644
--- a/res-xhdpi/images/loop00065.png
+++ b/res-xhdpi/images/loop00065.png
Binary files differ
diff --git a/res-xhdpi/images/loop00066.png b/res-xhdpi/images/loop00066.png
index bc336e755..c5573b992 100644
--- a/res-xhdpi/images/loop00066.png
+++ b/res-xhdpi/images/loop00066.png
Binary files differ
diff --git a/res-xhdpi/images/loop00067.png b/res-xhdpi/images/loop00067.png
index a4cdcaea4..005e9a6f6 100644
--- a/res-xhdpi/images/loop00067.png
+++ b/res-xhdpi/images/loop00067.png
Binary files differ
diff --git a/res-xhdpi/images/loop00068.png b/res-xhdpi/images/loop00068.png
index 65d41a280..b8d6a6a07 100644
--- a/res-xhdpi/images/loop00068.png
+++ b/res-xhdpi/images/loop00068.png
Binary files differ
diff --git a/res-xhdpi/images/loop00069.png b/res-xhdpi/images/loop00069.png
index 5707b62c7..7e3ba3063 100644
--- a/res-xhdpi/images/loop00069.png
+++ b/res-xhdpi/images/loop00069.png
Binary files differ
diff --git a/res-xhdpi/images/loop00070.png b/res-xhdpi/images/loop00070.png
index 50ea15925..b9810b301 100644
--- a/res-xhdpi/images/loop00070.png
+++ b/res-xhdpi/images/loop00070.png
Binary files differ
diff --git a/res-xhdpi/images/loop00071.png b/res-xhdpi/images/loop00071.png
index 244a91060..726030ca1 100644
--- a/res-xhdpi/images/loop00071.png
+++ b/res-xhdpi/images/loop00071.png
Binary files differ
diff --git a/res-xhdpi/images/loop00072.png b/res-xhdpi/images/loop00072.png
index e5ee2abe7..30c1e87e1 100644
--- a/res-xhdpi/images/loop00072.png
+++ b/res-xhdpi/images/loop00072.png
Binary files differ
diff --git a/res-xhdpi/images/loop00073.png b/res-xhdpi/images/loop00073.png
index fced739ae..207a5acfc 100644
--- a/res-xhdpi/images/loop00073.png
+++ b/res-xhdpi/images/loop00073.png
Binary files differ
diff --git a/res-xhdpi/images/loop00074.png b/res-xhdpi/images/loop00074.png
index 1b739d346..4482b0c5d 100644
--- a/res-xhdpi/images/loop00074.png
+++ b/res-xhdpi/images/loop00074.png
Binary files differ
diff --git a/res-xhdpi/images/loop00075.png b/res-xhdpi/images/loop00075.png
index 989144f69..72afd0876 100644
--- a/res-xhdpi/images/loop00075.png
+++ b/res-xhdpi/images/loop00075.png
Binary files differ
diff --git a/res-xhdpi/images/loop00076.png b/res-xhdpi/images/loop00076.png
index 458c2a9a2..4b66068f5 100644
--- a/res-xhdpi/images/loop00076.png
+++ b/res-xhdpi/images/loop00076.png
Binary files differ
diff --git a/res-xhdpi/images/loop00077.png b/res-xhdpi/images/loop00077.png
index 9cecb1d0d..a94989efc 100644
--- a/res-xhdpi/images/loop00077.png
+++ b/res-xhdpi/images/loop00077.png
Binary files differ
diff --git a/res-xhdpi/images/loop00078.png b/res-xhdpi/images/loop00078.png
index c2c8dee86..810e22308 100644
--- a/res-xhdpi/images/loop00078.png
+++ b/res-xhdpi/images/loop00078.png
Binary files differ
diff --git a/res-xhdpi/images/loop00079.png b/res-xhdpi/images/loop00079.png
index 4f4fdd142..8085b2595 100644
--- a/res-xhdpi/images/loop00079.png
+++ b/res-xhdpi/images/loop00079.png
Binary files differ
diff --git a/res-xhdpi/images/loop00080.png b/res-xhdpi/images/loop00080.png
index b224378de..4aefa4c94 100644
--- a/res-xhdpi/images/loop00080.png
+++ b/res-xhdpi/images/loop00080.png
Binary files differ
diff --git a/res-xhdpi/images/loop00081.png b/res-xhdpi/images/loop00081.png
index 57d958755..c4a79fbcd 100644
--- a/res-xhdpi/images/loop00081.png
+++ b/res-xhdpi/images/loop00081.png
Binary files differ
diff --git a/res-xhdpi/images/loop00082.png b/res-xhdpi/images/loop00082.png
index c00f82a04..0fc9caa21 100644
--- a/res-xhdpi/images/loop00082.png
+++ b/res-xhdpi/images/loop00082.png
Binary files differ
diff --git a/res-xhdpi/images/loop00083.png b/res-xhdpi/images/loop00083.png
index 078311f09..f5fb15db5 100644
--- a/res-xhdpi/images/loop00083.png
+++ b/res-xhdpi/images/loop00083.png
Binary files differ
diff --git a/res-xhdpi/images/loop00084.png b/res-xhdpi/images/loop00084.png
index cac170893..ada5a2533 100644
--- a/res-xhdpi/images/loop00084.png
+++ b/res-xhdpi/images/loop00084.png
Binary files differ
diff --git a/res-xhdpi/images/loop00085.png b/res-xhdpi/images/loop00085.png
index 2ea4b0afc..f05e8d620 100644
--- a/res-xhdpi/images/loop00085.png
+++ b/res-xhdpi/images/loop00085.png
Binary files differ
diff --git a/res-xhdpi/images/loop00086.png b/res-xhdpi/images/loop00086.png
index 9ba6ca615..28c5dfd88 100644
--- a/res-xhdpi/images/loop00086.png
+++ b/res-xhdpi/images/loop00086.png
Binary files differ
diff --git a/res-xhdpi/images/loop00087.png b/res-xhdpi/images/loop00087.png
index 75694a387..d969905ce 100644
--- a/res-xhdpi/images/loop00087.png
+++ b/res-xhdpi/images/loop00087.png
Binary files differ
diff --git a/res-xhdpi/images/loop00088.png b/res-xhdpi/images/loop00088.png
index 971e50848..653300297 100644
--- a/res-xhdpi/images/loop00088.png
+++ b/res-xhdpi/images/loop00088.png
Binary files differ
diff --git a/res-xhdpi/images/loop00089.png b/res-xhdpi/images/loop00089.png
index 41b6ce6b1..0d5cdea7a 100644
--- a/res-xhdpi/images/loop00089.png
+++ b/res-xhdpi/images/loop00089.png
Binary files differ
diff --git a/res-xhdpi/images/loop00090.png b/res-xhdpi/images/loop00090.png
index f5bf7a73b..b438e9e67 100644
--- a/res-xhdpi/images/loop00090.png
+++ b/res-xhdpi/images/loop00090.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00000.png b/res-xxhdpi/images/loop00000.png
index c5172629d..003c2f875 100644
--- a/res-xxhdpi/images/loop00000.png
+++ b/res-xxhdpi/images/loop00000.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00001.png b/res-xxhdpi/images/loop00001.png
index 1b1ce7397..05de3ddcf 100644
--- a/res-xxhdpi/images/loop00001.png
+++ b/res-xxhdpi/images/loop00001.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00002.png b/res-xxhdpi/images/loop00002.png
index e984a24c9..3b025475a 100644
--- a/res-xxhdpi/images/loop00002.png
+++ b/res-xxhdpi/images/loop00002.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00003.png b/res-xxhdpi/images/loop00003.png
index b11dddcb8..21f0dcc66 100644
--- a/res-xxhdpi/images/loop00003.png
+++ b/res-xxhdpi/images/loop00003.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00004.png b/res-xxhdpi/images/loop00004.png
index 10272b271..6a8b75891 100644
--- a/res-xxhdpi/images/loop00004.png
+++ b/res-xxhdpi/images/loop00004.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00005.png b/res-xxhdpi/images/loop00005.png
index 9558d7e68..a179aef45 100644
--- a/res-xxhdpi/images/loop00005.png
+++ b/res-xxhdpi/images/loop00005.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00006.png b/res-xxhdpi/images/loop00006.png
index 0e6c92d69..ef9f5e849 100644
--- a/res-xxhdpi/images/loop00006.png
+++ b/res-xxhdpi/images/loop00006.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00007.png b/res-xxhdpi/images/loop00007.png
index 0a353ad02..80a477d48 100644
--- a/res-xxhdpi/images/loop00007.png
+++ b/res-xxhdpi/images/loop00007.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00008.png b/res-xxhdpi/images/loop00008.png
index 2f0c1620c..6c5cec08b 100644
--- a/res-xxhdpi/images/loop00008.png
+++ b/res-xxhdpi/images/loop00008.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00009.png b/res-xxhdpi/images/loop00009.png
index 960d683fa..ac5dd30ee 100644
--- a/res-xxhdpi/images/loop00009.png
+++ b/res-xxhdpi/images/loop00009.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00010.png b/res-xxhdpi/images/loop00010.png
index b65c3011a..18f10a17e 100644
--- a/res-xxhdpi/images/loop00010.png
+++ b/res-xxhdpi/images/loop00010.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00011.png b/res-xxhdpi/images/loop00011.png
index 21444fa54..eac89e933 100644
--- a/res-xxhdpi/images/loop00011.png
+++ b/res-xxhdpi/images/loop00011.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00012.png b/res-xxhdpi/images/loop00012.png
index 587db0990..390f3cfd4 100644
--- a/res-xxhdpi/images/loop00012.png
+++ b/res-xxhdpi/images/loop00012.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00013.png b/res-xxhdpi/images/loop00013.png
index 57f2f66e2..18339e93f 100644
--- a/res-xxhdpi/images/loop00013.png
+++ b/res-xxhdpi/images/loop00013.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00014.png b/res-xxhdpi/images/loop00014.png
index d308a6530..77b5be491 100644
--- a/res-xxhdpi/images/loop00014.png
+++ b/res-xxhdpi/images/loop00014.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00015.png b/res-xxhdpi/images/loop00015.png
index 3585facad..7c16937af 100644
--- a/res-xxhdpi/images/loop00015.png
+++ b/res-xxhdpi/images/loop00015.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00016.png b/res-xxhdpi/images/loop00016.png
index fd5089c44..50ea46e76 100644
--- a/res-xxhdpi/images/loop00016.png
+++ b/res-xxhdpi/images/loop00016.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00017.png b/res-xxhdpi/images/loop00017.png
index 2c8c6a434..40bb9db17 100644
--- a/res-xxhdpi/images/loop00017.png
+++ b/res-xxhdpi/images/loop00017.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00018.png b/res-xxhdpi/images/loop00018.png
index 23d7ca287..55b4d70f6 100644
--- a/res-xxhdpi/images/loop00018.png
+++ b/res-xxhdpi/images/loop00018.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00019.png b/res-xxhdpi/images/loop00019.png
index cdefe2c55..a443090e9 100644
--- a/res-xxhdpi/images/loop00019.png
+++ b/res-xxhdpi/images/loop00019.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00020.png b/res-xxhdpi/images/loop00020.png
index ae78e4cfe..96e77eec9 100644
--- a/res-xxhdpi/images/loop00020.png
+++ b/res-xxhdpi/images/loop00020.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00021.png b/res-xxhdpi/images/loop00021.png
index ad83cfe04..35260af50 100644
--- a/res-xxhdpi/images/loop00021.png
+++ b/res-xxhdpi/images/loop00021.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00022.png b/res-xxhdpi/images/loop00022.png
index 850076ac1..1861848d8 100644
--- a/res-xxhdpi/images/loop00022.png
+++ b/res-xxhdpi/images/loop00022.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00023.png b/res-xxhdpi/images/loop00023.png
index cd30b3997..4b2e7da5f 100644
--- a/res-xxhdpi/images/loop00023.png
+++ b/res-xxhdpi/images/loop00023.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00024.png b/res-xxhdpi/images/loop00024.png
index e7ae4b277..1ffc765f4 100644
--- a/res-xxhdpi/images/loop00024.png
+++ b/res-xxhdpi/images/loop00024.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00025.png b/res-xxhdpi/images/loop00025.png
index 4e24bd118..9fb29d44b 100644
--- a/res-xxhdpi/images/loop00025.png
+++ b/res-xxhdpi/images/loop00025.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00026.png b/res-xxhdpi/images/loop00026.png
index 27713cce9..143def39f 100644
--- a/res-xxhdpi/images/loop00026.png
+++ b/res-xxhdpi/images/loop00026.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00027.png b/res-xxhdpi/images/loop00027.png
index 34e4ade2e..623d6bed2 100644
--- a/res-xxhdpi/images/loop00027.png
+++ b/res-xxhdpi/images/loop00027.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00028.png b/res-xxhdpi/images/loop00028.png
index 0e6fdee75..b7b43d27f 100644
--- a/res-xxhdpi/images/loop00028.png
+++ b/res-xxhdpi/images/loop00028.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00029.png b/res-xxhdpi/images/loop00029.png
index 21c1c635b..c9f183db1 100644
--- a/res-xxhdpi/images/loop00029.png
+++ b/res-xxhdpi/images/loop00029.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00030.png b/res-xxhdpi/images/loop00030.png
index 984c24f9b..b85c7e35c 100644
--- a/res-xxhdpi/images/loop00030.png
+++ b/res-xxhdpi/images/loop00030.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00031.png b/res-xxhdpi/images/loop00031.png
index 25fe1de26..4d938e25a 100644
--- a/res-xxhdpi/images/loop00031.png
+++ b/res-xxhdpi/images/loop00031.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00032.png b/res-xxhdpi/images/loop00032.png
index c089cb8a4..0a1787602 100644
--- a/res-xxhdpi/images/loop00032.png
+++ b/res-xxhdpi/images/loop00032.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00033.png b/res-xxhdpi/images/loop00033.png
index 82a2d9b54..c8919c312 100644
--- a/res-xxhdpi/images/loop00033.png
+++ b/res-xxhdpi/images/loop00033.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00034.png b/res-xxhdpi/images/loop00034.png
index 1aa76b94c..1584d5dbb 100644
--- a/res-xxhdpi/images/loop00034.png
+++ b/res-xxhdpi/images/loop00034.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00035.png b/res-xxhdpi/images/loop00035.png
index 4399143e4..2220cd3c8 100644
--- a/res-xxhdpi/images/loop00035.png
+++ b/res-xxhdpi/images/loop00035.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00036.png b/res-xxhdpi/images/loop00036.png
index 975ae666e..97ae5485d 100644
--- a/res-xxhdpi/images/loop00036.png
+++ b/res-xxhdpi/images/loop00036.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00037.png b/res-xxhdpi/images/loop00037.png
index dcf9a9050..84fca9758 100644
--- a/res-xxhdpi/images/loop00037.png
+++ b/res-xxhdpi/images/loop00037.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00038.png b/res-xxhdpi/images/loop00038.png
index f10b8b723..bba2181d6 100644
--- a/res-xxhdpi/images/loop00038.png
+++ b/res-xxhdpi/images/loop00038.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00039.png b/res-xxhdpi/images/loop00039.png
index 9c0d1e361..4659625fd 100644
--- a/res-xxhdpi/images/loop00039.png
+++ b/res-xxhdpi/images/loop00039.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00040.png b/res-xxhdpi/images/loop00040.png
index b6b4908f6..6b3092ae5 100644
--- a/res-xxhdpi/images/loop00040.png
+++ b/res-xxhdpi/images/loop00040.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00041.png b/res-xxhdpi/images/loop00041.png
index 12a1a1e9a..5b3cd1663 100644
--- a/res-xxhdpi/images/loop00041.png
+++ b/res-xxhdpi/images/loop00041.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00042.png b/res-xxhdpi/images/loop00042.png
index f1fc35baf..dbb8a7f3a 100644
--- a/res-xxhdpi/images/loop00042.png
+++ b/res-xxhdpi/images/loop00042.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00043.png b/res-xxhdpi/images/loop00043.png
index 50ac99e5e..582454237 100644
--- a/res-xxhdpi/images/loop00043.png
+++ b/res-xxhdpi/images/loop00043.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00044.png b/res-xxhdpi/images/loop00044.png
index f115dcc9b..d814246ad 100644
--- a/res-xxhdpi/images/loop00044.png
+++ b/res-xxhdpi/images/loop00044.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00045.png b/res-xxhdpi/images/loop00045.png
index adf7a671e..e6a8d3089 100644
--- a/res-xxhdpi/images/loop00045.png
+++ b/res-xxhdpi/images/loop00045.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00046.png b/res-xxhdpi/images/loop00046.png
index 588eeb3fb..2f616bf01 100644
--- a/res-xxhdpi/images/loop00046.png
+++ b/res-xxhdpi/images/loop00046.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00047.png b/res-xxhdpi/images/loop00047.png
index 9dea7701d..39b74d95f 100644
--- a/res-xxhdpi/images/loop00047.png
+++ b/res-xxhdpi/images/loop00047.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00048.png b/res-xxhdpi/images/loop00048.png
index d5eaeb126..2a94b8c70 100644
--- a/res-xxhdpi/images/loop00048.png
+++ b/res-xxhdpi/images/loop00048.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00049.png b/res-xxhdpi/images/loop00049.png
index fb837295b..6d86e2e14 100644
--- a/res-xxhdpi/images/loop00049.png
+++ b/res-xxhdpi/images/loop00049.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00050.png b/res-xxhdpi/images/loop00050.png
index 72441db4f..c6cb34417 100644
--- a/res-xxhdpi/images/loop00050.png
+++ b/res-xxhdpi/images/loop00050.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00051.png b/res-xxhdpi/images/loop00051.png
index bf7170a53..dc510fa03 100644
--- a/res-xxhdpi/images/loop00051.png
+++ b/res-xxhdpi/images/loop00051.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00052.png b/res-xxhdpi/images/loop00052.png
index c512b56d4..9fdd3ad72 100644
--- a/res-xxhdpi/images/loop00052.png
+++ b/res-xxhdpi/images/loop00052.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00053.png b/res-xxhdpi/images/loop00053.png
index 6ac3ca6f3..8fff9cc12 100644
--- a/res-xxhdpi/images/loop00053.png
+++ b/res-xxhdpi/images/loop00053.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00054.png b/res-xxhdpi/images/loop00054.png
index ba194a6ad..1f9dfaf3e 100644
--- a/res-xxhdpi/images/loop00054.png
+++ b/res-xxhdpi/images/loop00054.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00055.png b/res-xxhdpi/images/loop00055.png
index 9623f0d5c..b0f669070 100644
--- a/res-xxhdpi/images/loop00055.png
+++ b/res-xxhdpi/images/loop00055.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00056.png b/res-xxhdpi/images/loop00056.png
index e785e690f..79144d962 100644
--- a/res-xxhdpi/images/loop00056.png
+++ b/res-xxhdpi/images/loop00056.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00057.png b/res-xxhdpi/images/loop00057.png
index 9a5747ae3..a451181c9 100644
--- a/res-xxhdpi/images/loop00057.png
+++ b/res-xxhdpi/images/loop00057.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00058.png b/res-xxhdpi/images/loop00058.png
index 9a097cf12..eb6af3af5 100644
--- a/res-xxhdpi/images/loop00058.png
+++ b/res-xxhdpi/images/loop00058.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00059.png b/res-xxhdpi/images/loop00059.png
index fee2db1e1..d9a976dfd 100644
--- a/res-xxhdpi/images/loop00059.png
+++ b/res-xxhdpi/images/loop00059.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00060.png b/res-xxhdpi/images/loop00060.png
index 0e00e709f..93ff5d9f0 100644
--- a/res-xxhdpi/images/loop00060.png
+++ b/res-xxhdpi/images/loop00060.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00061.png b/res-xxhdpi/images/loop00061.png
index 0ecce17bd..13dcd2ab9 100644
--- a/res-xxhdpi/images/loop00061.png
+++ b/res-xxhdpi/images/loop00061.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00062.png b/res-xxhdpi/images/loop00062.png
index 0a296d129..1ffc8f885 100644
--- a/res-xxhdpi/images/loop00062.png
+++ b/res-xxhdpi/images/loop00062.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00063.png b/res-xxhdpi/images/loop00063.png
index 56c3b8b9b..6ec7dae5c 100644
--- a/res-xxhdpi/images/loop00063.png
+++ b/res-xxhdpi/images/loop00063.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00064.png b/res-xxhdpi/images/loop00064.png
index e6d639a3d..3c5bcc36e 100644
--- a/res-xxhdpi/images/loop00064.png
+++ b/res-xxhdpi/images/loop00064.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00065.png b/res-xxhdpi/images/loop00065.png
index 02e382b99..541fa8893 100644
--- a/res-xxhdpi/images/loop00065.png
+++ b/res-xxhdpi/images/loop00065.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00066.png b/res-xxhdpi/images/loop00066.png
index fe89ed00a..e65ca8ff9 100644
--- a/res-xxhdpi/images/loop00066.png
+++ b/res-xxhdpi/images/loop00066.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00067.png b/res-xxhdpi/images/loop00067.png
index a8f6ce50c..c93125b77 100644
--- a/res-xxhdpi/images/loop00067.png
+++ b/res-xxhdpi/images/loop00067.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00068.png b/res-xxhdpi/images/loop00068.png
index f9b7fb1c9..f7ef8e93e 100644
--- a/res-xxhdpi/images/loop00068.png
+++ b/res-xxhdpi/images/loop00068.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00069.png b/res-xxhdpi/images/loop00069.png
index d0dc50768..e3a16c507 100644
--- a/res-xxhdpi/images/loop00069.png
+++ b/res-xxhdpi/images/loop00069.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00070.png b/res-xxhdpi/images/loop00070.png
index 63f9e4df1..24cfdb111 100644
--- a/res-xxhdpi/images/loop00070.png
+++ b/res-xxhdpi/images/loop00070.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00071.png b/res-xxhdpi/images/loop00071.png
index 5ba39724f..efffad470 100644
--- a/res-xxhdpi/images/loop00071.png
+++ b/res-xxhdpi/images/loop00071.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00072.png b/res-xxhdpi/images/loop00072.png
index de834e398..63d62f368 100644
--- a/res-xxhdpi/images/loop00072.png
+++ b/res-xxhdpi/images/loop00072.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00073.png b/res-xxhdpi/images/loop00073.png
index 4be2aed88..de0f41041 100644
--- a/res-xxhdpi/images/loop00073.png
+++ b/res-xxhdpi/images/loop00073.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00074.png b/res-xxhdpi/images/loop00074.png
index 235e9a228..45c9a74bc 100644
--- a/res-xxhdpi/images/loop00074.png
+++ b/res-xxhdpi/images/loop00074.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00075.png b/res-xxhdpi/images/loop00075.png
index f6d806d5a..a26893783 100644
--- a/res-xxhdpi/images/loop00075.png
+++ b/res-xxhdpi/images/loop00075.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00076.png b/res-xxhdpi/images/loop00076.png
index 1e916d723..9edd577e7 100644
--- a/res-xxhdpi/images/loop00076.png
+++ b/res-xxhdpi/images/loop00076.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00077.png b/res-xxhdpi/images/loop00077.png
index 0dbac748e..23a7cc77c 100644
--- a/res-xxhdpi/images/loop00077.png
+++ b/res-xxhdpi/images/loop00077.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00078.png b/res-xxhdpi/images/loop00078.png
index 504d34a44..67dbf2d06 100644
--- a/res-xxhdpi/images/loop00078.png
+++ b/res-xxhdpi/images/loop00078.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00079.png b/res-xxhdpi/images/loop00079.png
index 51f4e8d7c..0ef021faf 100644
--- a/res-xxhdpi/images/loop00079.png
+++ b/res-xxhdpi/images/loop00079.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00080.png b/res-xxhdpi/images/loop00080.png
index 6ef03b82e..0de307b7a 100644
--- a/res-xxhdpi/images/loop00080.png
+++ b/res-xxhdpi/images/loop00080.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00081.png b/res-xxhdpi/images/loop00081.png
index e2ebc394d..cc31e9201 100644
--- a/res-xxhdpi/images/loop00081.png
+++ b/res-xxhdpi/images/loop00081.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00082.png b/res-xxhdpi/images/loop00082.png
index 9de83a733..6809fa37b 100644
--- a/res-xxhdpi/images/loop00082.png
+++ b/res-xxhdpi/images/loop00082.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00083.png b/res-xxhdpi/images/loop00083.png
index c5c0099de..c3e3a5827 100644
--- a/res-xxhdpi/images/loop00083.png
+++ b/res-xxhdpi/images/loop00083.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00084.png b/res-xxhdpi/images/loop00084.png
index 84c794f31..fc0df350f 100644
--- a/res-xxhdpi/images/loop00084.png
+++ b/res-xxhdpi/images/loop00084.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00085.png b/res-xxhdpi/images/loop00085.png
index 29a40c628..38baf7e71 100644
--- a/res-xxhdpi/images/loop00085.png
+++ b/res-xxhdpi/images/loop00085.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00086.png b/res-xxhdpi/images/loop00086.png
index 89a471735..c6616ebe3 100644
--- a/res-xxhdpi/images/loop00086.png
+++ b/res-xxhdpi/images/loop00086.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00087.png b/res-xxhdpi/images/loop00087.png
index ef8d4d5db..2e6b715cd 100644
--- a/res-xxhdpi/images/loop00087.png
+++ b/res-xxhdpi/images/loop00087.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00088.png b/res-xxhdpi/images/loop00088.png
index 5fc6c6224..660d0df8f 100644
--- a/res-xxhdpi/images/loop00088.png
+++ b/res-xxhdpi/images/loop00088.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00089.png b/res-xxhdpi/images/loop00089.png
index d6d99f42f..a6b82c588 100644
--- a/res-xxhdpi/images/loop00089.png
+++ b/res-xxhdpi/images/loop00089.png
Binary files differ
diff --git a/res-xxhdpi/images/loop00090.png b/res-xxhdpi/images/loop00090.png
index c5172629d..003c2f875 100644
--- a/res-xxhdpi/images/loop00090.png
+++ b/res-xxhdpi/images/loop00090.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00000.png b/res-xxxhdpi/images/loop00000.png
index 1bc9db5b1..d6640c540 100644
--- a/res-xxxhdpi/images/loop00000.png
+++ b/res-xxxhdpi/images/loop00000.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00001.png b/res-xxxhdpi/images/loop00001.png
index f835b8567..e1b82b938 100644
--- a/res-xxxhdpi/images/loop00001.png
+++ b/res-xxxhdpi/images/loop00001.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00002.png b/res-xxxhdpi/images/loop00002.png
index e3bff326c..9b8a381f4 100644
--- a/res-xxxhdpi/images/loop00002.png
+++ b/res-xxxhdpi/images/loop00002.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00003.png b/res-xxxhdpi/images/loop00003.png
index d864c15d7..b4d244c78 100644
--- a/res-xxxhdpi/images/loop00003.png
+++ b/res-xxxhdpi/images/loop00003.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00004.png b/res-xxxhdpi/images/loop00004.png
index 5d861c9b4..c9231596e 100644
--- a/res-xxxhdpi/images/loop00004.png
+++ b/res-xxxhdpi/images/loop00004.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00005.png b/res-xxxhdpi/images/loop00005.png
index e9e860c3c..ed739fae4 100644
--- a/res-xxxhdpi/images/loop00005.png
+++ b/res-xxxhdpi/images/loop00005.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00006.png b/res-xxxhdpi/images/loop00006.png
index d7c516e52..68116922b 100644
--- a/res-xxxhdpi/images/loop00006.png
+++ b/res-xxxhdpi/images/loop00006.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00007.png b/res-xxxhdpi/images/loop00007.png
index fa6d39716..bbeee0111 100644
--- a/res-xxxhdpi/images/loop00007.png
+++ b/res-xxxhdpi/images/loop00007.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00008.png b/res-xxxhdpi/images/loop00008.png
index 888d3a278..2c28032e7 100644
--- a/res-xxxhdpi/images/loop00008.png
+++ b/res-xxxhdpi/images/loop00008.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00009.png b/res-xxxhdpi/images/loop00009.png
index 9e6ead241..4ea659cfa 100644
--- a/res-xxxhdpi/images/loop00009.png
+++ b/res-xxxhdpi/images/loop00009.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00010.png b/res-xxxhdpi/images/loop00010.png
index 30e13e058..45928bc4c 100644
--- a/res-xxxhdpi/images/loop00010.png
+++ b/res-xxxhdpi/images/loop00010.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00011.png b/res-xxxhdpi/images/loop00011.png
index d8abc2bb5..8a8f2f7be 100644
--- a/res-xxxhdpi/images/loop00011.png
+++ b/res-xxxhdpi/images/loop00011.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00012.png b/res-xxxhdpi/images/loop00012.png
index 2d88cfb6a..1714d1be0 100644
--- a/res-xxxhdpi/images/loop00012.png
+++ b/res-xxxhdpi/images/loop00012.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00013.png b/res-xxxhdpi/images/loop00013.png
index 0250f7494..18ab24f2d 100644
--- a/res-xxxhdpi/images/loop00013.png
+++ b/res-xxxhdpi/images/loop00013.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00014.png b/res-xxxhdpi/images/loop00014.png
index c3d9239c9..5099bc502 100644
--- a/res-xxxhdpi/images/loop00014.png
+++ b/res-xxxhdpi/images/loop00014.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00015.png b/res-xxxhdpi/images/loop00015.png
index 644c9c6bd..b7e68683d 100644
--- a/res-xxxhdpi/images/loop00015.png
+++ b/res-xxxhdpi/images/loop00015.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00016.png b/res-xxxhdpi/images/loop00016.png
index eff6e5b4e..bc1337574 100644
--- a/res-xxxhdpi/images/loop00016.png
+++ b/res-xxxhdpi/images/loop00016.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00017.png b/res-xxxhdpi/images/loop00017.png
index b472a86be..8a9bd869d 100644
--- a/res-xxxhdpi/images/loop00017.png
+++ b/res-xxxhdpi/images/loop00017.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00018.png b/res-xxxhdpi/images/loop00018.png
index b17b6ce12..2150d630e 100644
--- a/res-xxxhdpi/images/loop00018.png
+++ b/res-xxxhdpi/images/loop00018.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00019.png b/res-xxxhdpi/images/loop00019.png
index d89b4da52..ec0cc589c 100644
--- a/res-xxxhdpi/images/loop00019.png
+++ b/res-xxxhdpi/images/loop00019.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00020.png b/res-xxxhdpi/images/loop00020.png
index 7e757b845..6596ea215 100644
--- a/res-xxxhdpi/images/loop00020.png
+++ b/res-xxxhdpi/images/loop00020.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00021.png b/res-xxxhdpi/images/loop00021.png
index 1a8ce3ec5..c874649cb 100644
--- a/res-xxxhdpi/images/loop00021.png
+++ b/res-xxxhdpi/images/loop00021.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00022.png b/res-xxxhdpi/images/loop00022.png
index e9ab39a5f..d5f834d45 100644
--- a/res-xxxhdpi/images/loop00022.png
+++ b/res-xxxhdpi/images/loop00022.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00023.png b/res-xxxhdpi/images/loop00023.png
index e1a7bf782..eb8af82fa 100644
--- a/res-xxxhdpi/images/loop00023.png
+++ b/res-xxxhdpi/images/loop00023.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00024.png b/res-xxxhdpi/images/loop00024.png
index f77f70cff..7da550688 100644
--- a/res-xxxhdpi/images/loop00024.png
+++ b/res-xxxhdpi/images/loop00024.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00025.png b/res-xxxhdpi/images/loop00025.png
index 8348cdfca..884414973 100644
--- a/res-xxxhdpi/images/loop00025.png
+++ b/res-xxxhdpi/images/loop00025.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00026.png b/res-xxxhdpi/images/loop00026.png
index 55fecc8bb..ee36358aa 100644
--- a/res-xxxhdpi/images/loop00026.png
+++ b/res-xxxhdpi/images/loop00026.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00027.png b/res-xxxhdpi/images/loop00027.png
index f4edf0641..0299dae07 100644
--- a/res-xxxhdpi/images/loop00027.png
+++ b/res-xxxhdpi/images/loop00027.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00028.png b/res-xxxhdpi/images/loop00028.png
index 6dbe90446..a8f5cef33 100644
--- a/res-xxxhdpi/images/loop00028.png
+++ b/res-xxxhdpi/images/loop00028.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00029.png b/res-xxxhdpi/images/loop00029.png
index 764f27a05..6b2ab3fcd 100644
--- a/res-xxxhdpi/images/loop00029.png
+++ b/res-xxxhdpi/images/loop00029.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00030.png b/res-xxxhdpi/images/loop00030.png
index 2d2156930..2d5b48de3 100644
--- a/res-xxxhdpi/images/loop00030.png
+++ b/res-xxxhdpi/images/loop00030.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00031.png b/res-xxxhdpi/images/loop00031.png
index e02db9c8b..40c4296cd 100644
--- a/res-xxxhdpi/images/loop00031.png
+++ b/res-xxxhdpi/images/loop00031.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00032.png b/res-xxxhdpi/images/loop00032.png
index 03f045684..f130b0ab9 100644
--- a/res-xxxhdpi/images/loop00032.png
+++ b/res-xxxhdpi/images/loop00032.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00033.png b/res-xxxhdpi/images/loop00033.png
index 5bdbbdbaf..24151ba62 100644
--- a/res-xxxhdpi/images/loop00033.png
+++ b/res-xxxhdpi/images/loop00033.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00034.png b/res-xxxhdpi/images/loop00034.png
index c8164e204..f74f89555 100644
--- a/res-xxxhdpi/images/loop00034.png
+++ b/res-xxxhdpi/images/loop00034.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00035.png b/res-xxxhdpi/images/loop00035.png
index ed5721d7c..4a0f8053f 100644
--- a/res-xxxhdpi/images/loop00035.png
+++ b/res-xxxhdpi/images/loop00035.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00036.png b/res-xxxhdpi/images/loop00036.png
index 08dffd26b..74658622d 100644
--- a/res-xxxhdpi/images/loop00036.png
+++ b/res-xxxhdpi/images/loop00036.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00037.png b/res-xxxhdpi/images/loop00037.png
index 583b665e4..5d10d10a5 100644
--- a/res-xxxhdpi/images/loop00037.png
+++ b/res-xxxhdpi/images/loop00037.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00038.png b/res-xxxhdpi/images/loop00038.png
index cc2933d6a..15d5db2f2 100644
--- a/res-xxxhdpi/images/loop00038.png
+++ b/res-xxxhdpi/images/loop00038.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00039.png b/res-xxxhdpi/images/loop00039.png
index 1f0496adb..b92d49d08 100644
--- a/res-xxxhdpi/images/loop00039.png
+++ b/res-xxxhdpi/images/loop00039.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00040.png b/res-xxxhdpi/images/loop00040.png
index 05bf33593..5c19c0254 100644
--- a/res-xxxhdpi/images/loop00040.png
+++ b/res-xxxhdpi/images/loop00040.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00041.png b/res-xxxhdpi/images/loop00041.png
index a868c7b2d..2c9d406b7 100644
--- a/res-xxxhdpi/images/loop00041.png
+++ b/res-xxxhdpi/images/loop00041.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00042.png b/res-xxxhdpi/images/loop00042.png
index 7c7220f29..bb24da5b4 100644
--- a/res-xxxhdpi/images/loop00042.png
+++ b/res-xxxhdpi/images/loop00042.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00043.png b/res-xxxhdpi/images/loop00043.png
index 30336a77b..0a9efd8a2 100644
--- a/res-xxxhdpi/images/loop00043.png
+++ b/res-xxxhdpi/images/loop00043.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00044.png b/res-xxxhdpi/images/loop00044.png
index 80d373584..70e1cbc84 100644
--- a/res-xxxhdpi/images/loop00044.png
+++ b/res-xxxhdpi/images/loop00044.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00045.png b/res-xxxhdpi/images/loop00045.png
index 71a52c20c..0ecb787b9 100644
--- a/res-xxxhdpi/images/loop00045.png
+++ b/res-xxxhdpi/images/loop00045.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00046.png b/res-xxxhdpi/images/loop00046.png
index b3b37029d..c2c425abd 100644
--- a/res-xxxhdpi/images/loop00046.png
+++ b/res-xxxhdpi/images/loop00046.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00047.png b/res-xxxhdpi/images/loop00047.png
index 6ce2b37ab..71812b3a7 100644
--- a/res-xxxhdpi/images/loop00047.png
+++ b/res-xxxhdpi/images/loop00047.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00048.png b/res-xxxhdpi/images/loop00048.png
index 0b428cd73..6ef44ce22 100644
--- a/res-xxxhdpi/images/loop00048.png
+++ b/res-xxxhdpi/images/loop00048.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00049.png b/res-xxxhdpi/images/loop00049.png
index 53c1a4774..5c7b1c50a 100644
--- a/res-xxxhdpi/images/loop00049.png
+++ b/res-xxxhdpi/images/loop00049.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00050.png b/res-xxxhdpi/images/loop00050.png
index 0e17bbdff..10dcf213c 100644
--- a/res-xxxhdpi/images/loop00050.png
+++ b/res-xxxhdpi/images/loop00050.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00051.png b/res-xxxhdpi/images/loop00051.png
index 78a99dcc7..e850b32aa 100644
--- a/res-xxxhdpi/images/loop00051.png
+++ b/res-xxxhdpi/images/loop00051.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00052.png b/res-xxxhdpi/images/loop00052.png
index efd0df559..7abf444a3 100644
--- a/res-xxxhdpi/images/loop00052.png
+++ b/res-xxxhdpi/images/loop00052.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00053.png b/res-xxxhdpi/images/loop00053.png
index 0c417eef9..f680849af 100644
--- a/res-xxxhdpi/images/loop00053.png
+++ b/res-xxxhdpi/images/loop00053.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00054.png b/res-xxxhdpi/images/loop00054.png
index 072077e6f..012c14dee 100644
--- a/res-xxxhdpi/images/loop00054.png
+++ b/res-xxxhdpi/images/loop00054.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00055.png b/res-xxxhdpi/images/loop00055.png
index 693083ac8..ae335dbb9 100644
--- a/res-xxxhdpi/images/loop00055.png
+++ b/res-xxxhdpi/images/loop00055.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00056.png b/res-xxxhdpi/images/loop00056.png
index 07cbd75d1..8e928ea85 100644
--- a/res-xxxhdpi/images/loop00056.png
+++ b/res-xxxhdpi/images/loop00056.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00057.png b/res-xxxhdpi/images/loop00057.png
index cc98ab21a..c23d4f0d7 100644
--- a/res-xxxhdpi/images/loop00057.png
+++ b/res-xxxhdpi/images/loop00057.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00058.png b/res-xxxhdpi/images/loop00058.png
index f55d21821..d5144aa69 100644
--- a/res-xxxhdpi/images/loop00058.png
+++ b/res-xxxhdpi/images/loop00058.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00059.png b/res-xxxhdpi/images/loop00059.png
index 4bfed350a..f8f3a7c16 100644
--- a/res-xxxhdpi/images/loop00059.png
+++ b/res-xxxhdpi/images/loop00059.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00060.png b/res-xxxhdpi/images/loop00060.png
index 59f158b10..8894a236f 100644
--- a/res-xxxhdpi/images/loop00060.png
+++ b/res-xxxhdpi/images/loop00060.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00061.png b/res-xxxhdpi/images/loop00061.png
index fd0dc558d..1c33e84fd 100644
--- a/res-xxxhdpi/images/loop00061.png
+++ b/res-xxxhdpi/images/loop00061.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00062.png b/res-xxxhdpi/images/loop00062.png
index 2c316ce69..c2242ff49 100644
--- a/res-xxxhdpi/images/loop00062.png
+++ b/res-xxxhdpi/images/loop00062.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00063.png b/res-xxxhdpi/images/loop00063.png
index 5b83c81cd..c357ffaae 100644
--- a/res-xxxhdpi/images/loop00063.png
+++ b/res-xxxhdpi/images/loop00063.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00064.png b/res-xxxhdpi/images/loop00064.png
index ced0a9ab5..f9466997e 100644
--- a/res-xxxhdpi/images/loop00064.png
+++ b/res-xxxhdpi/images/loop00064.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00065.png b/res-xxxhdpi/images/loop00065.png
index 6e699dda6..52d976b25 100644
--- a/res-xxxhdpi/images/loop00065.png
+++ b/res-xxxhdpi/images/loop00065.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00066.png b/res-xxxhdpi/images/loop00066.png
index 8853cfffe..cf37f2f97 100644
--- a/res-xxxhdpi/images/loop00066.png
+++ b/res-xxxhdpi/images/loop00066.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00067.png b/res-xxxhdpi/images/loop00067.png
index 24d11d14b..d8a1e7835 100644
--- a/res-xxxhdpi/images/loop00067.png
+++ b/res-xxxhdpi/images/loop00067.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00068.png b/res-xxxhdpi/images/loop00068.png
index d54fff0ba..8bbaf020d 100644
--- a/res-xxxhdpi/images/loop00068.png
+++ b/res-xxxhdpi/images/loop00068.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00069.png b/res-xxxhdpi/images/loop00069.png
index 67f8d7884..99d1072cd 100644
--- a/res-xxxhdpi/images/loop00069.png
+++ b/res-xxxhdpi/images/loop00069.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00070.png b/res-xxxhdpi/images/loop00070.png
index d56fb78a5..bd8979e73 100644
--- a/res-xxxhdpi/images/loop00070.png
+++ b/res-xxxhdpi/images/loop00070.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00071.png b/res-xxxhdpi/images/loop00071.png
index e787b8a5a..e823dccce 100644
--- a/res-xxxhdpi/images/loop00071.png
+++ b/res-xxxhdpi/images/loop00071.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00072.png b/res-xxxhdpi/images/loop00072.png
index 81f2e4c4b..475190fd0 100644
--- a/res-xxxhdpi/images/loop00072.png
+++ b/res-xxxhdpi/images/loop00072.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00073.png b/res-xxxhdpi/images/loop00073.png
index ad46ed162..84c4874c9 100644
--- a/res-xxxhdpi/images/loop00073.png
+++ b/res-xxxhdpi/images/loop00073.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00074.png b/res-xxxhdpi/images/loop00074.png
index d835a2bd3..e2d90a292 100644
--- a/res-xxxhdpi/images/loop00074.png
+++ b/res-xxxhdpi/images/loop00074.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00075.png b/res-xxxhdpi/images/loop00075.png
index aa35a84ba..ff13dfeb8 100644
--- a/res-xxxhdpi/images/loop00075.png
+++ b/res-xxxhdpi/images/loop00075.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00076.png b/res-xxxhdpi/images/loop00076.png
index 6ea547e29..01886ae45 100644
--- a/res-xxxhdpi/images/loop00076.png
+++ b/res-xxxhdpi/images/loop00076.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00077.png b/res-xxxhdpi/images/loop00077.png
index c80938309..4bac4ea9b 100644
--- a/res-xxxhdpi/images/loop00077.png
+++ b/res-xxxhdpi/images/loop00077.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00078.png b/res-xxxhdpi/images/loop00078.png
index 827a75c9f..6ced1a27f 100644
--- a/res-xxxhdpi/images/loop00078.png
+++ b/res-xxxhdpi/images/loop00078.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00079.png b/res-xxxhdpi/images/loop00079.png
index 18dc1cf90..f7baed340 100644
--- a/res-xxxhdpi/images/loop00079.png
+++ b/res-xxxhdpi/images/loop00079.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00080.png b/res-xxxhdpi/images/loop00080.png
index df06b5628..fbb0a138d 100644
--- a/res-xxxhdpi/images/loop00080.png
+++ b/res-xxxhdpi/images/loop00080.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00081.png b/res-xxxhdpi/images/loop00081.png
index a5ba60379..3fc7a4959 100644
--- a/res-xxxhdpi/images/loop00081.png
+++ b/res-xxxhdpi/images/loop00081.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00082.png b/res-xxxhdpi/images/loop00082.png
index e3298c5f3..3114002bc 100644
--- a/res-xxxhdpi/images/loop00082.png
+++ b/res-xxxhdpi/images/loop00082.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00083.png b/res-xxxhdpi/images/loop00083.png
index c395662c4..df1b8301a 100644
--- a/res-xxxhdpi/images/loop00083.png
+++ b/res-xxxhdpi/images/loop00083.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00084.png b/res-xxxhdpi/images/loop00084.png
index f80af8e78..11a72f2e3 100644
--- a/res-xxxhdpi/images/loop00084.png
+++ b/res-xxxhdpi/images/loop00084.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00085.png b/res-xxxhdpi/images/loop00085.png
index c89675830..ba0a43ecc 100644
--- a/res-xxxhdpi/images/loop00085.png
+++ b/res-xxxhdpi/images/loop00085.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00086.png b/res-xxxhdpi/images/loop00086.png
index 97716923f..c4111b2a3 100644
--- a/res-xxxhdpi/images/loop00086.png
+++ b/res-xxxhdpi/images/loop00086.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00087.png b/res-xxxhdpi/images/loop00087.png
index e805dfa01..13b83c7e5 100644
--- a/res-xxxhdpi/images/loop00087.png
+++ b/res-xxxhdpi/images/loop00087.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00088.png b/res-xxxhdpi/images/loop00088.png
index aa1a88e26..e7d9d6d7a 100644
--- a/res-xxxhdpi/images/loop00088.png
+++ b/res-xxxhdpi/images/loop00088.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00089.png b/res-xxxhdpi/images/loop00089.png
index 5bf7781d0..fd1951c6f 100644
--- a/res-xxxhdpi/images/loop00089.png
+++ b/res-xxxhdpi/images/loop00089.png
Binary files differ
diff --git a/res-xxxhdpi/images/loop00090.png b/res-xxxhdpi/images/loop00090.png
index 1bc9db5b1..d6640c540 100644
--- a/res-xxxhdpi/images/loop00090.png
+++ b/res-xxxhdpi/images/loop00090.png
Binary files differ
diff --git a/tests/Android.mk b/tests/Android.mk
index e87a22964..fdc947028 100644
--- a/tests/Android.mk
+++ b/tests/Android.mk
@@ -92,6 +92,8 @@ LOCAL_STATIC_LIBRARIES := \
libcrypto \
libcutils \
libbz \
+ libziparchive \
+ libutils \
libz \
libbase \
libtune2fs \
diff --git a/tests/common/test_constants.h b/tests/common/test_constants.h
index 97e74a3c2..93e4ab5b2 100644
--- a/tests/common/test_constants.h
+++ b/tests/common/test_constants.h
@@ -19,6 +19,15 @@
#include <stdlib.h>
+// Zip entries in ziptest_valid.zip.
+static const std::string kATxtContents("abcdefghabcdefgh\n");
+static const std::string kBTxtContents("abcdefgh\n");
+
+// echo -n -e "abcdefghabcdefgh\n" | sha1sum
+static const std::string kATxtSha1Sum("32c96a03dc8cd20097940f351bca6261ee5a1643");
+// echo -n -e "abcdefgh\n" | sha1sum
+static const std::string kBTxtSha1Sum("e414af7161c9554089f4106d6f1797ef14a73666");
+
static const char* data_root = getenv("ANDROID_DATA");
static std::string from_testdata_base(const std::string& fname) {
diff --git a/tests/component/updater_test.cpp b/tests/component/updater_test.cpp
index 973c19de3..a029cf449 100644
--- a/tests/component/updater_test.cpp
+++ b/tests/component/updater_test.cpp
@@ -24,35 +24,40 @@
#include <android-base/properties.h>
#include <android-base/test_utils.h>
#include <gtest/gtest.h>
+#include <ziparchive/zip_archive.h>
+#include "common/test_constants.h"
#include "edify/expr.h"
#include "error_code.h"
#include "updater/install.h"
+#include "updater/updater.h"
struct selabel_handle *sehandle = nullptr;
-static void expect(const char* expected, const char* expr_str, CauseCode cause_code) {
- Expr* e;
- int error_count;
- EXPECT_EQ(parse_string(expr_str, &e, &error_count), 0);
+static void expect(const char* expected, const char* expr_str, CauseCode cause_code,
+ UpdaterInfo* info = nullptr) {
+ Expr* e;
+ int error_count = 0;
+ ASSERT_EQ(0, parse_string(expr_str, &e, &error_count));
+ ASSERT_EQ(0, error_count);
- State state(expr_str, nullptr);
+ State state(expr_str, info);
- std::string result;
- bool status = Evaluate(&state, e, &result);
+ std::string result;
+ bool status = Evaluate(&state, e, &result);
- if (expected == nullptr) {
- EXPECT_FALSE(status);
- } else {
- EXPECT_STREQ(expected, result.c_str());
- }
-
- // Error code is set in updater/updater.cpp only, by parsing State.errmsg.
- EXPECT_EQ(kNoError, state.error_code);
+ if (expected == nullptr) {
+ ASSERT_FALSE(status);
+ } else {
+ ASSERT_TRUE(status);
+ ASSERT_STREQ(expected, result.c_str());
+ }
- // Cause code should always be available.
- EXPECT_EQ(cause_code, state.cause_code);
+ // Error code is set in updater/updater.cpp only, by parsing State.errmsg.
+ ASSERT_EQ(kNoError, state.error_code);
+ // Cause code should always be available.
+ ASSERT_EQ(cause_code, state.cause_code);
}
class UpdaterTest : public ::testing::Test {
@@ -264,3 +269,56 @@ TEST_F(UpdaterTest, symlink) {
ASSERT_EQ(0, unlink(src1.c_str()));
ASSERT_EQ(0, unlink(src2.c_str()));
}
+
+// TODO: Test extracting to block device.
+TEST_F(UpdaterTest, package_extract_file) {
+ // package_extract_file expects 1 or 2 arguments.
+ expect(nullptr, "package_extract_file()", kArgsParsingFailure);
+ expect(nullptr, "package_extract_file(\"arg1\", \"arg2\", \"arg3\")", kArgsParsingFailure);
+
+ std::string zip_path = from_testdata_base("ziptest_valid.zip");
+ ZipArchiveHandle handle;
+ ASSERT_EQ(0, OpenArchive(zip_path.c_str(), &handle));
+
+ // Need to set up the ziphandle.
+ UpdaterInfo updater_info;
+ updater_info.package_zip = handle;
+
+ // Two-argument version.
+ TemporaryFile temp_file1;
+ std::string script("package_extract_file(\"a.txt\", \"" + std::string(temp_file1.path) + "\")");
+ expect("t", script.c_str(), kNoCause, &updater_info);
+
+ // Verify the extracted entry.
+ std::string data;
+ ASSERT_TRUE(android::base::ReadFileToString(temp_file1.path, &data));
+ ASSERT_EQ(kATxtContents, data);
+
+ // Now extract another entry to the same location, which should overwrite.
+ script = "package_extract_file(\"b.txt\", \"" + std::string(temp_file1.path) + "\")";
+ expect("t", script.c_str(), kNoCause, &updater_info);
+
+ ASSERT_TRUE(android::base::ReadFileToString(temp_file1.path, &data));
+ ASSERT_EQ(kBTxtContents, data);
+
+ // Missing zip entry. The two-argument version doesn't abort.
+ script = "package_extract_file(\"doesntexist\", \"" + std::string(temp_file1.path) + "\")";
+ expect("", script.c_str(), kNoCause, &updater_info);
+
+ // Extract to /dev/full should fail.
+ script = "package_extract_file(\"a.txt\", \"/dev/full\")";
+ expect("", script.c_str(), kNoCause, &updater_info);
+
+ // One-argument version.
+ script = "sha1_check(package_extract_file(\"a.txt\"))";
+ expect(kATxtSha1Sum.c_str(), script.c_str(), kNoCause, &updater_info);
+
+ script = "sha1_check(package_extract_file(\"b.txt\"))";
+ expect(kBTxtSha1Sum.c_str(), script.c_str(), kNoCause, &updater_info);
+
+ // Missing entry. The one-argument version aborts the evaluation.
+ script = "package_extract_file(\"doesntexist\")";
+ expect(nullptr, script.c_str(), kPackageExtractFileFailure, &updater_info);
+
+ CloseArchive(handle);
+}
diff --git a/tests/unit/zip_test.cpp b/tests/unit/zip_test.cpp
index 49729467d..ef0ee4c1d 100644
--- a/tests/unit/zip_test.cpp
+++ b/tests/unit/zip_test.cpp
@@ -30,9 +30,6 @@
#include "common/test_constants.h"
-static const std::string kATxtContents("abcdefghabcdefgh\n");
-static const std::string kBTxtContents("abcdefgh\n");
-
TEST(ZipTest, ExtractPackageRecursive) {
std::string zip_path = from_testdata_base("ziptest_valid.zip");
ZipArchiveHandle handle;
diff --git a/updater/install.cpp b/updater/install.cpp
index 59c54dd4c..b885f864e 100644
--- a/updater/install.cpp
+++ b/updater/install.cpp
@@ -477,93 +477,86 @@ Value* PackageExtractDirFn(const char* name, State* state,
return StringValue(success ? "t" : "");
}
+// package_extract_file(package_file[, dest_file])
+// Extracts a single package_file from the update package and writes it to dest_file,
+// overwriting existing files if necessary. Without the dest_file argument, returns the
+// contents of the package file as a binary blob.
+Value* PackageExtractFileFn(const char* name, State* state, int argc, Expr* argv[]) {
+ if (argc < 1 || argc > 2) {
+ return ErrorAbort(state, kArgsParsingFailure, "%s() expects 1 or 2 args, got %d", name, argc);
+ }
+
+ if (argc == 2) {
+ // The two-argument version extracts to a file.
-// package_extract_file(package_path, destination_path)
-// or
-// package_extract_file(package_path)
-// to return the entire contents of the file as the result of this
-// function (the char* returned is actually a FileContents*).
-Value* PackageExtractFileFn(const char* name, State* state,
- int argc, Expr* argv[]) {
- if (argc < 1 || argc > 2) {
- return ErrorAbort(state, kArgsParsingFailure, "%s() expects 1 or 2 args, got %d",
- name, argc);
+ std::vector<std::string> args;
+ if (!ReadArgs(state, 2, argv, &args)) {
+ return ErrorAbort(state, kArgsParsingFailure, "%s() Failed to parse %d args", name, argc);
}
- bool success = false;
-
- if (argc == 2) {
- // The two-argument version extracts to a file.
-
- ZipArchiveHandle za = ((UpdaterInfo*)(state->cookie))->package_zip;
-
- std::vector<std::string> args;
- if (!ReadArgs(state, 2, argv, &args)) {
- return ErrorAbort(state, kArgsParsingFailure, "%s() Failed to parse %d args", name,
- argc);
- }
- const std::string& zip_path = args[0];
- const std::string& dest_path = args[1];
+ const std::string& zip_path = args[0];
+ const std::string& dest_path = args[1];
- ZipString zip_string_path(zip_path.c_str());
- ZipEntry entry;
- if (FindEntry(za, zip_string_path, &entry) != 0) {
- printf("%s: no %s in package\n", name, zip_path.c_str());
- return StringValue("");
- }
+ ZipArchiveHandle za = static_cast<UpdaterInfo*>(state->cookie)->package_zip;
+ ZipString zip_string_path(zip_path.c_str());
+ ZipEntry entry;
+ if (FindEntry(za, zip_string_path, &entry) != 0) {
+ printf("%s: no %s in package\n", name, zip_path.c_str());
+ return StringValue("");
+ }
- int fd = TEMP_FAILURE_RETRY(ota_open(dest_path.c_str(), O_WRONLY | O_CREAT | O_TRUNC,
- S_IRUSR | S_IWUSR));
- if (fd == -1) {
- printf("%s: can't open %s for write: %s\n", name, dest_path.c_str(), strerror(errno));
- return StringValue("");
- }
- success = ExtractEntryToFile(za, &entry, fd);
- if (ota_fsync(fd) == -1) {
- printf("fsync of \"%s\" failed: %s\n", dest_path.c_str(), strerror(errno));
- success = false;
- }
- if (ota_close(fd) == -1) {
- printf("close of \"%s\" failed: %s\n", dest_path.c_str(), strerror(errno));
- success = false;
- }
+ int fd = TEMP_FAILURE_RETRY(
+ ota_open(dest_path.c_str(), O_WRONLY | O_CREAT | O_TRUNC, S_IRUSR | S_IWUSR));
+ if (fd == -1) {
+ printf("%s: can't open %s for write: %s\n", name, dest_path.c_str(), strerror(errno));
+ return StringValue("");
+ }
- return StringValue(success ? "t" : "");
- } else {
- // The one-argument version returns the contents of the file
- // as the result.
+ bool success = true;
+ int32_t ret = ExtractEntryToFile(za, &entry, fd);
+ if (ret != 0) {
+ printf("%s: Failed to extract entry \"%s\" (%u bytes) to \"%s\": %s\n", name,
+ zip_path.c_str(), entry.uncompressed_length, dest_path.c_str(), ErrorCodeString(ret));
+ success = false;
+ }
+ if (ota_fsync(fd) == -1) {
+ printf("fsync of \"%s\" failed: %s\n", dest_path.c_str(), strerror(errno));
+ success = false;
+ }
+ if (ota_close(fd) == -1) {
+ printf("close of \"%s\" failed: %s\n", dest_path.c_str(), strerror(errno));
+ success = false;
+ }
- std::vector<std::string> args;
- if (!ReadArgs(state, 1, argv, &args)) {
- return ErrorAbort(state, kArgsParsingFailure, "%s() Failed to parse %d args", name,
- argc);
- }
- const std::string& zip_path = args[0];
+ return StringValue(success ? "t" : "");
+ } else {
+ // The one-argument version returns the contents of the file as the result.
- Value* v = new Value(VAL_INVALID, "");
+ std::vector<std::string> args;
+ if (!ReadArgs(state, 1, argv, &args)) {
+ return ErrorAbort(state, kArgsParsingFailure, "%s() Failed to parse %d args", name, argc);
+ }
+ const std::string& zip_path = args[0];
- ZipArchiveHandle za = ((UpdaterInfo*)(state->cookie))->package_zip;
- ZipString zip_string_path(zip_path.c_str());
- ZipEntry entry;
- if (FindEntry(za, zip_string_path, &entry) != 0) {
- printf("%s: no %s in package\n", name, zip_path.c_str());
- return v;
- }
+ ZipArchiveHandle za = static_cast<UpdaterInfo*>(state->cookie)->package_zip;
+ ZipString zip_string_path(zip_path.c_str());
+ ZipEntry entry;
+ if (FindEntry(za, zip_string_path, &entry) != 0) {
+ return ErrorAbort(state, kPackageExtractFileFailure, "%s(): no %s in package", name,
+ zip_path.c_str());
+ }
- v->data.resize(entry.uncompressed_length);
- if (ExtractToMemory(za, &entry, reinterpret_cast<uint8_t*>(&v->data[0]),
- v->data.size()) != 0) {
- printf("%s: faled to extract %zu bytes to memory\n", name, v->data.size());
- } else {
- success = true;
- }
+ std::string buffer;
+ buffer.resize(entry.uncompressed_length);
- if (!success) {
- v->data.clear();
- } else {
- v->type = VAL_BLOB;
- }
- return v;
+ int32_t ret = ExtractToMemory(za, &entry, reinterpret_cast<uint8_t*>(&buffer[0]), buffer.size());
+ if (ret != 0) {
+ return ErrorAbort(state, kPackageExtractFileFailure,
+ "%s: Failed to extract entry \"%s\" (%zu bytes) to memory: %s", name,
+ zip_path.c_str(), buffer.size(), ErrorCodeString(ret));
}
+
+ return new Value(VAL_BLOB, buffer);
+ }
}
// symlink(target, [src1, src2, ...])