From 5b6397ea1a1c9c969d87d350476ee6d97f51e3bb Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 8 Jan 2016 01:23:49 +0100 Subject: [PATCH] Storage list in Buys --- .../2.2.1/taskArtifacts/cache.properties.lock | Bin 17 -> 17 bytes .../2.2.1/taskArtifacts/fileHashes.bin | Bin 136925 -> 143196 bytes .../2.2.1/taskArtifacts/fileSnapshots.bin | Bin 573628 -> 636624 bytes .../2.2.1/taskArtifacts/taskArtifacts.bin | Bin 100442 -> 106266 bytes platforms/android/assets/www/index.html | 2 +- .../android/assets/www/js/controllers.js | 20 +- .../assets/www/templates/tab-buys.html | 39 +- .../assets/debug/www/cordova_plugins.js | 187 ++++++++- .../assets/debug/www/js/controllers.js | 90 ++-- .../assets/debug/www/js/services.js | 55 +-- .../www/FileTransfer.js | 237 +++++++++++ .../www/FileTransferError.js | 43 ++ .../cordova-plugin-file/www/DirectoryEntry.js | 119 ++++++ .../www/DirectoryReader.js | 75 ++++ .../plugins/cordova-plugin-file/www/Entry.js | 262 ++++++++++++ .../plugins/cordova-plugin-file/www/File.js | 81 ++++ .../cordova-plugin-file/www/FileEntry.js | 83 ++++ .../cordova-plugin-file/www/FileError.js | 48 +++ .../cordova-plugin-file/www/FileReader.js | 392 ++++++++++++++++++ .../cordova-plugin-file/www/FileSystem.js | 50 +++ .../www/FileUploadOptions.js | 43 ++ .../www/FileUploadResult.js | 31 ++ .../cordova-plugin-file/www/FileWriter.js | 304 ++++++++++++++ .../plugins/cordova-plugin-file/www/Flags.js | 38 ++ .../www/LocalFileSystem.js | 25 ++ .../cordova-plugin-file/www/Metadata.js | 42 ++ .../cordova-plugin-file/www/ProgressEvent.js | 69 +++ .../www/android/FileSystem.js | 38 ++ .../www/fileSystemPaths.js | 65 +++ .../www/fileSystems-roots.js | 46 ++ .../cordova-plugin-file/www/fileSystems.js | 27 ++ .../www/requestFileSystem.js | 78 ++++ .../www/resolveLocalFileSystemURI.js | 89 ++++ .../assets/debug/www/templates/tab-buys.html | 39 +- .../assets/debug/www/templates/tab-dash.html | 6 +- .../apache/cordova/file/AssetFilesystem.class | Bin 0 -> 9961 bytes .../cordova/file/ContentFilesystem.class | Bin 0 -> 8289 bytes .../cordova/file/DirectoryManager.class | Bin 0 -> 2209 bytes .../cordova/file/EncodingException.class | Bin 0 -> 391 bytes .../cordova/file/FileExistsException.class | Bin 0 -> 393 bytes .../org/apache/cordova/file/FileUtils$1.class | Bin 0 -> 1379 bytes .../apache/cordova/file/FileUtils$10.class | Bin 0 -> 1749 bytes .../apache/cordova/file/FileUtils$11.class | Bin 0 -> 1164 bytes .../apache/cordova/file/FileUtils$12.class | Bin 0 -> 1166 bytes .../apache/cordova/file/FileUtils$13.class | Bin 0 -> 1869 bytes .../apache/cordova/file/FileUtils$14.class | Bin 0 -> 1376 bytes .../apache/cordova/file/FileUtils$15.class | Bin 0 -> 1424 bytes .../apache/cordova/file/FileUtils$16.class | Bin 0 -> 1376 bytes .../apache/cordova/file/FileUtils$17.class | Bin 0 -> 1660 bytes .../apache/cordova/file/FileUtils$18.class | Bin 0 -> 1660 bytes .../apache/cordova/file/FileUtils$19.class | Bin 0 -> 1583 bytes .../org/apache/cordova/file/FileUtils$2.class | Bin 0 -> 1376 bytes .../apache/cordova/file/FileUtils$20.class | Bin 0 -> 1574 bytes .../apache/cordova/file/FileUtils$21.class | Bin 0 -> 1707 bytes .../apache/cordova/file/FileUtils$22.class | Bin 0 -> 1707 bytes .../apache/cordova/file/FileUtils$23.class | Bin 0 -> 1377 bytes .../apache/cordova/file/FileUtils$24.class | Bin 0 -> 1377 bytes .../apache/cordova/file/FileUtils$25.class | Bin 0 -> 2700 bytes .../apache/cordova/file/FileUtils$26.class | Bin 0 -> 3115 bytes .../org/apache/cordova/file/FileUtils$3.class | Bin 0 -> 1560 bytes .../org/apache/cordova/file/FileUtils$4.class | Bin 0 -> 1560 bytes .../org/apache/cordova/file/FileUtils$5.class | Bin 0 -> 1374 bytes .../org/apache/cordova/file/FileUtils$6.class | Bin 0 -> 1341 bytes .../org/apache/cordova/file/FileUtils$7.class | Bin 0 -> 1342 bytes .../org/apache/cordova/file/FileUtils$8.class | Bin 0 -> 1342 bytes .../org/apache/cordova/file/FileUtils$9.class | Bin 0 -> 1946 bytes .../cordova/file/FileUtils$FileOp.class | Bin 0 -> 297 bytes .../org/apache/cordova/file/FileUtils.class | Bin 0 -> 24606 bytes .../file/Filesystem$LimitedInputStream.class | Bin 0 -> 1240 bytes .../file/Filesystem$ReadFileCallback.class | Bin 0 -> 346 bytes .../org/apache/cordova/file/Filesystem.class | Bin 0 -> 11137 bytes .../file/InvalidModificationException.class | Bin 0 -> 424 bytes .../apache/cordova/file/LocalFilesystem.class | Bin 0 -> 14855 bytes .../cordova/file/LocalFilesystemURL.class | Bin 0 -> 1665 bytes .../file/NoModificationAllowedException.class | Bin 0 -> 430 bytes .../cordova/file/TypeMismatchException.class | Bin 0 -> 403 bytes .../filetransfer/FileProgressResult.class | Bin 0 -> 1650 bytes .../cordova/filetransfer/FileTransfer$1.class | Bin 0 -> 13120 bytes .../cordova/filetransfer/FileTransfer$2.class | Bin 0 -> 687 bytes .../cordova/filetransfer/FileTransfer$3.class | Bin 0 -> 1058 bytes .../cordova/filetransfer/FileTransfer$4.class | Bin 0 -> 12123 bytes .../cordova/filetransfer/FileTransfer$5.class | Bin 0 -> 2383 bytes .../FileTransfer$ExposedGZIPInputStream.class | Bin 0 -> 750 bytes .../FileTransfer$RequestContext.class | Bin 0 -> 1216 bytes ...leTransfer$SimpleTrackingInputStream.class | Bin 0 -> 1231 bytes ...FileTransfer$TrackingGZIPInputStream.class | Bin 0 -> 1131 bytes .../FileTransfer$TrackingInputStream.class | Bin 0 -> 579 bytes .../cordova/filetransfer/FileTransfer.class | Bin 0 -> 17379 bytes .../filetransfer/FileUploadResult.class | Bin 0 -> 1873 bytes .../build/intermediates/dex/debug/classes.dex | Bin 268144 -> 386812 bytes .../incremental/mergeAssets/debug/merger.xml | 2 +- .../mergeResources/debug/merger.xml | 2 +- .../manifests/full/debug/AndroidManifest.xml | 1 + .../intermediates/res/debug/xml/config.xml | 8 + .../intermediates/res/resources-debug.ap_ | Bin 4992433 -> 5024784 bytes .../outputs/apk/android-debug-unaligned.apk | Bin 5096892 -> 5167090 bytes .../build/outputs/apk/android-debug.apk | Bin 5096952 -> 5167153 bytes .../apk/manifest-merger-debug-report.txt | 4 + platforms/android/res/xml/config.xml | 2 +- www/js/controllers.js | 20 +- www/templates/tab-buys.html | 91 +--- 101 files changed, 2635 insertions(+), 218 deletions(-) create mode 100644 platforms/android/build/intermediates/assets/debug/www/plugins/cordova-plugin-file-transfer/www/FileTransfer.js create mode 100644 platforms/android/build/intermediates/assets/debug/www/plugins/cordova-plugin-file-transfer/www/FileTransferError.js create mode 100644 platforms/android/build/intermediates/assets/debug/www/plugins/cordova-plugin-file/www/DirectoryEntry.js create mode 100644 platforms/android/build/intermediates/assets/debug/www/plugins/cordova-plugin-file/www/DirectoryReader.js create mode 100644 platforms/android/build/intermediates/assets/debug/www/plugins/cordova-plugin-file/www/Entry.js create mode 100644 platforms/android/build/intermediates/assets/debug/www/plugins/cordova-plugin-file/www/File.js create mode 100644 platforms/android/build/intermediates/assets/debug/www/plugins/cordova-plugin-file/www/FileEntry.js create mode 100644 platforms/android/build/intermediates/assets/debug/www/plugins/cordova-plugin-file/www/FileError.js create mode 100644 platforms/android/build/intermediates/assets/debug/www/plugins/cordova-plugin-file/www/FileReader.js create mode 100644 platforms/android/build/intermediates/assets/debug/www/plugins/cordova-plugin-file/www/FileSystem.js create mode 100644 platforms/android/build/intermediates/assets/debug/www/plugins/cordova-plugin-file/www/FileUploadOptions.js create mode 100644 platforms/android/build/intermediates/assets/debug/www/plugins/cordova-plugin-file/www/FileUploadResult.js create mode 100644 platforms/android/build/intermediates/assets/debug/www/plugins/cordova-plugin-file/www/FileWriter.js create mode 100644 platforms/android/build/intermediates/assets/debug/www/plugins/cordova-plugin-file/www/Flags.js create mode 100644 platforms/android/build/intermediates/assets/debug/www/plugins/cordova-plugin-file/www/LocalFileSystem.js create mode 100644 platforms/android/build/intermediates/assets/debug/www/plugins/cordova-plugin-file/www/Metadata.js create mode 100644 platforms/android/build/intermediates/assets/debug/www/plugins/cordova-plugin-file/www/ProgressEvent.js create mode 100644 platforms/android/build/intermediates/assets/debug/www/plugins/cordova-plugin-file/www/android/FileSystem.js create mode 100644 platforms/android/build/intermediates/assets/debug/www/plugins/cordova-plugin-file/www/fileSystemPaths.js create mode 100644 platforms/android/build/intermediates/assets/debug/www/plugins/cordova-plugin-file/www/fileSystems-roots.js create mode 100644 platforms/android/build/intermediates/assets/debug/www/plugins/cordova-plugin-file/www/fileSystems.js create mode 100644 platforms/android/build/intermediates/assets/debug/www/plugins/cordova-plugin-file/www/requestFileSystem.js create mode 100644 platforms/android/build/intermediates/assets/debug/www/plugins/cordova-plugin-file/www/resolveLocalFileSystemURI.js create mode 100644 platforms/android/build/intermediates/classes/debug/org/apache/cordova/file/AssetFilesystem.class create mode 100644 platforms/android/build/intermediates/classes/debug/org/apache/cordova/file/ContentFilesystem.class create mode 100644 platforms/android/build/intermediates/classes/debug/org/apache/cordova/file/DirectoryManager.class create mode 100644 platforms/android/build/intermediates/classes/debug/org/apache/cordova/file/EncodingException.class create mode 100644 platforms/android/build/intermediates/classes/debug/org/apache/cordova/file/FileExistsException.class create mode 100644 platforms/android/build/intermediates/classes/debug/org/apache/cordova/file/FileUtils$1.class create mode 100644 platforms/android/build/intermediates/classes/debug/org/apache/cordova/file/FileUtils$10.class create mode 100644 platforms/android/build/intermediates/classes/debug/org/apache/cordova/file/FileUtils$11.class create mode 100644 platforms/android/build/intermediates/classes/debug/org/apache/cordova/file/FileUtils$12.class create mode 100644 platforms/android/build/intermediates/classes/debug/org/apache/cordova/file/FileUtils$13.class create mode 100644 platforms/android/build/intermediates/classes/debug/org/apache/cordova/file/FileUtils$14.class create mode 100644 platforms/android/build/intermediates/classes/debug/org/apache/cordova/file/FileUtils$15.class create mode 100644 platforms/android/build/intermediates/classes/debug/org/apache/cordova/file/FileUtils$16.class create mode 100644 platforms/android/build/intermediates/classes/debug/org/apache/cordova/file/FileUtils$17.class create mode 100644 platforms/android/build/intermediates/classes/debug/org/apache/cordova/file/FileUtils$18.class create mode 100644 platforms/android/build/intermediates/classes/debug/org/apache/cordova/file/FileUtils$19.class create mode 100644 platforms/android/build/intermediates/classes/debug/org/apache/cordova/file/FileUtils$2.class create mode 100644 platforms/android/build/intermediates/classes/debug/org/apache/cordova/file/FileUtils$20.class create mode 100644 platforms/android/build/intermediates/classes/debug/org/apache/cordova/file/FileUtils$21.class create mode 100644 platforms/android/build/intermediates/classes/debug/org/apache/cordova/file/FileUtils$22.class create mode 100644 platforms/android/build/intermediates/classes/debug/org/apache/cordova/file/FileUtils$23.class create mode 100644 platforms/android/build/intermediates/classes/debug/org/apache/cordova/file/FileUtils$24.class create mode 100644 platforms/android/build/intermediates/classes/debug/org/apache/cordova/file/FileUtils$25.class create mode 100644 platforms/android/build/intermediates/classes/debug/org/apache/cordova/file/FileUtils$26.class create mode 100644 platforms/android/build/intermediates/classes/debug/org/apache/cordova/file/FileUtils$3.class create mode 100644 platforms/android/build/intermediates/classes/debug/org/apache/cordova/file/FileUtils$4.class create mode 100644 platforms/android/build/intermediates/classes/debug/org/apache/cordova/file/FileUtils$5.class create mode 100644 platforms/android/build/intermediates/classes/debug/org/apache/cordova/file/FileUtils$6.class create mode 100644 platforms/android/build/intermediates/classes/debug/org/apache/cordova/file/FileUtils$7.class create mode 100644 platforms/android/build/intermediates/classes/debug/org/apache/cordova/file/FileUtils$8.class create mode 100644 platforms/android/build/intermediates/classes/debug/org/apache/cordova/file/FileUtils$9.class create mode 100644 platforms/android/build/intermediates/classes/debug/org/apache/cordova/file/FileUtils$FileOp.class create mode 100644 platforms/android/build/intermediates/classes/debug/org/apache/cordova/file/FileUtils.class create mode 100644 platforms/android/build/intermediates/classes/debug/org/apache/cordova/file/Filesystem$LimitedInputStream.class create mode 100644 platforms/android/build/intermediates/classes/debug/org/apache/cordova/file/Filesystem$ReadFileCallback.class create mode 100644 platforms/android/build/intermediates/classes/debug/org/apache/cordova/file/Filesystem.class create mode 100644 platforms/android/build/intermediates/classes/debug/org/apache/cordova/file/InvalidModificationException.class create mode 100644 platforms/android/build/intermediates/classes/debug/org/apache/cordova/file/LocalFilesystem.class create mode 100644 platforms/android/build/intermediates/classes/debug/org/apache/cordova/file/LocalFilesystemURL.class create mode 100644 platforms/android/build/intermediates/classes/debug/org/apache/cordova/file/NoModificationAllowedException.class create mode 100644 platforms/android/build/intermediates/classes/debug/org/apache/cordova/file/TypeMismatchException.class create mode 100644 platforms/android/build/intermediates/classes/debug/org/apache/cordova/filetransfer/FileProgressResult.class create mode 100644 platforms/android/build/intermediates/classes/debug/org/apache/cordova/filetransfer/FileTransfer$1.class create mode 100644 platforms/android/build/intermediates/classes/debug/org/apache/cordova/filetransfer/FileTransfer$2.class create mode 100644 platforms/android/build/intermediates/classes/debug/org/apache/cordova/filetransfer/FileTransfer$3.class create mode 100644 platforms/android/build/intermediates/classes/debug/org/apache/cordova/filetransfer/FileTransfer$4.class create mode 100644 platforms/android/build/intermediates/classes/debug/org/apache/cordova/filetransfer/FileTransfer$5.class create mode 100644 platforms/android/build/intermediates/classes/debug/org/apache/cordova/filetransfer/FileTransfer$ExposedGZIPInputStream.class create mode 100644 platforms/android/build/intermediates/classes/debug/org/apache/cordova/filetransfer/FileTransfer$RequestContext.class create mode 100644 platforms/android/build/intermediates/classes/debug/org/apache/cordova/filetransfer/FileTransfer$SimpleTrackingInputStream.class create mode 100644 platforms/android/build/intermediates/classes/debug/org/apache/cordova/filetransfer/FileTransfer$TrackingGZIPInputStream.class create mode 100644 platforms/android/build/intermediates/classes/debug/org/apache/cordova/filetransfer/FileTransfer$TrackingInputStream.class create mode 100644 platforms/android/build/intermediates/classes/debug/org/apache/cordova/filetransfer/FileTransfer.class create mode 100644 platforms/android/build/intermediates/classes/debug/org/apache/cordova/filetransfer/FileUploadResult.class diff --git a/platforms/android/.gradle/2.2.1/taskArtifacts/cache.properties.lock b/platforms/android/.gradle/2.2.1/taskArtifacts/cache.properties.lock index 7db03c5d8e5baeba6c7828737f49229f75c60c0c..9ad14e6ed2e095b113b6fd7d20fe7cc744ad2d06 100644 GIT binary patch literal 17 VcmZR+qrYJ{kKtNb1~A}{0RS%01MC0* literal 17 VcmZR+qrYJ{kKtNb1~A}#3IH!v1aklY diff --git a/platforms/android/.gradle/2.2.1/taskArtifacts/fileHashes.bin b/platforms/android/.gradle/2.2.1/taskArtifacts/fileHashes.bin index b5359d058aa0ff0bc0be14efa53366f8defc5413..9e2038936f096047d2c6705663de200b2d815c2a 100644 GIT binary patch delta 15016 zcmZ`<2|QI>7eD8^MB-kl%)>><6e&^0G-;%n6d4K^QHr9j1~i9L4h=%3RLbIV-_KsRwf6t4J*@p-Yv1mxO!2yU@z{}u1bpbC(heXd!q3ZJ zM3nS@&WWaU`#+maQ96@7<+mI;m$H?2;IvMD7bbAH2CM|ZlCPj5<()Xkw;ejPxnM2@Cr-p)>dQ8n+{e1nFDQ2v9;ar`!dLI+pTs)(Rk>j*Pe@LB%cG^%<(x!3PW;zc+MoJZOJHsOMEm|s;{OB zG`8s&<(#e8Ix!XNv|IY;lVI}H@ldUpFV-7M&XtkZv;E3S2gp|l70<2U?pbAFwbhs%Ibm8Z$UQs8md(v-JMJ9#t3VHH6)sYZhK}6qu9+$NO4^Jkh4+-M z5l=@`J!1b$vDpmVp?|13V>UN@H>l@h{g?vE)`-VB{LDzoJZKr#Y0aaS88veA^3+og zeDhDlO1ZhY#$y+WvK61o68RQ)$Yo@1qxrLoq%)QG_YF==XMpprjni;f^<>JwIf*kV z>5-C)?gp$=mZ5r@c^ui8HU)8wby#OKBX`7yWh9rCk@)aR?8R)X9n(&EwIp#)otSqm z;&V6F>5Ed|TDEcO&fnlv?hj?qTPgpKPBwz4Ur$vvxnrH8YX2<7c9m;y8foZ&^?Gjq z=nuX4_}s;$7V8y4bMro?lAKMm4ml>d{>Dl+i<>ekMo9y}{fh~_2T@*E^ zhsV*dn3TzHZ^b&Lv|O(qaPX>cZSy~T(+?}hY@^=(cH;OXh~GP+8_9I6r3`wLIMP)w ze>`5zfO#LO!rmrMwQW;Cd?|C53_5cU^?^Me-}y8)A#3qcjMj?&>n*8Ea?RRSF3ill zn2NQEi}TqmGMMD-YRifth#y!x%8d3GA$>Ww#Kd3du=}u5duo1}2#7(hbuvq%rR_j2 zRukP+(D)H-sa<_-w9|glB7dIhhIZ~EyqV?imvVxj>cgISNB&bwb(97qn4aUk&<_ zKdGV5<1Qa5A+_(i_^JrPS9w^Zp9jWxC}NB%3cM*r_q>ZJfv-lsY5F_3Q;$?fd|+^3 zobVyP!S=O@#Zf9LKr`PWm~4{vROj$A3aXPP2b)XX*MGcnIiOKECl4jqmmoyYGN^k@ zJGvxO*xU9H`tC6oLe}MI)24A1BLJr(B#t~n3gx`@9kPlv_d7Y7PKzWb&gNUkpOS5%&3AX{T2BVbDItg2FRN!l#8k&<~2k zCJtipv%8iG=-}<7mMq`$BQ}V+d+1boavIalI%JT>c`U1q-CPWB#u?q)4fTJAXLD^(ha0j zqsT~I`?}cji*|u~u~xyRpA769AFU35J>?75kL=4=h$cUXLR_5F7C7Vg^f}@;?8m~MV;+EIT=j|r} zn}%o2^N=j?#&1xsq=!k6>iIPX$Y2(S*ORN6k~Yzj^(M>o!Qwz(zHn~3RfII#PGwg@5Zt)Q!0axj)f&-nVAbM7vk>U zq8b?sjv|pXb7=9}^Lq}>)y8MZ5-|=TepMTqS~q1jQ}g`M>#WqFh9IPBV4J$!Z!*1= z0a@{&iXcXzGr#Wfm+w>|1HwyBaK=Nsg}8Do9TY@r3HVl{p@JZWio>?y?VCl2RmOmS zz?bp3gA=M18WurdLKV#mc>D(${a-@0(t&RJ3Dra7;KTQjQ4!^MU=x9&-G!Vok$Mt< zXRMDbBEEJ|F0SF6ro;mg#)^sQtXa@f*s6PnvJJ$Tu~0*hRfnK>RA8P+g)$b*>7w#O zq28Jj9@(~Y`#JFHBhiXbIyq1g6PeI%v4R$~NUN~;j4A;c2V ziB2<Ik(Y6w1akUi8tn>mjpQok0+>C6}N) z>F5$k{bC^JkcI7l>e8!9!++6P>tWbgoks?8O)!*aX77JM`32z>n1C#-VUwT?zPZ(# zN)5vP&5(sy9t)-XK678HhOwYPBnV$kXpu_Y@r#lP#uy){AqZ({*qVI^`$0JbV?TaS zLlACtu>GogX%`jAVE9l&5ORBAyX~dr6{>*2;6u!L{S{iY-hKNF%%gD!QKWtOjdHwq^#DXF<47M4R{fX)dOQXI_Qp# zaObSK*dU6c;Byl@hq|yH4bFNvwrHcIvuWR>aC%iJ+&ODmY!K;yQlspn3#Al-y^O#X z1yv{|c8h{MRfxREVZ(5=6!H$12Gkw~g6}(od=%_4*C$~Obt44(XUZi>w4iz4zW=1U z7>f#i+w56T9`|^$lrq_%p$41}nRGO$9vjc0DKhrX0Ae)zY#?-1zWNrbf>*+CNAPL$9ODUW#LIF;&jJULO8F`=E zP?M+itJ^sr<5fi|W9$3erjB(-lfMh5V5Md{-SLR@;l7Uc=zS5ZT!ghseza3L7}e=| z^{K1f!m)C+H=R^YHgQf?mF_Dwb7z#t>EH^|ocq2qJzq0Y{v#rK z4&J~@P4is$so<{nwXVc$bBv zQ>Y?{A-iE4N2P{STQ=hJGZAVCLh?0ivwjXuqqF)!7ElF1^{_41SIwk8F`g`;20SPS z3|+D6Ii0#0&BqGsMNn+nsEt#jTtl%R8*Gt|hH_u*<%_gTIGT?gHVj2P>nm$GmUL#Sh$kteHcY{9p;uaiE{ zqMf$FowGulOpx9Iumf4&txpXLM}DjtF@(P!%0p+acD`TqKkV^_ov4e}f%gASYU=KO_A|<( zJ5)-){iI3FwLMy3)j@9Zynr!R3-$YU~zxF%%OvKG-SDE-a?ZOMibB5Ta zBw7Jph8X`wj8R_&CDm{%Td2t8x+TO}W*mwPF397^HIJ5OTwwwyxLy#}LnJ<@hjqi1 zwHXT)pmajJrKD`+N!xdm4}bwz4&-48X#Nlp_KsHng%I%H;PEqrZSly$Ldr58MURa* z)DYy5G$`Kto^7BHUXXi=n(cEnOSyt9}Dc^q;l91%>i<5F?^H$J+vlCqpRm~?isIJEjU*EAHeS5a|~=nv~1GzO-NQF%Wb%- zM%40z>X8$)s+YYCST4zQ4~N|dLK~gY+u|(hkE6unx?28hKH~SxKlgrJ0l!Bf55s&w zK!az_1+>xA^UAI0AT~=|mhXKT83-~2N`3n+26P4+PP5;@7KMf`x8JL%8%NRN^WQ=Z zL2$RjwlMU*F4e_Y{)QTY;H-vi*ZapYl*us^tbE2If{Mx(C*Pfv54NnuF-fpcn#{9{ zzek;5Flb2Nj3c(Wb%v!(RWcY9TVQ5k&<|f^=LOn8jHM~dUyF|s!CC|jN;|&(pgqJ` zAi&px<%16kC4Ws(%kA_LF*yIV_^=S<8E9^`ud|__iNX1=m4XU@Ku5On`0wr1$K!bZ z(bzH+k;3iRt`NG<8m9+-95%_1fHK9Yf=#(3Bapucwulu%8S7B}n9d#o{rIEx1!Y1C zGz3X$1yQBRXwCeGKn>t$6rsx`Xw&!;*nm$yA&$oUuv=#)HIcC}i#Zx)(frG5d@Aq+ z_Ro|ss!s5g{9LbPR62th12tfx`mpu9*{xKJ9MDfUaSa1e)^A??0odYYeCeTSS$iJhv>9qAToh zZs#L{0qJWwH2seK8BXb^;+R651lDIMw2TkR`b}>e3OAe2_#xLp!!vowjnokaf>s{{ zP6M=jjApOAUbl00T=DrLu5n2bX1gcg;F-NDqR zG(0rsP1?Lg-+@> zW0{OC><%cSFDCWT+-Z0h{1FL)3iu;5ttsw(P5GZfgY!oYz;)OgS{^;U8cat{!~5-T z4OO6Ah=T3kNq4tWFB#Abr~yP_1l!?Giyi3CjHf_`T|{0&Q{jmZ@2J_Q(Ubz;K@H$Y zWZ5)x$Xq&A8XloQrjQXyg=WKLOU6@IPNTsE{tY!CcqYPDcC(}e)$ylAWDB&&SifKa7Z+_P>oa%+KVV-FBWT~J7@OMAPBZb62L8k*kx(eL)Xm(e z3(V^}8OsJJQx415(Ix$$E^HE2fpU9Ob3UbX7LVZ#&SXtye4hneVrnKY;^eVK61fhcvL+^GEq3uT?=eOW1Kq`6)TjdME7wOFyQ3@3VVO|2; zX{DoM=^Tte!vym{g#Fui;ZOPlHavqpL0lp>eweKoMXQfw^D`N9rQ8VN4-KGV*dm@$j(m!o%{afm84@V`(qAucFndo#kps8EN09F2zh z7CoCSg4D#ls-Ck7`eDo&%#sJ42rt)8;eDSWBEj!Wx%gyM?#e=rv+fRNlqgKVC{fY- zzPoe-@&-!-9{l4v8xc{jcb`r>c+@0?dqdfg8Kf*)e}Zs8R8?%0ohpQzVwAA=cWt;~ zmR+~fis3tMGdLWbgg8nXC;jY;gkS;5b80SM-8#9!{71o3S;OhfDEr`~z$ndO+sXgp zU1kdRAJPi531yr-yA>6$6HcXFvQ3n!1N4D*9c%`C*gCMSE=YZa{0+d>K3?LQ*?Ug2 z^(#;Bpv)8ymH@Zp$#>Wvd`*G4`sJS9K4Dz9pl02Z(HXnqa`F|g$K20qV1Ouv62!F| z5PtPsQ@GFsS7>}}&Ahd=`nbp8<{jZOVAr6(r=qYsNVDiTi6}?R6!!Pxa70q*<8oO{hIo%C*PMGpDa=P+()29zpp zDb+&b45S>Z7SH3Rr%I8WkhfW2{lGZ+)*#y8qkRYMf5o=VTZH}9=AEBb!0KCKBDzSc zTGIohAOy_Cz@dpyZrW?z0Kpz4FODfq%!8PmTRBhUbkI zKv;3pwmZVJs~IXEc|JW!a*?Ot^S47El0h7!=`qEx*kTCGS!5n93_QF($=3I}&8Tl) z?_@@ZT@Pn)*I<88;i0=@`Kld(!Z_Ni?Xq*|Zzuoqgw(?f($_Uj;zWsRPmAgKn+%RggY3Bw_cq?9RoLI} zzr%e`Nhuj6M>dYF%>I6m!QFxV31aj%*pBs#F%_EL^eDmY$OX+#DrspcFD4fiI54=o zus=wD6JeV?>9T~dztYQ`-Abi(f9|NIS(wM>BgZ)9ZhSrB#y|YuupO5M9*Jhb{ zHrKt~<8#w%!0QEQJxei8^bwSwIH7<3!~!G-`e1Z#e7xiPyStmKpVS`)ag1;eFmC8b zD0e#BbA(scK*7*-RPFf#3#=st8nB-~TpCB}?8*+r__sjQF>%)vkoHK&7 z3)`ee_WSFvA!OkT`g*05h5T`(90RG?6zfH+T-<*B$ilqKw@%0YL=kL7$WuH$wClh> zNDta`mq=v4U%a=pX{=6Ca+otS&T5R~jfe7xqOypPJH@jf9&~12?>=;|x)0Mj4>dKf|gxKJP#G~3&T*=zvK56*)9ILv~D_U99Y#yL0( zdcfNkoIjvJ@GRxd#o;o*-{36h0je$dU=}Rfk`p52Z*Ugu{{a(b!O5Q;+W`#t|M&C_ z&Vn8wy5S>=Sn%bXf-oU>gR@}&?~yPImNYu+A=rS~K^7EX8XU-iXkCCm%z|-SolS&+ zgR`IqDgygiFnQeCO~SZASWp1cQUCs77Ob7s=q@zD!CA21A7(-KgYWE&ur~$>1!Af#4>E=xp-Z`Eo-324}(ku*NJn{v7KA zgb4;5zrk6se|ne&6ZC?!gxn3zg8k8gSF$USx);(%BXFcaYjHp)wTugT#{+`s&3rKjEEYXqLZhc22C6jp zkS?&jFlzq5+XIL{klxcK+a<1!@jI2aRjabkZUZQfkiQ%V0AH)4^5xo&S@n(|XTa5E zg(nM}&06Xh9H{HzBN_|a2*oPleCv{&9oTa1md}|7YU5Nc+JN_=QPQwGfVsnVZh=RE z@M^xwvlA4E#yp*|`P#eDQ^&7)%K(!g0Bl19Y>$=f$P=2Lhrey_)Fm>iyN($x(v0Z^ zRWcZt{xim&ue6x{!~5havxUcs zB^g*5;|{?tb+>OF2or#Or0=>fK&G^0XWrcART;Az8JY+v$2iedP@dT@zkVPNz-$<9CH?^T>SFkbM0&)}Y5+)#9e zj1+zk5powMZ&;JlXsk=t-x9eb`Wck`XfdB**f4!4UB7PJAp}!>@{k`QrE{?QNcqMY zwH}cSOcuk$1oH61+s^ds2seNuUd|b3_4ZD}(&U0bqhPJSlo%lL1A+|UUZlB{3ga@& zezlMF->y(5>6*Ls)HxJo;K(vHtLRGTFK?2xA08**Kjtf<@Tia(VaxMUj=P_EJHDU| z_(AhCg#E!GvV!f4ZWk4y`SE9rdTo)@c_Qph_whB;E$1*WbJ!igtYLe`c>6iwVb9akm zM$lI$v^p@j_pm!bxPzkz3iy~?KZIamfu9=X;~!4j^rP&s=cl!m80OC$1rnVkg9gi+ z`2Ia$*FUyOSf;GhPFL0c9(2IaBnATmrJx^zm^1{oRZ%lgSa^&bJ<{dT>q-gb4yZ#6a>Qluzsz zItoqDSd?pziMk zz(3GkAXAcyfrLg7HI1nr$lZW-*;ZF2rC*`aw)57m7iT61*m^udxbiZa6vF!Sp$WhTsZ@F!i;G83eXky?ykmV4!{l|!J%miWm z0W_cnc`VS1s$2i)DIrtgN%`0&FhD?S@WDUHoUwR@sPM|1zB5Dl&L{7*`0AIJq>C?u zVh1_&z&KVLl#bJCi-b0C-s>N>8CG(F6RvMuZvKo?133@j7GoT{1j-37FOL+$MeIx3 zOr0(tucZ1|u4?4_PzKgtfgtwXX=m|O2sV4~r`t>FLd|Twd)i$s9)9YFG3Sqs*407m zc!TitQp|dN*uO5u_1c(CC|eiGVSp$pfdBQjhr_Il_#m8XM>U369$(b4KYj$cTHNgH zO$LTCI{3=$4TRZ-KMOM#_IIv!X=&Dlx-|8kQ}gtuECD44S{7!UL!2ORIrrhN{{d;O BT4w+N delta 6629 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 BJCgta diff --git a/platforms/android/.gradle/2.2.1/taskArtifacts/fileSnapshots.bin b/platforms/android/.gradle/2.2.1/taskArtifacts/fileSnapshots.bin index cb77756880442f3150275abce92a91f1e3e77e85..c458eef5d56563aa4e704c392a98110951d70170 100644 GIT binary patch delta 16222 zcmeHO2UHYS_usc|1{IkV6_Abu5b1~&1)_)r5qp6s3#^JFAgnDKMH9siy2@2Q3u22c zLLjb5jG)F6E5<}bjaiKajRm4nqXhr&&Ft*p!WvV)e>Kb|R7J#`2b)0glD^*E4*H0?y8QAQA<4Bfqz9SIyvmQ^lw8^WYG2zkI|{ zD4et2N@Hv7iYhgs*1eedPhBfdjQwaOc`TxzT`bD9R*E&hwJOz|w=H3`QLXlNFL`Cg zJ{4d5xoCl%2hyCd_tP*Ay_lob4?p|GNBoF=YS!4MDB8gTF=e;rs2tke+`!&Nqep7e z90yoz_*8P?aQ6iEp2W^Vv)|F#qT_<_CmG@C+&xQAO_`&UhIZ#5&)@xa z6*qF6OVK5#N~F2ulB3CNUF9K*ye+pH_E`q|R2=B}O8-wD8@%@j)2=NyVyoJsajuh) z#SP2BJ7QdA+)%}RR=AC0-2Sz$bJqOt!`XZCMK(ooZg-JIM)TeCcDvu(Vo#v%(hh>=U)l;VsDCN zr;Ap5o=2KFUJ)LXM;y1F`N;$=`-Cn%z)L(u)JE+6<1%~pzP#TRO{rHj^ZsRVqhGQv za$}pt-__9GYU#{I_LiDV@8(jw&erd+Kfcs9ttG}R%*hac7~M-7-3xu%)C|#BMp`63 z4Tt2Y6X<$Kn>SO4me;Hp)w}5u&6sumgTC^xsf5Bfsx#!BqSB=1cD^g&x|Xul1`bEQ z6pb3=0U9F&{xUiW9CwQw!K*Li4vo;>kFu-tMrwaHdg9nhA==YDeCEWEv88UKKm6FS z-^O6F9G4FM>mY0a?Wx@whkUm}c58Ibx^`6MX*MQzPR}^gcVVJAty&Hg-7kA_S*9O)L~lM za-^>qs(%qXK$9Di-r84T;wLL0!!M%q+a{Y+n3}spf5~ zHv3n6xyTg;bilgN9jDyj+)0Yj9{8G~5W|elT^_t+W#**)#THhT?^r|CURnux2k0Pe z(lKh0RJ!`0n++)YAa_lU(q6mFResn?+xNNnPAfCC2rGRNl2*WV3pz^s)m*A8l6qv= zL_l?p)DJdTN#<#1w~#E5LCpko)_U>nVCf*+&y(#RN0c7{mr$aT_lidS0Ou#5wouTA zzHV)-JMxP8wou_Qpwquf#Rk4w&3CiT2_*cgC47F;a z&v@k&rGy#bBbs+(;nw`@fBEMzhwP$3IgOeNVH6tBk$k02SEgi)QKiR{52Mpl$EK?? zG6t$LCMT=80TiOkWkX~4)b4D3|FN@Yw&LBzKe2PZ!_G;*8lp~0&fs3QaQX4tJ3Y?DQfaXT>%xMmqDv1H*Tv_XJ4pFtWAAiTuDCa3OQ#b zPLO9s%i-V|i8aijsLmSQGg{;LI0Uidvaf_e*hXydOgVCf&|=gL(mtTPSCyeIfD|ZH_^@M#IEH1b2Qtq6(Pgy(smoNrk)>VU-v zj}Ob>&<$CLrnE+((LHPgk-M>922Z6JPJ(D3cHHok1UzKQSfjxdq78ecfp@*7ySB); zFFgJDu|%`{)c}9;$!l64tTzF#?-v#6=ik|}VEL!oRwY>{3VsCCoLiwC6wIPJ!1{Fs8iFY_fw`Q$Ewox!+3obS9s-vHuG%VT}sz% z>+Mw+WRJd)I3UiGyx1|qGBQ*R0JZj`uN*o&CCJ zJ%n%enZ396f?IKi9et$ZKlR*Y(5^E?7a%7X{Q)(F2RMsYPA6ob@M%dI>I@^JGOC9I zzWh+S^*7PjDQDeV`~v<`^Z_`}7I4vpl_V;)F4n`6lT)Xv5{<{2xFND)-xssG{Mhm7 z{$ZBhJz32RfYMWvHUzJbSBh*jj?b*v;Jq{Ev8~oQLQE-OgSni^TG~XWUD`xGG|Wu# zi%5ho*Z)MMe{V$MLhAp6z=Lk-$eIwK?KyVh0eDKH~$GTLXdg+e+#`%`B8Pm+cWnN6~r4~W1mxf=N7}Ju2joVcoVh@!v!(Ym@&XEd4Ai?wcw)yYRjK`;99nqO0Xm$21ivc_-8pXGY-RoG-V*c8qw{|!jM zHcXg+OWKB^!1P`G;On7Rr?wAO)l|iHI`x1odkf-_EXctjxf5?5@&5V8E_Y2Hu}7`y z{^IZ?e+auJOMOE*tY2+QojQ2^;OeC-nxipv`;QN6G3vsRellY)v@>Y;N@PISn@4kp zZP=gUGs*QcTTVFR_j&9nL_6BQtny8sYje7BY|*SOJK->^RH33{7sD^5+X3IctD?8{ zjW2HwUj*Ints^flfOGd`o_f0*PZYq<#7u2&`6#Q)h-WK~pWCvm-N^|iAjYqR8CrSF z=5Rn>n5eMZ>Erze;`)j}%w8wkhrVNF|LvclC6; zHz48H-)!R#jS;!j_?z%2gTW#u&e?4n`0;etJ1c(g<~tP{em_76ZMALlbGHl(nLFz} zvjb;K+K9B+!VGFpfcaX$c`a@8Fx`21*f#~cujV_|Y>D!GcW4gTCq!xdW;&ayb@ce~ z{%PBLs05Yh5Rr%#`6oc7a;^<#SmN17PkkVD(X zE}5wKru3uYewE4{eRY8i8`$3<&d3dgDfhlSGH&}x#{m0JLfSxe0mVYGGaF;y*hkRY zdRoc@o%M=S;nSaG>EZzJCS^42>& z+Ks(=ot?L*>3R9g&`^Pp*S>a~^yMeZYeU)xolc)>K>)K5Vz0{%a!pHIZAHM%pJc9e z>Z*GCbxwf_(TcglVy3N~5$M_Yiw~XC6#0glfr|%54Fdycf4*-PoHxpCn?u`Q)0TPr zXEh8Z!L{yN4sZI?#69P`2LyeWUQxP(1^F9_8a|FIL}jyG=UvS>^Q}m6Edb-uk%hH{0!h*wzH>c!$J2#SK5lI-+Y&dR$fQ3qSGg z4-I={03T79BtJ0wXk(M-E0-_(G@+ROn{8cvNB3~Ss;6U?TQuAw~sBXymbEBDsGR`Nsxlg{N8H5h0BY>$B6Ls^i~WfR2&2z%9A~W9S%HqUcyM ze0YjFeL6d2iYB^zNEEYelR2_b-z;#iX5ZwJ2`|VXeIuHzrJ|8_=B{mP8V^o*^kn7T z4Js%cPlxAviLDt6=NAGxH@Sv~s2>$*xJ}`1l)~ zoTcr=e!QHSHZouI19v}f8Rf;cMg{di=52|aehIA&OX!)b9E;o4SSvl}eVsY5a)5n) ze%|+8zS`d#&{Mo6)Fq4ikVAqxM&c?gvMSsiPfebpG6WxPg+m7R<_z{S>B0R|JI+{a zpPj#ZPSY0Xn%?d$5CeXbr1rSy!2-c)g4h4I(r z2QUP1Qg)JlE3tMVJxJwMVt;N#ZTsK>o=0ZYRm7t!a(h$`)f#F5R9T5_;N%#Y0-V-R zy&$id%-6_>Tm?=f?x#{K6P0QuYrAoQzu#!Tr#PfU6}O^jTSW&BevtOQ*aK!cNfnUO zkB)@spCxVKn~l^=(!lNyWs7C+K$}feywPH~jPklxqLu1#tY#FVRT*nSlS)EbK1sZ# zXf7|A!FE~&Rrm?e!aC(@+y3mKg8ut${m&;_W>;MG}#lB}y5Vj@vqVX#IX?M$#5@Tb~V?I^T8k7V|qs z{OZNjG9v>EXf^U&4z1tpvsh^R&DGBqmJd;#zJJA!4}-*Q_u64au3bW97_@1bTOkRB zQHTRsUt#QYt|TJ@*U_q6KK{&STLLQX_div=x!byRoI<1huq*3DPg{;d7i&T6ySCt0 zDQ-=aGnv;}+(V4wDh)N7nX86l>qd$!NB-;j^ni2CH*>y{nLxXM(+eEy>Ixnbgn^>;!tuhIWorlOq_^~W zf|)6{1l>B?8sXz*l9bCfQEl*X-s^de=!V0_<>Fo8`^B$@`pX8pUTPix+ciU6WZ;|v z*`YJsFnw=G@M(LPSiu{iARi}t)_JPBie;d)K`kMFGj$CLUPu&>Hxm1DW)yZDKIwQs zW*;2Gx%D5BHvwHYWW^7LD+ilgPlSCfnMC|79GTO$(~hWun;b97gLg?*pLxN^30-9$ z<_-}zgKT@T4X^O3MKUi4QQ??N9L*^D81nlEq6MLTmlHeFTfd=Z zg|~++{^q)``o;7aA`nro-S(Cc0`Gbc~NMU9fgfDM$;RAni1PEzfs5w5F zcYvC`)C94^DL~Wc$$zF8A)JbW7;*5Q_GV1An65DP%d_nKf2y`CV?Pn5f2%-sn*B(K zm33T`)v9q)=k)USApp0Uq9Bx}Jp@-Hp7C1$hE!6<^)3N*di@ga3M($#mN5+nApsg! ztz2h^Sn1EFGQ1NtUdh`8jfC4l>4me3V_0P|=%?boXKTJxU2B72>9hv6GXI$j6}gQa|}yRo8@+MA$Qc z*)vUk7Lu1IH$3u&$e@j80y z_{$qpSpy3dG;F*RYG@+CYu;QLnlh)!qVO_n&cD1t;i6820c?Uo-cbLNQ2cU+W-JNC zgJ0t7F?;1AmYV^70rHMopEHyr5;P&iwYMyiFqt70*qs7reXg=UbcRZTw3T9G78hU^ z7Xxi)(YNa{xwLqs7Krp_jQwA*3C~w)D3amNM}yNjoGnSV*ZN+dtP$b@*+h?QBC}7mGPI&V|zWocyQ3$4Q zl^g-((@79|Se}PlEJMhh**Yn^YUIV5+x@jV#@e>)6nm8<9=so;Y`(iD*Y=4e#77FT*X7brR8`AOy4wEI*J4NDWmc(=Zp zR%6PP^Gm#O^ZFT==Op1P>h)}35`#_Php3K__B|B^d5tA)z;7$P_#a8-0)!07)!+^F z>wm+P-cY)Y4kej00}6uVZ4v8^DNuG(?4-@!P8Un+HDPK9w=<6LL7PFyQOZu+zn1DH z$9wJ9bG(44H$+c@jG0gsi5%eTPwDCP_jEWBjs~4OY6O`lWschKi|9zP-r-(P@%er#tb36(ZOf49I90=vNmf>`wnoJvwtjDpg5F$JYf=oYz+ z@GhE#1}S>#xQfaBmr(J%_09#?DpR0rmN-y5%bfnYPF4~;La^MM_p~f%LLFtza4!zo zXmu8}R%}utlS!L2lcOMQx7-?XN@))%xORG>ZDUDy5i4SYpH;3Me<8W(#MS*1YHW&i zL}C5F-cD`~Id`RIkY_J%-tt)TjPFVI9WV%Aec5X+-v6--mP{*pBsMEKN%&{@G1_=* z`Xw?=kckC6r91S!AhoG;uEWL{!VLbW`7#Zkq?snba0ft~=Lkaa2Ly~UzlJ-r!hD%x z#8LoaVDA;w39;v5F=VA}p!8ehXX2Ru-%3Vd&je$@sR!)`FI?!>(CHBN9-T8i4&ojn z3c9$`HYB=4fnNpcYf3`?l(-&u#l)eFa8zbYSYhc0?5VOn;a*$8P95%8a5RA4Ra`r zb;%#d;}Z5CV?P{+YFAwDV@967_X*09RKSY6_mr&!2!BlLIbuxev29t)c7$ z{v(Y)pe71VSML-bQ$AzCF9cVJgn-1Js%!D7`hDK}>N$zYLu&RoUtrzXLRF#E^^YXu z6O%$@d~!{a>xZCgMIYh#1w2{Rj_wAN?CCB4oA{k<7Q%!CU$Ake_Zg@gT*dyDbWeTg z#HR3o-RGpXoIOepARj0=i<|8~tdZhB3nDtHdW>wK%9Y+~h)S)%_FD||GB3 z?0IP$Qk|qj>W}!GgQxRxp8eJ&ITOqfKCag%xPq`x$0*xu- z86v$g)67I>;DZ8V%w%i0mf`7Lj4@H}A0V>*L&P-vM}&BT0wIraX>#I>)LT2MGaZWR zIGq!Olt~@ohhTcE38Eqo0fnd@hwF8ExuIKRC8QyD{Dir;BfYxVraq%Jas5DU9D4dQaf8#6? y$-92=Tp9)b@j#2-*_%>_ENPp+;|xIsIQt8A#>; delta 1093 zcmcIidu)?c6#wr19{tK5{a`I?*OqwOse&+aF@OwYb-^kKQ~=%PF`hD-4q$iJFkha*tV<q+V{@JH_aQ;ayULpymBD?hx`qaCPwk^1G!f&r;c-p z9VAw;N1FU9c1}Cf8%w+AnTWS=GTdI&h^%MFn=ehZmZb>c1;gz1$h#PwyG&PMOPh)- zUnzbx{A}^JDBNN@hon0XPH1bk`1-EP&5-4G3)y1VlWzN(<0a>jri2>e3ww-dKL2eJ zDRq%S*7q+qtRx?ryWay3T-$)0FuV-Urxo|0 za+Q$bXP68>-TX0Lh3FwKDnBIRdSwyn86GS=K0tqc1MNp(5pkh7th76f&@h}SMJqu5 zfzv{lp3TWX2EMJeINEpWUsTY*>cA?q5@r}$qQ)va4QcoS8@=m3yzeP-@c_dt9zYln zW?dxcTY!F{jwAetOxI1~MBaaOL3irdcAj>w=4ISwHM7)e<~$#Xc(>B;Zp0>MTLMj` z%Ivj1b+-DM)3$5z{+_*`L0}iRp4|M1Aimq+xVvyX)Cy-**fR&&4m3X29Xjh{0d=5T zNMyPS#@e}g;56|62xY+qov43j`9zBh$Nr`RTXlDOX2u-o;Xj7a` zWI)k_yaYZys-m^4@sJKWvjnNFBa^2cnL?dYU8(GglKu!R+QjbwDIsb>wsW=MwxT%@ zAtM5(E*hYOxM{OHm`Z8$=`gl`lL`{cHGM6U;jCTv{^2Z`FXi dQjqB2)56-U|J6qM9jQ%sLQqmgbtl9g)!&AIZ~OoN diff --git a/platforms/android/.gradle/2.2.1/taskArtifacts/taskArtifacts.bin b/platforms/android/.gradle/2.2.1/taskArtifacts/taskArtifacts.bin index 52f707c166c9b212d75553aedb39ea797b12fcdc..4be4786775cf8d00e0aa2747147c51c8f1d3cce0 100644 GIT binary patch delta 696 zcmXw0Ye+~)FNhY zHZjWma^S7ShkTeK8mN_KN|q)G4y`|Cc|i@s**B#J&cpe0&UrY`f|=Vk#5IfIc(bI5 zTe^x6IGa1vD$vUi;>;u0K=uwoZg9kn3WRtEN4!>!kb9Ji_qVT9&;VXiEc1yVOjESZ zM*~F4I^Ezq2E^kJw9dbeAknlt=E*vU20gaR9#UOjO-rmOKuUYTmWb9R6v!oE2$5mr zXmWo|8uBaKy&J!qlr|TNoAVWTc*_@)MPu}9gN)$0LPra;Zed6a!2wM|`s9s1Z^;^a z>>BA&K*3IT$t(HamZrh%yj)y=PlMyiuF-p?34oW%DQYBK;ZM)hsiLHUMuY^7q&oFc z#7~>L@pF)&I=Ea*;8>@YP9JC?X~BTqjjDcbkHHtOh-v#+0blCIXY1gTI%TU>_iTP7 z^TE!h%02#$r92O!@$90=Vm3lJ9xnD^+H>FyFq|Cdrtp%EqAqz&e#aXoiDkVAgmm`A zOQ84X`5GUNlP%jx)~^;Ns+X);pmS8F+dhu=;M^3sB}N1yi&e<3|GpM87bwQ+2_;|? zdICii4=N*Zsd16{Ee8G>DQAkcn<6KF1kYxeHuDoIziGzv#~X0&i)f}w4>n*<>tTV! zIlUCsdDfxAj>bSd-T8}I&VT@K$u|4pZPH_HnIDo=bN-Y~>}RUjn81Ob;+Q%kbQ28M z0Dm}#FX&ay8kp$&;72kij1VK1PpS|)R>wDo!(qq_|R#e~&@l6M#?u+O#q E1CtH*u>b%7 delta 396 zcmbQWkL}h3wh5w)LKDTh*lN!)Ffa*CTxKfGaDj(`f#Vkg2rw2a0NMXR%oeKv;mv}K zyyBA;7^Nr6Nf8(u6jPc(lbI2`Y^8GM*gIo_w zw_O25<7Nd$W}(di9x3u{N(>ClO3a&2X2>xK2<&%e3@`r2^hr#8Rnz+bzR44l6(%3} zEID~^>pqrmycu66C-#a>UoeSLbF)(RRw1@OKxh47+|Dn|_@8m}oq7#xcJ{Rl4D4%} zHb39Dft_XBQn3${4P$)-0vW^n&-Xnt-PyPE@YTsL#HR-|FuHAD(ZaZnc{BfUR!(+~ zCqTbFX5Ow{#`uO+z(stvae%_{jQ*|J(;wP0N^bXWWn^dGE>p~CCkg<>>4h!; diff --git a/platforms/android/assets/www/index.html b/platforms/android/assets/www/index.html index 387514f..b4066a8 100644 --- a/platforms/android/assets/www/index.html +++ b/platforms/android/assets/www/index.html @@ -25,7 +25,7 @@ - + diff --git a/platforms/android/assets/www/js/controllers.js b/platforms/android/assets/www/js/controllers.js index ec6a833..db46b3c 100644 --- a/platforms/android/assets/www/js/controllers.js +++ b/platforms/android/assets/www/js/controllers.js @@ -8,6 +8,8 @@ angular.module('starter.controllers', []) $scope.items=[]; $scope.item=[]; + $scope.items=$localstorage.getObject('items'); + $scope.validate = function() { var link = 'http://api.raataar.de/rosen/vorschau.php'; @@ -76,18 +78,16 @@ angular.module('starter.controllers', []) }) -.controller('BuysCtrl', function($scope) { - // With the new view caching in Ionic, Controllers are only called - // when they are recreated or on app start, instead of every page change. - // To listen for when this page is active (for example, to refresh data), - // listen for the $ionicView.enter event: - // - //$scope.$on('$ionicView.enter', function(e) { - //}); - - +.controller('BuysCtrl', function($scope, $localstorage,$location) { + $scope.items=[]; + $scope.items=$localstorage.getObject('items'); + $scope.$on('$stateChangeSuccess', function(event, toState, toParams, fromState, fromParams) { + if ($location.path() == "/tab/buys") { + $scope.items=$localstorage.getObject('items'); + } + }); }) diff --git a/platforms/android/assets/www/templates/tab-buys.html b/platforms/android/assets/www/templates/tab-buys.html index a480b36..cdc31be 100644 --- a/platforms/android/assets/www/templates/tab-buys.html +++ b/platforms/android/assets/www/templates/tab-buys.html @@ -1,16 +1,33 @@ - - - -

{{chat.name}}

-

{{chat.lastText}}

- - - Delete - -
-
+
+
Hier können Sie Ihre gekauften Rosen ansehen oder nochmals versenden!
+ + +
+ +
diff --git a/platforms/android/build/intermediates/assets/debug/www/cordova_plugins.js b/platforms/android/build/intermediates/assets/debug/www/cordova_plugins.js index d0dae10..e310c63 100644 --- a/platforms/android/build/intermediates/assets/debug/www/cordova_plugins.js +++ b/platforms/android/build/intermediates/assets/debug/www/cordova_plugins.js @@ -55,6 +55,189 @@ module.exports = [ "cordova.InAppBrowser.open", "window.open" ] + }, + { + "file": "plugins/cordova-plugin-file/www/DirectoryEntry.js", + "id": "cordova-plugin-file.DirectoryEntry", + "pluginId": "cordova-plugin-file", + "clobbers": [ + "window.DirectoryEntry" + ] + }, + { + "file": "plugins/cordova-plugin-file/www/DirectoryReader.js", + "id": "cordova-plugin-file.DirectoryReader", + "pluginId": "cordova-plugin-file", + "clobbers": [ + "window.DirectoryReader" + ] + }, + { + "file": "plugins/cordova-plugin-file/www/Entry.js", + "id": "cordova-plugin-file.Entry", + "pluginId": "cordova-plugin-file", + "clobbers": [ + "window.Entry" + ] + }, + { + "file": "plugins/cordova-plugin-file/www/File.js", + "id": "cordova-plugin-file.File", + "pluginId": "cordova-plugin-file", + "clobbers": [ + "window.File" + ] + }, + { + "file": "plugins/cordova-plugin-file/www/FileEntry.js", + "id": "cordova-plugin-file.FileEntry", + "pluginId": "cordova-plugin-file", + "clobbers": [ + "window.FileEntry" + ] + }, + { + "file": "plugins/cordova-plugin-file/www/FileError.js", + "id": "cordova-plugin-file.FileError", + "pluginId": "cordova-plugin-file", + "clobbers": [ + "window.FileError" + ] + }, + { + "file": "plugins/cordova-plugin-file/www/FileReader.js", + "id": "cordova-plugin-file.FileReader", + "pluginId": "cordova-plugin-file", + "clobbers": [ + "window.FileReader" + ] + }, + { + "file": "plugins/cordova-plugin-file/www/FileSystem.js", + "id": "cordova-plugin-file.FileSystem", + "pluginId": "cordova-plugin-file", + "clobbers": [ + "window.FileSystem" + ] + }, + { + "file": "plugins/cordova-plugin-file/www/FileUploadOptions.js", + "id": "cordova-plugin-file.FileUploadOptions", + "pluginId": "cordova-plugin-file", + "clobbers": [ + "window.FileUploadOptions" + ] + }, + { + "file": "plugins/cordova-plugin-file/www/FileUploadResult.js", + "id": "cordova-plugin-file.FileUploadResult", + "pluginId": "cordova-plugin-file", + "clobbers": [ + "window.FileUploadResult" + ] + }, + { + "file": "plugins/cordova-plugin-file/www/FileWriter.js", + "id": "cordova-plugin-file.FileWriter", + "pluginId": "cordova-plugin-file", + "clobbers": [ + "window.FileWriter" + ] + }, + { + "file": "plugins/cordova-plugin-file/www/Flags.js", + "id": "cordova-plugin-file.Flags", + "pluginId": "cordova-plugin-file", + "clobbers": [ + "window.Flags" + ] + }, + { + "file": "plugins/cordova-plugin-file/www/LocalFileSystem.js", + "id": "cordova-plugin-file.LocalFileSystem", + "pluginId": "cordova-plugin-file", + "clobbers": [ + "window.LocalFileSystem" + ], + "merges": [ + "window" + ] + }, + { + "file": "plugins/cordova-plugin-file/www/Metadata.js", + "id": "cordova-plugin-file.Metadata", + "pluginId": "cordova-plugin-file", + "clobbers": [ + "window.Metadata" + ] + }, + { + "file": "plugins/cordova-plugin-file/www/ProgressEvent.js", + "id": "cordova-plugin-file.ProgressEvent", + "pluginId": "cordova-plugin-file", + "clobbers": [ + "window.ProgressEvent" + ] + }, + { + "file": "plugins/cordova-plugin-file/www/fileSystems.js", + "id": "cordova-plugin-file.fileSystems", + "pluginId": "cordova-plugin-file" + }, + { + "file": "plugins/cordova-plugin-file/www/requestFileSystem.js", + "id": "cordova-plugin-file.requestFileSystem", + "pluginId": "cordova-plugin-file", + "clobbers": [ + "window.requestFileSystem" + ] + }, + { + "file": "plugins/cordova-plugin-file/www/resolveLocalFileSystemURI.js", + "id": "cordova-plugin-file.resolveLocalFileSystemURI", + "pluginId": "cordova-plugin-file", + "merges": [ + "window" + ] + }, + { + "file": "plugins/cordova-plugin-file/www/android/FileSystem.js", + "id": "cordova-plugin-file.androidFileSystem", + "pluginId": "cordova-plugin-file", + "merges": [ + "FileSystem" + ] + }, + { + "file": "plugins/cordova-plugin-file/www/fileSystems-roots.js", + "id": "cordova-plugin-file.fileSystems-roots", + "pluginId": "cordova-plugin-file", + "runs": true + }, + { + "file": "plugins/cordova-plugin-file/www/fileSystemPaths.js", + "id": "cordova-plugin-file.fileSystemPaths", + "pluginId": "cordova-plugin-file", + "merges": [ + "cordova" + ], + "runs": true + }, + { + "file": "plugins/cordova-plugin-file-transfer/www/FileTransferError.js", + "id": "cordova-plugin-file-transfer.FileTransferError", + "pluginId": "cordova-plugin-file-transfer", + "clobbers": [ + "window.FileTransferError" + ] + }, + { + "file": "plugins/cordova-plugin-file-transfer/www/FileTransfer.js", + "id": "cordova-plugin-file-transfer.FileTransfer", + "pluginId": "cordova-plugin-file-transfer", + "clobbers": [ + "window.FileTransfer" + ] } ]; module.exports.metadata = @@ -67,7 +250,9 @@ module.exports.metadata = "cordova-plugin-statusbar": "2.0.0", "cordova-plugin-whitelist": "1.2.0", "ionic-plugin-keyboard": "1.0.8", - "cordova-plugin-inappbrowser": "1.1.1" + "cordova-plugin-inappbrowser": "1.1.1", + "cordova-plugin-file": "3.0.0", + "cordova-plugin-file-transfer": "1.4.0" } // BOTTOM OF METADATA }); \ No newline at end of file diff --git a/platforms/android/build/intermediates/assets/debug/www/js/controllers.js b/platforms/android/build/intermediates/assets/debug/www/js/controllers.js index d2641b8..db46b3c 100644 --- a/platforms/android/build/intermediates/assets/debug/www/js/controllers.js +++ b/platforms/android/build/intermediates/assets/debug/www/js/controllers.js @@ -1,25 +1,16 @@ angular.module('starter.controllers', []) -.controller('DashCtrl', function($scope,$ionicPopup,$http) { +.controller('DashCtrl', function($scope,$ionicPopup,$http, $localstorage) { $scope.preis=""; $scope.name=""; $scope.freitext=""; - var showAlert=0; + $scope.items=[]; + $scope.item=[]; + + $scope.items=$localstorage.getObject('items'); $scope.validate = function() { - showAlert=0; - if ($scope.name.length < 1){ - showAlert=1; - } - if ($scope.freitext.length < 1){ - showAlert=1; - } - - if (showAlert==1){ - $scope.showAlert(); - return; - } var link = 'http://api.raataar.de/rosen/vorschau.php'; @@ -31,21 +22,19 @@ angular.module('starter.controllers', []) }; - $scope.showAlert = function() { - var alertPopup = $ionicPopup.alert({ - title: 'Uuuupppsssiii', - template: 'Bitte prüfe deine Eingaben.' - }); - alertPopup.then(function(res) { - console.log('Thank you for not eating my delicious ice cream cone'); - }); - }; + $scope.loaddata = function() { + $scope.items=$localstorage.getObject('items'); + alert(JSON.stringify($scope.items)); + }; - function buysuccessHandler (result) { - inappbilling.consumePurchase(successHandler, errorHandler, "3xrose"); - } + $scope.savedata = function() { + $scope.item={name: $scope.name, freitext: $scope.freitext, rosen: $scope.preis, bild: "test"}; + alert(JSON.stringify($scope.item)); + $scope.items.push($scope.item); + $localstorage.setObject('items',$scope.items); + }; - function successHandler (result) { + function successBuyHandler (result) { var strResult = ""; if(typeof result === 'object') { strResult = JSON.stringify(result); @@ -55,33 +44,50 @@ angular.module('starter.controllers', []) alert("SUCCESS: \r\n"+strResult ); } - function errorHandler (error) { + function successConsumeHandler (result) { + var strResult = ""; + if(typeof result === 'object') { + strResult = JSON.stringify(result); + } else { + strResult = result; + } + alert("SUCCESS: \r\n"+strResult ); + } + + function errorBuyHandler (error) { alert("ERROR: \r\n"+error ); - } + } - $scope.buyAdFree = function() { + function errorConsumeHandler (error) { + alert("ERROR: \r\n"+error ); + } - alert($scope.preis); + + function buysuccessHandler (result) { + inappbilling.consumePurchase(successConsumeHandler, errorConsumeHandler, $scope.preis); + } + + $scope.buyRose = function() { + + //alert($scope.preis); if((window.device && device.platform == "Android") && typeof inappbilling !== "undefined") { - inappbilling.buy(buysuccessHandler, errorHandler,"3xrose"); + inappbilling.buy(successBuyHandler, errorBuyHandler, $scope.preis); } } }) -.controller('BuysCtrl', function($scope) { - // With the new view caching in Ionic, Controllers are only called - // when they are recreated or on app start, instead of every page change. - // To listen for when this page is active (for example, to refresh data), - // listen for the $ionicView.enter event: - // - //$scope.$on('$ionicView.enter', function(e) { - //}); - - +.controller('BuysCtrl', function($scope, $localstorage,$location) { + $scope.items=[]; + $scope.items=$localstorage.getObject('items'); + $scope.$on('$stateChangeSuccess', function(event, toState, toParams, fromState, fromParams) { + if ($location.path() == "/tab/buys") { + $scope.items=$localstorage.getObject('items'); + } + }); }) diff --git a/platforms/android/build/intermediates/assets/debug/www/js/services.js b/platforms/android/build/intermediates/assets/debug/www/js/services.js index 73837bf..ac7c5b6 100644 --- a/platforms/android/build/intermediates/assets/debug/www/js/services.js +++ b/platforms/android/build/intermediates/assets/debug/www/js/services.js @@ -1,50 +1,19 @@ angular.module('starter.services', []) -.factory('Chats', function() { - // Might use a resource here that returns a JSON array - - // Some fake testing data - var chats = [{ - id: 0, - name: 'Ben Sparrow', - lastText: 'You on your way?', - face: 'img/ben.png' - }, { - id: 1, - name: 'Max Lynx', - lastText: 'Hey, it\'s me', - face: 'img/max.png' - }, { - id: 2, - name: 'Adam Bradleyson', - lastText: 'I should buy a boat', - face: 'img/adam.jpg' - }, { - id: 3, - name: 'Perry Governor', - lastText: 'Look at my mukluks!', - face: 'img/perry.png' - }, { - id: 4, - name: 'Mike Harrington', - lastText: 'This is wicked good ice cream.', - face: 'img/mike.png' - }]; +.factory('$localstorage', ['$window', function($window) { return { - all: function() { - return chats; + set: function(key, value) { + $window.localStorage[key] = value; }, - remove: function(chat) { - chats.splice(chats.indexOf(chat), 1); + get: function(key, defaultValue) { + return $window.localStorage[key] || defaultValue; }, - get: function(chatId) { - for (var i = 0; i < chats.length; i++) { - if (chats[i].id === parseInt(chatId)) { - return chats[i]; - } - } - return null; + setObject: function(key, value) { + $window.localStorage[key] = JSON.stringify(value); + }, + getObject: function(key) { + return JSON.parse($window.localStorage[key] || '{}'); } - }; -}); + } +}]); diff --git a/platforms/android/build/intermediates/assets/debug/www/plugins/cordova-plugin-file-transfer/www/FileTransfer.js b/platforms/android/build/intermediates/assets/debug/www/plugins/cordova-plugin-file-transfer/www/FileTransfer.js new file mode 100644 index 0000000..ff0e6c9 --- /dev/null +++ b/platforms/android/build/intermediates/assets/debug/www/plugins/cordova-plugin-file-transfer/www/FileTransfer.js @@ -0,0 +1,237 @@ +cordova.define("cordova-plugin-file-transfer.FileTransfer", function(require, exports, module) { /* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +var argscheck = require('cordova/argscheck'), + exec = require('cordova/exec'), + FileTransferError = require('./FileTransferError'), + ProgressEvent = require('cordova-plugin-file.ProgressEvent'); + +function newProgressEvent(result) { + var pe = new ProgressEvent(); + pe.lengthComputable = result.lengthComputable; + pe.loaded = result.loaded; + pe.total = result.total; + return pe; +} + +function getUrlCredentials(urlString) { + var credentialsPattern = /^https?\:\/\/(?:(?:(([^:@\/]*)(?::([^@\/]*))?)?@)?([^:\/?#]*)(?::(\d*))?).*$/, + credentials = credentialsPattern.exec(urlString); + + return credentials && credentials[1]; +} + +function getBasicAuthHeader(urlString) { + var header = null; + + + // This is changed due to MS Windows doesn't support credentials in http uris + // so we detect them by regexp and strip off from result url + // Proof: http://social.msdn.microsoft.com/Forums/windowsapps/en-US/a327cf3c-f033-4a54-8b7f-03c56ba3203f/windows-foundation-uri-security-problem + + if (window.btoa) { + var credentials = getUrlCredentials(urlString); + if (credentials) { + var authHeader = "Authorization"; + var authHeaderValue = "Basic " + window.btoa(credentials); + + header = { + name : authHeader, + value : authHeaderValue + }; + } + } + + return header; +} + +function convertHeadersToArray(headers) { + var result = []; + for (var header in headers) { + if (headers.hasOwnProperty(header)) { + var headerValue = headers[header]; + result.push({ + name: header, + value: headerValue.toString() + }); + } + } + return result; +} + +var idCounter = 0; + +/** + * FileTransfer uploads a file to a remote server. + * @constructor + */ +var FileTransfer = function() { + this._id = ++idCounter; + this.onprogress = null; // optional callback +}; + +/** +* Given an absolute file path, uploads a file on the device to a remote server +* using a multipart HTTP request. +* @param filePath {String} Full path of the file on the device +* @param server {String} URL of the server to receive the file +* @param successCallback (Function} Callback to be invoked when upload has completed +* @param errorCallback {Function} Callback to be invoked upon error +* @param options {FileUploadOptions} Optional parameters such as file name and mimetype +* @param trustAllHosts {Boolean} Optional trust all hosts (e.g. for self-signed certs), defaults to false +*/ +FileTransfer.prototype.upload = function(filePath, server, successCallback, errorCallback, options, trustAllHosts) { + argscheck.checkArgs('ssFFO*', 'FileTransfer.upload', arguments); + // check for options + var fileKey = null; + var fileName = null; + var mimeType = null; + var params = null; + var chunkedMode = true; + var headers = null; + var httpMethod = null; + var basicAuthHeader = getBasicAuthHeader(server); + if (basicAuthHeader) { + server = server.replace(getUrlCredentials(server) + '@', ''); + + options = options || {}; + options.headers = options.headers || {}; + options.headers[basicAuthHeader.name] = basicAuthHeader.value; + } + + if (options) { + fileKey = options.fileKey; + fileName = options.fileName; + mimeType = options.mimeType; + headers = options.headers; + httpMethod = options.httpMethod || "POST"; + if (httpMethod.toUpperCase() == "PUT"){ + httpMethod = "PUT"; + } else { + httpMethod = "POST"; + } + if (options.chunkedMode !== null || typeof options.chunkedMode != "undefined") { + chunkedMode = options.chunkedMode; + } + if (options.params) { + params = options.params; + } + else { + params = {}; + } + } + + if (cordova.platformId === "windowsphone") { + headers = headers && convertHeadersToArray(headers); + params = params && convertHeadersToArray(params); + } + + var fail = errorCallback && function(e) { + var error = new FileTransferError(e.code, e.source, e.target, e.http_status, e.body, e.exception); + errorCallback(error); + }; + + var self = this; + var win = function(result) { + if (typeof result.lengthComputable != "undefined") { + if (self.onprogress) { + self.onprogress(newProgressEvent(result)); + } + } else { + successCallback && successCallback(result); + } + }; + exec(win, fail, 'FileTransfer', 'upload', [filePath, server, fileKey, fileName, mimeType, params, trustAllHosts, chunkedMode, headers, this._id, httpMethod]); +}; + +/** + * Downloads a file form a given URL and saves it to the specified directory. + * @param source {String} URL of the server to receive the file + * @param target {String} Full path of the file on the device + * @param successCallback (Function} Callback to be invoked when upload has completed + * @param errorCallback {Function} Callback to be invoked upon error + * @param trustAllHosts {Boolean} Optional trust all hosts (e.g. for self-signed certs), defaults to false + * @param options {FileDownloadOptions} Optional parameters such as headers + */ +FileTransfer.prototype.download = function(source, target, successCallback, errorCallback, trustAllHosts, options) { + argscheck.checkArgs('ssFF*', 'FileTransfer.download', arguments); + var self = this; + + var basicAuthHeader = getBasicAuthHeader(source); + if (basicAuthHeader) { + source = source.replace(getUrlCredentials(source) + '@', ''); + + options = options || {}; + options.headers = options.headers || {}; + options.headers[basicAuthHeader.name] = basicAuthHeader.value; + } + + var headers = null; + if (options) { + headers = options.headers || null; + } + + if (cordova.platformId === "windowsphone" && headers) { + headers = convertHeadersToArray(headers); + } + + var win = function(result) { + if (typeof result.lengthComputable != "undefined") { + if (self.onprogress) { + return self.onprogress(newProgressEvent(result)); + } + } else if (successCallback) { + var entry = null; + if (result.isDirectory) { + entry = new (require('cordova-plugin-file.DirectoryEntry'))(); + } + else if (result.isFile) { + entry = new (require('cordova-plugin-file.FileEntry'))(); + } + entry.isDirectory = result.isDirectory; + entry.isFile = result.isFile; + entry.name = result.name; + entry.fullPath = result.fullPath; + entry.filesystem = new FileSystem(result.filesystemName || (result.filesystem == window.PERSISTENT ? 'persistent' : 'temporary')); + entry.nativeURL = result.nativeURL; + successCallback(entry); + } + }; + + var fail = errorCallback && function(e) { + var error = new FileTransferError(e.code, e.source, e.target, e.http_status, e.body, e.exception); + errorCallback(error); + }; + + exec(win, fail, 'FileTransfer', 'download', [source, target, trustAllHosts, this._id, headers]); +}; + +/** + * Aborts the ongoing file transfer on this object. The original error + * callback for the file transfer will be called if necessary. + */ +FileTransfer.prototype.abort = function() { + exec(null, null, 'FileTransfer', 'abort', [this._id]); +}; + +module.exports = FileTransfer; + +}); diff --git a/platforms/android/build/intermediates/assets/debug/www/plugins/cordova-plugin-file-transfer/www/FileTransferError.js b/platforms/android/build/intermediates/assets/debug/www/plugins/cordova-plugin-file-transfer/www/FileTransferError.js new file mode 100644 index 0000000..8339c2b --- /dev/null +++ b/platforms/android/build/intermediates/assets/debug/www/plugins/cordova-plugin-file-transfer/www/FileTransferError.js @@ -0,0 +1,43 @@ +cordova.define("cordova-plugin-file-transfer.FileTransferError", function(require, exports, module) { /* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +/** + * FileTransferError + * @constructor + */ +var FileTransferError = function(code, source, target, status, body, exception) { + this.code = code || null; + this.source = source || null; + this.target = target || null; + this.http_status = status || null; + this.body = body || null; + this.exception = exception || null; +}; + +FileTransferError.FILE_NOT_FOUND_ERR = 1; +FileTransferError.INVALID_URL_ERR = 2; +FileTransferError.CONNECTION_ERR = 3; +FileTransferError.ABORT_ERR = 4; +FileTransferError.NOT_MODIFIED_ERR = 5; + +module.exports = FileTransferError; + +}); diff --git a/platforms/android/build/intermediates/assets/debug/www/plugins/cordova-plugin-file/www/DirectoryEntry.js b/platforms/android/build/intermediates/assets/debug/www/plugins/cordova-plugin-file/www/DirectoryEntry.js new file mode 100644 index 0000000..464d339 --- /dev/null +++ b/platforms/android/build/intermediates/assets/debug/www/plugins/cordova-plugin-file/www/DirectoryEntry.js @@ -0,0 +1,119 @@ +cordova.define("cordova-plugin-file.DirectoryEntry", function(require, exports, module) { /* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +var argscheck = require('cordova/argscheck'), + utils = require('cordova/utils'), + exec = require('cordova/exec'), + Entry = require('./Entry'), + FileError = require('./FileError'), + DirectoryReader = require('./DirectoryReader'); + +/** + * An interface representing a directory on the file system. + * + * {boolean} isFile always false (readonly) + * {boolean} isDirectory always true (readonly) + * {DOMString} name of the directory, excluding the path leading to it (readonly) + * {DOMString} fullPath the absolute full path to the directory (readonly) + * {FileSystem} filesystem on which the directory resides (readonly) + */ +var DirectoryEntry = function(name, fullPath, fileSystem, nativeURL) { + + // add trailing slash if it is missing + if ((fullPath) && !/\/$/.test(fullPath)) { + fullPath += "/"; + } + // add trailing slash if it is missing + if (nativeURL && !/\/$/.test(nativeURL)) { + nativeURL += "/"; + } + DirectoryEntry.__super__.constructor.call(this, false, true, name, fullPath, fileSystem, nativeURL); +}; + +utils.extend(DirectoryEntry, Entry); + +/** + * Creates a new DirectoryReader to read entries from this directory + */ +DirectoryEntry.prototype.createReader = function() { + return new DirectoryReader(this.toInternalURL()); +}; + +/** + * Creates or looks up a directory + * + * @param {DOMString} path either a relative or absolute path from this directory in which to look up or create a directory + * @param {Flags} options to create or exclusively create the directory + * @param {Function} successCallback is called with the new entry + * @param {Function} errorCallback is called with a FileError + */ +DirectoryEntry.prototype.getDirectory = function(path, options, successCallback, errorCallback) { + argscheck.checkArgs('sOFF', 'DirectoryEntry.getDirectory', arguments); + var fs = this.filesystem; + var win = successCallback && function(result) { + var entry = new DirectoryEntry(result.name, result.fullPath, fs, result.nativeURL); + successCallback(entry); + }; + var fail = errorCallback && function(code) { + errorCallback(new FileError(code)); + }; + exec(win, fail, "File", "getDirectory", [this.toInternalURL(), path, options]); +}; + +/** + * Deletes a directory and all of it's contents + * + * @param {Function} successCallback is called with no parameters + * @param {Function} errorCallback is called with a FileError + */ +DirectoryEntry.prototype.removeRecursively = function(successCallback, errorCallback) { + argscheck.checkArgs('FF', 'DirectoryEntry.removeRecursively', arguments); + var fail = errorCallback && function(code) { + errorCallback(new FileError(code)); + }; + exec(successCallback, fail, "File", "removeRecursively", [this.toInternalURL()]); +}; + +/** + * Creates or looks up a file + * + * @param {DOMString} path either a relative or absolute path from this directory in which to look up or create a file + * @param {Flags} options to create or exclusively create the file + * @param {Function} successCallback is called with the new entry + * @param {Function} errorCallback is called with a FileError + */ +DirectoryEntry.prototype.getFile = function(path, options, successCallback, errorCallback) { + argscheck.checkArgs('sOFF', 'DirectoryEntry.getFile', arguments); + var fs = this.filesystem; + var win = successCallback && function(result) { + var FileEntry = require('./FileEntry'); + var entry = new FileEntry(result.name, result.fullPath, fs, result.nativeURL); + successCallback(entry); + }; + var fail = errorCallback && function(code) { + errorCallback(new FileError(code)); + }; + exec(win, fail, "File", "getFile", [this.toInternalURL(), path, options]); +}; + +module.exports = DirectoryEntry; + +}); diff --git a/platforms/android/build/intermediates/assets/debug/www/plugins/cordova-plugin-file/www/DirectoryReader.js b/platforms/android/build/intermediates/assets/debug/www/plugins/cordova-plugin-file/www/DirectoryReader.js new file mode 100644 index 0000000..921b486 --- /dev/null +++ b/platforms/android/build/intermediates/assets/debug/www/plugins/cordova-plugin-file/www/DirectoryReader.js @@ -0,0 +1,75 @@ +cordova.define("cordova-plugin-file.DirectoryReader", function(require, exports, module) { /* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +var exec = require('cordova/exec'), + FileError = require('./FileError') ; + +/** + * An interface that lists the files and directories in a directory. + */ +function DirectoryReader(localURL) { + this.localURL = localURL || null; + this.hasReadEntries = false; +} + +/** + * Returns a list of entries from a directory. + * + * @param {Function} successCallback is called with a list of entries + * @param {Function} errorCallback is called with a FileError + */ +DirectoryReader.prototype.readEntries = function(successCallback, errorCallback) { + // If we've already read and passed on this directory's entries, return an empty list. + if (this.hasReadEntries) { + successCallback([]); + return; + } + var reader = this; + var win = typeof successCallback !== 'function' ? null : function(result) { + var retVal = []; + for (var i=0; i or + *