Compare commits
1002 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 18384f9c69 | |||
| 708ea8378e | |||
| b591775512 | |||
| 03a42c5858 | |||
| 3f4773a819 | |||
| be5de4a98c | |||
| 0e76055939 | |||
| c49918aefb | |||
| 91deb76d82 | |||
| 2bdeb614fc | |||
| 387e8d073e | |||
| f6abe8d4c0 | |||
| 0116e73b26 | |||
| 2d1aae44b2 | |||
| 99d7f0443f | |||
| 412cfdf047 | |||
| d0bfe3a386 | |||
| b346444530 | |||
| f6be87a4d7 | |||
| 8badffbc69 | |||
| 7fcf7344c1 | |||
| 21fae7e799 | |||
| 52982e549e | |||
| 59f4c139a3 | |||
| ce72ddd5f8 | |||
| 5763a92301 | |||
| e2379e5b5f | |||
| 9fb5d11039 | |||
| 8cdc361ec1 | |||
| b4cddd2c28 | |||
| 023578fa6e | |||
| fdcf314894 | |||
| 4c23607356 | |||
| 7ff34ed43c | |||
| ee08b612c1 | |||
| 6be90cef21 | |||
| 34ab6bd458 | |||
| c2dc1a979e | |||
| 3c3bd4a77d | |||
| 9c82d622af | |||
| 27e2e66f84 | |||
| ab03c02d3e | |||
| a221a05768 | |||
| 431ab02bf5 | |||
| 128ce7574e | |||
| 79da2da30a | |||
| 80b319a457 | |||
| f85007617c | |||
| cd9203bda5 | |||
| d4072c81bd | |||
| 258ca9742a | |||
| 13274b95be | |||
| 5986e60e3a | |||
| e620463951 | |||
| 5f1da797a1 | |||
| e02de092c4 | |||
| 57404bfe1e | |||
| 3d73ca43b6 | |||
| 5c0b0d84dc | |||
| f1b02d9960 | |||
| e24fa54bb3 | |||
| b0234e3c70 | |||
| a46221335f | |||
| 25d65178b2 | |||
| 7690dbd9ac | |||
| 76d5da358c | |||
| e4c73b04f2 | |||
| f95789d622 | |||
| 60ff22f4e9 | |||
| 4c8407f6e1 | |||
| 2b96fcbe06 | |||
| 424afdf702 | |||
| 3576aa47a7 | |||
| 47b2f4d259 | |||
| f599cda957 | |||
| f3b476eef3 | |||
| 885378ebfc | |||
| 84b92f4693 | |||
| eafeda8d74 | |||
| f574734b93 | |||
| d7219edbe1 | |||
| 101b09a2e1 | |||
| d73ca4be0b | |||
| 1ac333daab | |||
| 431b17baec | |||
| c264daa666 | |||
| 221965a747 | |||
| 6e66645af0 | |||
| aa83cb2980 | |||
| 5b2dbd2400 | |||
| 5c21a9781f | |||
| dfe8ce7bff | |||
| 3660fe87a8 | |||
| 22db66811d | |||
| c83806b005 | |||
| a414564367 | |||
| 9cc0f79fe2 | |||
| 78c0734d1d | |||
| 18b949bcf3 | |||
| 1518f54bb8 | |||
| eb3b7191ff | |||
| 4b5fe479fb | |||
| 657de60ebc | |||
| 5b7791e610 | |||
| 7143711f0f | |||
| 020acbc988 | |||
| 4f22230833 | |||
| 76da7857a6 | |||
| a7d08328ad | |||
| cd63487628 | |||
| f976f66334 | |||
| 9fa07fe8f3 | |||
| b1df4a70b2 | |||
| 7f46e56b6d | |||
| d6d59d52f6 | |||
| 270cbbeded | |||
| 3b8b8ec6f2 | |||
| 60e067511b | |||
| 7cda4b8880 | |||
| 886a5d2517 | |||
| 0d5217cdba | |||
| c7289b50e6 | |||
| 822400ede7 | |||
| 514b65ce12 | |||
| d30fea1211 | |||
| 46dc8c157d | |||
| 95a33be26c | |||
| 5afe2cacb4 | |||
| 6d217e64e1 | |||
| adea9016b9 | |||
| ab5c3bf4d6 | |||
| 49e691a560 | |||
| 4e300faf96 | |||
| 30ca11cd36 | |||
| b09b1a10f1 | |||
| 3ab7370682 | |||
| 80f1b55122 | |||
| 8c79f50781 | |||
| ed89eca893 | |||
| 7098e7fa2e | |||
| 910cf4e6cd | |||
| e8455c7c1c | |||
| 13ada60f68 | |||
| 9e6e597215 | |||
| cb1ccee136 | |||
| ac8a799df6 | |||
| 5a121015a5 | |||
| 1caca9ba28 | |||
| 78afdf2935 | |||
| e63808de04 | |||
| d9e1345f0c | |||
| e8f664ec8f | |||
| 26b2141e55 | |||
| 382220088c | |||
| 2c1e80fc1b | |||
| 04b48f1e49 | |||
| d23d84d677 | |||
| 5e6d997f13 | |||
| b19091e5aa | |||
| 9350b60494 | |||
| f4cde4ab7a | |||
| cfd093c58b | |||
| 6c1401670a | |||
| 97394a7321 | |||
| 97ec5b835a | |||
| 51c0b2b7b8 | |||
| e500738954 | |||
| 841b893770 | |||
| 88ba4aeb9d | |||
| c5da934fc1 | |||
| 0f093c8bd0 | |||
| d97c1572a1 | |||
| 1ea13ce279 | |||
| e0f46ea320 | |||
| e0af047c61 | |||
| 56dd7dbd0b | |||
| b98f617a46 | |||
| 8f3fc6171a | |||
| 6e4a463fb5 | |||
| 2e4046253d | |||
| d09ac452dc | |||
| 9ebf8344a6 | |||
| 37fb2ea4af | |||
| b06f5fe3f4 | |||
| 295357d946 | |||
| 9e4256c8f1 | |||
| 70888ab36f | |||
| 68ee076a6c | |||
| 79fe46a067 | |||
| 29a675a2be | |||
| 32ca6d7a80 | |||
| 9b0ad97918 | |||
| df33f874ca | |||
| e8cf36ccbf | |||
| 4543569c34 | |||
| c65cabd301 | |||
| 68ac3bcc8f | |||
| a8dae330eb | |||
| bace4d4da5 | |||
| 2a4f55546e | |||
| 80ed95077d | |||
| 6a83cbceb1 | |||
| 6692a56c88 | |||
| e8e542b374 | |||
| 60e9d7a939 | |||
| 1289ddb9e5 | |||
| 9241a040ee | |||
| 9262c1b0cc | |||
| 80d17dfb0f | |||
| e81b4ef630 | |||
| f2155577d3 | |||
| fec0f67e5a | |||
| 2e5dc8a06a | |||
| d1345fd276 | |||
| 50f5aa3db7 | |||
| 8ae8da5ebc | |||
| 344e66b004 | |||
| e90be7c802 | |||
| ebb93c3d72 | |||
| b7f8172821 | |||
| 9d77e75556 | |||
| cc6b2ce8ad | |||
| efc0d8d657 | |||
| 03c3020bef | |||
| 2e46725e07 | |||
| 1e0d8c4a8a | |||
| ad9f0db9ad | |||
| 3507cb28c6 | |||
| 1d5eb959d1 | |||
| 102f758528 | |||
| c952fb33e2 | |||
| 3aaece7a6f | |||
| 4cf35faedd | |||
| 744060863b | |||
| 26abdae96c | |||
| 0dcf4d4a80 | |||
| 934970b21a | |||
| ea8f5eda4c | |||
| fcb88fbd24 | |||
| 7ada361d18 | |||
| b0d5923975 | |||
| f34ab8aa7a | |||
| 20742d32d0 | |||
| e6d6104eb3 | |||
| b5daf76b8b | |||
| 3f581caa8c | |||
| ceb0467847 | |||
| 6aefe32380 | |||
| 6a7caa638a | |||
| 55d030cdd0 | |||
| 715a1487c2 | |||
| ec355010a5 | |||
| 22017fd162 | |||
| f7b3bf53cc | |||
| 39518927d6 | |||
| 39184f8a09 | |||
| d867175168 | |||
| e9adc96535 | |||
| 224eb1a89c | |||
| c4a4469424 | |||
| d6014123a0 | |||
| 51a02c30f9 | |||
| d396a43504 | |||
| ce65e1aee9 | |||
| a3aa2cb454 | |||
| 33d5568619 | |||
| 2d7b7c49c3 | |||
| a0821a9cf3 | |||
| d847eefddf | |||
| 503d48985b | |||
| 6798ed2dfe | |||
| e5b1082b9f | |||
| a6397d773b | |||
| 449b1ac87e | |||
| cf23f62887 | |||
| 832b6fa968 | |||
| 387babe235 | |||
| 5271f2d4e8 | |||
| ab36541c03 | |||
| d9019a4c4c | |||
| a87da41bf9 | |||
| e7ab6fefca | |||
| 8965b4eb58 | |||
| fd212aed03 | |||
| b65b535cdc | |||
| 98bf26dd5a | |||
| 558a233558 | |||
| 6b1527b815 | |||
| 11a2cfbff7 | |||
| 3193dd4270 | |||
| 35b081b046 | |||
| 5e8c49e98d | |||
| 8f35ea9a63 | |||
| 35b483e79e | |||
| 3e833d4f08 | |||
| 983f365f28 | |||
| c944bec0b7 | |||
| d5441bd6ad | |||
| 0cebf1a3a7 | |||
| c16782eb5b | |||
| e2cf5b8cb9 | |||
| 3209d0803f | |||
| 88e8842b6d | |||
| 705c9583ad | |||
| 863e61b092 | |||
| 1dcc6f76b2 | |||
| e377596d4c | |||
| 1a0713133c | |||
| 6e9c4df2d4 | |||
| 599c58f131 | |||
| 15bd5e1f1a | |||
| eb22a3af23 | |||
| 39b361c913 | |||
| 6085b7d550 | |||
| 95683fa1fd | |||
| 5ffee1525d | |||
| f5e00e5484 | |||
| 1298fde01e | |||
| c19ab98925 | |||
| 4ceb28429b | |||
| 376161c0d5 | |||
| 438d608590 | |||
| b07d30033b | |||
| d0a57f91e6 | |||
| 0a834bf23c | |||
| bd16fdf703 | |||
| afad51e4fa | |||
| 6ad8d47edf | |||
| 7e02c6e0be | |||
| 3ef6b72555 | |||
| 951c58e69e | |||
| 855f3c3687 | |||
| 6e512fcd21 | |||
| 768adf4968 | |||
| b7e5d673ce | |||
| 9558aabcdb | |||
| 6d0a1fa814 | |||
| 1c69fe2e21 | |||
| c2618ccec2 | |||
| a33150e19d | |||
| d54d009da1 | |||
| 3a4753930a | |||
| 4fe449347e | |||
| c43d80c122 | |||
| b13d941472 | |||
| b9518aa9b6 | |||
| 0d943d9b60 | |||
| 624c4688ee | |||
| a4b85e7299 | |||
| 824cdf7a99 | |||
| 3007fa6551 | |||
| eac7723903 | |||
| 3f30a2789a | |||
| 2eb0fdd4dd | |||
| 834ac6fd51 | |||
| 0763a103a5 | |||
| 810f34da9c | |||
| e16ffbd52c | |||
| b296f2251c | |||
| b938a9fc83 | |||
| 741353a399 | |||
| 9cf80c8f82 | |||
| f467ccb4d1 | |||
| a3ab3e80a4 | |||
| b737c05da2 | |||
| bef2b344c8 | |||
| accf1413dc | |||
| ec29ce0a1f | |||
| f04156dc9d | |||
| 19a2180b2b | |||
| 43bd273784 | |||
| 0af77c7e9c | |||
| 5959e6947d | |||
| a162b75794 | |||
| b9df85d856 | |||
| 38d59b655a | |||
| 5cafb63592 | |||
| a877ae8fa4 | |||
| f5831d3f3f | |||
| 0edc1cb0e0 | |||
| a3bd2157f9 | |||
| 860f1b5b02 | |||
| 90366eeb46 | |||
| fa99151c05 | |||
| 48dec04e83 | |||
| 0fbd65c237 | |||
| d452af4fec | |||
| 02bc54d517 | |||
| 0b4e749f04 | |||
| b66998a832 | |||
| c20e97d16d | |||
| e663e5e64a | |||
| 12afc63c02 | |||
| 5cd0aa5a90 | |||
| 38fd68c931 | |||
| 5d68450abe | |||
| 9885f101d0 | |||
| ffe4b69d11 | |||
| 9b5ce20376 | |||
| 75054e9e59 | |||
| 46555efa67 | |||
| 6c115bc8bf | |||
| 1de35cacbc | |||
| 136a9d529b | |||
| 1e8f420aab | |||
| 21d7d16e4c | |||
| d868aa913b | |||
| 8c9f274a10 | |||
| 59107d9216 | |||
| c800681ade | |||
| b3c08d4ad3 | |||
| e829e5cae0 | |||
| 79746a8af9 | |||
| 1f5150dc56 | |||
| bc70a276ef | |||
| fd0907b912 | |||
| 7dbcf948a3 | |||
| 0876006655 | |||
| 609f4a432f | |||
| c6753c927e | |||
| 0b17897c1a | |||
| 2ddad6474d | |||
| 6835576192 | |||
| 70eb693788 | |||
| 3873a2e45e | |||
| 2f3f603ef3 | |||
| ac7ba89eea | |||
| 6d31669752 | |||
| bfcb50a60c | |||
| 8bd9b23426 | |||
| e53e2ce4b9 | |||
| be3724d915 | |||
| ab8d8a3dc9 | |||
| db6d1f8ba5 | |||
| b0cda59028 | |||
| a0c4ed8534 | |||
| 09ad084547 | |||
| 234915053e | |||
| 442e67e894 | |||
| f378337f75 | |||
| b9a5c9ee1a | |||
| 03e40491c9 | |||
| 4f1cd37eec | |||
| 27588ee5c9 | |||
| afc88f4e04 | |||
| 628b004987 | |||
| a5bdcd4fec | |||
| 97f86f20bb | |||
| 21f4140cd1 | |||
| 8a3bf0c02b | |||
| 9077d02cc8 | |||
| 6d0b7d0315 | |||
| 6f6ad942c8 | |||
| 8805fb21e4 | |||
| 47371c311f | |||
| a91fe925fc | |||
| 298d3d7b2d | |||
| 20d0c6f1d4 | |||
| 7bd9918849 | |||
| 41362ae50c | |||
| d73a9c2c80 | |||
| 9513c60c31 | |||
| 4bffab4709 | |||
| f240d29618 | |||
| 8f891a7e86 | |||
| 67cc6b6b4f | |||
| 87732faf02 | |||
| 83b96b9065 | |||
| 5b21863954 | |||
| 5198e286ed | |||
| 051260d0ba | |||
| 0a2d9e750c | |||
| 00d099f830 | |||
| 2436f3299e | |||
| 467733ab78 | |||
| 510f0ed9e5 | |||
| 2f8aa55c4b | |||
| fafbd94012 | |||
| 785b4d03fd | |||
| ba418f4a64 | |||
| 6ad9e19b51 | |||
| ec3cf9da49 | |||
| b1c4c3bdea | |||
| 624a867008 | |||
| 3b6895d507 | |||
| b498e8781c | |||
| 4d2639a485 | |||
| c3a8d41177 | |||
| 5fb7beb7c8 | |||
| 2e0b8ea654 | |||
| 4f153672f7 | |||
| bdccf3cb82 | |||
| 5e5c3a9ecb | |||
| 9e03480d93 | |||
| dba3b8fda5 | |||
| 05be3c0fe7 | |||
| e198fa0ed6 | |||
| 9b079003cb | |||
| 41c05fae68 | |||
| 9eaf238181 | |||
| 22790badc4 | |||
| 530dc082ba | |||
| c79f22aac7 | |||
| 51f56644b6 | |||
| f5bb3f23c6 | |||
| 52c3c54443 | |||
| 1f7ae6852d | |||
| 730762f393 | |||
| bcc0389006 | |||
| 4ccc164b86 | |||
| 889b9b160a | |||
| cf82d67814 | |||
| d871f7f927 | |||
| 170afbb74d | |||
| 4aebbcff83 | |||
| eb96a5efa4 | |||
| bb8ef5aa64 | |||
| 36abc07a9b | |||
| 950dda1a67 | |||
| 7f4e866870 | |||
| 935929fd97 | |||
| 5369df34a5 | |||
| 73c21747fd | |||
| 120cfb0c7b | |||
| e799c6a208 | |||
| 2a4bc95c28 | |||
| 20ca58e9af | |||
| 12ba6ba3b6 | |||
| d75f77c75e | |||
| 6fdf23646d | |||
| 7eb1724c75 | |||
| f0efb4845a | |||
| 6d8b292320 | |||
| 5e20c7a3dc | |||
| 011c8232e6 | |||
| d0194a939b | |||
| 9a18c2b93c | |||
| e3de77cf08 | |||
| 7821571b5a | |||
| 8b0d4e4d6e | |||
| e260107bc5 | |||
| cc54c8c679 | |||
| fb749d5bcf | |||
| 3eb380a834 | |||
| d910bb9e3e | |||
| 23b3932738 | |||
| 0c6c658d92 | |||
| af3b0670d1 | |||
| d017f1692a | |||
| 663e027208 | |||
| 10f42db613 | |||
| eca779bc32 | |||
| cca7c1a2ed | |||
| ca09d02836 | |||
| 387476936c | |||
| d360648d6b | |||
| c10216b037 | |||
| 0ff604794c | |||
| 06bfce75ea | |||
| ff442b64eb | |||
| 5c1e55e61b | |||
| ecd4157b48 | |||
| 2b7e341da2 | |||
| b2e918c3e1 | |||
| d83346c689 | |||
| c3658ed33a | |||
| 4b75149c8b | |||
| 0e7b20ef00 | |||
| 1fad77671c | |||
| 9edf780604 | |||
| 288888020e | |||
| 9eb852db96 | |||
| 3a6ff8a066 | |||
| 952f82f1a3 | |||
| 7bbd24f916 | |||
| 7ccd42a91f | |||
| 32f835f583 | |||
| 752d7867b4 | |||
| 995b88d620 | |||
| a2703a38d4 | |||
| c0eb147b74 | |||
| 4687b64ebd | |||
| 0d8c9870d7 | |||
| 76b4e41692 | |||
| 7d2175f6dc | |||
| 8b431cbda2 | |||
| 8e957d3ca2 | |||
| 20868a041a | |||
| 197b5441e5 | |||
| 5352518b80 | |||
| c5a2b72e64 | |||
| 077aa691af | |||
| 59b7b90f09 | |||
| 8e9bd50bb9 | |||
| e564f8bfa8 | |||
| de1695710c | |||
| 845947b97c | |||
| 6e422a85a1 | |||
| d99b4f683b | |||
| b30f15524d | |||
| 953016d60c | |||
| d4d18e6cd1 | |||
| 90e64b4e56 | |||
| b55ea930ca | |||
| fd0e168f47 | |||
| a8db12a2c6 | |||
| 7e6683bde0 | |||
| b2c449ec03 | |||
| 3a792751df | |||
| f52dbdc6a5 | |||
| 13dafd3e2a | |||
| 454822b36a | |||
| 8becb09aa7 | |||
| e1c1302c3f | |||
| f1d287da1f | |||
| 2a269ffc3c | |||
| 06962b11f3 | |||
| 65805318ed | |||
| 13d49431dd | |||
| a2a47bf270 | |||
| 81848ddb7e | |||
| 428f8e6156 | |||
| 378f9da946 | |||
| 40d122aa93 | |||
| c42d1592fa | |||
| 78f478faa0 | |||
| 01332cf6b0 | |||
| 1f9753c433 | |||
| 994681d194 | |||
| a3e52ed8a0 | |||
| e46510ecd4 | |||
| d326e02fc3 | |||
| b35e0eb952 | |||
| 3b7365e56c | |||
| c91f56c0f1 | |||
| bc90c9ef29 | |||
| e30e3af526 | |||
| 94e44531cb | |||
| 949f262824 | |||
| 21fd3b900b | |||
| 803201ae4f | |||
| f58c8b512d | |||
| b60b3537cb | |||
| 22f0cb0d7a | |||
| ca150da128 | |||
| d46c95c9e5 | |||
| 659a017168 | |||
| 5df3039ab5 | |||
| d75d8888ce | |||
| 099f4a33d0 | |||
| 662f61b6c2 | |||
| 4f37d11ef5 | |||
| 1feba7bd3c | |||
| a8d52fe7fc | |||
| f5b2ec498f | |||
| 076b1b893b | |||
| f361e928cb | |||
| 1f79494747 | |||
| 0fcc6f4661 | |||
| 97df2ceea5 | |||
| cec9a5e5b1 | |||
| 0a72a96c0a | |||
| 195c71af9a | |||
| d7620a817a | |||
| 2ca65a39d3 | |||
| 30a92fe63d | |||
| 1402f5a726 | |||
| 221956f62e | |||
| 532ba23287 | |||
| 81a275343b | |||
| ca05afc0af | |||
| 37d5d3ed97 | |||
| 0e82c24d25 | |||
| 33f64e5d87 | |||
| 274a62f889 | |||
| b7924a1f6d | |||
| 6df617948f | |||
| 60757fc375 | |||
| 610dc4fd6a | |||
| b095276bd6 | |||
| 7d7152c4a1 | |||
| 9237c417ba | |||
| feb58bffb9 | |||
| 1162210ade | |||
| 62b05664ed | |||
| bd53a7ebe1 | |||
| f09a1e31c1 | |||
| 894748b01b | |||
| ad5bc91cda | |||
| bb01305e4c | |||
| efc1b1f28b | |||
| 71d8fbac58 | |||
| 052f2ebe8a | |||
| 7164ef8d18 | |||
| ea5be6b07b | |||
| 8513444e26 | |||
| e94a4535f9 | |||
| 630025944e | |||
| a0e90208dc | |||
| 7ec3332f3b | |||
| 2959164c96 | |||
| ba633f442c | |||
| 3dda9cb600 | |||
| eb657b46fb | |||
| c32812f68a | |||
| 3bb183bf0d | |||
| 91a83c5cb0 | |||
| 2c81c8f318 | |||
| 1ad9a4dc02 | |||
| da3bda123c | |||
| 1db14a5f1f | |||
| e35977012b | |||
| 05f9d035f4 | |||
| 22675eb90f | |||
| 40f06d2f75 | |||
| 8ff44085f9 | |||
| 7504dd6488 | |||
| 375d998e45 | |||
| 71d1b6a26f | |||
| 6669267ef0 | |||
| 6105fb2977 | |||
| 34ba56cb29 | |||
| 539c03bf08 | |||
| 8b948a220e | |||
| 78512f87a3 | |||
| ad011f37bc | |||
| 0db042d42d | |||
| ddaf094a44 | |||
| 7d4c08449a | |||
| 4bdda5fab2 | |||
| c16d69958f | |||
| 6e8018fbcc | |||
| ee13eb36e7 | |||
| 9233799572 | |||
| 5a3a36b930 | |||
| acd3a3cbc5 | |||
| c246e9f9e6 | |||
| caf88748e3 | |||
| 2d98dcb15b | |||
| 76a215413c | |||
| dd3a69df19 | |||
| 45f4b878ab | |||
| 869f1e16f9 | |||
| 89e48bad5e | |||
| 72c1f5acb0 | |||
| 22a64cdd58 | |||
| d0e429ed2d | |||
| 16a1b878f0 | |||
| 34f8b098ec | |||
| baf9c916ac | |||
| 9ddefb8649 | |||
| e5e8211015 | |||
| 13ceebe22a | |||
| 060363635a | |||
| 2545034065 | |||
| 3b02cae775 | |||
| 8f08fa92d0 | |||
| 4f49bc2180 | |||
| 4634f42c91 | |||
| dff820ad76 | |||
| e64ad8a03c | |||
| d40b4668c6 | |||
| ee047ab520 | |||
| 22573b1a89 | |||
| f8c1634f77 | |||
| 6651c35cac | |||
| 4813f385f4 | |||
| b711b44efa | |||
| 45c6112c0a | |||
| 24c8cd49b5 | |||
| cc2e44fb70 | |||
| e3513222f5 | |||
| db37b93c7e | |||
| f1985d71f6 | |||
| 08a0baaf1d | |||
| 6a6efde411 | |||
| adb55fdd68 | |||
| e5c191c6e8 | |||
| aeb73350a1 | |||
| 9fd37033b4 | |||
| a10ae76ab7 | |||
| e3b4775c73 | |||
| 7228413088 | |||
| ccee7adeb2 | |||
| 791a756a4f | |||
| 0777ffc503 | |||
| 96271b367e | |||
| 2e190a974f | |||
| d177f4eaef | |||
| b02a263664 | |||
| 56ce243376 | |||
| fb0beb77f6 | |||
| 8d07dcf0a5 | |||
| a0024b5201 | |||
| 6d4ddba654 | |||
| 2bdb000361 | |||
| 3361e426fb | |||
| a04321981b | |||
| 34df284caf | |||
| c9e5d216f0 | |||
| 0402755258 | |||
| bb210d9751 | |||
| 6791172098 | |||
| 1f02e306df | |||
| a7952dbdf7 | |||
| 5c6652e153 | |||
| 380e624ab8 | |||
| 1d775843ab | |||
| e320999f38 | |||
| 45d5cd7667 | |||
| 9f358d7f50 | |||
| f7976f5d43 | |||
| 1a3cc4519f | |||
| ef39faeb4c | |||
| 4f7974d317 | |||
| 08eeff88bb | |||
| d4d5c90229 | |||
| 62c6eb47da | |||
| e63fe78cf2 | |||
| 16841920f1 | |||
| ff2e8154de | |||
| 900d29c1ae | |||
| 907c82958a | |||
| c3e819206e | |||
| 0306245748 | |||
| 65b47140fe | |||
| d5f77cf0e8 | |||
| 254d3874b5 | |||
| 9c120fba21 | |||
| c78ee0049f | |||
| cdade00464 | |||
| eb65f51b15 | |||
| 4ac01646ca | |||
| 3e68cccafb | |||
| bc3071f95c | |||
| 6bf25b73f0 | |||
| 005b5a58bd | |||
| ee5eee9355 | |||
| 9ec005de09 | |||
| 2ad6da4f56 | |||
| 0a29e32680 | |||
| ee75dfedfe | |||
| 72910b3f57 | |||
| 2a75a885d2 | |||
| db168d47c7 | |||
| 955bf8d5c9 | |||
| 11ed8f4ae0 | |||
| 2ce2dd0630 | |||
| 9bb6424767 | |||
| 246395e62c | |||
| 9a9f488c50 | |||
| 1fdb40865a | |||
| 49b783e7a2 | |||
| 428fb18de0 | |||
| 072dafda97 | |||
| 79720b3982 | |||
| 2ed1253904 | |||
| 0dc7571848 | |||
| a3f0c12598 | |||
| 0ed2e7fce9 | |||
| 691a0a075a | |||
| 59279c1c90 | |||
| 0f2e3ff30d | |||
| ba8c905106 | |||
| 7fe3db1294 | |||
| 65a15ed556 | |||
| aec3b64967 | |||
| 7b0adee9ae | |||
| 203bbb3109 | |||
| 28ac48b23c | |||
| 82c4ad9689 | |||
| 92701038a5 | |||
| 33188d17b5 | |||
| 5713b6cee9 | |||
| 925abec974 | |||
| 0d99f366d9 | |||
| 99d1b391f6 | |||
| 5d023c9ad0 | |||
| 37cc050d30 | |||
| f42391335d | |||
| 0f5d5ad23c | |||
| e494f4733a | |||
| 5a7b61db29 | |||
| 8f68944642 | |||
| 89f4b9f90c | |||
| bc3f3be0ba | |||
| 7434361ff0 | |||
| 6d658faf78 | |||
| c18f2d14d1 | |||
| c94b084f60 | |||
| f71146a242 | |||
| 4787678833 | |||
| f862822059 | |||
| f85f9f1c97 | |||
| c3af593235 | |||
| 1947badb7f | |||
| 1b2efe05f6 | |||
| 18f2349c01 | |||
| 56db35b238 | |||
| e60c412a09 | |||
| 438ddf5297 | |||
| c1d74f26c2 | |||
| c477090460 | |||
| 7a7e6645d1 | |||
| e705e88fcf | |||
| 702ad64d0b | |||
| 901d8c6f83 | |||
| 116206193c | |||
| 518afb7246 | |||
| f042b9484a | |||
| 297d6af7c0 | |||
| c47936d614 | |||
| 34c93d1195 | |||
| 4e3665b714 | |||
| 528d1c4e2d | |||
| baa021c3c2 | |||
| 31eae1ad2e | |||
| f2c0c29efc | |||
| a28983a7ed | |||
| 33681bc84f | |||
| a52a6fa637 | |||
| d0d0e13396 | |||
| ec86a1c337 | |||
| ae49966aff | |||
| af42244dcd | |||
| 7883139e07 | |||
| 0d348f6551 | |||
| 11bd7d0781 | |||
| ffe33ba70b | |||
| 834f848e92 | |||
| 80892e2159 | |||
| fe9127f3d7 | |||
| d1e9a28730 | |||
| 1a803fdb1c | |||
| 604fd0ccb0 | |||
| 58560240c1 | |||
| 53ea6231db | |||
| d0cd7a227c | |||
| ad7b4de92d | |||
| eef12c8e67 | |||
| 5ea208dbbc | |||
| 4410a4bd26 | |||
| 763721111f | |||
| b6ecda1319 | |||
| 912033d6c9 | |||
| 24dcc075bf | |||
| 1347c3af52 | |||
| 84bf0e2107 | |||
| b310788307 | |||
| 19c56fbd04 | |||
| f840d87ce7 | |||
| 776fb8881a | |||
| ac4c4e24ab | |||
| 700879fe1b | |||
| a3e5cddc0c | |||
| 8c1c6a73bf | |||
| d36cd19f8d | |||
| c618920589 | |||
| 08ebc065ce | |||
| 5c53fd6600 | |||
| d42ae2fe54 | |||
| 3f4546acf7 | |||
| cdefa8e6b5 | |||
| 80353a8c73 | |||
| 7982b667ad | |||
| 5c1f30fbf1 | |||
| d617d39b9c | |||
| 5bc385d3c9 | |||
| b193eeda58 | |||
| f25a0734b6 | |||
| 5d3e68157c | |||
| a07d20b865 | |||
| e9ca447bcb | |||
| aee68fe49f | |||
| 5dceb5cfea | |||
| e7649d54e7 | |||
| 18d6e4f3fa | |||
| b1001af04e | |||
| e95dfabd06 | |||
| 8af77665be | |||
| 2d7108e248 | |||
| c3388881f7 | |||
| 1cfdafc9d2 | |||
| 74036fc301 | |||
| 5abcbe2c15 | |||
| c9d289ab2e | |||
| 3703cf09be | |||
| b3aec695c5 | |||
| 8de820f2c7 | |||
| 5e24ca3650 | |||
| 5c64bffe20 | |||
| f903c804c8 | |||
| e179a1ab06 | |||
| 4b358e615f | |||
| c972a28a96 | |||
| 56d3a95290 | |||
| 3797611307 | |||
| d8836d64b2 | |||
| 1a39e78962 | |||
| 2518dcade7 | |||
| 63ee5a050c | |||
| 6e36e08c4d |
@@ -14,6 +14,8 @@ jobs:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: recursive
|
||||
- name: Validate Fastlane Metadata
|
||||
uses: ashutoshgngwr/validate-fastlane-supply-metadata@v2
|
||||
- uses: Swatinem/rust-cache@v2
|
||||
with:
|
||||
working-directory: jni/deltachat-core-rust
|
||||
|
||||
@@ -0,0 +1,66 @@
|
||||
name: Upload Release APK
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- 'v*.*.*'
|
||||
|
||||
jobs:
|
||||
check:
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
match: ${{ steps.check-tag.outputs.match }}
|
||||
steps:
|
||||
- id: check-tag
|
||||
run: |
|
||||
if [[ "${{ github.event.ref }}" =~ ^refs/tags/v[0-9]+\.[0-9]+\.[0-9]+.*$ ]]; then
|
||||
echo ::set-output name=match::true
|
||||
fi
|
||||
|
||||
build:
|
||||
needs: check
|
||||
if: needs.check.outputs.match == 'true'
|
||||
name: Upload Release APK
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: recursive
|
||||
- uses: Swatinem/rust-cache@v2
|
||||
with:
|
||||
working-directory: jni/deltachat-core-rust
|
||||
- uses: actions/setup-java@v3
|
||||
with:
|
||||
java-version: 17
|
||||
distribution: 'temurin'
|
||||
- uses: android-actions/setup-android@v3
|
||||
- uses: nttld/setup-ndk@v1
|
||||
id: setup-ndk
|
||||
with:
|
||||
ndk-version: r23c
|
||||
|
||||
- name: Compile core
|
||||
env:
|
||||
ANDROID_NDK_ROOT: ${{ steps.setup-ndk.outputs.ndk-path }}
|
||||
run: |
|
||||
export PATH="${PATH}:${ANDROID_NDK_ROOT}/toolchains/llvm/prebuilt/linux-x86_64/bin/:${ANDROID_NDK_ROOT}"
|
||||
./scripts/install-toolchains.sh && ./scripts/ndk-make.sh
|
||||
|
||||
- name: Build APK
|
||||
run: |
|
||||
mkdir -p ~/.gradle
|
||||
echo -n ${{ secrets.SIGNING_KEY }} | base64 -d >> ~/app.keystore
|
||||
echo "DC_RELEASE_STORE_FILE=$HOME/app.keystore" >> ~/.gradle/gradle.properties
|
||||
echo "DC_RELEASE_STORE_PASSWORD=${{ secrets.KEY_STORE_PASSWORD }}" >> ~/.gradle/gradle.properties
|
||||
echo "DC_RELEASE_KEY_ALIAS=${{ secrets.ALIAS }}" >> ~/.gradle/gradle.properties
|
||||
echo "DC_RELEASE_KEY_PASSWORD=${{ secrets.KEY_PASSWORD }}" >> ~/.gradle/gradle.properties
|
||||
./gradlew --no-daemon assembleGplayRelease
|
||||
|
||||
- name: Release
|
||||
uses: softprops/action-gh-release@v1
|
||||
with:
|
||||
token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
body: "DeltaLab release, download the APK file for your phone's CPU architecture, if you don't know your phone's architecture, use the universal APK which works for all architectures"
|
||||
prerelease: ${{ contains(github.event.ref, '-beta') }}
|
||||
fail_on_unmatched_files: true
|
||||
files: build/outputs/apk/gplay/release/*.apk
|
||||
@@ -46,4 +46,6 @@ jni/armeabi
|
||||
jni/armeabi-v7a
|
||||
jni/arm64-v8a
|
||||
|
||||
*~
|
||||
artwork/drawable*/
|
||||
artwork/mipmap-*/
|
||||
*~
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
[submodule "jni/deltachat-core-rust"]
|
||||
path = jni/deltachat-core-rust
|
||||
url = https://github.com/deltachat/deltachat-core-rust
|
||||
url = https://github.com/deltalab-org/deltalab-core
|
||||
|
||||
@@ -1,247 +1,46 @@
|
||||
## Delta Chat Android Client
|
||||
## DeltaLab Android Client
|
||||
|
||||
This is the Android client for [Delta Chat](https://delta.chat/).
|
||||
It is available on [F-Droid](https://f-droid.org/app/com.b44t.messenger) and
|
||||
the [Google Play Store](https://play.google.com/store/apps/details?id=chat.delta).
|
||||
The APK can also be downloaded from [get.delta.chat](https://get.delta.chat).
|
||||
DeltaLab is a [Delta Chat](https://delta.chat/) client for Android.
|
||||
|
||||
For the core library and other common info, please refer to the
|
||||
[Delta Chat Core Library](https://github.com/deltachat/deltachat-core-rust).
|
||||
|
||||
For general contribution hints, please refer to [CONTRIBUTING.md](./CONTRIBUTING.md).
|
||||
|
||||
<img alt="Screenshot Chat List" src="docs/images/2019-01-chatlist.png" width="298" /> <img alt="Screenshot Chat View" src="docs/images/2019-01-chat.png" width="298" />
|
||||
[<img src="store/get-it-on-IzzyOnDroid.png"
|
||||
alt="Get it on IzzyOnDroid"
|
||||
height="48">](https://apt.izzysoft.de/fdroid/index/apk/chat.delta.lite)
|
||||
[<img src="store/get-it-on-apklis.png"
|
||||
alt="Disponible en Apklis"
|
||||
height="48">](https://www.apklis.cu/application/chat.delta.lite)
|
||||
[<img src="store/get-it-on-github.png"
|
||||
alt="Get it on GitHub"
|
||||
height="48">](https://github.com/adbenitez/deltalab-android/releases/latest)
|
||||
|
||||
|
||||
# Check Out Repository
|
||||
<img alt="Screenshot Chat List" src="fastlane/metadata/android/en-US/images/phoneScreenshots/02.png" width="298" /> <img alt="Screenshot Chat View" src="fastlane/metadata/android/en-US/images/phoneScreenshots/04.jpg" width="298" />
|
||||
|
||||
When checking out _deltachat-android_, make sure also to check out the
|
||||
subproject _deltachat-core-rust_:
|
||||
# WebXDC
|
||||
|
||||
- When using Git, you can do this initially by
|
||||
`$ git clone --recursive https://github.com/deltachat/deltachat-android`
|
||||
or later by `git submodule update --init --recursive`. If you do this in your
|
||||
home directory, this results in the folder `~/deltachat-android` which is just fine.
|
||||
DeltaLab has some extended support for WebXDC apps:
|
||||
|
||||
# Build Using Nix
|
||||
|
||||
The repository contains [Nix](https://nixos.org/) development environment
|
||||
described in `flake.nix` file.
|
||||
If you don't have Nix installed,
|
||||
the easiest way is to use [The Determinate Nix Installer](https://github.com/DeterminateSystems/nix-installer)
|
||||
which installs Nix with [Flakes](https://nixos.wiki/wiki/Flakes) feature enabled out of the box
|
||||
and can be cleanly uninstalled with `/nix/nix-installer uninstall` once you don't need it anymore.
|
||||
|
||||
Once you have Nix with Flakes feature set up start the development environment shell:
|
||||
```
|
||||
nix develop
|
||||
```
|
||||
Nix development environment contains Rust with cross-compilation toolchains and Android SDK.
|
||||
|
||||
To [build an APK](https://developer.android.com/studio/build/building-cmdline) run the following 2 steps.
|
||||
Note that the first step may take some time to build for all architectures. You can optionally read
|
||||
[the first comment block in the `ndk-make.sh` script](https://github.com/deltachat/deltachat-android/blob/master/scripts/ndk-make.sh)
|
||||
for pointers on how to build for a specific architecture.
|
||||
```
|
||||
$ scripts/ndk-make.sh
|
||||
$ ./gradlew assembleDebug
|
||||
```
|
||||
|
||||
Resulting APK files can be found in
|
||||
`build/outputs/apk/gplay/debug/` and
|
||||
`build/outputs/apk/fat/debug/`.
|
||||
|
||||
# Build Using Dockerfile
|
||||
|
||||
Another way to build APK is to use provided `Dockerfile`
|
||||
with [Docker](https://www.docker.com/) or [Podman](https://podman.io/).
|
||||
Podman is a drop-in replacement for Docker that does not require root privileges.
|
||||
|
||||
If you don't have Docker or Podman setup yet, read [how to setup Podman](#setup-podman)
|
||||
below. If you don't want to use Docker or Podman, read [how to manually install the
|
||||
build environment](#install-build-environment).
|
||||
|
||||
First, build the image `deltachat-android` by running
|
||||
```
|
||||
podman build --build-arg UID=$(id -u) --build-arg GID=$(id -g) . -t deltachat-android
|
||||
```
|
||||
or
|
||||
```
|
||||
docker build --build-arg UID=$(id -u) --build-arg GID=$(id -g) . -t deltachat-android
|
||||
```
|
||||
|
||||
Then, run the image:
|
||||
```
|
||||
podman run --userns=keep-id -it --name deltachat -v $(pwd):/home/app:z -w /home/app localhost/deltachat-android
|
||||
```
|
||||
or
|
||||
```
|
||||
docker run -it --name deltachat -v $(pwd):/home/app:z -w /home/app localhost/deltachat-android
|
||||
```
|
||||
|
||||
You can leave the container with Ctrl+D or by typing `exit` and re-enter it with
|
||||
`docker start -ia deltachat` or `podman start -ia deltachat`.
|
||||
|
||||
Within the container, install toolchains and build the native library:
|
||||
```
|
||||
deltachat@6012dcb974fe:/home/app$ scripts/install-toolchains.sh
|
||||
deltachat@6012dcb974fe:/home/app$ scripts/ndk-make.sh
|
||||
```
|
||||
|
||||
Then, [build an APK](https://developer.android.com/studio/build/building-cmdline):
|
||||
```
|
||||
deltachat@6012dcb974fe:/home/app$ ./gradlew assembleDebug
|
||||
```
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
- Executing `./gradlew assembleDebug` inside the container fails with `The SDK directory '/home/user/Android/Sdk' does not exist.`:
|
||||
|
||||
The problem is that Android Studio (outside the container) automatically creates a file `local.properties` with a content like `sdk.dir=/home/username/Android/Sdk`,
|
||||
so, Gradle-inside-the-container looks for the Sdk at `/home/username/Android/Sdk`, where it can't find it.
|
||||
You could:
|
||||
- either: remove the file or just the line starting with `sdk.dir`
|
||||
- or: run `./gradlew assembleDebug` from outside the container (however, there may be incompatibility issues if different versions are installed inside and outside the container)
|
||||
|
||||
- Running the image fails with `ERRO[0000] The storage 'driver' option must be set in /etc/containers/storage.conf, guarantee proper operation.`:
|
||||
|
||||
In /etc/containers/storage.conf, replace the line: `driver = ""` with: `driver = "overlay"`.
|
||||
You can also set the `driver` option to something else, you just need to set it to _something_.
|
||||
[Read about possible options here](https://github.com/containers/storage/blob/master/docs/containers-storage.conf.5.md#storage-table).
|
||||
|
||||
# <a name="setup-podman"></a>Setup Podman
|
||||
|
||||
These instructions were only tested on a Manjaro machine so far. If anything doesn't work, please open an issue.
|
||||
|
||||
First, [Install Podman](https://podman.io/getting-started/installation).
|
||||
|
||||
Then, if you want to run Podman without root, run:
|
||||
```
|
||||
sudo touch /etc/subgid
|
||||
sudo touch /etc/subuid
|
||||
sudo usermod --add-subuids 165536-231072 --add-subgids 165536-231072 yourusername
|
||||
```
|
||||
(replace `yourusername` with your username).
|
||||
See https://wiki.archlinux.org/index.php/Podman#Rootless_Podman for more information.
|
||||
|
||||
# <a name="install-build-environment"></a>Install Build Environment (without Docker or Podman)
|
||||
|
||||
To setup build environment manually:
|
||||
- _Either_, in Android Studio, go to "Tools / SDK Manager / SDK Tools", enable "Show Package Details",
|
||||
select "CMake" and the desired NDK (install the same NDK version as the [Dockerfile](https://github.com/deltachat/deltachat-android/blob/master/Dockerfile)), hit "Apply".
|
||||
- _Or_ read [Dockerfile](https://github.com/deltachat/deltachat-android/blob/master/Dockerfile) and mimic what it does.
|
||||
|
||||
Then, in both cases, install Rust using [rustup](https://rustup.rs/)
|
||||
and Rust toolchains for cross-compilation by executing `scripts/install-toolchains.sh`.
|
||||
|
||||
Then, configure `ANDROID_NDK_ROOT` environment variable to point to the Android NDK
|
||||
installation directory e.g. by adding this to your `.bashrc`:
|
||||
|
||||
```bash
|
||||
export ANDROID_NDK_ROOT=${HOME}/Android/Sdk/ndk/[version] # (or wherever your NDK is) Note that there is no `/` at the end!
|
||||
export PATH=${PATH}:${ANDROID_NDK_ROOT}/toolchains/llvm/prebuilt/linux-x86_64/bin/:${ANDROID_NDK_ROOT}
|
||||
```
|
||||
|
||||
After that, call `scripts/ndk-make.sh` in the root directory to build core-rust.
|
||||
Afterwards run the project in Android Studio. The project requires API 25.
|
||||
|
||||
With chance, that's it :) - if not, read on how to set up a proper development
|
||||
environment.
|
||||
|
||||
|
||||
# Install Development Environment
|
||||
|
||||
1. Some libs required by Android Studio may be missing on 64 bit Linux machines
|
||||
[Source](https://developer.android.com/studio/install.html)], so for Ubuntu execute
|
||||
`$ sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 lib32z1 libbz2-1.0:i386`
|
||||
and for Fedora execute
|
||||
`$ sudo yum install zlib.i686 ncurses-libs.i686 bzip2-libs.i686`.
|
||||
|
||||
2. Download Android Studio from <https://developer.android.com> (android-studio-ide-...-linux.zip)
|
||||
and unpack the archive which contains a single folder called `android-studio`;
|
||||
move this folder e.g. to `~/android-studio`.
|
||||
|
||||
3. To launch Android Studio for the first time, open a terminal, navigate to
|
||||
`~/android-studio/bin`, execute `./studio.sh` and use all the standard values
|
||||
from the wizard.
|
||||
|
||||
4. Android Studio now asks you if you want to open an existing project;
|
||||
choose `~/deltachat-android` as created in the "Build" chapter (Android Studio starts to
|
||||
build the project, however, there are some steps missing before this will
|
||||
succeed).
|
||||
|
||||
5. If components are missing, click on the corresponding error
|
||||
message and install eg. required SDKs and the "Build-Tools" (you should
|
||||
also find the option at "Tools / Android / SDK Manager / SDK Platforms").
|
||||
Now the build should succeed - but the app still misses the native part.
|
||||
|
||||
6. Download Android NDK from
|
||||
[NDK Archives](https://developer.android.com/ndk/downloads)
|
||||
and extract the archive containing a single folder
|
||||
called something like `android-ndk-r23b-linux`; move this folder e.g. to `~/android-ndk`.
|
||||
|
||||
7. Export the folder path to your environment as `ANDROID_NDK_ROOT` and add it to `PATH`.
|
||||
You can achieve this e.g. by adding this to your `.bashrc`
|
||||
```bash
|
||||
export ANDROID_NDK_ROOT=${HOME}/android-ndk
|
||||
export PATH=${PATH}:${ANDROID_NDK_ROOT}/toolchains/llvm/prebuilt/linux-x86_64/bin/:${ANDROID_NDK_ROOT}
|
||||
```
|
||||
|
||||
# Run UI Tests and Benchmarks
|
||||
|
||||
- You don't necessarily need a dedicated testing device.
|
||||
Backup your current account first, maybe there are some bugs in switching accounts.
|
||||
|
||||
- You can run benchmarks on either an emulated device or a real device.
|
||||
You need at least Android 9. For better benchmark results,
|
||||
you should run the benchmark on a real device and make sure that the core is compiled in release mode.
|
||||
|
||||
- Disable animations on your device, otherwise the test may fail:
|
||||
at "Developer options"
|
||||
set all of "Window animation scale", "Transition animation scale" and "Animator duration scale" to 0x
|
||||
|
||||
- In Android Studio: "File" / "Sync project with gradle files"
|
||||
|
||||
- In Android Studio: "Run" / "Edit configurations" / "+" / "Android Instrumented test":
|
||||
Either select a specific class or select "All in Module" / "OK" /
|
||||
Select your configuration in the toolbar / Click on the green "run" button in the toolbar to run the tests
|
||||
|
||||
## Get the benchmark results
|
||||
|
||||
When the benchmark is done, you will get a result like
|
||||
`MEASURED RESULTS (Benchmark) - Going thorough all 10 chats: 11635,11207,11363,11352,11279,11183,11137,11145,11032,11057`.
|
||||
You can paste `11635,11207,11363,11352,11279,11183,11137,11145,11032,11057`
|
||||
into a cell in a LibreOffice spreadsheet, do "Data" / "Text to columns",
|
||||
choose `,` as a separator, hit "OK", and create a diagram.
|
||||
|
||||
## Run online tests
|
||||
|
||||
For some tests, you need to provide the credentials to an actual email account.
|
||||
You have 2 ways to do this:
|
||||
|
||||
1. (Recommended): Put them into the file ~/.gradle/gradle.properties (create it if it doesn't exist):
|
||||
```
|
||||
TEST_ADDR=youraccount@yourdomain.org
|
||||
TEST_MAIL_PW=youpassword
|
||||
```
|
||||
|
||||
2. Or set them via environment variables.
|
||||
|
||||
# Translations
|
||||
|
||||
Android metadata and changelogs are translated using [Weblate](https://hosted.weblate.org/projects/deltachat/android-metadata/).
|
||||
|
||||
<a href="https://hosted.weblate.org/engage/deltachat/">
|
||||
<img src="https://hosted.weblate.org/widget/deltachat/android-metadata/svg-badge.svg" alt="Translation status" />
|
||||
</a>
|
||||
- `window.webxdc.deltalab` a string with the DeltaLab version and can be used by app developers
|
||||
to detect when they can use the DeltaLab-specific features.
|
||||
- `window.webxdc.isCommunity` true if the current account is a community account
|
||||
- `sendToChat()`: extra property `subject` can be set to a text string to set message/email's subject.
|
||||
- `sendToChat()`: extra property `html` can be set to a string of html markup to set the HTML part of the email/message.
|
||||
- `sendToChat()`: the file object parameter also accepts a `type` field that can be one of:
|
||||
* `"sticker"`
|
||||
* `"image"`
|
||||
* `"audio"`
|
||||
* `"video"`
|
||||
* `"file"` (default if `type` field is not present)
|
||||
- Inside apps, clicking external links is supported, ex. to open in browser, so you can include links to your website or donation pages.
|
||||
- `manifest.toml` field: `orientation`, if you set it to `"landscape"` your app will be launched in landscape mode.
|
||||
|
||||
# Credits
|
||||
|
||||
The user interface classes are based on the Signal messenger.
|
||||
DeltaLab is based on the [official Delta Chat client](https://github.com/deltachat/deltachat-android) with some improvements.
|
||||
|
||||
DeltaLab uses a [modified](https://github.com/adbenitez/deltalab-core) version of the [Delta Chat Core Library](https://github.com/deltachat/deltachat-core-rust).
|
||||
|
||||
# License
|
||||
|
||||
Licensed GPLv3+, see the LICENSE file for details.
|
||||
|
||||
Copyright © 2022 Delta Chat contributors.
|
||||
Copyright © 2024 DeltaLab contributors.
|
||||
|
||||
@@ -0,0 +1,439 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
|
||||
<svg
|
||||
xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
id="Capa_1"
|
||||
x="0px"
|
||||
y="0px"
|
||||
viewBox="0 0 384 384"
|
||||
style="enable-background:new 0 0 384 384;"
|
||||
xml:space="preserve"
|
||||
sodipodi:docname="ic_launcher.svg"
|
||||
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"
|
||||
inkscape:export-filename="/home/adb/projects/deltachat-android/ic_launcher/ic_launcher.png"
|
||||
inkscape:export-xdpi="49.038963"
|
||||
inkscape:export-ydpi="49.038963"><metadata
|
||||
id="metadata43"><rdf:RDF><cc:Work
|
||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
|
||||
id="defs41"><linearGradient
|
||||
id="linearGradient4695"
|
||||
osb:paint="solid"><stop
|
||||
style="stop-color:#5743ff;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop4693" /></linearGradient><clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath866"><g
|
||||
style="fill:url(#linearGradient968);fill-opacity:1"
|
||||
id="use868"
|
||||
inkscape:label="Clip"><circle
|
||||
style="fill:url(#linearGradient966);fill-opacity:1;stroke-width:0.75687599"
|
||||
id="circle962"
|
||||
cx="125"
|
||||
cy="259"
|
||||
inkscape:export-xdpi="71.111115"
|
||||
inkscape:export-ydpi="71.111115"
|
||||
inkscape:export-filename="/home/adb/projects/deltachat-android/ic_launcher/mipmap-xxxhdpi/ic_launcher_round.png"
|
||||
r="125" /></g></clipPath><clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath880"><g
|
||||
id="use882"
|
||||
inkscape:label="Clip"><g
|
||||
id="g4833"
|
||||
clip-path="url(#clipPath866-3)"><g
|
||||
inkscape:label="Clip"
|
||||
id="g4831"><circle
|
||||
r="125"
|
||||
inkscape:export-filename="/home/adb/projects/deltachat-android/ic_launcher/mipmap-xxxhdpi/ic_launcher_round.png"
|
||||
inkscape:export-ydpi="71.111115"
|
||||
inkscape:export-xdpi="71.111115"
|
||||
cy="259"
|
||||
cx="125"
|
||||
id="circle4829"
|
||||
style="fill:#5a6f78;fill-opacity:1;stroke-width:0.75687599" /></g></g><g
|
||||
style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2"
|
||||
transform="matrix(0.17680256,0,0,0.19688889,-101.30692,70.72311)"
|
||||
id="g4839"
|
||||
inkscape:export-filename="/home/adb/projects/deltachat-android/ic_launcher/drawable-xxhdpi-v11/icon_notification.png"
|
||||
inkscape:export-xdpi="46.080002"
|
||||
inkscape:export-ydpi="46.080002"><g
|
||||
transform="translate(0,256.33)"
|
||||
id="g4837"><path
|
||||
inkscape:connector-curvature="0"
|
||||
d="m 1280,510.454 -202.69,364.022 477.87,130.194 H 855.796 L 1280,242.819 1704.2,1004.67 h -149.02 z"
|
||||
style="fill:#ffffff"
|
||||
id="path4835" /></g></g></g></clipPath><clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath866-3"><g
|
||||
inkscape:label="Clip"
|
||||
id="use868-5"><circle
|
||||
r="125"
|
||||
inkscape:export-filename="/home/adb/projects/deltachat-android/ic_launcher/mipmap-xxxhdpi/ic_launcher_round.png"
|
||||
inkscape:export-ydpi="71.111115"
|
||||
inkscape:export-xdpi="71.111115"
|
||||
cy="259"
|
||||
cx="125"
|
||||
id="circle4843"
|
||||
style="fill:#5a6f78;fill-opacity:1;stroke-width:0.75687599" /></g></clipPath><clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath955"><g
|
||||
id="use957"
|
||||
inkscape:label="Clip"><rect
|
||||
style="fill:#5a6f78;fill-opacity:1;stroke-width:0.83070838"
|
||||
id="rect101"
|
||||
width="324"
|
||||
height="324"
|
||||
x="0"
|
||||
y="60"
|
||||
inkscape:export-xdpi="128"
|
||||
inkscape:export-ydpi="128"
|
||||
inkscape:export-filename="/home/adb/projects/deltachat-android/ic_launcher/mipmap-xxxhdpi/ic_launcher_foreground.png" /><g
|
||||
style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2"
|
||||
transform="matrix(0.17680256,0,0,0.19688889,-64.306924,35.72311)"
|
||||
id="g107"
|
||||
inkscape:export-filename="/home/adb/projects/deltachat-android/ic_launcher/drawable-xxhdpi-v11/icon_notification.png"
|
||||
inkscape:export-xdpi="46.080002"
|
||||
inkscape:export-ydpi="46.080002"><g
|
||||
transform="translate(0,256.33)"
|
||||
id="g105"><path
|
||||
inkscape:connector-curvature="0"
|
||||
d="m 1280,510.454 -202.69,364.022 477.87,130.194 H 855.796 L 1280,242.819 1704.2,1004.67 h -149.02 z"
|
||||
style="fill:#ffffff"
|
||||
id="path103" /></g></g></g></clipPath><linearGradient
|
||||
id="linearGradient4409"><stop
|
||||
style="stop-color:#f9f9f9;stop-opacity:1"
|
||||
offset="0"
|
||||
id="stop4411" /><stop
|
||||
style="stop-color:#cccccc;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop4413" /></linearGradient><linearGradient
|
||||
id="linearGradient4399"><stop
|
||||
style="stop-color:#f9f9f9;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop4401" /><stop
|
||||
style="stop-color:#f9f9f9;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop4403" /></linearGradient><linearGradient
|
||||
id="linearGradient4375"><stop
|
||||
style="stop-color:#364e59;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop4377" /><stop
|
||||
style="stop-color:#364e59;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop4379" /></linearGradient><linearGradient
|
||||
id="linearGradient4367"><stop
|
||||
style="stop-color:#dc000f;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop4369" /><stop
|
||||
style="stop-color:#00ff00;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop4371" /></linearGradient><linearGradient
|
||||
id="linearGradient4359"><stop
|
||||
style="stop-color:#dc000f;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop4361" /><stop
|
||||
style="stop-color:#000000;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop4363" /></linearGradient><linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4409"
|
||||
id="linearGradient4415"
|
||||
x1="16.345125"
|
||||
y1="3.8388948"
|
||||
x2="36.001561"
|
||||
y2="24.359164"
|
||||
gradientUnits="userSpaceOnUse" /><clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath866-2"><use
|
||||
x="0"
|
||||
y="0"
|
||||
xlink:href="#g862-6"
|
||||
id="use868-7"
|
||||
width="100%"
|
||||
height="100%" /></clipPath><linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4695"
|
||||
id="linearGradient966"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="0"
|
||||
y1="259"
|
||||
x2="250"
|
||||
y2="259" /><linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4695"
|
||||
id="linearGradient968"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="0"
|
||||
y1="259"
|
||||
x2="250"
|
||||
y2="259" /><clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath866-2-3"><use
|
||||
x="0"
|
||||
y="0"
|
||||
xlink:href="#g862-6-3"
|
||||
id="use868-7-6"
|
||||
width="100%"
|
||||
height="100%" /></clipPath><clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath866-2-3-0"><use
|
||||
x="0"
|
||||
y="0"
|
||||
xlink:href="#g862-6-3-6"
|
||||
id="use868-7-6-9"
|
||||
width="100%"
|
||||
height="100%"
|
||||
transform="translate(46.974772,-79.626121)" /></clipPath><clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath866-2-3-3"><use
|
||||
x="0"
|
||||
y="0"
|
||||
xlink:href="#g862-6-3-8"
|
||||
id="use868-7-6-7"
|
||||
width="100%"
|
||||
height="100%" /></clipPath><clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath866-2-3-0-5"><use
|
||||
x="0"
|
||||
y="0"
|
||||
xlink:href="#g862-6-3-6-3"
|
||||
id="use868-7-6-9-9"
|
||||
width="100%"
|
||||
height="100%"
|
||||
transform="translate(46.974772,-79.626121)" /></clipPath></defs><sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="800"
|
||||
inkscape:window-height="835"
|
||||
id="namedview39"
|
||||
showgrid="false"
|
||||
inkscape:zoom="1.2291667"
|
||||
inkscape:cx="171.72731"
|
||||
inkscape:cy="164.26327"
|
||||
inkscape:window-x="800"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="Capa_1"
|
||||
inkscape:pagecheckerboard="true" /><g
|
||||
id="g8" /><g
|
||||
id="g10" /><g
|
||||
id="g12" /><g
|
||||
id="g14" /><g
|
||||
id="g16" /><g
|
||||
id="g18" /><g
|
||||
id="g20" /><g
|
||||
id="g22" /><g
|
||||
id="g24" /><g
|
||||
id="g26" /><g
|
||||
id="g28" /><g
|
||||
id="g30" /><g
|
||||
id="g32" /><g
|
||||
id="g34" /><g
|
||||
id="g36" /><g
|
||||
id="g916"
|
||||
transform="translate(-7.0058859,32.979264)"
|
||||
inkscape:export-filename="/home/DATA/Projects/deltalab-android/artwork/mipmap-xxxhdpi/ic_launcher_foreground.png"
|
||||
inkscape:export-xdpi="128"
|
||||
inkscape:export-ydpi="128"><g
|
||||
style="fill:#6200ed;fill-opacity:1"
|
||||
transform="translate(-722.44068,-167.59322)"
|
||||
id="g4704"><rect
|
||||
style="fill:#6200ed;fill-opacity:1;stroke-width:0.83070832"
|
||||
id="rect830-9-3"
|
||||
width="324"
|
||||
height="324"
|
||||
x="0"
|
||||
y="60"
|
||||
inkscape:export-xdpi="128"
|
||||
inkscape:export-ydpi="128"
|
||||
inkscape:export-filename="/home/adb/projects/deltachat-android/ic_launcher/mipmap-xxxhdpi/ic_launcher_foreground.png" /></g><g
|
||||
transform="matrix(3.2309634,0,0,3.2309634,-639.59928,-24.75182)"
|
||||
inkscape:label="Layer 1"
|
||||
id="layer1-6"><path
|
||||
inkscape:connector-curvature="0"
|
||||
d="m 24.015625,1.2871094 c -12.549421,0 -22.7285156,10.1790936 -22.7285156,22.7285156 0,12.549422 10.1790946,22.728516 22.7285156,22.728516 14.337742,-0.342877 9.614062,-4.703116 23.697266,0.96875 -7.545453,-13.001555 -1.082562,-13.32935 -0.96875,-23.697266 0,-12.549422 -10.179094,-22.7285156 -22.728516,-22.7285156 z M 24,4.7636719 C 34.612549,4.6345328 43.220703,13.143938 43.220703,23.765625 43.078418,31.966952 36.761278,33.237209 42.871094,42.78125 31.717586,37.600152 34.090255,43.195768 24,43.236328 13.387453,43.365468 4.7792969,34.856059 4.7792969,24.234375 4.7792969,13.612691 13.387453,4.8928107 24,4.7636719 Z"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.57405078;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.43921569"
|
||||
id="path3769-7" /><g
|
||||
id="text4383-5"
|
||||
style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none" /><g
|
||||
id="text4421-3"
|
||||
style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none" /><g
|
||||
id="text3797-5"
|
||||
style="font-style:normal;font-weight:normal;font-size:42.10587311px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none"
|
||||
transform="scale(1.1122373,0.89908874)"><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4161-6"
|
||||
style="font-family:'Times New Roman';-inkscape-font-specification:'Times New Roman';fill:#ffffff;fill-opacity:1"
|
||||
d="m 21.688854,23.636251 q -1.027975,-1.151333 -2.857771,-2.754974 -2.014832,-1.768118 -2.713855,-2.775534 -0.699024,-1.027975 -0.699024,-2.240986 0,-1.809237 1.68588,-2.837212 1.68588,-1.048535 4.399735,-1.048535 2.713855,0 4.728687,0.925178 2.035391,0.925177 2.035391,2.549379 0,0.781261 -0.493428,1.295249 -0.493428,0.513987 -1.151333,0.513987 -0.945737,0 -2.220426,-1.418606 -1.295249,-1.439165 -2.199868,-2.014832 -0.884059,-0.596225 -2.07651,-0.596225 -1.521404,0 -2.50826,0.678463 -0.966297,0.678464 -0.966297,1.726999 0,0.986857 0.801821,1.850356 0.801821,0.863499 4.132461,3.145605 3.556795,2.446581 5.01652,3.824068 1.480285,1.377487 2.405462,3.3512 0.925178,1.973713 0.925178,4.17358 0,3.865188 -2.734414,6.825757 -2.713855,2.94001 -6.352888,2.94001 -3.310081,0 -5.592187,-2.364344 -2.282105,-2.364343 -2.282105,-6.311769 0,-3.803509 2.50826,-6.352888 2.528819,-2.549379 6.208971,-3.083926 z m 0.904619,0.945737 q -5.900579,0.966297 -5.900579,8.100447 0,3.680152 1.459725,5.715543 1.480285,2.035391 3.433438,2.035391 2.035391,0 3.3512,-1.953153 1.315808,-1.973713 1.315808,-5.324913 0,-4.852044 -3.659592,-8.573315 z" /></g></g></g><g
|
||||
id="g960"
|
||||
inkscape:export-filename="/home/DATA/Projects/deltalab-android/artwork/mipmap-hdpi/ic_launcher.png"
|
||||
inkscape:export-xdpi="27.647999"
|
||||
inkscape:export-ydpi="27.647999"
|
||||
transform="translate(-8.1355932,8.1355932)"><g
|
||||
transform="translate(-385.62712,-169.22034)"
|
||||
style="fill:#6200ed;fill-opacity:1;fill-rule:nonzero"
|
||||
clip-path="url(#clipPath866-2)"
|
||||
id="g864-3"><g
|
||||
style="fill:#6200ed;fill-opacity:1;fill-rule:nonzero"
|
||||
id="g862-6"
|
||||
inkscape:label="Clip"><circle
|
||||
style="fill:#6200ed;fill-opacity:1;fill-rule:nonzero;stroke-width:0.75687599"
|
||||
id="path51-0"
|
||||
cx="125"
|
||||
cy="259"
|
||||
inkscape:export-xdpi="71.111115"
|
||||
inkscape:export-ydpi="71.111115"
|
||||
inkscape:export-filename="/home/adb/projects/deltachat-android/ic_launcher/mipmap-xxxhdpi/ic_launcher_round.png"
|
||||
r="125" /></g></g><g
|
||||
transform="matrix(3.2309634,0,0,3.2309634,-339.78572,10.62106)"
|
||||
inkscape:label="Layer 1"
|
||||
id="layer1-62"><path
|
||||
inkscape:connector-curvature="0"
|
||||
d="m 24.015625,1.2871094 c -12.549421,0 -22.7285156,10.1790936 -22.7285156,22.7285156 0,12.549422 10.1790946,22.728516 22.7285156,22.728516 14.337742,-0.342877 9.614062,-4.703116 23.697266,0.96875 -7.545453,-13.001555 -1.082562,-13.32935 -0.96875,-23.697266 0,-12.549422 -10.179094,-22.7285156 -22.728516,-22.7285156 z M 24,4.7636719 C 34.612549,4.6345328 43.220703,13.143938 43.220703,23.765625 43.078418,31.966952 36.761278,33.237209 42.871094,42.78125 31.717586,37.600152 34.090255,43.195768 24,43.236328 13.387453,43.365468 4.7792969,34.856059 4.7792969,24.234375 4.7792969,13.612691 13.387453,4.8928107 24,4.7636719 Z"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.57405078;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.43921569"
|
||||
id="path3769-6" /><g
|
||||
id="text4383-1"
|
||||
style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none" /><g
|
||||
id="text4421-8"
|
||||
style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none" /><g
|
||||
id="text3797-7"
|
||||
style="font-style:normal;font-weight:normal;font-size:42.10587311px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none"
|
||||
transform="scale(1.1122373,0.89908874)"><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4161-9"
|
||||
style="font-family:'Times New Roman';-inkscape-font-specification:'Times New Roman';fill:#ffffff;fill-opacity:1"
|
||||
d="m 21.688854,23.636251 q -1.027975,-1.151333 -2.857771,-2.754974 -2.014832,-1.768118 -2.713855,-2.775534 -0.699024,-1.027975 -0.699024,-2.240986 0,-1.809237 1.68588,-2.837212 1.68588,-1.048535 4.399735,-1.048535 2.713855,0 4.728687,0.925178 2.035391,0.925177 2.035391,2.549379 0,0.781261 -0.493428,1.295249 -0.493428,0.513987 -1.151333,0.513987 -0.945737,0 -2.220426,-1.418606 -1.295249,-1.439165 -2.199868,-2.014832 -0.884059,-0.596225 -2.07651,-0.596225 -1.521404,0 -2.50826,0.678463 -0.966297,0.678464 -0.966297,1.726999 0,0.986857 0.801821,1.850356 0.801821,0.863499 4.132461,3.145605 3.556795,2.446581 5.01652,3.824068 1.480285,1.377487 2.405462,3.3512 0.925178,1.973713 0.925178,4.17358 0,3.865188 -2.734414,6.825757 -2.713855,2.94001 -6.352888,2.94001 -3.310081,0 -5.592187,-2.364344 -2.282105,-2.364343 -2.282105,-6.311769 0,-3.803509 2.50826,-6.352888 2.528819,-2.549379 6.208971,-3.083926 z m 0.904619,0.945737 q -5.900579,0.966297 -5.900579,8.100447 0,3.680152 1.459725,5.715543 1.480285,2.035391 3.433438,2.035391 2.035391,0 3.3512,-1.953153 1.315808,-1.973713 1.315808,-5.324913 0,-4.852044 -3.659592,-8.573315 z" /></g></g></g><g
|
||||
id="g214"
|
||||
inkscape:export-xdpi="384"
|
||||
inkscape:export-ydpi="384"
|
||||
transform="translate(-380.83094,180.63582)"><g
|
||||
transform="matrix(0.54438354,0,0,0.55505241,77.882295,0.71067353)"
|
||||
style="fill:#6200ed;fill-opacity:1;fill-rule:nonzero"
|
||||
clip-path="url(#clipPath866-2-3)"
|
||||
id="g864-3-5"><g
|
||||
style="fill:#6200ed;fill-opacity:1;fill-rule:nonzero"
|
||||
id="g862-6-3"
|
||||
inkscape:label="Clip"><circle
|
||||
style="fill:#6200ed;fill-opacity:1;fill-rule:nonzero;stroke-width:0.75687599"
|
||||
id="path51-0-5"
|
||||
cx="125"
|
||||
cy="259"
|
||||
inkscape:export-xdpi="71.111115"
|
||||
inkscape:export-ydpi="71.111115"
|
||||
inkscape:export-filename="/home/adb/projects/deltachat-android/ic_launcher/mipmap-xxxhdpi/ic_launcher_round.png"
|
||||
r="125" /></g></g><g
|
||||
inkscape:transform-center-y="4.1811826"
|
||||
inkscape:transform-center-x="5.0611235"
|
||||
transform="matrix(0.09576995,0,0,0.23533009,182.58194,121.9428)"
|
||||
style="fill:#6200ed;fill-opacity:1;fill-rule:nonzero"
|
||||
clip-path="url(#clipPath866-2-3-0)"
|
||||
id="g864-3-5-3"><g
|
||||
transform="matrix(0.7789728,-0.36970944,1.0635416,0.7789728,-294.80364,183.08585)"
|
||||
style="fill:#6200ed;fill-opacity:1;fill-rule:nonzero"
|
||||
id="g862-6-3-6"
|
||||
inkscape:label="Clip"><circle
|
||||
style="fill:#6200ed;fill-opacity:1;fill-rule:nonzero;stroke-width:0.75687599"
|
||||
id="path51-0-5-0"
|
||||
cx="125"
|
||||
cy="259"
|
||||
inkscape:export-xdpi="71.111115"
|
||||
inkscape:export-ydpi="71.111115"
|
||||
inkscape:export-filename="/home/adb/projects/deltachat-android/ic_launcher/mipmap-xxxhdpi/ic_launcher_round.png"
|
||||
r="125" /></g></g><g
|
||||
transform="matrix(3.2309634,0,0,3.2309634,64.084451,63.801879)"
|
||||
inkscape:label="Layer 1"
|
||||
id="layer1-62-6"><path
|
||||
inkscape:connector-curvature="0"
|
||||
d="m 24.015625,1.2871094 c -12.549421,0 -22.7285156,10.1790936 -22.7285156,22.7285156 0,12.549422 10.1790946,22.728516 22.7285156,22.728516 14.337742,-0.342877 9.614062,-4.703116 23.697266,0.96875 -7.545453,-13.001555 -1.082562,-13.32935 -0.96875,-23.697266 0,-12.549422 -10.179094,-22.7285156 -22.728516,-22.7285156 z M 24,4.7636719 C 34.612549,4.6345328 43.220703,13.143938 43.220703,23.765625 43.078418,31.966952 36.761278,33.237209 42.871094,42.78125 31.717586,37.600152 34.090255,43.195768 24,43.236328 13.387453,43.365468 4.7792969,34.856059 4.7792969,24.234375 4.7792969,13.612691 13.387453,4.8928107 24,4.7636719 Z"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.57405078;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.43921569"
|
||||
id="path3769-6-2" /><g
|
||||
id="text4383-1-9"
|
||||
style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none" /><g
|
||||
id="text4421-8-1"
|
||||
style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none" /><g
|
||||
id="text3797-7-2"
|
||||
style="font-style:normal;font-weight:normal;font-size:42.10587311px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none"
|
||||
transform="scale(1.1122373,0.89908874)"><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4161-9-7"
|
||||
style="font-family:'Times New Roman';-inkscape-font-specification:'Times New Roman';fill:#ffffff;fill-opacity:1"
|
||||
d="m 21.688854,23.636251 q -1.027975,-1.151333 -2.857771,-2.754974 -2.014832,-1.768118 -2.713855,-2.775534 -0.699024,-1.027975 -0.699024,-2.240986 0,-1.809237 1.68588,-2.837212 1.68588,-1.048535 4.399735,-1.048535 2.713855,0 4.728687,0.925178 2.035391,0.925177 2.035391,2.549379 0,0.781261 -0.493428,1.295249 -0.493428,0.513987 -1.151333,0.513987 -0.945737,0 -2.220426,-1.418606 -1.295249,-1.439165 -2.199868,-2.014832 -0.884059,-0.596225 -2.07651,-0.596225 -1.521404,0 -2.50826,0.678463 -0.966297,0.678464 -0.966297,1.726999 0,0.986857 0.801821,1.850356 0.801821,0.863499 4.132461,3.145605 3.556795,2.446581 5.01652,3.824068 1.480285,1.377487 2.405462,3.3512 0.925178,1.973713 0.925178,4.17358 0,3.865188 -2.734414,6.825757 -2.713855,2.94001 -6.352888,2.94001 -3.310081,0 -5.592187,-2.364344 -2.282105,-2.364343 -2.282105,-6.311769 0,-3.803509 2.50826,-6.352888 2.528819,-2.549379 6.208971,-3.083926 z m 0.904619,0.945737 q -5.900579,0.966297 -5.900579,8.100447 0,3.680152 1.459725,5.715543 1.480285,2.035391 3.433438,2.035391 2.035391,0 3.3512,-1.953153 1.315808,-1.973713 1.315808,-5.324913 0,-4.852044 -3.659592,-8.573315 z" /></g></g></g><path
|
||||
style="fill:#ffffff;stroke-width:0.57527333"
|
||||
d="M 0,222.06056 V 60.121123 H 161.93945 323.87889 V 222.06056 384 H 161.93945 0 Z"
|
||||
id="path223"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:export-filename="/home/dc/projects/deltalab-android/artwork/mipmap-xxxhdpi/ic_launcher_foreground.png"
|
||||
inkscape:export-xdpi="128.04787"
|
||||
inkscape:export-ydpi="128.04787" /><g
|
||||
transform="matrix(1.1866667,0,0,1.1866667,-10.73076,53.100552)"
|
||||
id="g214-2"
|
||||
inkscape:export-xdpi="384"
|
||||
inkscape:export-ydpi="384"
|
||||
inkscape:export-filename="/home/dc/projects/deltalab-android/artwork/mipmap-xxhdpi/ic_launcher_foreground.png"><g
|
||||
transform="matrix(0.54438354,0,0,0.55505241,77.882295,0.71067353)"
|
||||
style="fill:#6200ed;fill-opacity:1;fill-rule:nonzero"
|
||||
clip-path="url(#clipPath866-2-3-3)"
|
||||
id="g864-3-5-2"><g
|
||||
style="fill:#6200ed;fill-opacity:1;fill-rule:nonzero"
|
||||
id="g862-6-3-8"
|
||||
inkscape:label="Clip"><circle
|
||||
style="fill:#6200ed;fill-opacity:1;fill-rule:nonzero;stroke-width:0.75687599"
|
||||
id="path51-0-5-9"
|
||||
cx="125"
|
||||
cy="259"
|
||||
inkscape:export-xdpi="71.111115"
|
||||
inkscape:export-ydpi="71.111115"
|
||||
inkscape:export-filename="/home/adb/projects/deltachat-android/ic_launcher/mipmap-xxxhdpi/ic_launcher_round.png"
|
||||
r="125" /></g></g><g
|
||||
inkscape:transform-center-y="4.1811826"
|
||||
inkscape:transform-center-x="5.0611235"
|
||||
transform="matrix(0.09576995,0,0,0.23533009,182.58194,121.9428)"
|
||||
style="fill:#6200ed;fill-opacity:1;fill-rule:nonzero"
|
||||
clip-path="url(#clipPath866-2-3-0-5)"
|
||||
id="g864-3-5-3-7"><g
|
||||
transform="matrix(0.7789728,-0.36970944,1.0635416,0.7789728,-294.80364,183.08585)"
|
||||
style="fill:#6200ed;fill-opacity:1;fill-rule:nonzero"
|
||||
id="g862-6-3-6-3"
|
||||
inkscape:label="Clip"><circle
|
||||
style="fill:#6200ed;fill-opacity:1;fill-rule:nonzero;stroke-width:0.75687599"
|
||||
id="path51-0-5-0-6"
|
||||
cx="125"
|
||||
cy="259"
|
||||
inkscape:export-xdpi="71.111115"
|
||||
inkscape:export-ydpi="71.111115"
|
||||
inkscape:export-filename="/home/adb/projects/deltachat-android/ic_launcher/mipmap-xxxhdpi/ic_launcher_round.png"
|
||||
r="125" /></g></g><g
|
||||
transform="matrix(3.2309634,0,0,3.2309634,64.084451,63.801879)"
|
||||
inkscape:label="Layer 1"
|
||||
id="layer1-62-6-1"><path
|
||||
inkscape:connector-curvature="0"
|
||||
d="m 24.015625,1.2871094 c -12.549421,0 -22.7285156,10.1790936 -22.7285156,22.7285156 0,12.549422 10.1790946,22.728516 22.7285156,22.728516 14.337742,-0.342877 9.614062,-4.703116 23.697266,0.96875 -7.545453,-13.001555 -1.082562,-13.32935 -0.96875,-23.697266 0,-12.549422 -10.179094,-22.7285156 -22.728516,-22.7285156 z M 24,4.7636719 C 34.612549,4.6345328 43.220703,13.143938 43.220703,23.765625 43.078418,31.966952 36.761278,33.237209 42.871094,42.78125 31.717586,37.600152 34.090255,43.195768 24,43.236328 13.387453,43.365468 4.7792969,34.856059 4.7792969,24.234375 4.7792969,13.612691 13.387453,4.8928107 24,4.7636719 Z"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.57405078;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.43921569"
|
||||
id="path3769-6-2-2" /><g
|
||||
id="text4383-1-9-9"
|
||||
style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none" /><g
|
||||
id="text4421-8-1-3"
|
||||
style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none" /><g
|
||||
id="text3797-7-2-1"
|
||||
style="font-style:normal;font-weight:normal;font-size:42.10587311px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none"
|
||||
transform="scale(1.1122373,0.89908874)"><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4161-9-7-9"
|
||||
style="font-family:'Times New Roman';-inkscape-font-specification:'Times New Roman';fill:#ffffff;fill-opacity:1"
|
||||
d="m 21.688854,23.636251 q -1.027975,-1.151333 -2.857771,-2.754974 -2.014832,-1.768118 -2.713855,-2.775534 -0.699024,-1.027975 -0.699024,-2.240986 0,-1.809237 1.68588,-2.837212 1.68588,-1.048535 4.399735,-1.048535 2.713855,0 4.728687,0.925178 2.035391,0.925177 2.035391,2.549379 0,0.781261 -0.493428,1.295249 -0.493428,0.513987 -1.151333,0.513987 -0.945737,0 -2.220426,-1.418606 -1.295249,-1.439165 -2.199868,-2.014832 -0.884059,-0.596225 -2.07651,-0.596225 -1.521404,0 -2.50826,0.678463 -0.966297,0.678464 -0.966297,1.726999 0,0.986857 0.801821,1.850356 0.801821,0.863499 4.132461,3.145605 3.556795,2.446581 5.01652,3.824068 1.480285,1.377487 2.405462,3.3512 0.925178,1.973713 0.925178,4.17358 0,3.865188 -2.734414,6.825757 -2.713855,2.94001 -6.352888,2.94001 -3.310081,0 -5.592187,-2.364344 -2.282105,-2.364343 -2.282105,-6.311769 0,-3.803509 2.50826,-6.352888 2.528819,-2.549379 6.208971,-3.083926 z m 0.904619,0.945737 q -5.900579,0.966297 -5.900579,8.100447 0,3.680152 1.459725,5.715543 1.480285,2.035391 3.433438,2.035391 2.035391,0 3.3512,-1.953153 1.315808,-1.973713 1.315808,-5.324913 0,-4.852044 -3.659592,-8.573315 z" /></g></g></g></svg>
|
||||
|
After Width: | Height: | Size: 27 KiB |
@@ -15,6 +15,12 @@ repositories {
|
||||
}
|
||||
|
||||
android {
|
||||
dependenciesInfo {
|
||||
// Disables dependency metadata when building APKs.
|
||||
includeInApk = false
|
||||
// Disables dependency metadata when building Android App Bundles.
|
||||
includeInBundle = false
|
||||
}
|
||||
namespace "org.thoughtcrime.securesms"
|
||||
flavorDimensions "none"
|
||||
compileSdk 34
|
||||
@@ -29,7 +35,7 @@ android {
|
||||
useLibrary 'org.apache.http.legacy'
|
||||
|
||||
defaultConfig {
|
||||
versionCode 686
|
||||
versionCode 679
|
||||
versionName "1.46.3"
|
||||
|
||||
applicationId "com.b44t.messenger"
|
||||
@@ -45,15 +51,14 @@ android {
|
||||
|
||||
buildConfigField "boolean", "DEV_BUILD", "false"
|
||||
|
||||
ndk {
|
||||
abiFilters "armeabi-v7a", "arm64-v8a", "x86", "x86_64"
|
||||
}
|
||||
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
|
||||
buildConfigField("String", "TEST_ADDR", buildConfigProperty("TEST_ADDR"))
|
||||
buildConfigField("String", "TEST_MAIL_PW", buildConfigProperty("TEST_MAIL_PW"))
|
||||
buildConfigField("String", "NDK_ARCH", getNdkArch())
|
||||
ndk {
|
||||
abiFilters "armeabi-v7a", "arm64-v8a", "x86"
|
||||
}
|
||||
}
|
||||
|
||||
compileOptions {
|
||||
@@ -71,12 +76,6 @@ android {
|
||||
|
||||
|
||||
signingConfigs {
|
||||
debug {
|
||||
// add `DC_DEBUG_STORE_FILE=/path/to/debug.keystore` to `~/.gradle/gradle.properties`
|
||||
if(project.hasProperty("DC_DEBUG_STORE_FILE" )) {
|
||||
storeFile file(DC_DEBUG_STORE_FILE )
|
||||
}
|
||||
}
|
||||
release {
|
||||
// can be defined at `~/.gradle/gradle.properties` or at "Build/Generate signed APK"
|
||||
if(project.hasProperty("DC_RELEASE_STORE_FILE")) {
|
||||
@@ -89,11 +88,8 @@ android {
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
debug {
|
||||
minifyEnabled false
|
||||
applicationIdSuffix ".beta"
|
||||
}
|
||||
release {
|
||||
applicationIdSuffix ".lite"
|
||||
// minification and proguard disabled for now.
|
||||
//
|
||||
// when enabled, it can cut down apk size about 6%,
|
||||
@@ -103,13 +99,17 @@ android {
|
||||
//
|
||||
// nb: it is highly recommended to use the same settings in debug+release -
|
||||
// otherwise problems might be noticed delayed only
|
||||
minifyEnabled false
|
||||
signingConfig signingConfigs.release
|
||||
minifyEnabled true
|
||||
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
||||
|
||||
if(project.hasProperty("DC_RELEASE_STORE_FILE")) {
|
||||
signingConfig signingConfigs.release
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
productFlavors {
|
||||
fat {
|
||||
foss {
|
||||
dimension "none"
|
||||
buildConfigField "boolean", "USE_PLAY_SERVICES", "false"
|
||||
}
|
||||
@@ -121,11 +121,27 @@ android {
|
||||
}
|
||||
}
|
||||
|
||||
splits {
|
||||
abi {
|
||||
enable true
|
||||
reset()
|
||||
include "armeabi-v7a", "arm64-v8a", "x86"
|
||||
universalApk true
|
||||
}
|
||||
}
|
||||
|
||||
project.ext.versionCodes = ['armeabi': 1, 'armeabi-v7a': 3, 'arm64-v8a': 3, 'mips': 5, 'mips64': 6, 'x86': 9, 'x86_64': 9]
|
||||
|
||||
android.applicationVariants.all { variant ->
|
||||
variant.outputs.all {
|
||||
outputFileName = outputFileName
|
||||
.replace("deltachat-android", "deltachat")
|
||||
variant.outputs.all { output ->
|
||||
output.outputFileName = output.outputFileName
|
||||
.replace("deltalab-android", "deltalab")
|
||||
.replace("-gplay", "")
|
||||
.replace("-release", "")
|
||||
.replace(".apk", "-${variant.versionName}.apk")
|
||||
output.versionCodeOverride =
|
||||
project.ext.versionCodes.get(output.getFilter(
|
||||
com.android.build.OutputFile.ABI), 3) * 10000000 + android.defaultConfig.versionCode
|
||||
}
|
||||
}
|
||||
|
||||
@@ -144,7 +160,15 @@ android {
|
||||
|
||||
}
|
||||
|
||||
final def markwon_version = '4.6.2'
|
||||
|
||||
dependencies {
|
||||
// DeltaLab-only dependencies:
|
||||
implementation "io.noties.markwon:core:$markwon_version"
|
||||
implementation "io.noties.markwon:ext-strikethrough:$markwon_version"
|
||||
implementation "io.noties.markwon:inline-parser:$markwon_version"
|
||||
implementation 'com.airbnb.android:lottie:4.2.2' // Lottie animations support.
|
||||
|
||||
implementation 'androidx.sharetarget:sharetarget:1.2.0'
|
||||
implementation 'androidx.webkit:webkit:1.8.0'
|
||||
implementation 'androidx.multidex:multidex:2.0.1'
|
||||
@@ -181,11 +205,15 @@ dependencies {
|
||||
implementation 'com.makeramen:roundedimageview:2.1.0' // crops the avatars to circles
|
||||
implementation 'com.pnikosis:materialish-progress:1.5' // used only in the "Progress Wheel" in Share Activity.
|
||||
implementation 'com.soundcloud.android:android-crop:1.0.1@aar' // used for profile and group avatar selection in Android SDK<19
|
||||
implementation 'com.nineoldandroids:library:2.4.0' // DEPRECATED! Used to slide in the half-camera.
|
||||
implementation 'mobi.upod:time-duration-picker:1.1.3' // Used to pick the time for inactivity.
|
||||
implementation 'com.amulyakhare:com.amulyakhare.textdrawable:1.0.1' // number of unread messages,
|
||||
// the one-letter circle for the contacts (when there is not avatar) and a white background.
|
||||
// the one-letter circle for the contacts (when there is not avatar) and a white background.
|
||||
implementation 'com.googlecode.mp4parser:isoparser:1.0.6' // MP4 recoding; upgrading eg. to 1.1.22 breaks recoding, however, i have not investigated further, just reset to 1.0.6
|
||||
implementation ('com.google.firebase:firebase-messaging:23.4.1') { // for PUSH notifications
|
||||
exclude group: 'com.google.firebase', module: 'firebase-core'
|
||||
exclude group: 'com.google.firebase', module: 'firebase-analytics'
|
||||
exclude group: 'com.google.firebase', module: 'firebase-measurement-connector'
|
||||
}
|
||||
implementation ('com.davemorrissey.labs:subsampling-scale-image-view:3.6.0') { // for the zooming on photos / media
|
||||
exclude group: 'com.android.support', module: 'support-annotations'
|
||||
}
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
<i>DeltaLab</i> is a friendly fork of <i>Delta Chat</i> messenger, a chat app compatible with the existing e-mail infrastructure.
|
||||
|
||||
DeltaLab was created with a focus on usability, good user experience, and saving data plan and comes with some different default settings than Delta Chat. Also the app usually experiments with new features and alternative paths of development that eventually might get added to the official Delta Chat client.
|
||||
|
||||
<b>Main differences with official Delta Chat client:</b>
|
||||
|
||||
<ul>
|
||||
<li>Basic markdown support (bold, italic, strike, etc.)</li>
|
||||
<li>Support for displaying Telegram's animated stickers (.tgs files)</li>
|
||||
<li>Support for SVG images previews</li>
|
||||
<li>Multiple color themes/skins</li>
|
||||
<li>It is possible to enable/disable accounts</li>
|
||||
<li>A videochat instance is set by default</li>
|
||||
<li>Replies to your messages in muted groups trigger notifications</li>
|
||||
<li>Quote-reply a message with a single emoji to set it as reaction</li>
|
||||
<li>Location streaming feature enabled by default and have extra option to share location for 12 hours</li>
|
||||
<li>Verified icon is shown in the chat list for the "Device Messages" chat</li>
|
||||
<li>Videos are played in loop, useful for short GIF videos</li>
|
||||
<li>It is possible to click <b>OPENPGP4FPR:</b> and <b>mumble:</b> links in messages</li>
|
||||
<li>Voice messages have more aggressive compression in "worse quality" mode to save data plan</li>
|
||||
<li>Default configuration changed: automatic download of messages limited to 640KB</li>
|
||||
<li>Account's display name is shown in the app's title bar instead of the name of the app</li>
|
||||
<li>Your avatar is visible to other users in Mailing Lists</li>
|
||||
<li>Can be selected as application when clicking/opening links, this is useful to share the link with web grabber bots</li>
|
||||
<li>Can be selected as app to open .xdc files</li>
|
||||
<li>For mini-apps developers: there are some differences in the WebXDC API, check https://github.com/deltalab-org/deltalab-android/#webxdc</li>
|
||||
<li>Better settings organization with additional "Privacy" section</li>
|
||||
</ul>
|
||||
|
||||
<b>WARNING:</b> Be careful when running WebXDC apps in DeltaLab, the sandboxed webview can't currently prevent WebRTC connections, so in theory information inside the WebXDC app could be leaked and also your IP, the risk is low, for most people this is not even important, but if you are a person at risk, only use trusted apps, or use official Delta Chat.
|
||||
|
After Width: | Height: | Size: 171 KiB |
|
After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 49 KiB |
|
After Width: | Height: | Size: 114 KiB |
|
After Width: | Height: | Size: 93 KiB |
|
After Width: | Height: | Size: 94 KiB |
@@ -0,0 +1 @@
|
||||
Encrypted chat over e-mail (Delta Chat client)
|
||||
@@ -0,0 +1 @@
|
||||
DeltaLab
|
||||
@@ -43,6 +43,25 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_info": {
|
||||
"mobilesdk_app_id": "1:922391085500:android:aff82fbc40c8172e3e2bb9",
|
||||
"android_client_info": {
|
||||
"package_name": "chat.delta.lite"
|
||||
}
|
||||
},
|
||||
"oauth_client": [],
|
||||
"api_key": [
|
||||
{
|
||||
"current_key": "AIzaSyBYH8Iznh8btYX7g_udv_bu68VH30zzxho"
|
||||
}
|
||||
],
|
||||
"services": {
|
||||
"appinvite_service": {
|
||||
"other_platform_oauth_client": []
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_info": {
|
||||
"mobilesdk_app_id": "1:922391085500:android:92b4cf12669cc2083e2bb9",
|
||||
@@ -83,4 +102,4 @@
|
||||
}
|
||||
],
|
||||
"configuration_version": "1"
|
||||
}
|
||||
}
|
||||
|
||||
|
After Width: | Height: | Size: 32 KiB |
@@ -1,5 +1,5 @@
|
||||
APP_PLATFORM := android-16
|
||||
APP_ABI := armeabi-v7a arm64-v8a x86 x86_64
|
||||
APP_ABI := armeabi-v7a arm64-v8a x86
|
||||
APP_STL := none
|
||||
|
||||
ifneq ($(NDK_DEBUG),1)
|
||||
|
||||
@@ -250,7 +250,7 @@ JNIEXPORT jlong Java_com_b44t_messenger_DcAccounts_getJsonrpcInstanceCPtr(JNIEnv
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT void Java_com_b44t_messenger_DcAccounts_startIo(JNIEnv *env, jobject obj)
|
||||
JNIEXPORT void Java_com_b44t_messenger_DcAccounts_startIo2(JNIEnv *env, jobject obj)
|
||||
{
|
||||
dc_accounts_start_io(get_dc_accounts(env, obj));
|
||||
}
|
||||
@@ -1420,6 +1420,16 @@ JNIEXPORT jint Java_com_b44t_messenger_DcMsg_getId(JNIEnv *env, jobject obj)
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jboolean Java_com_b44t_messenger_DcMsg_isOutgoing(JNIEnv *env, jobject obj)
|
||||
{
|
||||
return (jboolean)(dc_msg_is_outgoing(get_dc_msg(env, obj))!=0);
|
||||
}
|
||||
|
||||
JNIEXPORT jint Java_com_b44t_messenger_DcMsg_getSenderColor(JNIEnv *env, jobject obj)
|
||||
{
|
||||
return dc_msg_get_sender_color(get_dc_msg(env, obj));
|
||||
}
|
||||
|
||||
JNIEXPORT jstring Java_com_b44t_messenger_DcMsg_getText(JNIEnv *env, jobject obj)
|
||||
{
|
||||
char* temp = dc_msg_get_text(get_dc_msg(env, obj));
|
||||
@@ -1462,7 +1472,7 @@ JNIEXPORT jboolean Java_com_b44t_messenger_DcMsg_hasLocation(JNIEnv *env, jobjec
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jint Java_com_b44t_messenger_DcMsg_getType(JNIEnv *env, jobject obj)
|
||||
JNIEXPORT jint Java_com_b44t_messenger_DcMsg_getViewType(JNIEnv *env, jobject obj)
|
||||
{
|
||||
return dc_msg_get_viewtype(get_dc_msg(env, obj));
|
||||
}
|
||||
@@ -1666,6 +1676,14 @@ JNIEXPORT jint Java_com_b44t_messenger_DcMsg_getVideochatType(JNIEnv *env, jobje
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT void Java_com_b44t_messenger_DcMsg_setSubject(JNIEnv *env, jobject obj, jstring text)
|
||||
{
|
||||
CHAR_REF(text);
|
||||
dc_msg_set_subject(get_dc_msg(env, obj), textPtr);
|
||||
CHAR_UNREF(text);
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT void Java_com_b44t_messenger_DcMsg_setText(JNIEnv *env, jobject obj, jstring text)
|
||||
{
|
||||
CHAR_REF(text);
|
||||
@@ -1674,6 +1692,14 @@ JNIEXPORT void Java_com_b44t_messenger_DcMsg_setText(JNIEnv *env, jobject obj, j
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT void Java_com_b44t_messenger_DcMsg_setHtml(JNIEnv *env, jobject obj, jstring text)
|
||||
{
|
||||
CHAR_REF(text);
|
||||
dc_msg_set_html(get_dc_msg(env, obj), textPtr);
|
||||
CHAR_UNREF(text);
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT void Java_com_b44t_messenger_DcMsg_setFile(JNIEnv *env, jobject obj, jstring file, jstring filemime)
|
||||
{
|
||||
CHAR_REF(file);
|
||||
@@ -1845,6 +1871,11 @@ JNIEXPORT jboolean Java_com_b44t_messenger_DcContact_isBlocked(JNIEnv *env, jobj
|
||||
return (jboolean)(dc_contact_is_blocked(get_dc_contact(env, obj))!=0);
|
||||
}
|
||||
|
||||
JNIEXPORT jboolean Java_com_b44t_messenger_DcContact_isBot(JNIEnv *env, jobject obj)
|
||||
{
|
||||
return (jboolean)(dc_contact_is_bot(get_dc_contact(env, obj))!=0);
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jboolean Java_com_b44t_messenger_DcContact_isVerified(JNIEnv *env, jobject obj)
|
||||
{
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
# native methods
|
||||
-keep class com.b44t.messenger.** { * ; }
|
||||
|
||||
# Gson uses generic type information stored in a class file when working with
|
||||
# fields. Proguard removes such information by default, keep it.
|
||||
-keepattributes Signature
|
||||
# This is also needed for R8 in compat mode since multiple
|
||||
# optimizations will remove the generic signature such as class
|
||||
# merging and argument removal. See:
|
||||
# https://r8.googlesource.com/r8/+/refs/heads/main/compatibility-faq.md#troubleshooting-gson-gson
|
||||
-keep class com.google.gson.reflect.TypeToken { *; }
|
||||
-keep class * extends com.google.gson.reflect.TypeToken
|
||||
|
||||
# bug with video recoder
|
||||
-keep class com.coremedia.iso.** { *; }
|
||||
|
||||
# unused SealedData constructor needed by JsonUtils
|
||||
-keep class org.thoughtcrime.securesms.crypto.KeyStoreHelper* { *; }
|
||||
|
||||
-dontwarn com.google.firebase.analytics.connector.AnalyticsConnector
|
||||
@@ -141,14 +141,14 @@ if test -z $1 || test $1 = x86; then
|
||||
cp target/i686-linux-android/$RELEASE/libdeltachat.a $jnidir/x86
|
||||
fi
|
||||
|
||||
if test -z $1 || test $1 = x86_64; then
|
||||
echo "-- cross compiling to x86_64-linux-android (x86_64) --"
|
||||
TARGET_CC="$TOOLCHAIN/bin/x86_64-linux-android21-clang" \
|
||||
TARGET_AR="$TOOLCHAIN/bin/llvm-ar" \
|
||||
TARGET_RANLIB="$TOOLCHAIN/bin/llvm-ranlib" \
|
||||
cargo build $RELEASEFLAG --target x86_64-linux-android -p deltachat_ffi --features jsonrpc
|
||||
cp target/x86_64-linux-android/$RELEASE/libdeltachat.a $jnidir/x86_64
|
||||
fi
|
||||
# if test -z $1 || test $1 = x86_64; then
|
||||
# echo "-- cross compiling to x86_64-linux-android (x86_64) --"
|
||||
# TARGET_CC="$TOOLCHAIN/bin/x86_64-linux-android21-clang" \
|
||||
# TARGET_AR="$TOOLCHAIN/bin/llvm-ar" \
|
||||
# TARGET_RANLIB="$TOOLCHAIN/bin/llvm-ranlib" \
|
||||
# cargo build $RELEASEFLAG --target x86_64-linux-android -p deltachat_ffi --features jsonrpc
|
||||
# cp target/x86_64-linux-android/$RELEASE/libdeltachat.a $jnidir/x86_64
|
||||
# fi
|
||||
|
||||
rm -fr "$TMPLIB"
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 5.6 KiB |
|
Before Width: | Height: | Size: 8.1 KiB |
|
Before Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 6.0 KiB |
|
Before Width: | Height: | Size: 8.6 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 25 KiB |
@@ -74,6 +74,17 @@
|
||||
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"
|
||||
android:exported="true">
|
||||
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.VIEW" />
|
||||
<action android:name="android.intent.action.GET_CONTENT"/>
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
<category android:name="android.intent.category.BROWSABLE" />
|
||||
<data android:scheme="content"/>
|
||||
<data android:scheme="file"/>
|
||||
<data android:mimeType="*/*" />
|
||||
<data android:mimeType="application/octet-stream" />
|
||||
</intent-filter>
|
||||
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.SEND" />
|
||||
<category android:name="android.intent.category.DEFAULT"/>
|
||||
@@ -209,6 +220,8 @@
|
||||
|
||||
<intent-filter>
|
||||
<data android:scheme="mailto"/>
|
||||
<data android:scheme="http"/>
|
||||
<data android:scheme="https"/>
|
||||
<action android:name="android.intent.action.VIEW"/>
|
||||
<category android:name="android.intent.category.DEFAULT"/>
|
||||
<category android:name="android.intent.category.BROWSABLE"/>
|
||||
|
||||
|
Before Width: | Height: | Size: 98 KiB |
|
Before Width: | Height: | Size: 221 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 159 KiB |
|
Before Width: | Height: | Size: 167 KiB |
|
Before Width: | Height: | Size: 258 KiB |
|
Before Width: | Height: | Size: 236 KiB |
|
Before Width: | Height: | Size: 295 KiB |
|
Before Width: | Height: | Size: 301 KiB |
|
Before Width: | Height: | Size: 244 KiB |
|
Before Width: | Height: | Size: 249 KiB |
|
Before Width: | Height: | Size: 178 KiB |
|
Before Width: | Height: | Size: 153 KiB |
|
Before Width: | Height: | Size: 246 KiB |
|
Before Width: | Height: | Size: 152 KiB |
|
Before Width: | Height: | Size: 5.3 KiB |
|
Before Width: | Height: | Size: 6.4 KiB |
|
Before Width: | Height: | Size: 9.8 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 6.8 KiB |
|
Before Width: | Height: | Size: 8.2 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 9.9 KiB |
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 5.9 KiB |
|
Before Width: | Height: | Size: 6.0 KiB |
|
Before Width: | Height: | Size: 7.6 KiB |
|
Before Width: | Height: | Size: 9.6 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 7.5 KiB |
|
Before Width: | Height: | Size: 7.2 KiB |
|
Before Width: | Height: | Size: 7.0 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 5.4 KiB |
|
Before Width: | Height: | Size: 9.4 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 7.5 KiB |
|
Before Width: | Height: | Size: 6.4 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 7.6 KiB |
|
Before Width: | Height: | Size: 9.0 KiB |
|
Before Width: | Height: | Size: 8.2 KiB |
|
Before Width: | Height: | Size: 7.5 KiB |
|
Before Width: | Height: | Size: 8.8 KiB |
|
Before Width: | Height: | Size: 8.3 KiB |
|
Before Width: | Height: | Size: 7.4 KiB |
|
Before Width: | Height: | Size: 8.3 KiB |
|
Before Width: | Height: | Size: 7.6 KiB |
|
Before Width: | Height: | Size: 6.5 KiB |
|
Before Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 5.9 KiB |
|
Before Width: | Height: | Size: 7.0 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 7.9 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 8.8 KiB |
|
Before Width: | Height: | Size: 7.2 KiB |
|
Before Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 7.6 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 5.7 KiB |