Compare commits
1342 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| e5434f3b2c | |||
| 8588732dda | |||
| 6fc040317d | |||
| 74338a2700 | |||
| 7d6bf861a1 | |||
| 89a25bdc48 | |||
| 919fd8a4f1 | |||
| 4a72fa777a | |||
| 3baa2b4d25 | |||
| 86f2a95884 | |||
| b724a54710 | |||
| f94a569e9a | |||
| 9f805e679f | |||
| f5ecae3a3c | |||
| 3b8ad268d0 | |||
| 2434daa173 | |||
| 4226d23f2d | |||
| 5713fce830 | |||
| f4815bb19f | |||
| f8b40c919f | |||
| 9fe1107512 | |||
| 91a318fa50 | |||
| f4c97ec6f5 | |||
| 183efe6493 | |||
| ac11fe965d | |||
| 64e5c6d48c | |||
| a5beea8607 | |||
| a47669f185 | |||
| 83c5ddbcf7 | |||
| 5525a0749b | |||
| f770e9e87e | |||
| 89f984ef21 | |||
| 9aae9183c2 | |||
| 24967d7acc | |||
| 536f1c1496 | |||
| 36dac2f490 | |||
| ee1405ce87 | |||
| a569694b4d | |||
| 4dbc50696d | |||
| 58f53b30eb | |||
| 0c6f163ce9 | |||
| 6711c028f8 | |||
| f96f1a43a3 | |||
| 3549c5591d | |||
| 53e55ececc | |||
| ddf25ab3d7 | |||
| a5b0a322a5 | |||
| 948c4e7cd9 | |||
| de299790e8 | |||
| 30e4464e36 | |||
| 8199ff51ba | |||
| b5aceae8cf | |||
| 46b1b64a96 | |||
| 9dc2d8552d | |||
| 8fc75efb12 | |||
| d2ff6b8a03 | |||
| d903954689 | |||
| d3d313b087 | |||
| bd12f07319 | |||
| c045d524e4 | |||
| 52ae2fbd20 | |||
| 17ad11c162 | |||
| 786c6cd46f | |||
| 9f832b4af3 | |||
| 4e23597d05 | |||
| 7d4e45bc9b | |||
| a054acd3c9 | |||
| ab30d47398 | |||
| b693078566 | |||
| 27546ef72c | |||
| 1b9e2c4da3 | |||
| a60b0e413a | |||
| 97b564e158 | |||
| a01fc96547 | |||
| 5a7d24b394 | |||
| 948f016eb2 | |||
| b3e456f499 | |||
| c209726584 | |||
| 24c276e908 | |||
| 1d795a2573 | |||
| 6560b1332f | |||
| e7e8950302 | |||
| 7117303e6f | |||
| 1f934f2ae4 | |||
| fb7d80f2a6 | |||
| a20090ee38 | |||
| 2851326821 | |||
| f14963409a | |||
| 931f18e5f1 | |||
| 89c703528d | |||
| 57d6747c6f | |||
| bb19003f5a | |||
| 99b4c1fbe0 | |||
| 5df7735bc1 | |||
| 4e50beed09 | |||
| 21ed53a47c | |||
| 57746931c9 | |||
| 69c9771e16 | |||
| 931b68a2b7 | |||
| 95ef79fc62 | |||
| 7efff754ce | |||
| 30e1518c8e | |||
| 938a62de38 | |||
| c81a7d8583 | |||
| 76137501b8 | |||
| 5feadcc1cf | |||
| 1522e0a3d5 | |||
| 2f53a920b9 | |||
| eee2503a54 | |||
| 050773f569 | |||
| e2d5bbfe02 | |||
| 64bab6d65e | |||
| 25d11cd9e7 | |||
| 1689aa6776 | |||
| 558cc8e757 | |||
| 5bc077ea5c | |||
| 6487443ab8 | |||
| f6a5cb2487 | |||
| 8fe65a32d4 | |||
| a88ef140df | |||
| 4d61d8419a | |||
| 91a4fe6460 | |||
| 0a0ff7e3eb | |||
| 546a5dfbb3 | |||
| ce2b7287d9 | |||
| 638a8e5205 | |||
| dfe17dc336 | |||
| 1f8361d7b9 | |||
| ef460e800b | |||
| a7889a0287 | |||
| 6b4f90c52f | |||
| 4eec0331ca | |||
| 5bd218e304 | |||
| cca1abe070 | |||
| e3f3844e3f | |||
| 5a6d5dfbe4 | |||
| 317ce0c4b1 | |||
| 8d32c47eb0 | |||
| 2fc092d0e4 | |||
| a118e2342e | |||
| 8c2f6a3333 | |||
| 83d7cdaa1e | |||
| d3af3f437b | |||
| b16a1b6daa | |||
| 4b8cec18c0 | |||
| bbad6ee584 | |||
| ee65fd1192 | |||
| 4fb30fa241 | |||
| 859fb5c734 | |||
| 22166fc784 | |||
| fb235b7639 | |||
| 12a138e85c | |||
| 856d1e285b | |||
| 7571aac0cc | |||
| 8b5a2255ee | |||
| 8269149030 | |||
| 3e0b8815db | |||
| 1621524d70 | |||
| ea29d93a06 | |||
| e4ea08d3ba | |||
| 5005aa8149 | |||
| 4677d8849d | |||
| da8c3c50f8 | |||
| 5c22c2f8db | |||
| eb26c5c275 | |||
| c7e7d00512 | |||
| 8a6b9e7f62 | |||
| 52c8daa9e1 | |||
| 31532f86c1 | |||
| 8729357c23 | |||
| fc6a19e0a7 | |||
| c398c0d175 | |||
| 0989240c89 | |||
| 790ea4ecf2 | |||
| 935a794987 | |||
| dbac064965 | |||
| 56a84d8b22 | |||
| 3908e197c9 | |||
| d137c52de0 | |||
| 7dbde03db9 | |||
| 5db6808a82 | |||
| 082418b597 | |||
| d84ca194fe | |||
| 3cf61bc6af | |||
| d02ae3dca8 | |||
| 601f255f05 | |||
| c789aa02c4 | |||
| 709a0c8e56 | |||
| 1fdc721276 | |||
| 4442fc67a5 | |||
| dd806f1c0c | |||
| 84d0f38364 | |||
| a3fd0e6880 | |||
| 967dcc946a | |||
| 9690eba7af | |||
| 6c1d7473a2 | |||
| 46df20b8f7 | |||
| ebdd17405b | |||
| 2feedb9444 | |||
| f607e18ce3 | |||
| 59004444bf | |||
| a2a3cf8aa8 | |||
| b4d9b1f7dc | |||
| 5fbdf1c2a9 | |||
| 4e5e413dfb | |||
| 0e38854a5f | |||
| 33e04c13cf | |||
| c4000c263d | |||
| 4176c8c191 | |||
| 81bf005b1b | |||
| 5e1f279301 | |||
| 7701354044 | |||
| 212be90951 | |||
| 3d4a90d29d | |||
| c5b927f7b6 | |||
| 54514e8a33 | |||
| 5498f91074 | |||
| 83e0fa271c | |||
| cbc94393c4 | |||
| 4e09b86cbd | |||
| 19f6f063ac | |||
| 8aaa20e173 | |||
| a31add664e | |||
| 2dd3a4a10a | |||
| 6af9bf407d | |||
| 2a8ccbd99c | |||
| 8d67aa04f2 | |||
| e58e013c4e | |||
| fc8bc31877 | |||
| 75bcd000dd | |||
| 70fc1b8078 | |||
| 0f4adc8c5f | |||
| 3d56bf6601 | |||
| c43eadec47 | |||
| 76a481b913 | |||
| 12b12087a1 | |||
| 8b02990d78 | |||
| 65c2517e5e | |||
| f6b8faa732 | |||
| af7334024c | |||
| 1515a31e7c | |||
| aece8fe5b9 | |||
| d43f36d8f3 | |||
| 497b867364 | |||
| f67315f404 | |||
| c2dd7b7e95 | |||
| 6e07439c33 | |||
| 15dfb829a5 | |||
| 7cdac59584 | |||
| d011546903 | |||
| b5f2d35f5c | |||
| 827a7c320d | |||
| 86f1470968 | |||
| 7923130a88 | |||
| 75cab09f94 | |||
| c01f62da52 | |||
| c43324e7cc | |||
| 9412eaba51 | |||
| 1802783afa | |||
| 75da4f7878 | |||
| 4bc2880000 | |||
| 6fd9d01591 | |||
| 5250309fec | |||
| 76f5144e90 | |||
| f45b19850a | |||
| 5cfbfd5d5e | |||
| fd1b687a36 | |||
| bdccf84bf5 | |||
| e7871a66e3 | |||
| 2a06910bf1 | |||
| 52bcbc344e | |||
| 28d6d10c0b | |||
| 523e056d51 | |||
| 8e4b863b8a | |||
| c6e3d3c12c | |||
| 1f0ed3de3f | |||
| 9e5975a533 | |||
| f1e01bdf61 | |||
| c907861780 | |||
| 30d6bf5477 | |||
| 6d6f40ea7d | |||
| 32cd31d847 | |||
| b9c7a2f860 | |||
| fb80299a21 | |||
| 9a53db26c4 | |||
| 1e37d23182 | |||
| 817a6c6e6b | |||
| 5a3a854565 | |||
| 8812d86132 | |||
| 5a502bd286 | |||
| 2d8db42ded | |||
| 6a9a160f08 | |||
| e92d91ec3a | |||
| baf9357840 | |||
| 6946aacf49 | |||
| 4e8874bcdd | |||
| 86a11618b8 | |||
| f9a9348ec0 | |||
| 21f118d60b | |||
| 69589e1892 | |||
| 896ebdb80f | |||
| 8b7d544c34 | |||
| bca941c685 | |||
| 85785a336a | |||
| 9b8afa872b | |||
| a61d3eaac0 | |||
| 60392fd33c | |||
| 60b73cd688 | |||
| 50a88779dd | |||
| a4cae868ef | |||
| 4c339eec17 | |||
| b3d946ca56 | |||
| 76a5c824ad | |||
| ee66f09f7b | |||
| 894746b630 | |||
| d37970abc7 | |||
| eccbb21ced | |||
| ba6d04b6c4 | |||
| f31f86d616 | |||
| fee12bc07b | |||
| fd0e07c9ee | |||
| b1004d138a | |||
| ffb205f6af | |||
| 747dbd5aa8 | |||
| 9295ebdcc6 | |||
| 34b943a03d | |||
| 76ce26e7b9 | |||
| c4a03497dd | |||
| e49125adfa | |||
| 0b957a3b6c | |||
| d243e9a52c | |||
| 4b4737e884 | |||
| edb6937e9a | |||
| 728fc2fe5c | |||
| 4362341a71 | |||
| c053dd404d | |||
| f51670df5f | |||
| 109e134c45 | |||
| 8cb7a8e8ac | |||
| 647bcd6be0 | |||
| c9a0c903ee | |||
| 321302d271 | |||
| 397f1df89c | |||
| de878de314 | |||
| 79e82448b4 | |||
| c0744d4280 | |||
| f104256d13 | |||
| 0bc6b54090 | |||
| 6e980cb316 | |||
| a50beb6754 | |||
| ad11db6889 | |||
| 6744e81f4a | |||
| ebdef1935a | |||
| c2fa11a010 | |||
| 323268db00 | |||
| c601f69e07 | |||
| 77ab87dbf1 | |||
| 986f9d4b36 | |||
| 45f65306d5 | |||
| 5e8e4d7575 | |||
| 4027e84ff8 | |||
| b4ec22a233 | |||
| 9a9c3b41d3 | |||
| e51bd02fd4 | |||
| a7f08ea904 | |||
| 5bec913c62 | |||
| da244ab98f | |||
| acc1807aed | |||
| 7caabf0fe9 | |||
| b33a7bef5d | |||
| 27187673e1 | |||
| 3204232fbd | |||
| 84364b09ab | |||
| 811ea4fd23 | |||
| a50d43d24f | |||
| 41dc94387b | |||
| b820086895 | |||
| 0dc5173467 | |||
| c8243cd1e8 | |||
| 978c4b4f0b | |||
| 9b389bcfb1 | |||
| 2b41c25434 | |||
| 6af9d59829 | |||
| 89866ec121 | |||
| c5263e38f4 | |||
| f9e9dd9d22 | |||
| 6ca4d52114 | |||
| cddb89717f | |||
| d22be18f33 | |||
| dddd02882f | |||
| c0d2f75c6d | |||
| ce00d379f4 | |||
| 78c298eaa5 | |||
| d9392fb36f | |||
| b18039a8ae | |||
| a3b96a7cec | |||
| 5efe4decee | |||
| b186a3fbd4 | |||
| c8d9e9d9bf | |||
| 83abb060ba | |||
| 1996422d02 | |||
| 706eb63e4e | |||
| 6106f921cc | |||
| f254e1c829 | |||
| f4e3511da7 | |||
| 058ea5e89b | |||
| 9c9966831c | |||
| ffdc367ead | |||
| 1dc1f8b46c | |||
| 377de120fd | |||
| 25feafb18a | |||
| 7a724eb352 | |||
| 5722f9938c | |||
| 01ad992f71 | |||
| 29c002b034 | |||
| 4338d25b40 | |||
| 25b8a12a61 | |||
| 6004058f62 | |||
| edd7e36a5c | |||
| 9699214781 | |||
| 18e09b0225 | |||
| ec107bf5d4 | |||
| 0cfd44990c | |||
| 0b99c90a33 | |||
| 0e5ed5b395 | |||
| f43ecf8549 | |||
| f138ec50bb | |||
| 0cb4bf8625 | |||
| d063e1dc33 | |||
| 6c21116879 | |||
| 7cd60d9fcd | |||
| 341e41f986 | |||
| ce681e4f31 | |||
| 10ab6b4c39 | |||
| 8b244d9d6e | |||
| defee46a3b | |||
| a728ef8200 | |||
| a7a2088419 | |||
| 54e41c23c3 | |||
| 38771be6a7 | |||
| d4215c4fe5 | |||
| d6af236ae8 | |||
| d200233748 | |||
| 7b194ae179 | |||
| 951121cdb7 | |||
| 47cfed887e | |||
| b19be862be | |||
| c6eaf428e7 | |||
| edc151d93e | |||
| 5ce9562a8c | |||
| 06495006a0 | |||
| f2085ee2c2 | |||
| e7a5030d92 | |||
| 5b549fc939 | |||
| 95c9920a4d | |||
| a6e7d84fba | |||
| 315b966022 | |||
| fd9ef333c2 | |||
| 89a9a296ab | |||
| 6ac5c64218 | |||
| bfc79ea604 | |||
| 96814700cb | |||
| b74c654451 | |||
| c4183af72c | |||
| 4c5f717d1d | |||
| 0511f05085 | |||
| 92caedff09 | |||
| b919f323b5 | |||
| b4cdb8553a | |||
| ffc11fcd4a | |||
| 187f2f2e39 | |||
| 7a51205a80 | |||
| a15f0392ae | |||
| 68bf57d3e3 | |||
| f209fa6772 | |||
| 451ea1dbad | |||
| 3efb33441c | |||
| 7f6823a650 | |||
| 9c3aca2fb0 | |||
| 35138022e9 | |||
| 46240ef094 | |||
| 46c8073160 | |||
| 9ff568969d | |||
| 068a6a2b09 | |||
| c0b2f9a50e | |||
| f0b5a895ec | |||
| 8a8e22c04b | |||
| f95acd0578 | |||
| 1dbeda68bd | |||
| a9072171da | |||
| dfcb1befb5 | |||
| d3214cf470 | |||
| fcd98ae928 | |||
| e91bead522 | |||
| 62ac442a16 | |||
| 5028ae6e82 | |||
| 1edf6c4db3 | |||
| 3b5c51b410 | |||
| fb341f7217 | |||
| 55aff7465f | |||
| cbb9cdc9ba | |||
| 2949f8554c | |||
| 9faa6deb62 | |||
| 67b1dea4c1 | |||
| 1fb81d69dd | |||
| c13ed8c785 | |||
| f47686bff9 | |||
| 074ae9f4a3 | |||
| f59687d6af | |||
| a17cfccba4 | |||
| de63f101a2 | |||
| 0ea15b738f | |||
| 43d122fdfe | |||
| 670eeb01e2 | |||
| 308b92412e | |||
| 4988f94f76 | |||
| ecbbe30259 | |||
| 87ae0e9d37 | |||
| c946cc4261 | |||
| 979d3368d1 | |||
| 1bdf106f84 | |||
| 5aa23f0346 | |||
| b4268b12ed | |||
| 9c60c387f4 | |||
| 995de4a5ba | |||
| ef245874ba | |||
| bb70e26d38 | |||
| 57322bf769 | |||
| 73b9c6777c | |||
| f786854aac | |||
| d10ef0f931 | |||
| d7090d4509 | |||
| b6f61edaa0 | |||
| fcc9608330 | |||
| 24f4ed44a8 | |||
| 31031e0b92 | |||
| 72d37f2aa8 | |||
| d15a5d04e3 | |||
| 37ae163238 | |||
| bbe633961b | |||
| e16b4a7af9 | |||
| 009ee65e16 | |||
| 73ed163c23 | |||
| d2849bb852 | |||
| 7cc7b26796 | |||
| c277a9f6fc | |||
| 413093cdea | |||
| 6b880244b8 | |||
| d80e930e19 | |||
| a712d0e268 | |||
| 3057e6c7d7 | |||
| 6161768b80 | |||
| 32e34e5955 | |||
| 46f768ca28 | |||
| 17153fe4e2 | |||
| 5030119a83 | |||
| ada024f614 | |||
| 8dd8a1d771 | |||
| b401345962 | |||
| d0237741d5 | |||
| 45570353e9 | |||
| f1a0bb3ecf | |||
| 28fbb354b3 | |||
| 2b37b3355c | |||
| 7886e8b699 | |||
| af319888d9 | |||
| dc3eb272f9 | |||
| 006bf07a13 | |||
| d74d0ece20 | |||
| 1c746ab9fd | |||
| 06e62903ef | |||
| 84bdc42c7c | |||
| 0ea7181b58 | |||
| 85427d3c01 | |||
| 18087a7613 | |||
| 20ab00d302 | |||
| 2e494948e5 | |||
| be73649703 | |||
| d1e902b1a3 | |||
| 41e2def76f | |||
| 29226b2330 | |||
| 76cfe5f197 | |||
| dda3cf9e84 | |||
| 226d8492f7 | |||
| a59f6fd69b | |||
| 13c1c7a4f2 | |||
| 3925c4c02e | |||
| 3606838d93 | |||
| 6d4dddae81 | |||
| e367675dd2 | |||
| a44abd307a | |||
| 9d255bc343 | |||
| a0b7aa4066 | |||
| 9f3278eccf | |||
| 5b5bfedcfd | |||
| 582f2d0626 | |||
| a959b173fa | |||
| 7333c8a27a | |||
| d73d392ed4 | |||
| 7a33ad98d3 | |||
| b1de21af60 | |||
| 3e41bf3533 | |||
| e0f5a17115 | |||
| 328901f724 | |||
| 853a10253c | |||
| 0d11e11da4 | |||
| 608180df58 | |||
| 885b8e2295 | |||
| ce8c30348f | |||
| 4535714a4c | |||
| 1ac6e82300 | |||
| efc9919f1b | |||
| c012bf7710 | |||
| 588f8a41fd | |||
| 7b18c4e137 | |||
| 7c8ef69467 | |||
| da6893b728 | |||
| d2638f5554 | |||
| 0bfea03707 | |||
| bd650bf21a | |||
| 26949980db | |||
| 1d342e1002 | |||
| 0741eb6a38 | |||
| fbe33cd8a3 | |||
| 169d3d9326 | |||
| 16b29b1a50 | |||
| 429175859c | |||
| 310c616a63 | |||
| a15b482296 | |||
| 6d3c01e9ba | |||
| d1f9dd6511 | |||
| 88650df039 | |||
| f9cb6b81f5 | |||
| 11524c7482 | |||
| aef2c09653 | |||
| 69988538e6 | |||
| f075518dde | |||
| b364a9dab6 | |||
| c60ab862a8 | |||
| bbbeb27a66 | |||
| 918cd0dfbd | |||
| 44abdbb8a6 | |||
| 3b5721e118 | |||
| 53c068c57d | |||
| b096abc3a4 | |||
| 1fa41f5b4c | |||
| 0a549fb039 | |||
| 16e53a98d6 | |||
| ee4b40d749 | |||
| 43812a929f | |||
| 85656614bc | |||
| 11f8b581a6 | |||
| 604497a436 | |||
| 48cb764361 | |||
| bca8a5d0e6 | |||
| 64a9f85a34 | |||
| d2076d406f | |||
| 0c913f4ef1 | |||
| 3060678d64 | |||
| 8cbe052761 | |||
| 66b4b9325b | |||
| e55a230220 | |||
| ea0d3bed37 | |||
| 16571bcf72 | |||
| 149367c71e | |||
| 1c3336a5c0 | |||
| 0571278d43 | |||
| 11dc495c54 | |||
| f794e79085 | |||
| d04a1bf917 | |||
| 8fd09d1009 | |||
| e27a1f9741 | |||
| f8e3693560 | |||
| 1931ba1456 | |||
| 6e61b282ef | |||
| a886a264f9 | |||
| 2435161b87 | |||
| b87fed0cbb | |||
| 455519556a | |||
| 07caaa9f37 | |||
| 6912196961 | |||
| 740bfaf427 | |||
| aa14ed5107 | |||
| d5bce6512e | |||
| 25885c5cfb | |||
| 94e1b3d3cf | |||
| 9155c97568 | |||
| f15be3402d | |||
| 0f59350be8 | |||
| a574a735b2 | |||
| c7391e021c | |||
| 0d2a6deb64 | |||
| 442dbe4050 | |||
| 10ffdc2f2b | |||
| fb4744bb88 | |||
| 49c1392641 | |||
| dd7a67a909 | |||
| 561e6ca1be | |||
| 3b6422d50a | |||
| 8b40477a0d | |||
| 6cc93027a8 | |||
| 7eaeb9f603 | |||
| 68ba826def | |||
| d5d6eef0a7 | |||
| afd8431220 | |||
| e87fff7c0c | |||
| bf040dfe62 | |||
| c4a9d8f6e2 | |||
| 6a1181de5e | |||
| ee9c92f555 | |||
| c4e3f98266 | |||
| 5a644af56f | |||
| 2ef1ad1eb2 | |||
| 86d5226bf9 | |||
| 54fb81dc7f | |||
| 431b72cae6 | |||
| 929784978c | |||
| dcfe4c3e5b | |||
| 7326677be0 | |||
| 85eb7eb896 | |||
| 2cf2505524 | |||
| 4b2ef6b407 | |||
| 310f76a7a4 | |||
| c558853bad | |||
| f5cc75723a | |||
| e62d5d9537 | |||
| 5d6b26e2a2 | |||
| 3ad1d920ff | |||
| 620e1e3757 | |||
| a949e24d5e | |||
| e7405b59f7 | |||
| a8d5f17058 | |||
| a164c8f44c | |||
| f11d96a50d | |||
| a75e7506aa | |||
| ea93f1b1c2 | |||
| 792a2a4997 | |||
| ba7f7b42ff | |||
| 4904757868 | |||
| 6da6028409 | |||
| 0370dbe2d7 | |||
| 2942ff1aad | |||
| 58e0a6a9fc | |||
| 87c53bae1b | |||
| 2b44505485 | |||
| aee7befa85 | |||
| 9c43f8ef5d | |||
| 085959a6c4 | |||
| 5e2e6c644e | |||
| b20878d2bc | |||
| 1de13e0834 | |||
| c153f97b17 | |||
| 11bfd53cf8 | |||
| 42cf825e98 | |||
| 2781636d3d | |||
| 7c9d2df76a | |||
| 2feecdeb7f | |||
| 1142117bef | |||
| 17845bce7f | |||
| 0961cffaac | |||
| 6742895fec | |||
| 2aea46660c | |||
| 8192e35c41 | |||
| 232868636f | |||
| c934b2c177 | |||
| 8f23935f77 | |||
| ecc9522b92 | |||
| e2a2786e3e | |||
| 8cd2f8f1b4 | |||
| d96e87c1ef | |||
| c5a9984ccd | |||
| 868994ba10 | |||
| 6b327e690b | |||
| f78293a3ae | |||
| 22c4d063c4 | |||
| af4aee1d54 | |||
| 4a184de91e | |||
| 31e3a9c1d0 | |||
| 3ef7c73511 | |||
| f950a8e3b6 | |||
| 46fc0226c4 | |||
| 4efde95974 | |||
| 3ce7872e02 | |||
| 96a5971f3d | |||
| ee6b90c990 | |||
| 11cff9be6e | |||
| 92dbd3e2e5 | |||
| 20c0d34d25 | |||
| 39ab44fb55 | |||
| fe7e5b1bd3 | |||
| 631fa8a1d8 | |||
| ea0e45cead | |||
| 8abc5bd50e | |||
| a228b7c128 | |||
| 9911e9c0fc | |||
| cbf5405ee0 | |||
| 0343b9a732 | |||
| 28b2541c92 | |||
| 500ef4e6d2 | |||
| 691c8756fc | |||
| f238344d0b | |||
| cb6ef5193f | |||
| afaffa8880 | |||
| edecccd163 | |||
| 915ac6b8af | |||
| 1826f23264 | |||
| 24fcd640b7 | |||
| 0e38fbe021 | |||
| 4707efb26a | |||
| 85cba6cb49 | |||
| efed65c8f4 | |||
| 163cd51aec | |||
| 41031f428c | |||
| c3cd6337af | |||
| b5b9073d2c | |||
| c39140442b | |||
| d81cd18d57 | |||
| 880f0c20e4 | |||
| 2d37c82cbe | |||
| c1ff85cc10 | |||
| 0604f797d0 | |||
| 3eb5ddf961 | |||
| c7ed32852d | |||
| e48d0f4029 | |||
| 979d2c663d | |||
| 16a57df9d6 | |||
| 6f0a7d0254 | |||
| 819895e2f1 | |||
| 470448dd2d | |||
| f22247dc70 | |||
| f141dba12d | |||
| b5f94deb81 | |||
| 39c7103cf6 | |||
| 97c47153ec | |||
| 1b43a3fe3f | |||
| 37974f2ce8 | |||
| f57b72d072 | |||
| dfd8d67480 | |||
| 06525bcaf6 | |||
| f68853e7ec | |||
| d41323e69e | |||
| 869fb5c16b | |||
| 58c59146bd | |||
| b0aff19ae0 | |||
| 089554e098 | |||
| a41116472f | |||
| 75eaa54481 | |||
| b4630845c5 | |||
| 3c3a67ea0a | |||
| 4a9cfcd5b0 | |||
| 5f08c555c4 | |||
| a39d0c3250 | |||
| 6b7283bcba | |||
| 7f702825f6 | |||
| 1ea0ba0097 | |||
| d88cae015d | |||
| 3fe0adfb8d | |||
| b679766581 | |||
| 4d2211e0d4 | |||
| 0b28d24e0a | |||
| fc9971fa15 | |||
| f596b3beb4 | |||
| 7897b39206 | |||
| 2ee94c9ba4 | |||
| cb5b12d5a8 | |||
| 2c46d6e052 | |||
| c34d28d230 | |||
| 60c8313816 | |||
| 915076a277 | |||
| 3356b98059 | |||
| 12dca831a2 | |||
| c279ecefd1 | |||
| 43f82c28fd | |||
| b811b5d313 | |||
| 00c02f49b2 | |||
| c90d1ccec2 | |||
| 535b47b98c | |||
| acff990289 | |||
| 17b7b7da9a | |||
| 5d47838aff | |||
| 924ad365a0 | |||
| 0a71e21a55 | |||
| 325d8acbf6 | |||
| e0202ebfd7 | |||
| f29cb1d27b | |||
| 7d80926069 | |||
| 77431b6dd2 | |||
| 3f73551f54 | |||
| 959e007e39 | |||
| 5370d35f44 | |||
| d50718f95b | |||
| 39a651278e | |||
| 77358c5636 | |||
| ea3da82e2c | |||
| 7edba7afe6 | |||
| 7c378bcb66 | |||
| 462390636f | |||
| 03cde21eb9 | |||
| a553b33783 | |||
| 8f7d44ccd5 | |||
| 91620a6f0d | |||
| 55973ef857 | |||
| 48b3f26ec8 | |||
| 276ed3de7c | |||
| 63366eecf3 | |||
| ec2adce39e | |||
| 65655a6138 | |||
| 3eb6a56e5b | |||
| fb2ce839a9 | |||
| 2ace2a5bdf | |||
| 5e73a679b6 | |||
| b5a9e910b0 | |||
| d6a94fd544 | |||
| 0c5e1b95f5 | |||
| 2b67413b62 | |||
| 60aab2998a | |||
| 47b87ac203 | |||
| 37bbc41639 | |||
| e39c569aa1 | |||
| 0913fc2f1b | |||
| 6fa0598169 | |||
| fdcf2786a8 | |||
| 450966cce6 | |||
| f2f04e214b | |||
| 44219ca6f2 | |||
| 81732320cc | |||
| 1f332f2b8c | |||
| 6bab6db32c | |||
| 6d76fabe91 | |||
| 9843debd21 | |||
| 9268b38d47 | |||
| 0cb23b3dc5 | |||
| 998e903e0d | |||
| 70613cc8e1 | |||
| 8fede3312a | |||
| 5f9646a028 | |||
| be8a718b3f | |||
| 3e28cbed05 | |||
| 964ab18730 | |||
| 71d6972d0f | |||
| b0534c44f6 | |||
| ea6144d963 | |||
| de4fa329e6 | |||
| c52a5c87bf | |||
| 1e4c2996b2 | |||
| c08bc7ccfe | |||
| ee8480787c | |||
| 59716c2909 | |||
| 88f267f748 | |||
| 98f4600df3 | |||
| 0794bc1ac9 | |||
| 8b8e383db8 | |||
| 0106c4ebcc | |||
| 8b35cf1023 | |||
| a8e5e51ab9 | |||
| 726d59c162 | |||
| ecae4a14bb | |||
| 1b6b2ec955 | |||
| ab5363bab6 | |||
| 829eca72ec | |||
| 867e2aa5d2 | |||
| c920ef5329 | |||
| 6be0c34ec4 | |||
| c6d76cdf46 | |||
| 0758977961 | |||
| 867362ac4f | |||
| 6a3887cbda | |||
| 770cebb255 | |||
| 9d0493a1ff | |||
| ebc1b0a8e6 | |||
| 24773f7613 | |||
| 92ff795aba | |||
| 72a2418903 | |||
| 4e461e1169 | |||
| 30c1e88a64 | |||
| d5fa605796 | |||
| a4d9cb8d88 | |||
| 76daa92441 | |||
| f3fa39016d | |||
| 14addb3984 | |||
| 00d4749826 | |||
| 682b1101a5 | |||
| 9622270923 | |||
| 5a94ee4e22 | |||
| 6080563916 | |||
| 458cc8825b | |||
| a91eea93ab | |||
| 103e6efdbd | |||
| 446b1b6c64 | |||
| 8df079eaf8 | |||
| d649f74a6e | |||
| 60fde960ce | |||
| 64a4d03a6c | |||
| 33cef9d9b9 | |||
| 5f9c626b14 | |||
| b6fd0b86bf | |||
| 63c9b00f51 | |||
| eddee76ee2 | |||
| f51bb4dde5 | |||
| e8e54853f3 | |||
| 57837f736b | |||
| 83f86b8edf | |||
| b8a1646823 | |||
| be6a556b87 | |||
| daa5fde02a | |||
| a7978430d1 | |||
| 5b8c2ffb95 | |||
| 9bc231a1db | |||
| ad696464c1 | |||
| bb4b72eab1 | |||
| 1fa18be37d | |||
| caf9090594 | |||
| db85e9479c | |||
| 8731346326 | |||
| 40bab74eb5 | |||
| f1c9e49f1f | |||
| c08116e133 | |||
| 1d1e57d9ca | |||
| 36b501e01a | |||
| 8f07d86087 | |||
| 40bfa15dea | |||
| a5ccd9da79 | |||
| f146c1c966 | |||
| e522ae74ab | |||
| b8c547f2f1 | |||
| 862a03b3a0 | |||
| 728f909db9 | |||
| 0d6a225991 | |||
| 1110b80184 | |||
| 624f98b817 | |||
| 9ed573f5f8 | |||
| 2104cae3a1 | |||
| 5ea8216e78 | |||
| e742db722c | |||
| 3456cafb38 | |||
| fc29c2902f | |||
| f7cd7860a0 | |||
| f564c9f2fc | |||
| 77c98a18cd | |||
| 503952a915 | |||
| 8456051d2f | |||
| 3324acd590 | |||
| e501b86472 | |||
| 21be2fd69c | |||
| 613afa2597 | |||
| 5e738ef248 | |||
| 478330d7e9 | |||
| 742a1203df | |||
| 19da5cde8a | |||
| 52c9f8dd33 | |||
| 7797f9b8a6 | |||
| 195437d8d2 | |||
| 19e1b4bba9 | |||
| 805a66ea2e | |||
| ecb4c0ca33 | |||
| fa5a714a1a | |||
| e0e907e537 | |||
| 72fc8b7b63 | |||
| 1afbc3ecf1 | |||
| 30d5cd3c81 | |||
| 56468347a7 | |||
| 08d00ccf62 | |||
| 40e5efddbc | |||
| 0b970709f4 | |||
| 7c5f90d572 | |||
| cd5aa0b9c1 | |||
| 376208f9a6 | |||
| 9a78bfe878 | |||
| 16a8b21eec | |||
| 544f19315b | |||
| 97e83ff7af | |||
| c8e19d44f2 | |||
| 15a2951b20 | |||
| c9fc1c506f | |||
| 46ac343181 | |||
| 4866b5ea40 | |||
| 4d6892b991 | |||
| d501f17525 | |||
| 122693d14c | |||
| 45db3b84fb | |||
| c207e161b5 | |||
| 21b875df96 | |||
| 35c7fc44b1 | |||
| 7a9d2b8e53 | |||
| ba5c190072 | |||
| de28157ebb | |||
| ee5858506b | |||
| 9b6d79ec07 | |||
| 3fc848e5d4 | |||
| 39b144b40c | |||
| 08659f0450 | |||
| 58d599d236 | |||
| ca50dda682 | |||
| 5e85045d49 | |||
| d5ecebf304 | |||
| 5711b52de6 | |||
| 83f2513a39 | |||
| decdba5e67 | |||
| 1d0ce7ddec | |||
| b9bcf28955 | |||
| ae97adc582 | |||
| 8d0772362f | |||
| ea20bf20c6 | |||
| 2be7b9bb15 | |||
| 8456f807d5 | |||
| 6c24f9fc97 | |||
| 44075917b7 | |||
| 9c4f670fa9 | |||
| b33b7c0c8a | |||
| 8aeeb5b3fd | |||
| 15f37c8531 | |||
| a421d148f3 | |||
| 3dd9a247dd | |||
| 135bc1c96c | |||
| d53ec6add8 | |||
| 2941d6926b | |||
| f0d27b0a9f | |||
| 4e031e260c | |||
| a6b35b2a87 | |||
| 37cf7e5a91 | |||
| 5f3fadf606 | |||
| 822bc6d6ae | |||
| 4be731ac7b | |||
| 79952e4ffa | |||
| 04be5a4812 | |||
| b40b6a751a | |||
| 137e19639a | |||
| a33e1d6372 | |||
| b2b4a618f9 | |||
| a8b400f6a2 | |||
| 1e5869bc35 | |||
| c10a26dca0 | |||
| b47934d874 | |||
| e1afe1bbbe | |||
| 2d961112b1 | |||
| 5afb3ecb5f | |||
| d14bd45e36 | |||
| b2a70dbbda | |||
| c5bf2cd00d | |||
| a5ee105c00 | |||
| 59744875ad | |||
| e98b4236f0 | |||
| 36492f70a0 | |||
| 8a2822c7ab | |||
| 7e4c38a057 | |||
| 04fd5cbf4d | |||
| 94c1148ada | |||
| 2958cecd18 | |||
| 3b1f389797 | |||
| 1d483f78bf | |||
| 6afcf1b4bb | |||
| 35ea8933d6 | |||
| 2c46940d12 | |||
| 446055bfe9 | |||
| 9e49d1ddf5 | |||
| efd92dde8a | |||
| d156c7652a | |||
| 636d69f07f | |||
| 8706879bc8 | |||
| af080a6328 | |||
| fe573f51d6 | |||
| 6f6efc7a5a | |||
| 0954705964 | |||
| 0b9cfac05e | |||
| d2351e8675 | |||
| 590d7852b0 | |||
| 9dfd2c05a7 | |||
| c907bc008f | |||
| 7e7a5560ef | |||
| 170b0d86c3 | |||
| 85253fd051 | |||
| 0529c85033 | |||
| c067c2b700 | |||
| b0d7421458 | |||
| 8211d494da | |||
| 1e1ad2a20a | |||
| 600828e1f6 | |||
| 91be337fb6 | |||
| 729a05ba51 | |||
| bae2ffc3e1 | |||
| 70ec08c5fb | |||
| 896a511473 | |||
| f795ea28e2 | |||
| 10a8cadb0f | |||
| edee850d8d | |||
| 3db7466bd8 | |||
| d979c02e45 | |||
| 47d88e6372 | |||
| 00791843a9 | |||
| 1707a1d61b | |||
| c534cc35e2 | |||
| 258e885186 | |||
| 1dfc392a2c | |||
| 87241bf620 | |||
| e3b15d9dbf | |||
| 0244d9c57f | |||
| b304e9b1bd | |||
| fa35dfca66 | |||
| 63aff154fc | |||
| a8ee346d33 | |||
| 850b535ff3 | |||
| aac62627f4 | |||
| 4b0816a083 | |||
| bb83c038a5 | |||
| c785da3484 | |||
| d7322f99d4 | |||
| e593890317 | |||
| fb5e1b633a | |||
| 1031826382 | |||
| 13760a0ade | |||
| 25c50c13b7 | |||
| d53099eaa7 | |||
| ec6fb9ac16 | |||
| abad685f22 | |||
| ef02f5a667 | |||
| 77889ac2d6 | |||
| 2edbc38190 | |||
| ceec16c9d5 | |||
| b4a365b880 | |||
| 9e1b731dc9 | |||
| b6fa7d0c6b | |||
| 779457aa65 | |||
| 9bb8009e14 | |||
| 49f3c0de99 | |||
| f105ec4861 | |||
| 17900f1bf4 | |||
| 1c5e8445c9 | |||
| 05a497e558 | |||
| 0ac0d399a0 | |||
| 153214cfe9 | |||
| 5c8db78657 | |||
| d30f9d1540 | |||
| 127a1c0023 | |||
| 684028d126 | |||
| 1dabac1b21 | |||
| df19ecb029 | |||
| 136b6ac483 | |||
| 31c9f720b1 | |||
| 049918f491 | |||
| 54268ef699 | |||
| 84689b6740 | |||
| 5c4329b104 | |||
| ed3e804016 | |||
| 940720ef6b | |||
| d631bab275 | |||
| ddfd1eb006 | |||
| 6e7cd9f317 | |||
| abc8ca41a2 | |||
| 348f87b6a8 | |||
| b31a623822 | |||
| 426de7f0cd | |||
| 43e2d1015e | |||
| dde56cb4d2 | |||
| 7aad188885 | |||
| 89c0d3cd06 | |||
| 06d61b44b2 | |||
| 7dd0d0a75a | |||
| d39dfd01e0 | |||
| 9537389e4e | |||
| 4e5e81d0e7 | |||
| 719f8d8047 | |||
| 4906d62e7e | |||
| 644fc96198 | |||
| f3af49ce24 | |||
| dcc6467291 | |||
| da1844fb6f | |||
| 197bdefa63 | |||
| e250bb1460 | |||
| 143963c2a9 | |||
| 3e79719ac4 | |||
| 9ff2e8839d | |||
| c1850588ef | |||
| f61f1f153b | |||
| a63cd2746b | |||
| 096d9ca801 | |||
| 77d7c8e3b7 | |||
| 34597a086e | |||
| d2e6d843ab | |||
| 8ddf6cba65 | |||
| a672aa02dd | |||
| fc736cf612 | |||
| 58dc5b3881 | |||
| 510c320f79 | |||
| dabc0760ee | |||
| 5d01ac1c63 | |||
| 27c6c3ab69 | |||
| e8e100a72e | |||
| 746ec37d97 | |||
| 750f5ea03f | |||
| ef88256411 | |||
| 2c825d4659 | |||
| 1dce4fed21 | |||
| ea7e89a290 | |||
| 555ff6469d | |||
| 4339d80750 | |||
| ea64b69437 | |||
| b11b631426 | |||
| 6df76f54e2 | |||
| 04e9dc0aec | |||
| b2b9042fe0 | |||
| 90527b2373 | |||
| 7ac37246bf | |||
| 4e7e377704 | |||
| d14e59afae | |||
| 5dfc44b1dc | |||
| dfaed72262 | |||
| ee8ba0a5a5 | |||
| 828dfd24a1 | |||
| 502bed2f72 | |||
| 0d2a895057 | |||
| 9635135e90 | |||
| 2184d898f6 | |||
| b780a9e783 | |||
| 9fd74e71f0 | |||
| 8236fdbce5 | |||
| 25b6f2d477 | |||
| fd9911c441 | |||
| 1d861274e2 | |||
| 89824df0b9 | |||
| 7b09020afd | |||
| 855e3c5c3e | |||
| bd7cbf89f0 | |||
| 26976aa541 | |||
| 9dad64ae57 | |||
| bd2f763f22 | |||
| 181bb77c67 | |||
| 535d61e64c | |||
| 694ddebf57 | |||
| efdf608484 | |||
| ed9ca3cbb4 | |||
| 42556e5e32 | |||
| 63217c943f | |||
| 28ace84c32 | |||
| 8fa32cc4f7 | |||
| 4582b76e92 | |||
| 66ea30f75e | |||
| 87192dca99 | |||
| 35e449b048 | |||
| 90775da352 | |||
| 3a7686471a | |||
| 13765df3ee | |||
| f01b67c07b |
@@ -1,31 +1,30 @@
|
||||
# Thank you for contributing to Delta Chat.
|
||||
|
||||
If you like to discuss a **new feature** or submit suggestions,
|
||||
please use the community forum:
|
||||
|
||||
* <https://support.delta.chat>
|
||||
|
||||
If you intend to send a **bug report** for Delta Chat,
|
||||
search for existing bugs first:
|
||||
|
||||
* [Core](https://github.com/deltachat/deltachat-core/issues?&q=is%3Aissue)
|
||||
* [Android](https://github.com/deltachat/deltachat-android-ii/issues?&q=is%3Aissue)
|
||||
* [iOS](https://github.com/deltachat/deltachat-ios/issues?&q=is%3Aissue)
|
||||
* [Desktop](https://github.com/deltachat/deltachat-ios/issues?&q=is%3Aissue)
|
||||
* [Node](https://github.com/deltachat/deltachat-node/issues?&q=is%3Aissue)
|
||||
|
||||
In short, the Android/iOS/Desktop parts are about the User Interface.
|
||||
The Core part is about handling the connection to the mail server and the chat
|
||||
or e-mail messages as well as providing secure communication by using
|
||||
[Autocrypt](https://autocrypt.org/en/latest/).
|
||||
|
||||
A _bug_ is a reproducable misbehaviour,
|
||||
when something happens but something else should happen instead.
|
||||
|
||||
Please try to create your issue in the respective issue tracker.
|
||||
|
||||
Did you know there is a [Help](https://delta.chat/en/help) page for Delta Chat?
|
||||
|
||||
To ask questions, you are also invited to join our IRC channel #deltachat
|
||||
on [Freenode](https://kiwiirc.com/nextclient/#irc://irc.freenode.net/deltachat).
|
||||
|
||||
# Thank you for contributing to Delta Chat.
|
||||
|
||||
If you like to discuss a **new feature** or submit suggestions,
|
||||
please use the community forum:
|
||||
|
||||
* <https://support.delta.chat>
|
||||
|
||||
If you intend to send a **bug report** for Delta Chat,
|
||||
search for existing bugs first:
|
||||
|
||||
* [Core](https://github.com/deltachat/deltachat-core-rust/issues?&q=is%3Aissue)
|
||||
* [Android](https://github.com/deltachat/deltachat-android/issues?&q=is%3Aissue)
|
||||
* [iOS](https://github.com/deltachat/deltachat-ios/issues?&q=is%3Aissue)
|
||||
* [Desktop](https://github.com/deltachat/deltachat-ios/issues?&q=is%3Aissue)
|
||||
|
||||
In short, the Android/iOS/Desktop parts are about the User Interface.
|
||||
The Core part is about handling the connection to the mail server and the chat
|
||||
or e-mail messages as well as providing secure communication by using
|
||||
[Autocrypt](https://autocrypt.org/en/latest/).
|
||||
|
||||
A _bug_ is a reproducable misbehaviour,
|
||||
when something happens but something else should happen instead.
|
||||
|
||||
Please try to create your issue in the respective issue tracker.
|
||||
|
||||
Did you know there is a [Help](https://delta.chat/en/help) page for Delta Chat?
|
||||
|
||||
To ask questions, you are also invited to join our IRC channel #deltachat
|
||||
on [Freenode](https://kiwiirc.com/nextclient/#irc://irc.freenode.net/deltachat).
|
||||
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
<!--
|
||||
Please fill in as much as you can below (leaving out if not applicable is ok). This is a bug report and feature-tracking forum, if you like to discuss a new feature, please use the community forum at https://support.delta.chat.
|
||||
This is a bug report tracker. New features are discussed in the forum: https://support.delta.chat
|
||||
|
||||
Please fill out as much of this form as you can (leaving out stuff that is not applicable is ok).
|
||||
-->
|
||||
|
||||
- Platform (android/blackberry/anbox):
|
||||
- Android version:
|
||||
- Device:
|
||||
- Delta Chat Version:
|
||||
- Delta Chat version:
|
||||
- Expected behavior:
|
||||
- Actual behavior:
|
||||
- Steps to reproduce the problem:
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
*.keystore
|
||||
.classpath
|
||||
project.properties
|
||||
.project
|
||||
.settings
|
||||
bin/
|
||||
gen/
|
||||
gplay/
|
||||
.idea/
|
||||
*.iml
|
||||
*.so
|
||||
@@ -33,3 +35,9 @@ jni/libspeex/.deps/
|
||||
|
||||
# no vi tmp files
|
||||
*.swp
|
||||
|
||||
jni/x86
|
||||
jni/x86_64
|
||||
jni/armeabi
|
||||
jni/armeabi-v7a
|
||||
jni/arm64-v8a
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
[submodule "jni/messenger-backend"]
|
||||
path = jni/messenger-backend
|
||||
url = https://github.com/deltachat/deltachat-core
|
||||
[submodule "jni/deltachat-core-rust"]
|
||||
path = jni/deltachat-core-rust
|
||||
url = https://github.com/deltachat/deltachat-core-rust
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[main]
|
||||
host = https://www.transifex.com
|
||||
lang_map = nl_NL:nl
|
||||
lang_map = nl_NL:nl, ja_JP:ja, pt_BR:pt-rBR, zh_CN:zh-rCN, zh_TW:zh-rTW
|
||||
|
||||
[delta-chat-app.stringsxml]
|
||||
file_filter = res/values-<lang>/strings.xml
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
package="org.thoughtcrime.securesms">
|
||||
|
||||
<uses-sdk tools:overrideLibrary="com.amulyakhare.textdrawable,com.astuetz.pagerslidingtabstrip,pl.tajchert.waitingdots,com.h6ah4i.android.multiselectlistpreferencecompat,android.support.v13,com.davemorrissey.labs.subscaleview,com.tomergoldst.tooltips,com.klinker.android.send_message,com.takisoft.colorpicker,android.support.v14.preference"/>
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
package="org.thoughtcrime.securesms">
|
||||
|
||||
<uses-feature android:name="android.hardware.camera" android:required="false" />
|
||||
<uses-feature android:name="android.hardware.bluetooth" android:required="false" />
|
||||
@@ -15,26 +13,30 @@
|
||||
<uses-feature android:name="android.hardware.portrait" android:required="false"/>
|
||||
<uses-feature android:name="android.hardware.touchscreen" android:required="false"/>
|
||||
|
||||
<uses-permission android:name="android.permission.READ_CONTACTS"/>
|
||||
<!-- dangerous permissions - we need to as the user with a PermissionsRequest -->
|
||||
<uses-permission android:name="android.permission.READ_CONTACTS" />
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||
<uses-permission android:name="android.permission.CAMERA" />
|
||||
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
|
||||
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
|
||||
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
|
||||
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
|
||||
<uses-permission android:name="android.permission.RECORD_AUDIO" />
|
||||
|
||||
<!-- normal permissions - adding them here is enough -->
|
||||
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
|
||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
|
||||
<uses-permission android:name="android.permission.VIBRATE"/>
|
||||
<uses-permission android:name="android.permission.VIBRATE" />
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<uses-permission android:name="android.permission.INSTALL_SHORTCUT"/>
|
||||
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
|
||||
<uses-permission android:name="android.permission.SET_WALLPAPER"/>
|
||||
<uses-permission android:name="android.permission.INSTALL_SHORTCUT" />
|
||||
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
|
||||
<uses-permission android:name="android.permission.RAISED_THREAD_PRIORITY" />
|
||||
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
||||
|
||||
<application android:name=".ApplicationContext"
|
||||
android:icon="@mipmap/ic_launcher_dev"
|
||||
android:label="Delta Chat dev"
|
||||
android:icon="@mipmap/ic_launcher"
|
||||
android:label="@string/app_name"
|
||||
android:supportsRtl="true"
|
||||
tools:replace="android:allowBackup"
|
||||
android:allowBackup="false"
|
||||
@@ -42,15 +44,13 @@
|
||||
android:largeHeap="true"
|
||||
tools:ignore="GoogleAppIndexingWarning">
|
||||
|
||||
<meta-data
|
||||
android:name="com.google.android.geo.API_KEY"
|
||||
android:value="AIzaSyCSx9xea86GwDKGznCAULE9Y5a8b-TfN9U"/>
|
||||
|
||||
<meta-data android:name="com.google.android.gms.version"
|
||||
android:value="@integer/google_play_services_version" />
|
||||
|
||||
<!-- android car support, see https://developer.android.com/training/auto/start/,
|
||||
as this potentially blocks releases on gplay due to extra-checks,
|
||||
we disable this during the first gplay releases -->
|
||||
<!--
|
||||
<meta-data android:name="com.google.android.gms.car.application"
|
||||
android:resource="@xml/automotive_app_desc" />
|
||||
-->
|
||||
|
||||
<activity android:name=".InviteActivity"
|
||||
android:theme="@style/TextSecure.HighlightTheme"
|
||||
@@ -63,11 +63,10 @@
|
||||
</activity>
|
||||
|
||||
<activity android:name=".ShareActivity"
|
||||
android:theme="@style/TextSecure.LightNoActionBar"
|
||||
android:theme="@android:style/Theme.Translucent.NoTitleBar"
|
||||
android:excludeFromRecents="true"
|
||||
android:launchMode="singleTask"
|
||||
android:taskAffinity=""
|
||||
android:noHistory="true"
|
||||
android:windowSoftInputMode="stateHidden"
|
||||
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize">
|
||||
|
||||
@@ -83,14 +82,25 @@
|
||||
<data android:mimeType="*/*"/>
|
||||
</intent-filter>
|
||||
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.SEND_MULTIPLE" />
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
<data android:mimeType="audio/*" />
|
||||
<data android:mimeType="image/*" />
|
||||
<data android:mimeType="text/plain" />
|
||||
<data android:mimeType="video/*" />
|
||||
<data android:mimeType="application/*"/>
|
||||
<data android:mimeType="text/*"/>
|
||||
<data android:mimeType="*/*"/>
|
||||
</intent-filter>
|
||||
<meta-data
|
||||
android:name="android.service.chooser.chooser_target_service"
|
||||
android:value=".service.DirectShareService" />
|
||||
android:value="org.thoughtcrime.securesms.service.DirectShareService" />
|
||||
|
||||
</activity>
|
||||
|
||||
<activity android:name=".ConversationListActivity"
|
||||
android:label="Delta Chat dev"
|
||||
android:label="@string/app_name"
|
||||
android:launchMode="singleTask"
|
||||
android:theme="@style/TextSecure.LightNoActionBar"
|
||||
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"
|
||||
@@ -106,6 +116,13 @@
|
||||
<category android:name="android.intent.category.MULTIWINDOW_LAUNCHER" />
|
||||
</intent-filter>
|
||||
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.VIEW"/>
|
||||
<category android:name="android.intent.category.DEFAULT"/>
|
||||
<category android:name="android.intent.category.BROWSABLE"/>
|
||||
<data android:scheme="openpgp4fpr" />
|
||||
</intent-filter>
|
||||
|
||||
<meta-data android:name="com.sec.minimode.icon.portrait.normal"
|
||||
android:resource="@mipmap/ic_launcher" />
|
||||
<meta-data android:name="com.sec.minimode.icon.landscape.normal"
|
||||
@@ -125,7 +142,6 @@
|
||||
|
||||
<activity android:name=".ConversationActivity"
|
||||
android:windowSoftInputMode="stateUnchanged"
|
||||
android:launchMode="singleTask"
|
||||
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"
|
||||
android:parentActivityName=".ConversationListActivity">
|
||||
<meta-data
|
||||
@@ -133,21 +149,23 @@
|
||||
android:value="org.thoughtcrime.securesms.ConversationListActivity" />
|
||||
</activity>
|
||||
|
||||
<activity android:name=".ConversationPopupActivity"
|
||||
android:windowSoftInputMode="stateVisible"
|
||||
android:launchMode="singleTask"
|
||||
android:taskAffinity=""
|
||||
android:excludeFromRecents="true"
|
||||
android:theme="@style/TextSecure.LightTheme.Popup"
|
||||
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize" />
|
||||
|
||||
<activity android:name=".GroupCreateActivity"
|
||||
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
|
||||
|
||||
<activity android:name=".NewConversationActivity"
|
||||
android:theme="@style/TextSecure.LightNoActionBar"
|
||||
android:windowSoftInputMode="stateAlwaysVisible"
|
||||
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
|
||||
android:windowSoftInputMode="stateHidden"
|
||||
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize">
|
||||
|
||||
<intent-filter>
|
||||
<data android:scheme="mailto"/>
|
||||
<action android:name="android.intent.action.VIEW"/>
|
||||
<action android:name="android.intent.action.SENDTO"/>
|
||||
<category android:name="android.intent.category.DEFAULT"/>
|
||||
<category android:name="android.intent.category.BROWSABLE"/>
|
||||
</intent-filter>
|
||||
|
||||
</activity>
|
||||
|
||||
<activity android:name=".ContactMultiSelectionActivity"
|
||||
android:label="@string/contacts_title"
|
||||
@@ -164,12 +182,24 @@
|
||||
|
||||
<activity android:name=".RegistrationActivity"
|
||||
android:launchMode="singleTask"
|
||||
android:theme="@style/TextSecure.LightNoActionBar"
|
||||
android:windowSoftInputMode="stateUnchanged"
|
||||
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
|
||||
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.VIEW" />
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
<category android:name="android.intent.category.BROWSABLE" />
|
||||
|
||||
<!-- this scheme is used as the redirect_url for getOauth2Url()
|
||||
and should be whitelisted by the supported oauth2 services -->
|
||||
<data android:scheme="chat.delta" android:path="/${applicationId}/auth" tools:ignore="AppLinkUrlError"/>
|
||||
<data android:scheme="chat.delta" android:path="/auth" tools:ignore="AppLinkUrlError"/>
|
||||
|
||||
|
||||
</intent-filter>
|
||||
</activity>
|
||||
|
||||
<activity android:name=".LogViewActivity"
|
||||
android:label="@string/pref_view_log"
|
||||
android:label="@string/pref_log_header"
|
||||
android:windowSoftInputMode="stateHidden"
|
||||
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
|
||||
|
||||
@@ -179,10 +209,9 @@
|
||||
android:launchMode="singleTask"
|
||||
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
|
||||
|
||||
<activity android:name=".MediaOverviewActivity"
|
||||
<activity android:name=".ProfileActivity"
|
||||
android:theme="@style/TextSecure.LightNoActionBar"
|
||||
android:windowSoftInputMode="stateHidden"
|
||||
android:launchMode="singleTask"
|
||||
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
|
||||
|
||||
<activity android:name=".DummyActivity"
|
||||
@@ -196,10 +225,6 @@
|
||||
android:clearTaskOnLaunch="true"
|
||||
android:finishOnTaskLaunch="true" />
|
||||
|
||||
<activity android:name=".RecipientPreferenceActivity"
|
||||
android:theme="@style/TextSecure.LightNoActionBar"
|
||||
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
|
||||
|
||||
<activity android:name=".BlockedAndShareContactsActivity"
|
||||
android:theme="@style/TextSecure.LightTheme"
|
||||
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
|
||||
@@ -210,14 +235,14 @@
|
||||
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
|
||||
|
||||
<activity android:name=".scribbles.StickerSelectActivity"
|
||||
android:theme="@style/TextSecure.LightTheme"
|
||||
android:theme="@style/TextSecure.ScribbleTheme"
|
||||
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
|
||||
|
||||
<activity android:name="com.soundcloud.android.crop.CropImageActivity" />
|
||||
|
||||
<activity android:name=".CreateProfileActivity"
|
||||
android:theme="@style/TextSecure.LightTheme"
|
||||
android:windowSoftInputMode="stateVisible"
|
||||
android:windowSoftInputMode="stateHidden|adjustResize"
|
||||
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
|
||||
|
||||
<activity android:name=".QrScanActivity"
|
||||
@@ -244,7 +269,11 @@
|
||||
android:theme="@style/TextSecure.LightTheme"
|
||||
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
|
||||
|
||||
<service android:name=".connect.KeepAliveService" android:enabled="true"/>
|
||||
<activity android:name=".map.MapActivity" />
|
||||
|
||||
<service android:name=".connect.KeepAliveService" android:enabled="true" />
|
||||
|
||||
<service android:name=".geolocation.LocationBackgroundService" />
|
||||
|
||||
<service android:name=".service.DirectShareService"
|
||||
android:permission="android.permission.BIND_CHOOSER_TARGET_SERVICE">
|
||||
@@ -253,8 +282,6 @@
|
||||
</intent-filter>
|
||||
</service>
|
||||
|
||||
<receiver android:name=".connect.TimerReceiver" android:enabled="true"/>
|
||||
|
||||
<receiver android:name=".notifications.MarkReadReceiver"
|
||||
android:enabled="true"
|
||||
android:exported="false">
|
||||
@@ -271,21 +298,7 @@
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
|
||||
<receiver android:name=".notifications.AndroidAutoHeardReceiver"
|
||||
android:exported="false">
|
||||
<intent-filter>
|
||||
<action android:name="org.thoughtcrime.securesms.notifications.ANDROID_AUTO_HEARD"/>
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
|
||||
<receiver android:name=".notifications.AndroidAutoReplyReceiver"
|
||||
android:exported="false">
|
||||
<intent-filter>
|
||||
<action android:name="org.thoughtcrime.securesms.notifications.ANDROID_AUTO_REPLY"/>
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
|
||||
<provider android:name="android.support.v4.content.FileProvider"
|
||||
<provider android:name="androidx.core.content.FileProvider"
|
||||
android:authorities="${applicationId}.fileprovider"
|
||||
android:exported="false"
|
||||
android:grantUriPermissions="true">
|
||||
@@ -308,18 +321,6 @@
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
|
||||
<receiver android:name=".notifications.MessageNotifier$ReminderReceiver">
|
||||
<intent-filter>
|
||||
<action android:name="org.thoughtcrime.securesms.MessageNotifier.REMINDER_ACTION"/>
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
|
||||
<receiver android:name=".notifications.DeleteNotificationReceiver">
|
||||
<intent-filter>
|
||||
<action android:name="org.thoughtcrime.securesms.DELETE_NOTIFICATION"/>
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
|
||||
<receiver
|
||||
android:name=".service.PanicResponderListener"
|
||||
android:exported="true">
|
||||
|
||||
@@ -0,0 +1,861 @@
|
||||
# Delta Chat Android Changelog
|
||||
|
||||
## v1.0.0
|
||||
2019-12-17
|
||||
|
||||
Finally, after months of coding and fixing bugs, here it is: Delta Chat 1.0 :)
|
||||
An overview over the changes since v0.510:
|
||||
|
||||
* support for user avatars: select your profile image
|
||||
at "My profile info" and it will be sent out to people you write to
|
||||
* introduce a new "Device Chat" that informs the user about app changes
|
||||
and, in the future, problems on the device
|
||||
* new "Saved messages" chat
|
||||
* add "Certificate checks" options to "Login / Advanced"
|
||||
* if "Show classic emails" is set to "All",
|
||||
emails pop up as contact requests directly in the chatlist
|
||||
* add "Send copy to self" switch
|
||||
* rework welcome screen
|
||||
* a new core: for better stability, speed and future maintainability,
|
||||
the core is written completely in the Rust programming language now
|
||||
* for end-to-end-encryption, rPGP is used now;
|
||||
the rPGP library got a first independent security review mid 2019
|
||||
* improved behavior of sending and receiving messages in flaky networks
|
||||
* more reliable background fetch on newer Android versions
|
||||
* native 64bit support
|
||||
* minimum requirement is Android 4.3 Jelly Bean
|
||||
* tons of bug fixes
|
||||
|
||||
The changes of this verison and the last beta versions have been done by
|
||||
Alexander Krotov, Allan Nordhøy, Ampli-fier, Andrei Guliaikin,
|
||||
Asiel Díaz Benítez, Besnik, Björn Petersen, ButterflyOfFire, Calbasi, cyBerta,
|
||||
Daniel Boehrsi, Dmitry Bogatov, dorheim, Emil Lefherz, Enrico B., Ferhad Necef,
|
||||
Florian Bruhin, Floris Bruynooghe, Friedel Ziegelmayer, Heimen Stoffels, Hocuri,
|
||||
Holger Krekel, Jikstra, Lars-Magnus Skog, Lin Miaoski, Moo, Nico de Haen,
|
||||
Ole Carlsen, Osoitz, Ozancan Karataş, Pablo, Pedro Portela, polo lancien,
|
||||
Racer1, Simon Laux, solokot, Waldemar Stoczkowski, Xosé M. Lamas, Zkdc
|
||||
|
||||
|
||||
## v0.982.0
|
||||
2019-12-16
|
||||
|
||||
* move doze-reminder to device-chat
|
||||
* improve logging
|
||||
* update translations
|
||||
* fix crashes on connecting to some imap and smtp servers
|
||||
|
||||
|
||||
## v0.981.0
|
||||
2019-12-15
|
||||
|
||||
* avatar recoding to 192x192 to keep file sizes small
|
||||
* fix read-receipts appearing as normal messages
|
||||
* fix smtp crash
|
||||
* fix group name handling if the name contains special characters
|
||||
* various other bug fixes
|
||||
|
||||
|
||||
## v0.980.0
|
||||
2019-12-14
|
||||
|
||||
* support for user avatars: select your profile image
|
||||
at "settings / my profile info"
|
||||
and it will be sent out to people you write to
|
||||
* previously selected avatars will not be used automatically,
|
||||
you have to select a new avatar
|
||||
* rework tls stack
|
||||
* alleviate login problems with providers which only support RSA10
|
||||
* prototype a provider-database with a testprovider
|
||||
* improve key gossiping
|
||||
* bug fixes
|
||||
|
||||
|
||||
## v0.973.0
|
||||
2019-12-10
|
||||
|
||||
* names show up correctly again
|
||||
* html-attachments are possible again
|
||||
* improve adding/removing group members
|
||||
* improve connection handling and reconnects
|
||||
* update translations
|
||||
|
||||
|
||||
## v0.971.0
|
||||
2019-12-06
|
||||
|
||||
* rework welcome screen
|
||||
* update translations
|
||||
* improve reconnecting
|
||||
* various bug fixes
|
||||
|
||||
|
||||
## v0.970.0
|
||||
2019-12-04
|
||||
|
||||
* introduce a new "Device Chat" that informs the user about app changes
|
||||
and, in the future, problems on the device
|
||||
* rename the "Me"-chat to "Saved messages",
|
||||
add a fresh icon and make it visible by default.
|
||||
* add Arabic translation
|
||||
* add Galician translation
|
||||
* update translations
|
||||
* use the rust-language for the mail-parsing and -generating part,
|
||||
introducing a vastly improved reliability
|
||||
* fix moving messages
|
||||
* fix flakyness when receiving messages
|
||||
and in the secure-join process
|
||||
* more bug fixes
|
||||
|
||||
|
||||
## v0.960.0
|
||||
2019-11-24
|
||||
|
||||
* update translations
|
||||
* more reliable background fetch on newer Android versions
|
||||
* bug fixes
|
||||
* minimum requirement is now Android 4.3 Jelly Bean
|
||||
|
||||
|
||||
## v0.950.0
|
||||
2019-11-05
|
||||
|
||||
* add "Certificate checks" options to "Login / Advanced"
|
||||
* update translations
|
||||
* bug fixes
|
||||
|
||||
|
||||
## v0.940.2
|
||||
2019-10-31
|
||||
|
||||
* re-implement "delete mails from server"
|
||||
* if "Show classic emails" is set to "All",
|
||||
emails pop up as contact requests directly in the chatlist
|
||||
* fix android9 voice-recording issues
|
||||
* update translations
|
||||
* various bug fixes
|
||||
|
||||
|
||||
## v0.930.2
|
||||
2019-10-22
|
||||
|
||||
* add "send copy to self" switch
|
||||
* rework android4 emoji-sending
|
||||
* rework android9 background-fetch
|
||||
* fix 64bit issues
|
||||
* fix oauth2 issues
|
||||
* target api level 28 (android9, pie)
|
||||
* update translations
|
||||
* various bug fixes
|
||||
|
||||
|
||||
## v0.920.0
|
||||
2019-10-10
|
||||
|
||||
* improve onboarding error messages
|
||||
* update translations
|
||||
* various bug fixes
|
||||
|
||||
|
||||
## v0.910.0
|
||||
2019-10-07
|
||||
|
||||
* after months of hard work, this release is finally
|
||||
based on the new rust-core that brings improved security and speed,
|
||||
solves build-problems and also makes future developments much easier.
|
||||
there is much more to tell on that than fitting reasonably in a changelog :)
|
||||
* this is also the first release including native code for 64bit systems
|
||||
* minor ui improvements
|
||||
* add Hungarian translation
|
||||
* update translations
|
||||
|
||||
|
||||
## v0.510.1
|
||||
2019-07-09
|
||||
|
||||
* new image cropping feature: crop images before sending them
|
||||
* updated image editing user interface
|
||||
* update Chinese (zh-cn and zh-tw), Italian, Dutch, Turkish translations
|
||||
* remove swipe to archive and swipe to unarchive chats
|
||||
* improve UX to discard contact requests
|
||||
* improve UX to block contacts
|
||||
* bugfixes
|
||||
|
||||
The changes have been done by Björn Petersen, cyBerta, Enrico B.,
|
||||
Heimen Stoffels, Lin Miaoski, Ozancan Karataş, Zkdc
|
||||
|
||||
|
||||
## v0.500.0
|
||||
2019-06-27
|
||||
|
||||
* New chat-profile: Gallery, documents, shared chats and members at a glance
|
||||
* Add video recording and recoding
|
||||
* Show video thumbnails
|
||||
* Forward/Share: Add searching and forward/share to new contact/chat
|
||||
* Share: Support direct sharing to a recently used chats
|
||||
* New notification handling, including a mute-forever option :)
|
||||
* Optional plipp-plop sounds in chats
|
||||
* Better document- and music-files view
|
||||
* Add new-messages marker
|
||||
* Keep chat-scroll-postion on incoming messages
|
||||
* Clean up settings dialog
|
||||
* More general "outgoing media quality" option (replaces image-quality option)
|
||||
* Improve quality of voice messages
|
||||
* More touch-friendly layout
|
||||
* Add an experimental option to delete e-mails from server
|
||||
* Improve compatibility with older phones
|
||||
* Show a warning if the app is too old and won't be updated automatically
|
||||
(done just by date comparision, no data is sent anywhere)
|
||||
* New option to save the log to a file
|
||||
* Make input text field a bit larger
|
||||
* Add Traditional Chinese and Simplified Chinese translations
|
||||
* Update Albanian, Azerbaijani, Basque, Brazilian Portuguese, Catalan, Danish,
|
||||
Dutch, French, German, Italien, Japanese, Lithuanian, Polish, Portuguese,
|
||||
Russian, Spanish, Swedish, Turkish and Ukrainian translations
|
||||
* Bugfixes
|
||||
|
||||
The changes have been done by Allan Nordhøy, Ampli-fier, Andrei Guliaikin,
|
||||
Anna Ayala, Asiel Díaz Benítez, Besnik, Björn Petersen, Boehrsi, Calbasi,
|
||||
Christian Schneider, cyBerta, Enrico B., Eric Lavarde, Ferhad Necef,
|
||||
Floris Bruynooghe, Friedel Ziegelmayer, Heimen Stoffels, Holger Krekel,
|
||||
Iskatel Istiny, Jikstra, Lars-Magnus Skog, Lin Miaoski, Luis, Moo, Ole Carlsen,
|
||||
Osoitz, Ozancan Karataş, Racer, Sebek, Yuriy, Zkdc
|
||||
|
||||
|
||||
## v0.304.0
|
||||
2019-05-07
|
||||
|
||||
* Add Catalan translation
|
||||
* Update several other translations
|
||||
* Bugfixes
|
||||
|
||||
The changes have been done by Ampli-fier, Andrei Guliaikin, Asiel Díaz Benítez,
|
||||
Björn Petersen, Calbasi, Enrico B., ferhad.necef, Heimen Stoffels, link2xt,
|
||||
Maverick2k, Ole Carlsen, Osoitz, Ozancan Karataş, Racer1, Webratte
|
||||
|
||||
|
||||
## v0.303.0
|
||||
2019-05-01
|
||||
|
||||
* Add labels to map markers
|
||||
* Always show self-position on map
|
||||
* Tweak Log UI
|
||||
* Bugfixes
|
||||
|
||||
The changes have been done by Ampli-fier, Björn Petersen, cyBerta
|
||||
|
||||
|
||||
## v0.302.1
|
||||
|
||||
2019-04-27
|
||||
|
||||
* add POIs on maps
|
||||
* Tweak Log UI
|
||||
* add location indicator in chat messages
|
||||
* bugfixes
|
||||
|
||||
The changes have been done by Björn Petersen, cyBerta, Daniel Boehrsi.
|
||||
|
||||
|
||||
## v0.301.1
|
||||
2019-04-22
|
||||
|
||||
* Fix chat view and log for Android 4.4 (Kitkat)
|
||||
|
||||
|
||||
## v0.301.0
|
||||
2019-04-20
|
||||
|
||||
* Experimental location-streaming can be enabled in the advanced settings;
|
||||
when enabled, you can optionally stream your location to a group
|
||||
and view a map with the members that are also streaming their location
|
||||
* Tweaked dark-mode
|
||||
* Improved account setup and profile dialogs
|
||||
* Show and hide the virtual keyboard more gracefully
|
||||
* Speed up program start
|
||||
* Speed up message sending
|
||||
* Handle Webp-Images and Vcard-files
|
||||
* Add Japanese and Brazilian Portuguese translations
|
||||
* Update several other translations
|
||||
* Bug fixes
|
||||
|
||||
The changes have been done by Alexander, Ampli-fier, Angelo Fuchs,
|
||||
Asiel Díaz Benítez, Besnik, Björn Petersen, cyBerta, Daniel Böhrs, Enrico B.,
|
||||
ferhad.necef, Floris Bruynooghe, Friedel Ziegelmayer, Heimen Stoffels,
|
||||
Holger Krekel, Janka, Jikstra, Luis, Moo, Nico de Haen, Ole Carlsen, Osoitz,
|
||||
Ozancan Karataş, Racer1, sebek, Viktor Pracht, Webratte and others
|
||||
|
||||
|
||||
## v0.200.0
|
||||
2019-03-14
|
||||
|
||||
* Simplified setup (OAuth2) for google.com and yandex.com
|
||||
* Improved setup for many other providers
|
||||
* Decide, which e-mails should appear - "Chats only", "Accepted contacts" or "All"
|
||||
* Improve moving chat messages to the DeltaChat folder
|
||||
* Optional a stronger image compression
|
||||
* Smaller message sizes in groups
|
||||
* Share files from other apps to Delta Chat
|
||||
* Share texts from mailto:-links
|
||||
* Log can be opened from setup screen
|
||||
* Add Lithuanian translation
|
||||
* Update several other translations
|
||||
* Bug fixes
|
||||
|
||||
The changes have been done by Alexandex, Angelo Fuchs, Asiel Díaz Benítez,
|
||||
Björn Petersen, Besnik, Christian Klump, cyBerta, Daniel Böhrs, Enrico B.,
|
||||
ferhad.necef, Florian Haar, Floris Bruynooghe, Friedel Ziegelmayer,
|
||||
Heimen Stoffels, Holger Krekel, Iskatel Istiny, Lech Rowerski, Moo,
|
||||
Ole Carlsen, violoncelloCH and others
|
||||
|
||||
|
||||
## v0.101.0
|
||||
2019-02-12
|
||||
|
||||
* First Play Store release, optimisations for Android O
|
||||
* Ask to disable battery optimisations
|
||||
* Start Azerbaijani and Swedish translations
|
||||
* Update several other translations
|
||||
* Many bug fixes
|
||||
|
||||
The changes have been done by Ampli-fier, Angelo Fuchs, Asiel Díaz Benítez,
|
||||
Besnik, Björn Petersen, Christian Klump, Daniel Böhrs, Enrico B., ferhad.necef,
|
||||
Florian Haar, Floris Bruynooghe, Heimen Stoffels, Holger Krekel,
|
||||
Iskatel Istiny, Lech Rowerski, violoncelloCH and others.
|
||||
|
||||
|
||||
## v0.100.0
|
||||
2019-01-23
|
||||
|
||||
* Complete rework of the ui using pure material design
|
||||
* Images and other files can be sent together with a description
|
||||
* Images can be modified before sending, eg. text can be added or
|
||||
hand-drawn signs
|
||||
* Image and media gallery for each chat
|
||||
* Embedded camera, new camera icon directly in input field
|
||||
* Embedded video player
|
||||
* New emoticons
|
||||
* Contacts and groups can be joined with a QR-code-scan
|
||||
* Options for watching several IMAP-folders
|
||||
* Option to move messages to the DeltaChat-folder
|
||||
* Improved multi-device behavior
|
||||
* Improved Accessiblity eg. for screen readers
|
||||
* Dark theme
|
||||
* Support right-to-left languages
|
||||
* Relative time display
|
||||
* Chatlist and contat list support a long click for several operations
|
||||
* Archive chats by swiping a chat right out of the chatlist
|
||||
* Show date always atop of the chat
|
||||
* Fix redraw problems with hidden system status or navigation bar
|
||||
* Reply directly from within notification
|
||||
* The system credentials has be be entered before exports
|
||||
* The app can be protected by the system credentials
|
||||
* Hide the permanent notification more reliable
|
||||
* Improved resending of messages
|
||||
* Allow password starting/ending with whitespaces
|
||||
* Bug fixes
|
||||
* Probably more i forgot
|
||||
|
||||
The changes have been done by Ampli-fier, Angelo Fuchs, Asiel Díaz Benítez,
|
||||
Björn Petersen, chklump, Daniel Böhrs, Florian Haar, Hocceruser, Holger Krekel,
|
||||
Lars-Magnus Skog
|
||||
|
||||
Translations are still in progress and video-recording is not yet re-implemented.
|
||||
Help is very welcome -:)
|
||||
|
||||
|
||||
## v0.20.0
|
||||
2018-08-14
|
||||
|
||||
* Check size before sending videos, files and other attachments
|
||||
* On sending problems, try over an appropriate number of times; then give up
|
||||
* Detect sending problems related to the message size,
|
||||
show an error and do not try over
|
||||
* Show message errors in the message info
|
||||
* Add user forum to website
|
||||
* Update python bindings
|
||||
* Seed node.js bindings and a CLI version based on this
|
||||
* Prepare Android bindings update
|
||||
* Update Danish, Italian and Russian translations
|
||||
|
||||
The changes have been done by Andrei Guliaikin, Angelo Fuchs, Björn Petersen,
|
||||
compl4xx, Boehrsi, Enrico B., Floris Bruynooghe, Holger Krekel, Janka, Jikstra,
|
||||
Karissa McKelvey, Lars-Magnus Skog, Ole Carlsen
|
||||
|
||||
|
||||
## v0.19.0
|
||||
2018-07-10
|
||||
|
||||
* Give advices for Google users
|
||||
* Speed up by making database-locks unneccessary
|
||||
* Fix drafts appearing twice
|
||||
* Update Albanian, Basque, Catalan, Danish, Dutch, English,
|
||||
Italian, Polish, Russian, and Turkish translations
|
||||
* Update website
|
||||
|
||||
The changes have been done by Allan Nordhøy, Angelo Fuchs, Besnik,
|
||||
Björn Petersen, Calbasi, Claudio Arseni, guland2000, Heimen Stoffels,
|
||||
Holger Krekel, Luis Fernando Stürmer da Rosa, Mahmut Özcan, Ole Carlsen,
|
||||
Osoitz, sebek, Thomas Oster
|
||||
|
||||
|
||||
## v0.18.2
|
||||
2018-06-23
|
||||
|
||||
* Fix initial configure process to hang at 95% under some circumstances
|
||||
|
||||
|
||||
## v0.18.0
|
||||
2018-06-21
|
||||
|
||||
* Speed up message sending/receiving
|
||||
* Retry failed sending/receiving jobs just in the moment
|
||||
the networks becomes available again
|
||||
* Make message sending/receiving more reliable
|
||||
* Handle attachment file names with non-ASCII characters correctly
|
||||
* Paging through images made available by Angelo Fuchs
|
||||
* Several connection issues with different configurations
|
||||
were fixed by Thomas Oster
|
||||
* Improve chat-folder creation by Thomas Oster
|
||||
* Request permissions before using the camera; added by Thomas Oster
|
||||
* Key import improved by Thomas Oster
|
||||
* Improve background and foreground message fetching reliability
|
||||
* Try to use the permanent notification only when really needed
|
||||
* Update internal sqlite library from 3.22.0 to 3.23.1
|
||||
* Update internal libEtPan library from 1.7 to 1.8
|
||||
* Add Danish translation from Ole Carlsen
|
||||
* Update Albanian, Basque, Danish, Italian, Norwegian, Dutch, Polish,
|
||||
Portuguese, Russian and Telugu translations
|
||||
|
||||
|
||||
## v0.17.3
|
||||
2018-05-17
|
||||
|
||||
* Fix system messages appearing twice
|
||||
* Fix: Use all gossipped verifications in verified groups
|
||||
* Update Basque, Polish, Russian and Ukrainian translations
|
||||
|
||||
|
||||
## v0.17.2
|
||||
2018-05-15
|
||||
|
||||
* Fix problem with adding formerly uncontacted members to groups
|
||||
* Unblock manually blocked members when they are added manually as contact again
|
||||
|
||||
|
||||
## v0.17.1
|
||||
2018-05-11
|
||||
|
||||
* Improve QR code scanning screens
|
||||
* Add a labs-option to disabled the new QR logo overlay
|
||||
* Update Russian translations
|
||||
|
||||
|
||||
## v0.17.0
|
||||
2018-05-07
|
||||
|
||||
* Show shared chats in user profiles
|
||||
* If a contact has changed his encryption setups,
|
||||
this is shown as a system messages in the middle of the chat view
|
||||
* Show added group members, changed group titles etc. as system messages
|
||||
* Show direct buttons to create a new group or contact in the "New Chat" dialog
|
||||
* Improve "Add contact" dialog
|
||||
* Move subject and most chat metadata to the encrypted part
|
||||
following the "Memoryhole" proposal
|
||||
* Show read-timestamps in message info
|
||||
* Do not add contacts from Bcc to group-memberlist
|
||||
to avoid privacy leaks and to get a unique memberlist for all group-members
|
||||
* In a mail contains plaintext and encrypted parts,
|
||||
the whole mail is treated as not being encrypted correctly
|
||||
* Restructure settings and advanced settings
|
||||
* Fix problems with Office 365 and similar services
|
||||
* Fix a problem where incoming messages are shown as being sent by oneself
|
||||
* Experimental QR code scanning options can be enabled in the advanced settings
|
||||
* Update Albanian, Catalan, Dutch, French, German, Italian, Norwegian, Polish,
|
||||
Russian, Spanish, Turkish and Ukrainian translations
|
||||
* Add Basque translation
|
||||
* Add Chinese translation
|
||||
* Add Japanese translation
|
||||
|
||||
|
||||
## v0.16.0
|
||||
2018-03-19
|
||||
|
||||
* Messages from normal clients to more than one recipient
|
||||
create an implicit "ad-hoc group"
|
||||
* Allow group creation though contact requests
|
||||
* Always display the _sending_ time in the chat list;
|
||||
the list itself is sorted by _receiving_ time
|
||||
and "Message info" shows both times now
|
||||
* If parts but the footnote are cut from mails,
|
||||
this is indicated "..."; use "Message info" to get the full text
|
||||
* Highlight the subject in the "Message info"
|
||||
* Autoconfigure prefers 'https' over 'http'
|
||||
* Bug fixes, eg. avoid freezes if the connection is lost
|
||||
* Update Russian, Tamil and Turkish translations
|
||||
|
||||
|
||||
## v0.15.0
|
||||
2018-02-27
|
||||
|
||||
* Render the waveform for voice messages
|
||||
* Fix problems with voice messages on various devices
|
||||
* Improve deletion of message that were moved around by another e-mail client
|
||||
* Really delete messages on the server, do not only mark them for deletion
|
||||
* Ignore subsequent keys or blocks in OpenPGP files
|
||||
* Leave incoming Autocrypt Setup Messages in the inbox
|
||||
so that any number of other e-mail-clients can process them
|
||||
* Avoid messages sent to the "Me" chat appearing twice in other e-mail clients
|
||||
* Update Albanian translation
|
||||
|
||||
|
||||
## v0.14.0
|
||||
2018-02-20
|
||||
|
||||
* Evaluate gossiped keys
|
||||
* Option to transfer the Autocrypt Setup to another device or e-mail client
|
||||
* Accept Autocrypt Setup transferred from other devices or e-mail client
|
||||
* Send any data from device to device
|
||||
using the chat "Me - Messages I sent to myself"
|
||||
* Do not send messages when there is an access error
|
||||
* Request for contact permissions only once
|
||||
* Bug fixes
|
||||
* Update French and Turkish translations
|
||||
|
||||
|
||||
## v0.13.0
|
||||
2018-01-18
|
||||
|
||||
* Reply encrypted if the sender has enabled encryption manually
|
||||
(esp. useful when chatting with clients as K-9 or Enigmail)
|
||||
* Update welcome screen graphics
|
||||
* Update Norwegian, Russian and Turkish translations
|
||||
|
||||
|
||||
## v0.12.0
|
||||
2018-01-07
|
||||
|
||||
* Gossip keys of other group members in the encrypted payload
|
||||
(will also be evaluated in one of the next versions)
|
||||
* Use SHA-256 instead of SHA-1 in signatures
|
||||
* Make the permanent notification clickable
|
||||
* Update permanent notification after import
|
||||
* Fix rendering of system messages
|
||||
* Various bug fixes
|
||||
* Update Albanian, French, Italian, Norwegian, Polish, Russian
|
||||
and Turkish translations
|
||||
|
||||
|
||||
## v0.11.4
|
||||
2017-12-17
|
||||
|
||||
* Add option to initiate Autocrypt Key Transfer
|
||||
* Connect after importing a backup
|
||||
* Reading memory hole headers
|
||||
* Add Albanian translation
|
||||
* Update German, Italian, Polish, Portuguese, Russian, Turkish
|
||||
and Ukrainian translations
|
||||
|
||||
|
||||
## v0.10.0
|
||||
2017-11-29
|
||||
|
||||
* Fix usage of multiple private keys
|
||||
* Fix various memory leaks
|
||||
* Update English, Portuguese and Turkish translations
|
||||
|
||||
|
||||
## v0.9.9
|
||||
2017-11-18
|
||||
|
||||
* Alternate include order for F-Droid
|
||||
* Add Serbian translation
|
||||
* Update Catalan, Dutch, English, French, German, Hungarian, Italian, Polish,
|
||||
Portuguese, Russian, Spanish, Tamil, Telugu and Ukrainian translations
|
||||
|
||||
|
||||
## v0.9.8
|
||||
2017-11-15
|
||||
|
||||
* Fix a bug that avoids chat creation under some circumstances
|
||||
(bug introduced in 0.9.7)
|
||||
|
||||
|
||||
## v0.9.7
|
||||
2017-11-14
|
||||
|
||||
* Archive chats or delete chats by a long press
|
||||
* Notify the user in the chatlist about contact requests
|
||||
of known users or of other Delta Chat clients
|
||||
* Show messages only for explicitly wanted chats
|
||||
* Show more detailed reasons about failed end-to-end-encryptions
|
||||
* Explicit option to leave a group
|
||||
* Do not show the padlock if end-to-end-encryption is disabled by the user
|
||||
* Import images from a backup when using a different device with different paths
|
||||
* Add copy-to-clipboard function for "About / Info"
|
||||
* Rework Emoji-code
|
||||
* Add Norwegian Bokmål translation
|
||||
* Add Tamil translation
|
||||
* Add Turkish translation
|
||||
* Update Catalan, German, French, Italian, Korean, Dutch, Polish, Portuguese,
|
||||
Russian, Telugu and Ukrainian translations
|
||||
|
||||
|
||||
## v0.9.6
|
||||
2017-10-18
|
||||
|
||||
* Support keys generated with multiple subkeys eg. from K-9
|
||||
* Show PDFs and other attachments with bad names
|
||||
* Bug fixes
|
||||
|
||||
|
||||
## v0.9.5
|
||||
2017-10-08
|
||||
|
||||
* Backup export and import function
|
||||
* Query password before export
|
||||
* Move replies from normal E-Mail-Clients to the "Chats" folder
|
||||
* Improve helping MUAs on showing chat threads
|
||||
* Improve onboarding
|
||||
* Add URL to default footer
|
||||
* Test a different approach for battery saving in this release
|
||||
* Update French, Italian, German, Polish, Portuguese, Russian
|
||||
and Ukrainian translations
|
||||
|
||||
|
||||
## v0.9.4
|
||||
2017-08-23
|
||||
|
||||
* Introduce an editable "Status" field that is shown eg. in email footers
|
||||
* Editable and synchronized group images
|
||||
* Show the subject of messages that cannot be decrypted
|
||||
* Do not send "Read receipts" when decryption fails
|
||||
* Do not request "Read receipts" from normal MUAs
|
||||
as there are too many MUAs responding with weird, non-standard formats
|
||||
* Deleting a chat always deletes all messages from the device permanently
|
||||
* Ignore messages from mailing lists
|
||||
* Do not spread the original authors name nor address on forwarding
|
||||
* Encrypt mails send to SMTP and to IMAP the same way
|
||||
* Improve showing HTML-mails
|
||||
* Cleanup Android code
|
||||
* Remove badge counter on app restart
|
||||
* Add Ukrainian translation
|
||||
* Add Telugu translation
|
||||
* Add Catalan translation
|
||||
* Update German, Spanish, French, Hungarian, Italian, Polish, Portuguese
|
||||
and Russian translations
|
||||
|
||||
|
||||
## v0.9.3
|
||||
2017-07-13
|
||||
|
||||
* Introduce "Read receipts" and avoid social pressure to leave it activated
|
||||
* Improve encryption dialog in profile
|
||||
* Fix marking messages as "seen" when opening the contact requests
|
||||
* Ignore signature.asc files of signed-only messages
|
||||
* Update Polish, Portuguese and Russian translations
|
||||
|
||||
|
||||
## v0.9.2
|
||||
2017-06-28
|
||||
|
||||
* Encrypt group chats
|
||||
* Cryptographically sign messages
|
||||
* Validate signatures of incoming messages ("Info" shows the state)
|
||||
* Show lock beside end-to-end-encrypted messages with a validated signature
|
||||
* If end-to-end-encryption is available on sending time,
|
||||
guarantee the message not to be sent without end-to-end-encryption later
|
||||
* Show special characters in HTML-mails
|
||||
* Help MUAs on showing chat threads
|
||||
* Show attachments from multipart/alternative structures
|
||||
* Upgrade from Autocrypt Level 0 to Level 1;
|
||||
as the levels are not compatible, encryption on mixed setups does not happen
|
||||
* Update Polish, Portuguese, Spanish and French translations
|
||||
|
||||
|
||||
## v0.9.1
|
||||
2017-06-04
|
||||
|
||||
* Profile: Improve encryption state dialog
|
||||
* Improved video quality of short clips
|
||||
* Make encryption-dialog localizable
|
||||
* Update Russian translation
|
||||
|
||||
|
||||
## v0.9.0
|
||||
2017-06-01
|
||||
|
||||
* Add end-to-end-encrypting following the OpenPGP and Autocrypt standards
|
||||
* Add a function to compare keys
|
||||
* Profile: Add option to copy the email address to the clipboard
|
||||
* Pimp GUI
|
||||
|
||||
|
||||
## v0.1.36
|
||||
2017-05-04
|
||||
|
||||
* Support camera on Android Nougat
|
||||
|
||||
|
||||
## v0.1.34
|
||||
2017-05-03
|
||||
|
||||
* Link to new homepage https://delta.chat
|
||||
* Localizable Help-URLs
|
||||
|
||||
|
||||
## v0.1.33
|
||||
2017-04-29
|
||||
|
||||
* Better support for right-to-left (RTL) languages, taking advantage of
|
||||
Android 4.2 (Jelly Bean MR1, API level 17).
|
||||
* Send PNG files without resizing and converting to JPEG
|
||||
* If JPEG files are send without compression,
|
||||
they still appear as image, not as attached files
|
||||
* Raise-to-speak defaults to false
|
||||
* Unify long click behaviour
|
||||
* Support Android's system function "Delete data"
|
||||
* Replies to messages pop up automatically
|
||||
even if send from other email addresses (typical scenario for alias addresses)
|
||||
* Fix group-replies from normal email-clients.
|
||||
|
||||
|
||||
## v0.1.32
|
||||
2017-04-22
|
||||
|
||||
* Update Spanish and Portuguese translations
|
||||
* Update internal sqlite library to version 3.18.0, released on 2017-03-28
|
||||
* Remove more of the custom language handling, use Android's routines instead
|
||||
* General code cleanup
|
||||
* Play GIF files
|
||||
* Option to disable autoplaying GIF files
|
||||
* When sending contacts, only use the names the receivers have set themselves
|
||||
* Show some hints when long-pressing icons in the action bar
|
||||
|
||||
|
||||
## v0.1.29
|
||||
2017-04-19
|
||||
|
||||
* Add Russian translation
|
||||
* For outgoing (group-)messages,
|
||||
only use the names the receivers have set themselves
|
||||
|
||||
|
||||
## v0.1.28
|
||||
2017-04-14
|
||||
|
||||
* Pimp notifications
|
||||
* Bug fixes
|
||||
|
||||
|
||||
## v0.1.27
|
||||
2017-04-12
|
||||
|
||||
* Use a permanent foreground service for reliable notifications
|
||||
* Monitor the IMAP-IDLE thread and reconnect if IMAP-IDLE seems to hang
|
||||
* Various battery and background optimizations
|
||||
|
||||
|
||||
## v0.1.25
|
||||
2017-04-04
|
||||
|
||||
* Use system or user selected video player.
|
||||
* Do not connect if not configured (avoids a warning on the first time startup)
|
||||
* Add vertical scrollbar, eg. to settings activities.
|
||||
* Pimp GUI and logo.
|
||||
* Update Korean.
|
||||
|
||||
|
||||
## v0.1.24
|
||||
2017-03-31
|
||||
|
||||
* Share images and documents from other apps to Delta Chat
|
||||
* Offer to mailto:-link-support to other apps
|
||||
* Ignore implausible sending time of incoming messages;
|
||||
use the receive time in these rare cases
|
||||
* Show errors only when Delta Chat is in foreground
|
||||
* Dynamically adapt video bitrate for longer videos
|
||||
to an attachment-size of max. 25 MB
|
||||
|
||||
|
||||
## v0.1.23
|
||||
2017-03-28
|
||||
|
||||
* Retry connecting to IMAP if there is not network available on the first try
|
||||
* Notify about new messages if the app is not active for hours,
|
||||
optimize battery consumption
|
||||
|
||||
|
||||
## v0.1.22
|
||||
2017-03-22
|
||||
|
||||
* Show HTML-only messages
|
||||
* Show connection errors
|
||||
* Add options for SSL/TLS and STARTTLS
|
||||
* Automatic account configuration, if possible
|
||||
* Recode large videos
|
||||
* Add Hungarian translation
|
||||
* Add Korean translation
|
||||
|
||||
|
||||
## v0.1.21
|
||||
2017-03-10
|
||||
|
||||
* Record and send voice messages
|
||||
* Record and send videos
|
||||
* Send and play music
|
||||
* Send contacts and email addresses
|
||||
* Sending and opening attachments of any type
|
||||
* Share and open commands for all attachments
|
||||
* Accept VCards send to us by other apps
|
||||
* Clickable email addresses
|
||||
* Update Polish translation
|
||||
* Fix tablet startup bug
|
||||
* Close the app when using the lock-app-via-pincode function
|
||||
* Protect data by using a content provider for sharing
|
||||
* Try to clear the task switcher's screenshots when locking the app via pincode
|
||||
* Pimp GUI
|
||||
|
||||
|
||||
## v0.1.20
|
||||
2017-02-16
|
||||
|
||||
* Avoid unwanted downloads of lots of old messages
|
||||
* Make the "Chats" folder visible if the server hides new folders by default
|
||||
* Fix a crash when the server returns empty folders
|
||||
* Update Polish and Portuguese translations
|
||||
* Use API level 25 (Nougat 7.1) as target
|
||||
|
||||
|
||||
## v0.1.18
|
||||
2017-02-11
|
||||
|
||||
* Add Polish translation
|
||||
* Use a new default background for chats
|
||||
* Improve typography by using the system font instead of a custom resource font
|
||||
* Remove custom plural handling, use Android's routines instead
|
||||
* Remove unused source code and strings
|
||||
* More fixes of lint errors and warnings
|
||||
|
||||
|
||||
## v0.1.17
|
||||
2017-02-07
|
||||
|
||||
* Drop two unnecessary permissions
|
||||
ACCESS_COARSE_LOCATION and ACCESS_FINE_LOCATION
|
||||
* Really add French translation
|
||||
* Update Portuguese translation
|
||||
* Start fixing translation handling of the program
|
||||
* Remove special "foss" build, because the whole program is free now.
|
||||
|
||||
|
||||
## v0.1.16
|
||||
2017-02-06
|
||||
|
||||
* Add French translation
|
||||
* Fix some lint errors and warnings
|
||||
|
||||
|
||||
## v0.1.15
|
||||
2017-01-31
|
||||
|
||||
* Prepare for first release on F-Droid
|
||||
@@ -1,73 +1,72 @@
|
||||
## Delta Chat Android Client
|
||||
|
||||
This is the android client for Delta Chat. For the core library and other common
|
||||
information, please refer to [Delta Chat Core Library](https://github.com/deltachat/deltachat-core).
|
||||
For ready-to-use binaries, please go to https://delta.chat .
|
||||
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 [GitHub](https://github.com/deltachat/deltachat-android/releases)
|
||||
(only for experienced users).
|
||||
|
||||

|
||||
For the core library and other common info, please refer to the
|
||||
[Delta Chat Core Library](https://github.com/deltachat/deltachat-core-rust).
|
||||
|
||||
[<img src="https://f-droid.org/badge/get-it-on.png" alt="Get it on F-Droid" height="75"/>](https://f-droid.org/packages/com.b44t.messenger)
|
||||
<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" />
|
||||
|
||||
|
||||
# Build
|
||||
|
||||
When checking out _deltachat-android-ii_, make sure also to check out the
|
||||
subproject _deltachat-core_:
|
||||
When checking out _deltachat-android_, make sure also to check out the
|
||||
subproject _deltachat-core-rust_:
|
||||
|
||||
- When using Git, you can do this initially by
|
||||
`$ git clone --recursive https://github.com/deltachat/deltachat-android-ii`
|
||||
`$ 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-ii` which is just fine.
|
||||
home directory, this results in the folder `~/deltachat-android` which is just fine.
|
||||
|
||||
- Alternatively, you can download the [deltachat-android zip-file](https://github.com/deltachat/deltachat-android-ii/archive/master.zip); in this case, also download the [deltachat-core zip-file](https://github.com/deltachat/deltachat-core/archive/master.zip) and place its contents to `jni/messenger-backend`
|
||||
Then, open `ndk-make.sh` in an editor and follow the instructions
|
||||
to set up a rust build environment. This is needed only once.
|
||||
|
||||
Then, call `ndk-build` in the root directory to build the C-part;
|
||||
this also builds deltachat-core. Afterwards run the project in Android Studio.
|
||||
The project requires API 25.
|
||||
After that, call `./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 setup a proper development
|
||||
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 eg. to `~/android-studio`
|
||||
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`.
|
||||
|
||||
3. To launch Android Studio for the first time, open a terminal, navigate to
|
||||
`~/android-studio/bin`, execute `./studio.sh` and use all standard values
|
||||
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 ask you if you want to download an existing project;
|
||||
|
||||
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. As Delta Chat uses API 25 for some reasons, click on the corresponding error
|
||||
message and install "Nougat 7.1.1 (API 25)" and the "Build-Tools" (you should
|
||||
|
||||
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 Revision 14b from
|
||||
[NDK Archives](https://developer.android.com/ndk/downloads/older_releases)
|
||||
(Newer releases shall not be used currently, they are not compatible,
|
||||
see issues #197, #220, #248) and unzip the archive which contains a single folder
|
||||
called `android-ndk-r...`; move this folder eg. to `~/android-ndk-r...`
|
||||
|
||||
7. Export the folder path to your environment as ANDROID_NDK and add it to PATH.
|
||||
You can archive this eg. by adding the following lines to `.bashrc`
|
||||
`export ANDROID_NDK=/home/bpetersen/android-ndk-r...`
|
||||
`export PATH=$PATH:$ANDROID_NDK`
|
||||
|
||||
The last two steps may be omitted by using the new Android Studio NDK options,
|
||||
however, thus far, we have not found the time to do so.
|
||||
6. Download Android NDK from
|
||||
[NDK Archives](https://developer.android.com/ndk/downloads)
|
||||
and extract the archive containing a single folder
|
||||
called `android-ndk-r…`; move this folder e.g. to `~/android-ndk-r…`.
|
||||
|
||||
7. Export the folder path to your environment as `ANDROID_NDK` and add it to `PATH`.
|
||||
You can achieve this e.g. by adding the following lines to `.bashrc`
|
||||
`export ANDROID_NDK=/home/USERNAME/android-ndk-r…`
|
||||
`export PATH=$PATH:$ANDROID_NDK`.
|
||||
|
||||
|
||||
# Credits
|
||||
@@ -77,6 +76,6 @@ The user interface classes are based on the Signal messenger.
|
||||
|
||||
# License
|
||||
|
||||
Licensed under the GPLv3, see LICENSE file for details.
|
||||
Licensed GPLv3+, see the LICENSE file for details.
|
||||
|
||||
Copyright © 2017, 2018 Delta Chat contributors
|
||||
Copyright © 2017-2019 Delta Chat contributors.
|
||||
|
||||
@@ -1,78 +0,0 @@
|
||||
#! /usr/bin/env python
|
||||
|
||||
import sys
|
||||
from zipfile import ZipFile
|
||||
|
||||
class ApkDiff:
|
||||
|
||||
IGNORE_FILES = ["META-INF/CERT.RSA", "META-INF/CERT.SF", "META-INF/MANIFEST.MF"]
|
||||
|
||||
def compare(self, sourceApk, destinationApk):
|
||||
sourceZip = ZipFile(sourceApk, 'r')
|
||||
destinationZip = ZipFile(destinationApk, 'r')
|
||||
|
||||
if self.compareManifests(sourceZip, destinationZip) and self.compareEntries(sourceZip, destinationZip) == True:
|
||||
print "APKs match!"
|
||||
else:
|
||||
print "APKs don't match!"
|
||||
|
||||
def compareManifests(self, sourceZip, destinationZip):
|
||||
sourceEntrySortedList = sorted(sourceZip.namelist())
|
||||
destinationEntrySortedList = sorted(destinationZip.namelist())
|
||||
|
||||
for ignoreFile in self.IGNORE_FILES:
|
||||
while ignoreFile in sourceEntrySortedList: sourceEntrySortedList.remove(ignoreFile)
|
||||
while ignoreFile in destinationEntrySortedList: destinationEntrySortedList.remove(ignoreFile)
|
||||
|
||||
if len(sourceEntrySortedList) != len(destinationEntrySortedList):
|
||||
print "Manifest lengths differ!"
|
||||
|
||||
for (sourceEntryName, destinationEntryName) in zip(sourceEntrySortedList, destinationEntrySortedList):
|
||||
if sourceEntryName != destinationEntryName:
|
||||
print "Sorted manifests don't match, %s vs %s" % (sourceEntryName, destinationEntryName)
|
||||
return False
|
||||
|
||||
return True
|
||||
|
||||
def compareEntries(self, sourceZip, destinationZip):
|
||||
sourceInfoList = filter(lambda sourceInfo: sourceInfo.filename not in self.IGNORE_FILES, sourceZip.infolist())
|
||||
destinationInfoList = filter(lambda destinationInfo: destinationInfo.filename not in self.IGNORE_FILES, destinationZip.infolist())
|
||||
|
||||
if len(sourceInfoList) != len(destinationInfoList):
|
||||
print "APK info lists of different length!"
|
||||
return False
|
||||
|
||||
for sourceEntryInfo in sourceInfoList:
|
||||
for destinationEntryInfo in list(destinationInfoList):
|
||||
if sourceEntryInfo.filename == destinationEntryInfo.filename:
|
||||
sourceEntry = sourceZip.open(sourceEntryInfo, 'r')
|
||||
destinationEntry = destinationZip.open(destinationEntryInfo, 'r')
|
||||
|
||||
if self.compareFiles(sourceEntry, destinationEntry) != True:
|
||||
print "APK entry %s does not match %s!" % (sourceEntryInfo.filename, destinationEntryInfo.filename)
|
||||
return False
|
||||
|
||||
destinationInfoList.remove(destinationEntryInfo)
|
||||
break
|
||||
|
||||
return True
|
||||
|
||||
def compareFiles(self, sourceFile, destinationFile):
|
||||
sourceChunk = sourceFile.read(1024)
|
||||
destinationChunk = destinationFile.read(1024)
|
||||
|
||||
while sourceChunk != "" or destinationChunk != "":
|
||||
if sourceChunk != destinationChunk:
|
||||
return False
|
||||
|
||||
sourceChunk = sourceFile.read(1024)
|
||||
destinationChunk = destinationFile.read(1024)
|
||||
|
||||
return True
|
||||
|
||||
if __name__ == '__main__':
|
||||
if len(sys.argv) != 3:
|
||||
print "Usage: apkdiff <pathToFirstApk> <pathToSecondApk>"
|
||||
sys.exit(1)
|
||||
|
||||
ApkDiff().compare(sys.argv[1], sys.argv[2])
|
||||
@@ -1,196 +1,87 @@
|
||||
import java.security.MessageDigest
|
||||
|
||||
buildscript {
|
||||
repositories {
|
||||
maven {
|
||||
url "https://repo1.maven.org/maven2"
|
||||
jcenter()
|
||||
}
|
||||
maven {
|
||||
url 'https://maven.google.com/'
|
||||
name 'Google'
|
||||
}
|
||||
maven {
|
||||
url "https://repo1.maven.org/maven2"
|
||||
jcenter()
|
||||
}
|
||||
}
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:3.0.1'
|
||||
classpath files('libs/gradle-witness.jar')
|
||||
classpath 'com.android.tools.build:gradle:3.4.1'
|
||||
}
|
||||
}
|
||||
|
||||
apply plugin: 'com.android.application'
|
||||
apply plugin: 'witness'
|
||||
|
||||
repositories {
|
||||
google()
|
||||
mavenCentral()
|
||||
maven {
|
||||
url "https://repo1.maven.org/maven2/"
|
||||
}
|
||||
maven {
|
||||
url "https://raw.github.com/signalapp/maven/master/preferencefragment/releases/"
|
||||
}
|
||||
maven {
|
||||
url "https://raw.github.com/signalapp/maven/master/smil/releases/"
|
||||
}
|
||||
maven {
|
||||
url "https://raw.github.com/signalapp/maven/master/photoview/releases/"
|
||||
}
|
||||
maven {
|
||||
url "https://raw.github.com/signalapp/maven/master/shortcutbadger/releases/"
|
||||
}
|
||||
maven {
|
||||
url "https://raw.github.com/signalapp/maven/master/circular-progress-button/releases/"
|
||||
}
|
||||
maven {
|
||||
url "https://maven.google.com"
|
||||
}
|
||||
maven { // textdrawable
|
||||
url 'https://dl.bintray.com/amulyakhare/maven'
|
||||
// Used only for PhotoView
|
||||
url "https://www.jitpack.io"
|
||||
name 'JitPack Github wrapper'
|
||||
}
|
||||
jcenter()
|
||||
mavenLocal()
|
||||
maven {
|
||||
url 'https://maven.google.com/'
|
||||
name 'Google'
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
compile 'com.android.support:appcompat-v7:27.0.2'
|
||||
compile 'com.android.support:recyclerview-v7:27.0.2'
|
||||
compile 'com.android.support:design:27.0.2'
|
||||
compile 'com.android.support:support-v13:27.0.2'
|
||||
compile 'com.android.support:cardview-v7:27.0.2'
|
||||
compile 'com.android.support:preference-v7:27.0.2'
|
||||
compile 'com.android.support:preference-v14:27.0.2'
|
||||
compile 'com.android.support:gridlayout-v7:27.0.2'
|
||||
compile 'com.android.support:multidex:1.0.2'
|
||||
compile 'com.android.support:exifinterface:27.0.2'
|
||||
compile 'com.android.support.constraint:constraint-layout:1.1.2'
|
||||
compile 'android.arch.lifecycle:extensions:1.1.1'
|
||||
compile 'android.arch.lifecycle:common-java8:1.1.1'
|
||||
|
||||
compile 'com.google.android.gms:play-services-gcm:9.6.1'
|
||||
compile 'com.google.android.gms:play-services-maps:9.6.1'
|
||||
compile 'com.google.android.gms:play-services-places:9.6.1'
|
||||
|
||||
compile 'com.google.android.exoplayer:exoplayer:r2.3.1'
|
||||
|
||||
compile 'com.fasterxml.jackson.core:jackson-databind:2.9.5'
|
||||
|
||||
compile 'com.journeyapps:zxing-android-embedded:3.4.0'
|
||||
|
||||
compile "me.leolin:ShortcutBadger:1.1.16"
|
||||
compile 'se.emilsjolander:stickylistheaders:2.7.0'
|
||||
compile 'com.jpardogo.materialtabstrip:library:1.0.9'
|
||||
compile 'com.github.chrisbanes:PhotoView:2.1.3'
|
||||
compile 'com.github.bumptech.glide:glide:4.5.0'
|
||||
annotationProcessor 'com.github.bumptech.glide:compiler:4.5.0'
|
||||
compile 'com.makeramen:roundedimageview:2.1.0'
|
||||
compile 'com.pnikosis:materialish-progress:1.5'
|
||||
compile 'com.soundcloud.android:android-crop:0.9.10@aar'
|
||||
compile 'com.melnykov:floatingactionbutton:1.3.0'
|
||||
compile 'mobi.upod:time-duration-picker:1.1.3'
|
||||
compile 'com.amulyakhare:com.amulyakhare.textdrawable:1.0.1'
|
||||
compile 'com.google.zxing:core:3.2.1'
|
||||
compile ('com.davemorrissey.labs:subsampling-scale-image-view:3.6.0') {
|
||||
implementation 'androidx.multidex:multidex:2.0.1'
|
||||
implementation 'androidx.appcompat:appcompat:1.1.0'
|
||||
implementation 'com.google.android.material:material:1.0.0'
|
||||
implementation 'androidx.legacy:legacy-support-v13:1.0.0'
|
||||
implementation 'androidx.preference:preference:1.1.0'
|
||||
implementation 'androidx.legacy:legacy-preference-v14:1.0.0'
|
||||
implementation 'androidx.exifinterface:exifinterface:1.0.0'
|
||||
implementation 'androidx.lifecycle:lifecycle-extensions:2.1.0'
|
||||
implementation 'androidx.lifecycle:lifecycle-common-java8:2.1.0'
|
||||
implementation 'androidx.work:work-runtime:2.2.0'
|
||||
implementation 'com.google.android.exoplayer:exoplayer-core:2.9.1' // plays video and audio
|
||||
implementation 'com.google.android.exoplayer:exoplayer-ui:2.9.1'
|
||||
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
|
||||
implementation 'com.journeyapps:zxing-android-embedded:3.4.0' // QR Code scanner
|
||||
implementation 'com.fasterxml.jackson.core:jackson-databind:2.9.9.2' // used as JSON library
|
||||
implementation "me.leolin:ShortcutBadger:1.1.16" // display messagecount on the home screen icon.
|
||||
implementation 'com.jpardogo.materialtabstrip:library:1.0.9' // used in the emoji selector for the tab selection.
|
||||
implementation 'com.github.chrisbanes:PhotoView:2.1.3' // does the zooming on photos / media
|
||||
implementation 'com.github.bumptech.glide:glide:4.9.0'
|
||||
annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'
|
||||
annotationProcessor 'androidx.annotation:annotation:1.1.0'
|
||||
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:0.9.10@aar' // used in Group Select Avatar, should be unified with profie
|
||||
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.
|
||||
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.davemorrissey.labs:subsampling-scale-image-view:3.6.0') { // for the zooming on photos / media
|
||||
exclude group: 'com.android.support', module: 'support-annotations'
|
||||
}
|
||||
compile ('cn.carbswang.android:NumberPickerView:1.0.9') {
|
||||
exclude group: 'com.android.support', module: 'appcompat-v7'
|
||||
}
|
||||
compile 'com.annimon:stream:1.1.8'
|
||||
compile ('com.takisoft.fix:colorpicker:0.9.1') {
|
||||
exclude group: 'com.android.support', module: 'appcompat-v7'
|
||||
exclude group: 'com.android.support', module: 'recyclerview-v7'
|
||||
}
|
||||
compile 'com.codewaves.stickyheadergrid:stickyheadergrid:0.9.4'
|
||||
compile 'com.github.dmytrodanylyk.circular-progress-button:library:1.1.3-S2'
|
||||
implementation 'com.annimon:stream:1.1.8' // brings future java streams api to SDK Version < 24
|
||||
implementation 'com.codewaves.stickyheadergrid:stickyheadergrid:0.9.4' // glues the current time segment text in the gallery to the top.
|
||||
implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:7.3.2'
|
||||
|
||||
testCompile 'junit:junit:4.12'
|
||||
testCompile 'org.assertj:assertj-core:1.7.1'
|
||||
testCompile 'org.mockito:mockito-core:1.9.5'
|
||||
testCompile 'org.powermock:powermock-api-mockito:1.6.1'
|
||||
testCompile 'org.powermock:powermock-module-junit4:1.6.1'
|
||||
testCompile 'org.powermock:powermock-module-junit4-rule:1.6.1'
|
||||
testCompile 'org.powermock:powermock-classloading-xstream:1.6.1'
|
||||
testImplementation 'junit:junit:4.12'
|
||||
testImplementation 'junit:junit:4.12'
|
||||
testImplementation 'org.assertj:assertj-core:1.7.1'
|
||||
testImplementation 'org.mockito:mockito-core:1.9.5'
|
||||
testImplementation 'org.powermock:powermock-api-mockito:1.6.1'
|
||||
testImplementation 'org.powermock:powermock-module-junit4:1.6.1'
|
||||
testImplementation 'org.powermock:powermock-module-junit4-rule:1.6.1'
|
||||
testImplementation 'org.powermock:powermock-classloading-xstream:1.6.1'
|
||||
|
||||
androidTestCompile 'com.android.support:multidex:1.0.2'
|
||||
androidTestCompile 'com.android.support:multidex-instrumentation:1.0.2'
|
||||
androidTestCompile 'com.google.dexmaker:dexmaker:1.2'
|
||||
androidTestCompile 'com.google.dexmaker:dexmaker-mockito:1.2'
|
||||
androidTestCompile ('org.assertj:assertj-core:1.7.1') {
|
||||
androidTestImplementation ('org.assertj:assertj-core:1.7.1') {
|
||||
exclude group: 'org.hamcrest', module: 'hamcrest-core'
|
||||
}
|
||||
}
|
||||
|
||||
dependencyVerification {
|
||||
verify = [
|
||||
'com.android.support:design:fa5c27a705310e95a8f4099c98777132ed901a0d69178942306bb34cd76f0d57',
|
||||
'com.android.support:preference-v14:1fcf40bd560dc21ce55b6a292d1326d28f52dc5e4f2a64eef2f38dd95777b645',
|
||||
'com.android.support:preference-v7:d9f32ddc92f8d6a0bd86a18f4fcaff805fa021245e395b6e7dd382907443ee53',
|
||||
'com.pnikosis:materialish-progress:d71d80e00717a096784482aee21001a9d299fec3833e4ebd87739ed36cf77c54',
|
||||
'mobi.upod:time-duration-picker:db469ce0f48dd96b892eac424ed76870e54bf00fe0a28cdcddfbe5f2a226a0e1',
|
||||
'com.codewaves.stickyheadergrid:stickyheadergrid:5b4aa6a52a957cfd55f60f4220c11c0c371385a3cb9786cae03c260dcdef5794',
|
||||
'com.android.support:appcompat-v7:b2825e8b47f665d3362d8481c8d147d1af9230d16f23a2b94f6ccbc53c68cec1',
|
||||
'com.melnykov:floatingactionbutton:15d58d4fac0f7a288d0e5301bbaf501a146f5b3f5921277811bf99bd3b397263',
|
||||
'com.android.support:recyclerview-v7:3eb953930f10941f2b0447ec123a9b03d2746a42a99c523e82c3ece3308ca70b',
|
||||
'com.android.support:support-v13:6f2848811ceef2e32cc98da02a045d65f7e7447a6bd7198b9ec10aa14d7ad55c',
|
||||
'com.android.support:cardview-v7:57f867a3c8f33e2d4dc0a03e2dfa03cad6267a908179f04a725a68ea9f0b8ccf',
|
||||
'com.android.support:gridlayout-v7:227b5fdffa20f53bd562503aab6d2293d52cf64b5a6ab1116d2150f87bff9e88',
|
||||
'com.android.support:multidex:7cd48755c7cfdb6dd2d21cbb02236ec390f6ac91cde87eb62f475b259ab5301d',
|
||||
'com.android.support:exifinterface:0e7cd526c4468895cd8549def46b3d33c8bcfb1ae4830569898d8c7326b15bb2',
|
||||
'android.arch.lifecycle:extensions:429426b2feec2245ffc5e75b3b5309bedb36159cf06dc71843ae43526ac289b6',
|
||||
'android.arch.lifecycle:common-java8:7078b5c8ccb94203df9cc2a463c69cf0021596e6cf966d78fbfd697aaafe0630',
|
||||
'com.google.android.gms:play-services-gcm:312e61253a236f2d9b750b9c04fc92fd190d23b0b2755c99de6ce4a28b259dae',
|
||||
'com.google.android.gms:play-services-places:abf3a4a3b146ec7e6e753be62775e512868cf37d6f88ffe2d81167b33b57132b',
|
||||
'com.google.android.gms:play-services-maps:45e8021e7ddac4a44a82a0e9698991389ded3023d35c58f38dbd86d54211ec0e',
|
||||
'com.google.android.exoplayer:exoplayer:955085aa611a8f7cf6c61b88ae03d1a392f4ad94c9bfbc153f3dedb9ffb14718',
|
||||
'me.leolin:ShortcutBadger:e3cb3e7625892129b0c92dd5e4bc649faffdd526d5af26d9c45ee31ff8851774',
|
||||
'se.emilsjolander:stickylistheaders:a08ca948aa6b220f09d82f16bbbac395f6b78897e9eeac6a9f0b0ba755928eeb',
|
||||
'com.jpardogo.materialtabstrip:library:c6ef812fba4f74be7dc4a905faa4c2908cba261a94c13d4f96d5e67e4aad4aaa',
|
||||
'com.github.chrisbanes:PhotoView:ed06775308da260e1fd86d1d3288988fcd3d80db24ce0d7c9fcfedc39e622292',
|
||||
'com.github.bumptech.glide:glide:997de7ac95be6c944d3b8cbe13de11307736ea45451c1b09a6cec7c328ead59f',
|
||||
'com.makeramen:roundedimageview:1f5a1865796b308c6cdd114acc6e78408b110f0a62fc63553278fbeacd489cd1',
|
||||
'com.soundcloud.android:android-crop:ffd4b973cf6e97f7d64118a0dc088df50e9066fd5634fe6911dd0c0c5d346177',
|
||||
'com.amulyakhare:com.amulyakhare.textdrawable:54c92b5fba38cfd316a07e5a30528068f45ce8515a6890f1297df4c401af5dcb',
|
||||
'com.google.zxing:core:b4d82452e7a6bf6ec2698904b332431717ed8f9a850224f295aec89de80f2259',
|
||||
'com.davemorrissey.labs:subsampling-scale-image-view:550c5baa07e0bb4ff0a18b705e96d34436d22619248bd8c08c08c730b1f55cfe',
|
||||
'cn.carbswang.android:NumberPickerView:18b3c316d62c7c277978a8d4ed57a5b8f4e943762264960f579a8a549c756729',
|
||||
'com.annimon:stream:5da6e2e3e0551d61a3ea7014f04312276549e3dd739cf637996e4cf43c5535b9',
|
||||
'com.takisoft.fix:colorpicker:f5d0dbabe406a1800498ca9c1faf34db36e021d8488bf10360f29961fe3ab0d1',
|
||||
'com.github.dmytrodanylyk.circular-progress-button:library:8dc6a29a5a8db7b2ad5a9a7fda1dc9ae0893f4c8f0545732b2c63854ea693e8e',
|
||||
'com.google.android.gms:play-services-iid:54e919f9957b8b7820da7ee9b83471d00d0cac1cf08ddea8b5b41aea80bb1a70',
|
||||
'com.google.android.gms:play-services-base:0ca636a8fc9a5af45e607cdcd61783bf5d561cbbb0f862021ce69606eee5ad49',
|
||||
'com.google.android.gms:play-services-tasks:69ec265168e601d0203d04cd42e34bb019b2f029aa1e16fabd38a5153eea2086',
|
||||
'com.google.android.gms:play-services-basement:95dd882c5ffba15b9a99de3fefb05d3a01946623af67454ca00055d222f85a8d',
|
||||
'com.android.support:support-v4:1b2b37169fcccfef5e563d273749e3792decdce9818bc17932403a2363f537b4',
|
||||
'com.android.support:support-fragment:e4358388022a2205777575a7251fe357334658e4123d5d6e3b082f5899d9b011',
|
||||
'com.android.support:animated-vector-drawable:5b117a2c13a898c2a3c84c480d64edcfac2ef720aa9b742c29249fac774ffc48',
|
||||
'com.android.support:support-core-ui:2284072511a95d504c074de80c82cd33724c6d2754117833b98ba3a09994163e',
|
||||
'com.android.support:transition:1a7db0453c1467fc8fd815e6d50ca6bb475a7a9ba6b5f3b307329688a7c62a68',
|
||||
'com.android.support:support-core-utils:b69c6e1e7731b876b910fc7100bcadf40a57f27b32ca26b91400995542112c96',
|
||||
'com.android.support:support-media-compat:6dd9327ee9aa467cab479aad97df375072b2b6ba61eadffdaa5a88de3843c457',
|
||||
'com.android.support:support-vector-drawable:bf4f4fcbf58b1380616581224e6487c230bfdb3434ec353d4adaa4b1f4865cfa',
|
||||
'com.android.support:support-compat:ed4d25d91a0b13d8b9def1c0de69ed03d7fb89d50fb37eb0e9b63b0cf7a42357',
|
||||
'android.arch.lifecycle:livedata:50ab0490c1ff1a7cfb4e554032998b080888946d0dd424f39900efc4a1bcd750',
|
||||
'android.arch.lifecycle:livedata-core:d6fdd8b985d6178d7ea2f16986a24e83f1bee936b74d43167c69e08d3cc12c50',
|
||||
'android.arch.core:runtime:c3215aa5873311b3f88a6f4e4a3c25ad89971bc127de8c3e1291c57f93a05c39',
|
||||
'android.arch.lifecycle:runtime:c4e4be66c1b2f0abec593571454e1de14013f7e0f96bf2a9f212931a48cae550',
|
||||
'android.arch.core:common:3a616a32f433e9e23f556b38575c31b013613d3ae85206263b7625fe1f4c151a',
|
||||
'android.arch.lifecycle:common:8d378e88ebd5189e09eef623414812c868fd90aa519d6160e2311fb8b81cff56',
|
||||
'android.arch.lifecycle:viewmodel:7de29cfaba77d6b5d5be234c57f6812d0150d087e63941af22ba1d1f8e2bc96a',
|
||||
'com.github.bumptech.glide:gifdecoder:59ccf3bb0cec11dab4b857382cbe0b171111b6fc62bf141adce4e1180889af15',
|
||||
'com.android.support:support-annotations:af05330d997eb92a066534dbe0a3ea24347d26d7001221092113ae02a8f233da',
|
||||
'com.github.bumptech.glide:disklrucache:c1b1b6f5bbd01e2fcdc9d7f60913c8d338bdb65ed4a93bfa02b56f19daaade4b',
|
||||
'com.github.bumptech.glide:annotations:bede99ef9f71517a4274bac18fd3e483e9f2b6108d7d6fe8f4949be4aa4d9512',
|
||||
'com.nineoldandroids:library:68025a14e3e7673d6ad2f95e4b46d78d7d068343aa99256b686fe59de1b3163a',
|
||||
'com.google.android:flexbox:a9989fd13ae2ee42765dfc515fe362edf4f326e74925d02a10369df8092a4935',
|
||||
]
|
||||
}
|
||||
|
||||
android {
|
||||
flavorDimensions "none"
|
||||
compileSdkVersion 27
|
||||
buildToolsVersion '27.0.1'
|
||||
compileSdkVersion 28
|
||||
useLibrary 'org.apache.http.legacy'
|
||||
|
||||
dexOptions {
|
||||
@@ -198,22 +89,25 @@ android {
|
||||
}
|
||||
|
||||
defaultConfig {
|
||||
versionCode 404
|
||||
versionName "0.92.0"
|
||||
applicationId "chat.delta.androidii"
|
||||
versionCode 568
|
||||
versionName "1.0.0"
|
||||
|
||||
minSdkVersion 14
|
||||
targetSdkVersion 25
|
||||
applicationId "com.b44t.messenger"
|
||||
multiDexEnabled true
|
||||
|
||||
vectorDrawables.useSupportLibrary = true
|
||||
project.ext.set("archivesBaseName", "Deltachat");
|
||||
minSdkVersion 18
|
||||
targetSdkVersion 28
|
||||
|
||||
vectorDrawables.useSupportLibrary = true
|
||||
|
||||
// base name of the generated apk
|
||||
project.ext.set("archivesBaseName", "deltachat");
|
||||
|
||||
buildConfigField "long", "BUILD_TIMESTAMP", getLastCommitTimestamp() + "L"
|
||||
buildConfigField "boolean", "DEV_BUILD", "false"
|
||||
buildConfigField "String", "MAP_ACCESS_TOKEN", '"pk.eyJ1IjoiZGVsdGFjaGF0IiwiYSI6ImNqc3c1aWczMzBjejY0M28wZmU0a3cwMzMifQ.ZPTH9dFJaav06RAu4rTYHw"'
|
||||
|
||||
ndk {
|
||||
abiFilters "armeabi", "armeabi-v7a", "x86"
|
||||
abiFilters "armeabi-v7a", "arm64-v8a", "x86", "x86_64"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -234,41 +128,53 @@ android {
|
||||
}
|
||||
|
||||
signingConfigs {
|
||||
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")) {
|
||||
storeFile file(DC_RELEASE_STORE_FILE)
|
||||
storePassword DC_RELEASE_STORE_PASSWORD
|
||||
keyAlias DC_RELEASE_KEY_ALIAS
|
||||
keyPassword DC_RELEASE_KEY_PASSWORD
|
||||
}
|
||||
}
|
||||
}
|
||||
release
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
debug {
|
||||
minifyEnabled true
|
||||
proguardFiles getDefaultProguardFile('proguard-android.txt'),
|
||||
'proguard-google-play-services.pro',
|
||||
'proguard-jackson.pro',
|
||||
'proguard-appcompat-v7.pro',
|
||||
'proguard-rounded-image-view.pro',
|
||||
'proguard-glide.pro',
|
||||
'proguard-shortcutbadger.pro',
|
||||
'proguard-retrofit.pro',
|
||||
'proguard-retrolambda.pro',
|
||||
'proguard.cfg'
|
||||
testProguardFiles 'proguard-automation.pro',
|
||||
'proguard.cfg'
|
||||
minifyEnabled false
|
||||
applicationIdSuffix ".beta"
|
||||
}
|
||||
release {
|
||||
minifyEnabled true
|
||||
proguardFiles = buildTypes.debug.proguardFiles
|
||||
// minification and proguard disabled for now.
|
||||
//
|
||||
// when enabled, it can cut down apk size about 6%,
|
||||
// however this also has the potential to break things.
|
||||
// so exceptions are needed and have to be maintained.
|
||||
// (see git-history and https://github.com/deltachat/deltachat-android/issues/905 )
|
||||
//
|
||||
// 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
|
||||
}
|
||||
}
|
||||
|
||||
productFlavors {
|
||||
play {
|
||||
fat {
|
||||
dimension "none"
|
||||
buildConfigField "boolean", "PLAY_STORE_DISABLED", "false"
|
||||
}
|
||||
|
||||
website {
|
||||
gplay {
|
||||
dimension "none"
|
||||
buildConfigField "boolean", "PLAY_STORE_DISABLED", "true"
|
||||
applicationId "chat.delta"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -289,99 +195,12 @@ android {
|
||||
assets.srcDirs = ['assets']
|
||||
jniLibs.srcDirs = ['libs']
|
||||
}
|
||||
androidTest {
|
||||
java.srcDirs = ['test/androidTest/java']
|
||||
}
|
||||
test {
|
||||
java.srcDirs = ['test/unitTest/java']
|
||||
java.srcDirs = ['test']
|
||||
}
|
||||
|
||||
website.manifest.srcFile 'website/AndroidManifest.xml'
|
||||
}
|
||||
|
||||
lintOptions {
|
||||
abortOnError false
|
||||
}
|
||||
}
|
||||
|
||||
task assembleWebsiteDescriptor << {
|
||||
android.applicationVariants.all { variant ->
|
||||
if (variant.name.equals("websiteDebug") ||
|
||||
variant.name.equals("websiteRelease"))
|
||||
{
|
||||
File file = new File(variant.outputs[0].outputFile.path)
|
||||
|
||||
if (file.exists()) {
|
||||
MessageDigest md = MessageDigest.getInstance("SHA-256");
|
||||
file.eachByte 4096, {bytes, size ->
|
||||
md.update(bytes, 0, size);
|
||||
}
|
||||
|
||||
String digest = md.digest().collect {String.format "%02x", it}.join();
|
||||
String url = variant.productFlavors.get(0).ext.websiteUpdateUrl
|
||||
String apkName = variant.outputs[0].outputFile.name
|
||||
|
||||
String descriptor = "{" +
|
||||
"\"versionCode\" : $project.android.defaultConfig.versionCode," +
|
||||
"\"versionName\" : \"$project.android.defaultConfig.versionName\"," +
|
||||
"\"sha256sum\" : \"$digest\"," +
|
||||
"\"url\" : \"$url/$apkName\"" +
|
||||
"}"
|
||||
|
||||
File descriptorFile = new File(variant.outputs[0].outputFile.parent, apkName.replace(".apk", ".json"))
|
||||
|
||||
descriptorFile.write(descriptor)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
tasks.whenTaskAdded { task ->
|
||||
if (task.name.equals("lint")) {
|
||||
task.enabled = false
|
||||
}
|
||||
|
||||
if (task.name.equals("assembleWebsiteDebug") ||
|
||||
task.name.equals("assembleWebsiteRelease"))
|
||||
{
|
||||
task.finalizedBy assembleWebsiteDescriptor
|
||||
}
|
||||
}
|
||||
|
||||
def getLastCommitTimestamp() {
|
||||
new ByteArrayOutputStream().withStream { os ->
|
||||
def result = exec {
|
||||
executable = 'git'
|
||||
args = ['log', '-1', '--pretty=format:%ct']
|
||||
standardOutput = os
|
||||
}
|
||||
|
||||
return os.toString() + "000"
|
||||
}
|
||||
}
|
||||
|
||||
def Properties props = new Properties()
|
||||
def propFile = new File('signing.properties')
|
||||
|
||||
if (propFile.canRead()){
|
||||
props.load(new FileInputStream(propFile))
|
||||
|
||||
if (props !=null &&
|
||||
props.containsKey('STORE_FILE') &&
|
||||
props.containsKey('STORE_PASSWORD') &&
|
||||
props.containsKey('KEY_ALIAS') &&
|
||||
props.containsKey('KEY_PASSWORD'))
|
||||
{
|
||||
android.signingConfigs.release.storeFile = file(props['STORE_FILE'])
|
||||
android.signingConfigs.release.storePassword = props['STORE_PASSWORD']
|
||||
android.signingConfigs.release.keyAlias = props['KEY_ALIAS']
|
||||
android.signingConfigs.release.keyPassword = props['KEY_PASSWORD']
|
||||
} else {
|
||||
println 'signing.properties found but some entries are missing'
|
||||
android.buildTypes.release.signingConfig = null
|
||||
}
|
||||
}else {
|
||||
println 'signing.properties not found'
|
||||
android.buildTypes.release.signingConfig = null
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
# F-Droid - Overview
|
||||
|
||||
- https://gitlab.com/fdroid/fdroiddata/blob/master/metadata/com.b44t.messenger.yml
|
||||
contains the descripion and all meta data shown for Delta Chat on F-Droid
|
||||
|
||||
- when a new tag in the form `v1.2.3` is added to the deltachat-android repo,
|
||||
F-Droid will pick up this version and distribute it -
|
||||
this may take some days or even weeks.
|
||||
before creating a new version, please have a look at docs/release-checklist.md
|
||||
|
||||
|
||||
# F-Droid Build status
|
||||
|
||||
- <https://f-droid.org/wiki/page/com.b44t.messenger/lastbuild>
|
||||
shows the last build attempt
|
||||
|
||||
- <https://f-droid.org/repo/com.b44t.messenger_VERSIONCODE.apk>
|
||||
(with VERSIONCODE = 537 or so) links to successfully built apk
|
||||
even if it is not yet in the index (which may take some more time).
|
||||
|
||||
|
||||
# Use F-Droid-tools locally
|
||||
|
||||
$ git clone https://gitlab.com/fdroid/fdroiddata
|
||||
$ git clone https://gitlab.com/fdroid/fdroidserver
|
||||
$ cd fdroiddata
|
||||
|
||||
now, metadata/com.b44t.messenger.txt can be modified.
|
||||
for testing, one can change the repo to a branch
|
||||
by adding the line `Update Check Mode:RepoManifest/BRANCH` to the file.
|
||||
|
||||
set some path to ndk etc:
|
||||
$ cp ../fdroidserver/examples/config.py . # adapt file as needed
|
||||
|
||||
checkout repo as f-droid would do:
|
||||
$ ../fdroidserver/fdroid checkupdates -v com.b44t.messenger
|
||||
(for testing with uncommited changes, add --allow-dirty)
|
||||
|
||||
build repo as f-droid would do:
|
||||
$ ../froidserver/fdroid build -v com.b44t.messenger:<versionCode>
|
||||
|
||||
(via https://f-droid.org/docs/Installing_the_Server_and_Repo_Tools/
|
||||
and https://f-droid.org/docs/Building_Applications/ -
|
||||
might require `pip install pyasn1 pyasn1_modules pyaml requests`)
|
||||
|
||||
|
||||
# Changing the Description on F-Droid
|
||||
|
||||
- the description can be changed via a PR to the file above
|
||||
|
||||
- make sure there is a "newline" at the end of the description
|
||||
(see https://gitlab.com/fdroid/fdroiddata/merge_requests/3580)
|
||||
|
||||
- reformat the metadata using
|
||||
$ ../fdroidserver/fdroid rewritemeta com.b44t.messenger # called from fdroiddata dir
|
||||
|
||||
|
After Width: | Height: | Size: 443 KiB |
|
After Width: | Height: | Size: 99 KiB |
|
After Width: | Height: | Size: 72 KiB |
@@ -0,0 +1,14 @@
|
||||
# Google Play Store
|
||||
|
||||
If you have access to uploading and signing apks,
|
||||
this can be done at
|
||||
https://play.google.com/apps/publish/
|
||||
|
||||
The description can be discussed and changed at
|
||||
https://github.com/deltachat/deltachat-android/blob/master/store/text.md
|
||||
In future, we can also add the screenshots or other assets there.
|
||||
|
||||
|
||||
# Google Play Releases
|
||||
|
||||
see `release-checklist.md`
|
||||
@@ -0,0 +1,46 @@
|
||||
# Release new F-Droid version
|
||||
|
||||
Release core, if needed, then:
|
||||
|
||||
1. $ git checkout master
|
||||
2. $ ./tools/update-core.sh
|
||||
3. $ ./tools/tx-pull-translations.sh # test and commit changes
|
||||
4. bump version, adapt changelog, commit, push
|
||||
5. deltachat-android on Github: "Draft a new release" with the version form `v1.2.3`
|
||||
|
||||
... some days later, F-Droid should be updated.
|
||||
|
||||
|
||||
# Release new APK and Play Store version
|
||||
|
||||
Release core, f-droid, then:
|
||||
|
||||
1. make sure latest core is used: ./ndk-make
|
||||
2. In Android Studio, select "Build / Generate signed APK"
|
||||
(not: App Bundle as this would require uploading the signing key to Google)
|
||||
3. Select flavor `gplayRelease` with V1 signature enabled
|
||||
(needed for easy APK verification), V2 is optional
|
||||
4. Upload the generated APK from `gplay/release` to download.delta.chat.
|
||||
You need the private SSH key of the jekyll user; you can find it in this file: https://github.com/hpk42/otf-deltachat/blob/master/secrets/delta.chat
|
||||
It is protected with [git-crypt](https://www.agwa.name/projects/git-crypt/) - after installing it, you can decrypt it with `git crypt unlock`.
|
||||
If your key isn't added to the secrets, you can ask missytake@systemli.org to add you.
|
||||
Add the key to your `~/.ssh/config` for the host, or to your ssh-agent, so rsync is able to use it.
|
||||
- `cd gplay/release`
|
||||
- `rsync deltachat-gplay-release-0.*.apk jekyll@download.delta.chat:/var/www/html/download/android/`
|
||||
5. Test the APK
|
||||
6. Upload the APK as _Beta_ (_not:_ Production) to https://play.google.com/apps/publish/
|
||||
(Release management/App releases/Open track/Manage/Create Release/Browse files ->
|
||||
select APK from above, add changelog -> Review button, then "ok" or so)
|
||||
|
||||
# Testing checklist
|
||||
|
||||
Only some rough ideas, ideally, this should result into a simple checklist
|
||||
that can be checked before releasing.
|
||||
However, although it would be nice to test "everything", we should keep in mind
|
||||
that the test should be doable in, say, 10~15 minutes.
|
||||
- create new account with (one of?): gmail, yandex, other
|
||||
or (?) test an existing account
|
||||
- send and receive a message
|
||||
- create a group
|
||||
- do a contact verification
|
||||
- join a group via a qr scan
|
||||
@@ -0,0 +1,2 @@
|
||||
android.enableJetifier=true
|
||||
android.useAndroidX=true
|
||||
@@ -1,6 +1,6 @@
|
||||
#Mon Nov 06 08:48:17 PST 2017
|
||||
#Tue Jul 09 18:28:04 CEST 2019
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip
|
||||
|
||||
|
After Width: | Height: | Size: 41 KiB |
@@ -1,856 +1,16 @@
|
||||
JNI_DIR := $(call my-dir)
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
################################################################################
|
||||
# openssl - libcrypto
|
||||
################################################################################
|
||||
# Include prebuilt rust
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := deltachat-core
|
||||
LOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/libdeltachat.a
|
||||
# The header files should be located in the following dir relative to jni/ dir
|
||||
LOCAL_EXPORT_C_INCLUDES := include/
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
|
||||
|
||||
arm_cflags := -DOPENSSL_BN_ASM_MONT -DAES_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM
|
||||
|
||||
local_src_files := \
|
||||
./messenger-backend/libs/openssl/crypto/cryptlib.c \
|
||||
./messenger-backend/libs/openssl/crypto/mem.c \
|
||||
./messenger-backend/libs/openssl/crypto/mem_clr.c \
|
||||
./messenger-backend/libs/openssl/crypto/mem_dbg.c \
|
||||
./messenger-backend/libs/openssl/crypto/cversion.c \
|
||||
./messenger-backend/libs/openssl/crypto/ex_data.c \
|
||||
./messenger-backend/libs/openssl/crypto/cpt_err.c \
|
||||
./messenger-backend/libs/openssl/crypto/ebcdic.c \
|
||||
./messenger-backend/libs/openssl/crypto/uid.c \
|
||||
./messenger-backend/libs/openssl/crypto/o_time.c \
|
||||
./messenger-backend/libs/openssl/crypto/o_str.c \
|
||||
./messenger-backend/libs/openssl/crypto/o_dir.c \
|
||||
./messenger-backend/libs/openssl/crypto/o_init.c \
|
||||
./messenger-backend/libs/openssl/crypto/aes/aes_cbc.c \
|
||||
./messenger-backend/libs/openssl/crypto/aes/aes_core.c \
|
||||
./messenger-backend/libs/openssl/crypto/aes/aes_cfb.c \
|
||||
./messenger-backend/libs/openssl/crypto/aes/aes_ctr.c \
|
||||
./messenger-backend/libs/openssl/crypto/aes/aes_ecb.c \
|
||||
./messenger-backend/libs/openssl/crypto/aes/aes_ige.c \
|
||||
./messenger-backend/libs/openssl/crypto/aes/aes_misc.c \
|
||||
./messenger-backend/libs/openssl/crypto/aes/aes_ofb.c \
|
||||
./messenger-backend/libs/openssl/crypto/aes/aes_wrap.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/a_bitstr.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/a_bool.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/a_bytes.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/a_d2i_fp.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/a_digest.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/a_dup.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/a_enum.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/a_gentm.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/a_i2d_fp.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/a_int.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/a_mbstr.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/a_object.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/a_octet.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/a_print.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/a_set.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/a_sign.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/a_strex.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/a_strnid.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/a_time.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/a_type.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/a_utctm.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/a_utf8.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/a_verify.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/ameth_lib.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/asn1_err.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/asn1_gen.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/asn1_lib.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/asn1_par.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/asn_mime.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/asn_moid.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/asn_pack.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/bio_asn1.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/bio_ndef.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/d2i_pr.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/d2i_pu.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/evp_asn1.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/f_enum.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/f_int.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/f_string.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/i2d_pr.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/i2d_pu.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/n_pkey.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/nsseq.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/p5_pbe.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/p5_pbev2.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/p8_pkey.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/t_bitst.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/t_crl.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/t_pkey.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/t_req.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/t_spki.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/t_x509.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/t_x509a.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/tasn_dec.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/tasn_enc.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/tasn_fre.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/tasn_new.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/tasn_prn.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/tasn_typ.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/tasn_utl.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/x_algor.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/x_attrib.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/x_bignum.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/x_crl.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/x_exten.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/x_info.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/x_long.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/x_name.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/x_nx509.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/x_pkey.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/x_pubkey.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/x_req.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/x_sig.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/x_spki.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/x_val.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/x_x509.c \
|
||||
./messenger-backend/libs/openssl/crypto/asn1/x_x509a.c \
|
||||
./messenger-backend/libs/openssl/crypto/bf/bf_cfb64.c \
|
||||
./messenger-backend/libs/openssl/crypto/bf/bf_ecb.c \
|
||||
./messenger-backend/libs/openssl/crypto/bf/bf_enc.c \
|
||||
./messenger-backend/libs/openssl/crypto/bf/bf_ofb64.c \
|
||||
./messenger-backend/libs/openssl/crypto/bf/bf_skey.c \
|
||||
./messenger-backend/libs/openssl/crypto/bio/b_dump.c \
|
||||
./messenger-backend/libs/openssl/crypto/bio/b_print.c \
|
||||
./messenger-backend/libs/openssl/crypto/bio/b_sock.c \
|
||||
./messenger-backend/libs/openssl/crypto/bio/bf_buff.c \
|
||||
./messenger-backend/libs/openssl/crypto/bio/bf_nbio.c \
|
||||
./messenger-backend/libs/openssl/crypto/bio/bf_null.c \
|
||||
./messenger-backend/libs/openssl/crypto/bio/bio_cb.c \
|
||||
./messenger-backend/libs/openssl/crypto/bio/bio_err.c \
|
||||
./messenger-backend/libs/openssl/crypto/bio/bio_lib.c \
|
||||
./messenger-backend/libs/openssl/crypto/bio/bss_acpt.c \
|
||||
./messenger-backend/libs/openssl/crypto/bio/bss_bio.c \
|
||||
./messenger-backend/libs/openssl/crypto/bio/bss_conn.c \
|
||||
./messenger-backend/libs/openssl/crypto/bio/bss_dgram.c \
|
||||
./messenger-backend/libs/openssl/crypto/bio/bss_fd.c \
|
||||
./messenger-backend/libs/openssl/crypto/bio/bss_file.c \
|
||||
./messenger-backend/libs/openssl/crypto/bio/bss_log.c \
|
||||
./messenger-backend/libs/openssl/crypto/bio/bss_mem.c \
|
||||
./messenger-backend/libs/openssl/crypto/bio/bss_null.c \
|
||||
./messenger-backend/libs/openssl/crypto/bio/bss_sock.c \
|
||||
./messenger-backend/libs/openssl/crypto/bn/bn_add.c \
|
||||
./messenger-backend/libs/openssl/crypto/bn/bn_asm.c \
|
||||
./messenger-backend/libs/openssl/crypto/bn/bn_blind.c \
|
||||
./messenger-backend/libs/openssl/crypto/bn/bn_ctx.c \
|
||||
./messenger-backend/libs/openssl/crypto/bn/bn_div.c \
|
||||
./messenger-backend/libs/openssl/crypto/bn/bn_err.c \
|
||||
./messenger-backend/libs/openssl/crypto/bn/bn_exp.c \
|
||||
./messenger-backend/libs/openssl/crypto/bn/bn_exp2.c \
|
||||
./messenger-backend/libs/openssl/crypto/bn/bn_gcd.c \
|
||||
./messenger-backend/libs/openssl/crypto/bn/bn_gf2m.c \
|
||||
./messenger-backend/libs/openssl/crypto/bn/bn_kron.c \
|
||||
./messenger-backend/libs/openssl/crypto/bn/bn_lib.c \
|
||||
./messenger-backend/libs/openssl/crypto/bn/bn_mod.c \
|
||||
./messenger-backend/libs/openssl/crypto/bn/bn_mont.c \
|
||||
./messenger-backend/libs/openssl/crypto/bn/bn_mpi.c \
|
||||
./messenger-backend/libs/openssl/crypto/bn/bn_mul.c \
|
||||
./messenger-backend/libs/openssl/crypto/bn/bn_nist.c \
|
||||
./messenger-backend/libs/openssl/crypto/bn/bn_prime.c \
|
||||
./messenger-backend/libs/openssl/crypto/bn/bn_print.c \
|
||||
./messenger-backend/libs/openssl/crypto/bn/bn_rand.c \
|
||||
./messenger-backend/libs/openssl/crypto/bn/bn_recp.c \
|
||||
./messenger-backend/libs/openssl/crypto/bn/bn_shift.c \
|
||||
./messenger-backend/libs/openssl/crypto/bn/bn_sqr.c \
|
||||
./messenger-backend/libs/openssl/crypto/bn/bn_sqrt.c \
|
||||
./messenger-backend/libs/openssl/crypto/bn/bn_word.c \
|
||||
./messenger-backend/libs/openssl/crypto/buffer/buf_err.c \
|
||||
./messenger-backend/libs/openssl/crypto/buffer/buf_str.c \
|
||||
./messenger-backend/libs/openssl/crypto/buffer/buffer.c \
|
||||
./messenger-backend/libs/openssl/crypto/camellia/camellia.c \
|
||||
./messenger-backend/libs/openssl/crypto/camellia/cmll_cbc.c \
|
||||
./messenger-backend/libs/openssl/crypto/camellia/cmll_cfb.c \
|
||||
./messenger-backend/libs/openssl/crypto/camellia/cmll_ctr.c \
|
||||
./messenger-backend/libs/openssl/crypto/camellia/cmll_ecb.c \
|
||||
./messenger-backend/libs/openssl/crypto/camellia/cmll_misc.c \
|
||||
./messenger-backend/libs/openssl/crypto/camellia/cmll_ofb.c \
|
||||
./messenger-backend/libs/openssl/crypto/camellia/cmll_utl.c \
|
||||
./messenger-backend/libs/openssl/crypto/cast/c_cfb64.c \
|
||||
./messenger-backend/libs/openssl/crypto/cast/c_ecb.c \
|
||||
./messenger-backend/libs/openssl/crypto/cast/c_enc.c \
|
||||
./messenger-backend/libs/openssl/crypto/cast/c_ofb64.c \
|
||||
./messenger-backend/libs/openssl/crypto/cast/c_skey.c \
|
||||
./messenger-backend/libs/openssl/crypto/cmac/cm_ameth.c \
|
||||
./messenger-backend/libs/openssl/crypto/cmac/cm_pmeth.c \
|
||||
./messenger-backend/libs/openssl/crypto/cmac/cmac.c \
|
||||
./messenger-backend/libs/openssl/crypto/comp/c_rle.c \
|
||||
./messenger-backend/libs/openssl/crypto/comp/c_zlib.c \
|
||||
./messenger-backend/libs/openssl/crypto/comp/comp_err.c \
|
||||
./messenger-backend/libs/openssl/crypto/comp/comp_lib.c \
|
||||
./messenger-backend/libs/openssl/crypto/conf/conf_api.c \
|
||||
./messenger-backend/libs/openssl/crypto/conf/conf_def.c \
|
||||
./messenger-backend/libs/openssl/crypto/conf/conf_err.c \
|
||||
./messenger-backend/libs/openssl/crypto/conf/conf_lib.c \
|
||||
./messenger-backend/libs/openssl/crypto/conf/conf_mall.c \
|
||||
./messenger-backend/libs/openssl/crypto/conf/conf_mod.c \
|
||||
./messenger-backend/libs/openssl/crypto/conf/conf_sap.c \
|
||||
./messenger-backend/libs/openssl/crypto/des/cbc_cksm.c \
|
||||
./messenger-backend/libs/openssl/crypto/des/cbc_enc.c \
|
||||
./messenger-backend/libs/openssl/crypto/des/cfb64ede.c \
|
||||
./messenger-backend/libs/openssl/crypto/des/cfb64enc.c \
|
||||
./messenger-backend/libs/openssl/crypto/des/cfb_enc.c \
|
||||
./messenger-backend/libs/openssl/crypto/des/des_enc.c \
|
||||
./messenger-backend/libs/openssl/crypto/des/des_old.c \
|
||||
./messenger-backend/libs/openssl/crypto/des/des_old2.c \
|
||||
./messenger-backend/libs/openssl/crypto/des/ecb3_enc.c \
|
||||
./messenger-backend/libs/openssl/crypto/des/ecb_enc.c \
|
||||
./messenger-backend/libs/openssl/crypto/des/ede_cbcm_enc.c \
|
||||
./messenger-backend/libs/openssl/crypto/des/enc_read.c \
|
||||
./messenger-backend/libs/openssl/crypto/des/enc_writ.c \
|
||||
./messenger-backend/libs/openssl/crypto/des/fcrypt.c \
|
||||
./messenger-backend/libs/openssl/crypto/des/fcrypt_b.c \
|
||||
./messenger-backend/libs/openssl/crypto/des/ofb64ede.c \
|
||||
./messenger-backend/libs/openssl/crypto/des/ofb64enc.c \
|
||||
./messenger-backend/libs/openssl/crypto/des/ofb_enc.c \
|
||||
./messenger-backend/libs/openssl/crypto/des/pcbc_enc.c \
|
||||
./messenger-backend/libs/openssl/crypto/des/qud_cksm.c \
|
||||
./messenger-backend/libs/openssl/crypto/des/rand_key.c \
|
||||
./messenger-backend/libs/openssl/crypto/des/read2pwd.c \
|
||||
./messenger-backend/libs/openssl/crypto/des/rpc_enc.c \
|
||||
./messenger-backend/libs/openssl/crypto/des/set_key.c \
|
||||
./messenger-backend/libs/openssl/crypto/des/str2key.c \
|
||||
./messenger-backend/libs/openssl/crypto/des/xcbc_enc.c \
|
||||
./messenger-backend/libs/openssl/crypto/dh/dh_ameth.c \
|
||||
./messenger-backend/libs/openssl/crypto/dh/dh_asn1.c \
|
||||
./messenger-backend/libs/openssl/crypto/dh/dh_check.c \
|
||||
./messenger-backend/libs/openssl/crypto/dh/dh_depr.c \
|
||||
./messenger-backend/libs/openssl/crypto/dh/dh_err.c \
|
||||
./messenger-backend/libs/openssl/crypto/dh/dh_gen.c \
|
||||
./messenger-backend/libs/openssl/crypto/dh/dh_key.c \
|
||||
./messenger-backend/libs/openssl/crypto/dh/dh_lib.c \
|
||||
./messenger-backend/libs/openssl/crypto/dh/dh_pmeth.c \
|
||||
./messenger-backend/libs/openssl/crypto/dsa/dsa_ameth.c \
|
||||
./messenger-backend/libs/openssl/crypto/dsa/dsa_asn1.c \
|
||||
./messenger-backend/libs/openssl/crypto/dsa/dsa_depr.c \
|
||||
./messenger-backend/libs/openssl/crypto/dsa/dsa_err.c \
|
||||
./messenger-backend/libs/openssl/crypto/dsa/dsa_gen.c \
|
||||
./messenger-backend/libs/openssl/crypto/dsa/dsa_key.c \
|
||||
./messenger-backend/libs/openssl/crypto/dsa/dsa_lib.c \
|
||||
./messenger-backend/libs/openssl/crypto/dsa/dsa_ossl.c \
|
||||
./messenger-backend/libs/openssl/crypto/dsa/dsa_pmeth.c \
|
||||
./messenger-backend/libs/openssl/crypto/dsa/dsa_prn.c \
|
||||
./messenger-backend/libs/openssl/crypto/dsa/dsa_sign.c \
|
||||
./messenger-backend/libs/openssl/crypto/dsa/dsa_vrf.c \
|
||||
./messenger-backend/libs/openssl/crypto/dso/dso_dl.c \
|
||||
./messenger-backend/libs/openssl/crypto/dso/dso_dlfcn.c \
|
||||
./messenger-backend/libs/openssl/crypto/dso/dso_err.c \
|
||||
./messenger-backend/libs/openssl/crypto/dso/dso_lib.c \
|
||||
./messenger-backend/libs/openssl/crypto/dso/dso_null.c \
|
||||
./messenger-backend/libs/openssl/crypto/dso/dso_openssl.c \
|
||||
./messenger-backend/libs/openssl/crypto/dso/dso_vms.c \
|
||||
./messenger-backend/libs/openssl/crypto/dso/dso_win32.c \
|
||||
./messenger-backend/libs/openssl/crypto/ec/ec2_mult.c \
|
||||
./messenger-backend/libs/openssl/crypto/ec/ec2_oct.c \
|
||||
./messenger-backend/libs/openssl/crypto/ec/ec2_smpl.c \
|
||||
./messenger-backend/libs/openssl/crypto/ec/ec_ameth.c \
|
||||
./messenger-backend/libs/openssl/crypto/ec/ec_asn1.c \
|
||||
./messenger-backend/libs/openssl/crypto/ec/ec_check.c \
|
||||
./messenger-backend/libs/openssl/crypto/ec/ec_curve.c \
|
||||
./messenger-backend/libs/openssl/crypto/ec/ec_cvt.c \
|
||||
./messenger-backend/libs/openssl/crypto/ec/ec_err.c \
|
||||
./messenger-backend/libs/openssl/crypto/ec/ec_key.c \
|
||||
./messenger-backend/libs/openssl/crypto/ec/ec_lib.c \
|
||||
./messenger-backend/libs/openssl/crypto/ec/ec_mult.c \
|
||||
./messenger-backend/libs/openssl/crypto/ec/ec_oct.c \
|
||||
./messenger-backend/libs/openssl/crypto/ec/ec_pmeth.c \
|
||||
./messenger-backend/libs/openssl/crypto/ec/ec_print.c \
|
||||
./messenger-backend/libs/openssl/crypto/ec/eck_prn.c \
|
||||
./messenger-backend/libs/openssl/crypto/ec/ecp_mont.c \
|
||||
./messenger-backend/libs/openssl/crypto/ec/ecp_nist.c \
|
||||
./messenger-backend/libs/openssl/crypto/ec/ecp_nistp224.c \
|
||||
./messenger-backend/libs/openssl/crypto/ec/ecp_nistp256.c \
|
||||
./messenger-backend/libs/openssl/crypto/ec/ecp_nistp521.c \
|
||||
./messenger-backend/libs/openssl/crypto/ec/ecp_nistputil.c \
|
||||
./messenger-backend/libs/openssl/crypto/ec/ecp_oct.c \
|
||||
./messenger-backend/libs/openssl/crypto/ec/ecp_smpl.c \
|
||||
./messenger-backend/libs/openssl/crypto/ecdh/ech_err.c \
|
||||
./messenger-backend/libs/openssl/crypto/ecdh/ech_key.c \
|
||||
./messenger-backend/libs/openssl/crypto/ecdh/ech_lib.c \
|
||||
./messenger-backend/libs/openssl/crypto/ecdh/ech_ossl.c \
|
||||
./messenger-backend/libs/openssl/crypto/ecdsa/ecs_asn1.c \
|
||||
./messenger-backend/libs/openssl/crypto/ecdsa/ecs_err.c \
|
||||
./messenger-backend/libs/openssl/crypto/ecdsa/ecs_lib.c \
|
||||
./messenger-backend/libs/openssl/crypto/ecdsa/ecs_ossl.c \
|
||||
./messenger-backend/libs/openssl/crypto/ecdsa/ecs_sign.c \
|
||||
./messenger-backend/libs/openssl/crypto/ecdsa/ecs_vrf.c \
|
||||
./messenger-backend/libs/openssl/crypto/err/err.c \
|
||||
./messenger-backend/libs/openssl/crypto/err/err_all.c \
|
||||
./messenger-backend/libs/openssl/crypto/err/err_prn.c \
|
||||
./messenger-backend/libs/openssl/crypto/evp/bio_b64.c \
|
||||
./messenger-backend/libs/openssl/crypto/evp/bio_enc.c \
|
||||
./messenger-backend/libs/openssl/crypto/evp/bio_md.c \
|
||||
./messenger-backend/libs/openssl/crypto/evp/bio_ok.c \
|
||||
./messenger-backend/libs/openssl/crypto/evp/c_all.c \
|
||||
./messenger-backend/libs/openssl/crypto/evp/c_allc.c \
|
||||
./messenger-backend/libs/openssl/crypto/evp/c_alld.c \
|
||||
./messenger-backend/libs/openssl/crypto/evp/digest.c \
|
||||
./messenger-backend/libs/openssl/crypto/evp/e_aes.c \
|
||||
./messenger-backend/libs/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c \
|
||||
./messenger-backend/libs/openssl/crypto/evp/e_bf.c \
|
||||
./messenger-backend/libs/openssl/crypto/evp/e_camellia.c \
|
||||
./messenger-backend/libs/openssl/crypto/evp/e_cast.c \
|
||||
./messenger-backend/libs/openssl/crypto/evp/e_des.c \
|
||||
./messenger-backend/libs/openssl/crypto/evp/e_des3.c \
|
||||
./messenger-backend/libs/openssl/crypto/evp/e_null.c \
|
||||
./messenger-backend/libs/openssl/crypto/evp/e_old.c \
|
||||
./messenger-backend/libs/openssl/crypto/evp/e_rc2.c \
|
||||
./messenger-backend/libs/openssl/crypto/evp/e_rc4.c \
|
||||
./messenger-backend/libs/openssl/crypto/evp/e_rc4_hmac_md5.c \
|
||||
./messenger-backend/libs/openssl/crypto/evp/e_rc5.c \
|
||||
./messenger-backend/libs/openssl/crypto/evp/e_xcbc_d.c \
|
||||
./messenger-backend/libs/openssl/crypto/evp/encode.c \
|
||||
./messenger-backend/libs/openssl/crypto/evp/evp_acnf.c \
|
||||
./messenger-backend/libs/openssl/crypto/evp/evp_enc.c \
|
||||
./messenger-backend/libs/openssl/crypto/evp/evp_err.c \
|
||||
./messenger-backend/libs/openssl/crypto/evp/evp_key.c \
|
||||
./messenger-backend/libs/openssl/crypto/evp/evp_lib.c \
|
||||
./messenger-backend/libs/openssl/crypto/evp/evp_pbe.c \
|
||||
./messenger-backend/libs/openssl/crypto/evp/evp_pkey.c \
|
||||
./messenger-backend/libs/openssl/crypto/evp/m_dss.c \
|
||||
./messenger-backend/libs/openssl/crypto/evp/m_dss1.c \
|
||||
./messenger-backend/libs/openssl/crypto/evp/m_ecdsa.c \
|
||||
./messenger-backend/libs/openssl/crypto/evp/m_md4.c \
|
||||
./messenger-backend/libs/openssl/crypto/evp/m_md5.c \
|
||||
./messenger-backend/libs/openssl/crypto/evp/m_mdc2.c \
|
||||
./messenger-backend/libs/openssl/crypto/evp/m_null.c \
|
||||
./messenger-backend/libs/openssl/crypto/evp/m_ripemd.c \
|
||||
./messenger-backend/libs/openssl/crypto/evp/m_sha1.c \
|
||||
./messenger-backend/libs/openssl/crypto/evp/m_sigver.c \
|
||||
./messenger-backend/libs/openssl/crypto/evp/m_wp.c \
|
||||
./messenger-backend/libs/openssl/crypto/evp/names.c \
|
||||
./messenger-backend/libs/openssl/crypto/evp/p5_crpt.c \
|
||||
./messenger-backend/libs/openssl/crypto/evp/p5_crpt2.c \
|
||||
./messenger-backend/libs/openssl/crypto/evp/p_dec.c \
|
||||
./messenger-backend/libs/openssl/crypto/evp/p_enc.c \
|
||||
./messenger-backend/libs/openssl/crypto/evp/p_lib.c \
|
||||
./messenger-backend/libs/openssl/crypto/evp/p_open.c \
|
||||
./messenger-backend/libs/openssl/crypto/evp/p_seal.c \
|
||||
./messenger-backend/libs/openssl/crypto/evp/p_sign.c \
|
||||
./messenger-backend/libs/openssl/crypto/evp/p_verify.c \
|
||||
./messenger-backend/libs/openssl/crypto/evp/pmeth_fn.c \
|
||||
./messenger-backend/libs/openssl/crypto/evp/pmeth_gn.c \
|
||||
./messenger-backend/libs/openssl/crypto/evp/pmeth_lib.c \
|
||||
./messenger-backend/libs/openssl/crypto/hmac/hm_ameth.c \
|
||||
./messenger-backend/libs/openssl/crypto/hmac/hm_pmeth.c \
|
||||
./messenger-backend/libs/openssl/crypto/hmac/hmac.c \
|
||||
./messenger-backend/libs/openssl/crypto/krb5/krb5_asn.c \
|
||||
./messenger-backend/libs/openssl/crypto/lhash/lh_stats.c \
|
||||
./messenger-backend/libs/openssl/crypto/lhash/lhash.c \
|
||||
./messenger-backend/libs/openssl/crypto/md4/md4_dgst.c \
|
||||
./messenger-backend/libs/openssl/crypto/md4/md4_one.c \
|
||||
./messenger-backend/libs/openssl/crypto/md5/md5_dgst.c \
|
||||
./messenger-backend/libs/openssl/crypto/md5/md5_one.c \
|
||||
./messenger-backend/libs/openssl/crypto/modes/cbc128.c \
|
||||
./messenger-backend/libs/openssl/crypto/modes/ccm128.c \
|
||||
./messenger-backend/libs/openssl/crypto/modes/cfb128.c \
|
||||
./messenger-backend/libs/openssl/crypto/modes/ctr128.c \
|
||||
./messenger-backend/libs/openssl/crypto/modes/cts128.c \
|
||||
./messenger-backend/libs/openssl/crypto/modes/gcm128.c \
|
||||
./messenger-backend/libs/openssl/crypto/modes/ofb128.c \
|
||||
./messenger-backend/libs/openssl/crypto/modes/xts128.c \
|
||||
./messenger-backend/libs/openssl/crypto/objects/o_names.c \
|
||||
./messenger-backend/libs/openssl/crypto/objects/obj_dat.c \
|
||||
./messenger-backend/libs/openssl/crypto/objects/obj_err.c \
|
||||
./messenger-backend/libs/openssl/crypto/objects/obj_lib.c \
|
||||
./messenger-backend/libs/openssl/crypto/objects/obj_xref.c \
|
||||
./messenger-backend/libs/openssl/crypto/ocsp/ocsp_asn.c \
|
||||
./messenger-backend/libs/openssl/crypto/ocsp/ocsp_cl.c \
|
||||
./messenger-backend/libs/openssl/crypto/ocsp/ocsp_err.c \
|
||||
./messenger-backend/libs/openssl/crypto/ocsp/ocsp_ext.c \
|
||||
./messenger-backend/libs/openssl/crypto/ocsp/ocsp_ht.c \
|
||||
./messenger-backend/libs/openssl/crypto/ocsp/ocsp_lib.c \
|
||||
./messenger-backend/libs/openssl/crypto/ocsp/ocsp_prn.c \
|
||||
./messenger-backend/libs/openssl/crypto/ocsp/ocsp_srv.c \
|
||||
./messenger-backend/libs/openssl/crypto/ocsp/ocsp_vfy.c \
|
||||
./messenger-backend/libs/openssl/crypto/pem/pem_all.c \
|
||||
./messenger-backend/libs/openssl/crypto/pem/pem_err.c \
|
||||
./messenger-backend/libs/openssl/crypto/pem/pem_info.c \
|
||||
./messenger-backend/libs/openssl/crypto/pem/pem_lib.c \
|
||||
./messenger-backend/libs/openssl/crypto/pem/pem_oth.c \
|
||||
./messenger-backend/libs/openssl/crypto/pem/pem_pk8.c \
|
||||
./messenger-backend/libs/openssl/crypto/pem/pem_pkey.c \
|
||||
./messenger-backend/libs/openssl/crypto/pem/pem_seal.c \
|
||||
./messenger-backend/libs/openssl/crypto/pem/pem_sign.c \
|
||||
./messenger-backend/libs/openssl/crypto/pem/pem_x509.c \
|
||||
./messenger-backend/libs/openssl/crypto/pem/pem_xaux.c \
|
||||
./messenger-backend/libs/openssl/crypto/pem/pvkfmt.c \
|
||||
./messenger-backend/libs/openssl/crypto/pkcs12/p12_add.c \
|
||||
./messenger-backend/libs/openssl/crypto/pkcs12/p12_asn.c \
|
||||
./messenger-backend/libs/openssl/crypto/pkcs12/p12_attr.c \
|
||||
./messenger-backend/libs/openssl/crypto/pkcs12/p12_crpt.c \
|
||||
./messenger-backend/libs/openssl/crypto/pkcs12/p12_crt.c \
|
||||
./messenger-backend/libs/openssl/crypto/pkcs12/p12_decr.c \
|
||||
./messenger-backend/libs/openssl/crypto/pkcs12/p12_init.c \
|
||||
./messenger-backend/libs/openssl/crypto/pkcs12/p12_key.c \
|
||||
./messenger-backend/libs/openssl/crypto/pkcs12/p12_kiss.c \
|
||||
./messenger-backend/libs/openssl/crypto/pkcs12/p12_mutl.c \
|
||||
./messenger-backend/libs/openssl/crypto/pkcs12/p12_npas.c \
|
||||
./messenger-backend/libs/openssl/crypto/pkcs12/p12_p8d.c \
|
||||
./messenger-backend/libs/openssl/crypto/pkcs12/p12_p8e.c \
|
||||
./messenger-backend/libs/openssl/crypto/pkcs12/p12_utl.c \
|
||||
./messenger-backend/libs/openssl/crypto/pkcs12/pk12err.c \
|
||||
./messenger-backend/libs/openssl/crypto/pkcs7/pk7_asn1.c \
|
||||
./messenger-backend/libs/openssl/crypto/pkcs7/pk7_attr.c \
|
||||
./messenger-backend/libs/openssl/crypto/pkcs7/pk7_doit.c \
|
||||
./messenger-backend/libs/openssl/crypto/pkcs7/pk7_lib.c \
|
||||
./messenger-backend/libs/openssl/crypto/pkcs7/pk7_mime.c \
|
||||
./messenger-backend/libs/openssl/crypto/pkcs7/pk7_smime.c \
|
||||
./messenger-backend/libs/openssl/crypto/pkcs7/pkcs7err.c \
|
||||
./messenger-backend/libs/openssl/crypto/pqueue/pqueue.c \
|
||||
./messenger-backend/libs/openssl/crypto/rand/md_rand.c \
|
||||
./messenger-backend/libs/openssl/crypto/rand/rand_egd.c \
|
||||
./messenger-backend/libs/openssl/crypto/rand/rand_err.c \
|
||||
./messenger-backend/libs/openssl/crypto/rand/rand_lib.c \
|
||||
./messenger-backend/libs/openssl/crypto/rand/rand_unix.c \
|
||||
./messenger-backend/libs/openssl/crypto/rand/randfile.c \
|
||||
./messenger-backend/libs/openssl/crypto/rc2/rc2_cbc.c \
|
||||
./messenger-backend/libs/openssl/crypto/rc2/rc2_ecb.c \
|
||||
./messenger-backend/libs/openssl/crypto/rc2/rc2_skey.c \
|
||||
./messenger-backend/libs/openssl/crypto/rc2/rc2cfb64.c \
|
||||
./messenger-backend/libs/openssl/crypto/rc2/rc2ofb64.c \
|
||||
./messenger-backend/libs/openssl/crypto/rc4/rc4_enc.c \
|
||||
./messenger-backend/libs/openssl/crypto/rc4/rc4_skey.c \
|
||||
./messenger-backend/libs/openssl/crypto/rc4/rc4_utl.c \
|
||||
./messenger-backend/libs/openssl/crypto/ripemd/rmd_dgst.c \
|
||||
./messenger-backend/libs/openssl/crypto/ripemd/rmd_one.c \
|
||||
./messenger-backend/libs/openssl/crypto/rsa/rsa_ameth.c \
|
||||
./messenger-backend/libs/openssl/crypto/rsa/rsa_asn1.c \
|
||||
./messenger-backend/libs/openssl/crypto/rsa/rsa_chk.c \
|
||||
./messenger-backend/libs/openssl/crypto/rsa/rsa_crpt.c \
|
||||
./messenger-backend/libs/openssl/crypto/rsa/rsa_depr.c \
|
||||
./messenger-backend/libs/openssl/crypto/rsa/rsa_eay.c \
|
||||
./messenger-backend/libs/openssl/crypto/rsa/rsa_err.c \
|
||||
./messenger-backend/libs/openssl/crypto/rsa/rsa_gen.c \
|
||||
./messenger-backend/libs/openssl/crypto/rsa/rsa_lib.c \
|
||||
./messenger-backend/libs/openssl/crypto/rsa/rsa_none.c \
|
||||
./messenger-backend/libs/openssl/crypto/rsa/rsa_null.c \
|
||||
./messenger-backend/libs/openssl/crypto/rsa/rsa_oaep.c \
|
||||
./messenger-backend/libs/openssl/crypto/rsa/rsa_pk1.c \
|
||||
./messenger-backend/libs/openssl/crypto/rsa/rsa_pmeth.c \
|
||||
./messenger-backend/libs/openssl/crypto/rsa/rsa_prn.c \
|
||||
./messenger-backend/libs/openssl/crypto/rsa/rsa_pss.c \
|
||||
./messenger-backend/libs/openssl/crypto/rsa/rsa_saos.c \
|
||||
./messenger-backend/libs/openssl/crypto/rsa/rsa_sign.c \
|
||||
./messenger-backend/libs/openssl/crypto/rsa/rsa_ssl.c \
|
||||
./messenger-backend/libs/openssl/crypto/rsa/rsa_x931.c \
|
||||
./messenger-backend/libs/openssl/crypto/sha/sha1_one.c \
|
||||
./messenger-backend/libs/openssl/crypto/sha/sha1dgst.c \
|
||||
./messenger-backend/libs/openssl/crypto/sha/sha256.c \
|
||||
./messenger-backend/libs/openssl/crypto/sha/sha512.c \
|
||||
./messenger-backend/libs/openssl/crypto/sha/sha_dgst.c \
|
||||
./messenger-backend/libs/openssl/crypto/srp/srp_lib.c \
|
||||
./messenger-backend/libs/openssl/crypto/srp/srp_vfy.c \
|
||||
./messenger-backend/libs/openssl/crypto/stack/stack.c \
|
||||
./messenger-backend/libs/openssl/crypto/ts/ts_err.c \
|
||||
./messenger-backend/libs/openssl/crypto/txt_db/txt_db.c \
|
||||
./messenger-backend/libs/openssl/crypto/ui/ui_compat.c \
|
||||
./messenger-backend/libs/openssl/crypto/ui/ui_err.c \
|
||||
./messenger-backend/libs/openssl/crypto/ui/ui_lib.c \
|
||||
./messenger-backend/libs/openssl/crypto/ui/ui_openssl.c \
|
||||
./messenger-backend/libs/openssl/crypto/ui/ui_util.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509/by_dir.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509/by_file.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509/x509_att.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509/x509_cmp.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509/x509_d2.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509/x509_def.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509/x509_err.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509/x509_ext.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509/x509_lu.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509/x509_obj.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509/x509_r2x.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509/x509_req.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509/x509_set.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509/x509_trs.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509/x509_txt.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509/x509_v3.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509/x509_vfy.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509/x509_vpm.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509/x509cset.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509/x509name.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509/x509rset.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509/x509spki.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509/x509type.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509/x_all.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509v3/pcy_cache.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509v3/pcy_data.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509v3/pcy_lib.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509v3/pcy_map.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509v3/pcy_node.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509v3/pcy_tree.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509v3/v3_akey.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509v3/v3_akeya.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509v3/v3_alt.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509v3/v3_bcons.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509v3/v3_bitst.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509v3/v3_conf.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509v3/v3_cpols.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509v3/v3_crld.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509v3/v3_enum.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509v3/v3_extku.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509v3/v3_genn.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509v3/v3_ia5.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509v3/v3_info.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509v3/v3_int.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509v3/v3_lib.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509v3/v3_ncons.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509v3/v3_ocsp.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509v3/v3_pci.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509v3/v3_pcia.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509v3/v3_pcons.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509v3/v3_pku.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509v3/v3_pmaps.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509v3/v3_prn.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509v3/v3_purp.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509v3/v3_skey.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509v3/v3_sxnet.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509v3/v3_utl.c \
|
||||
./messenger-backend/libs/openssl/crypto/x509v3/v3err.c \
|
||||
./messenger-backend/libs/openssl/ssl/bio_ssl.c \
|
||||
./messenger-backend/libs/openssl/ssl/s2_meth.c \
|
||||
./messenger-backend/libs/openssl/ssl/ssl_algs.c \
|
||||
./messenger-backend/libs/openssl/ssl/kssl.c \
|
||||
./messenger-backend/libs/openssl/ssl/s2_pkt.c \
|
||||
./messenger-backend/libs/openssl/ssl/ssl_asn1.c \
|
||||
./messenger-backend/libs/openssl/ssl/d1_both.c \
|
||||
./messenger-backend/libs/openssl/ssl/s2_srvr.c \
|
||||
./messenger-backend/libs/openssl/ssl/ssl_cert.c \
|
||||
./messenger-backend/libs/openssl/ssl/ssl_txt.c \
|
||||
./messenger-backend/libs/openssl/ssl/d1_clnt.c \
|
||||
./messenger-backend/libs/openssl/ssl/s23_clnt.c \
|
||||
./messenger-backend/libs/openssl/ssl/s3_both.c \
|
||||
./messenger-backend/libs/openssl/ssl/ssl_ciph.c \
|
||||
./messenger-backend/libs/openssl/ssl/ssl_utst.c \
|
||||
./messenger-backend/libs/openssl/ssl/d1_enc.c \
|
||||
./messenger-backend/libs/openssl/ssl/s23_lib.c \
|
||||
./messenger-backend/libs/openssl/ssl/s3_cbc.c \
|
||||
./messenger-backend/libs/openssl/ssl/ssl_err2.c \
|
||||
./messenger-backend/libs/openssl/ssl/t1_clnt.c \
|
||||
./messenger-backend/libs/openssl/ssl/d1_lib.c \
|
||||
./messenger-backend/libs/openssl/ssl/s23_meth.c \
|
||||
./messenger-backend/libs/openssl/ssl/s3_clnt.c \
|
||||
./messenger-backend/libs/openssl/ssl/ssl_err.c \
|
||||
./messenger-backend/libs/openssl/ssl/t1_enc.c \
|
||||
./messenger-backend/libs/openssl/ssl/d1_meth.c \
|
||||
./messenger-backend/libs/openssl/ssl/s23_pkt.c \
|
||||
./messenger-backend/libs/openssl/ssl/s3_enc.c \
|
||||
./messenger-backend/libs/openssl/ssl/ssl_lib.c \
|
||||
./messenger-backend/libs/openssl/ssl/t1_lib.c \
|
||||
./messenger-backend/libs/openssl/ssl/d1_pkt.c \
|
||||
./messenger-backend/libs/openssl/ssl/s23_srvr.c \
|
||||
./messenger-backend/libs/openssl/ssl/s3_lib.c \
|
||||
./messenger-backend/libs/openssl/ssl/t1_meth.c \
|
||||
./messenger-backend/libs/openssl/ssl/d1_srtp.c \
|
||||
./messenger-backend/libs/openssl/ssl/s2_clnt.c \
|
||||
./messenger-backend/libs/openssl/ssl/s3_meth.c \
|
||||
./messenger-backend/libs/openssl/ssl/ssl_rsa.c \
|
||||
./messenger-backend/libs/openssl/ssl/t1_reneg.c \
|
||||
./messenger-backend/libs/openssl/ssl/d1_srvr.c \
|
||||
./messenger-backend/libs/openssl/ssl/s2_enc.c \
|
||||
./messenger-backend/libs/openssl/ssl/s3_pkt.c \
|
||||
./messenger-backend/libs/openssl/ssl/ssl_sess.c \
|
||||
./messenger-backend/libs/openssl/ssl/t1_srvr.c \
|
||||
./messenger-backend/libs/openssl/ssl/s2_lib.c \
|
||||
./messenger-backend/libs/openssl/ssl/s3_srvr.c \
|
||||
./messenger-backend/libs/openssl/ssl/ssl_stat.c \
|
||||
./messenger-backend/libs/openssl/ssl/tls_srp.c
|
||||
|
||||
local_c_includes := \
|
||||
$(LOCAL_PATH)/messenger-backend/libs/openssl \
|
||||
$(LOCAL_PATH)/messenger-backend/libs/openssl/crypto \
|
||||
$(LOCAL_PATH)/messenger-backend/libs/openssl/crypto/asn1 \
|
||||
$(LOCAL_PATH)/messenger-backend/libs/openssl/crypto/evp \
|
||||
$(LOCAL_PATH)/messenger-backend/libs/openssl/crypto/modes \
|
||||
$(LOCAL_PATH)/messenger-backend/libs/openssl/include \
|
||||
$(LOCAL_PATH)/messenger-backend/libs/openssl/include/openssl
|
||||
|
||||
local_c_flags := -DNO_WINDOWS_BRAINDEATH
|
||||
|
||||
LOCAL_SRC_FILES += $(local_src_files)
|
||||
LOCAL_CFLAGS += -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DL_ENDIAN
|
||||
LOCAL_CFLAGS += -DOPENSSL_NO_CAPIENG -DOPENSSL_NO_CMS -DOPENSSL_NO_GMP -DOPENSSL_NO_IDEA -DOPENSSL_NO_JPAKE -DOPENSSL_NO_MD2 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_SHA0 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_SEED -DOPENSSL_NO_STORE -DOPENSSL_NO_WHIRLPOOL
|
||||
LOCAL_CFLAGS += -DOPENSSL_NO_HW -DOPENSSL_NO_ENGINE -DZLIB
|
||||
LOCAL_CFLAGS += $(local_c_flags) -DPURIFY
|
||||
LOCAL_C_INCLUDES += $(local_c_includes)
|
||||
LOCAL_MODULE_TAGS := optional
|
||||
LOCAL_MODULE:= libcrypto
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
|
||||
#include $(CLEAR_VARS)
|
||||
#LOCAL_MODULE := crypto
|
||||
#
|
||||
#ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
|
||||
# LOCAL_SRC_FILES := ./messenger-backend/libs/openssl/obj/local/armeabi-v7a/libcrypto.a
|
||||
#else
|
||||
# ifeq ($(TARGET_ARCH_ABI),armeabi)
|
||||
# LOCAL_SRC_FILES := ./messenger-backend/libs/openssl/obj/local/armeabi/libcrypto.a
|
||||
# else
|
||||
# ifeq ($(TARGET_ARCH_ABI),x86)
|
||||
# LOCAL_SRC_FILES := ./messenger-backend/libs/openssl/obj/local/x86/libcrypto.a
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#include $(PREBUILT_STATIC_LIBRARY)
|
||||
|
||||
################################################################################
|
||||
# libiconv
|
||||
################################################################################
|
||||
|
||||
|
||||
# rough howto
|
||||
# - run the normal ./configure to create iconv.h
|
||||
# - copy the needed files
|
||||
# - in localchatset.c, avoid including langinfo.h
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := libiconv
|
||||
LOCAL_CFLAGS := \
|
||||
-Wno-multichar \
|
||||
-D_ANDROID \
|
||||
-DLIBDIR="\"c\"" \
|
||||
-DBUILDING_LIBICONV \
|
||||
-DIN_LIBRARY
|
||||
LOCAL_C_INCLUDES := \
|
||||
$(LOCAL_PATH)/messenger-backend/libs/libiconv/ \
|
||||
$(LOCAL_PATH)/messenger-backend/libs/libiconv/include \
|
||||
$(LOCAL_PATH)/messenger-backend/libs/libiconv/lib \
|
||||
$(LOCAL_PATH)/messenger-backend/libs/libiconv/libcharset/include
|
||||
LOCAL_SRC_FILES := \
|
||||
./messenger-backend/libs/libiconv/lib/iconv.c \
|
||||
./messenger-backend/libs/libiconv/lib/relocatable.c \
|
||||
./messenger-backend/libs/libiconv/libcharset/lib/localcharset.c
|
||||
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
|
||||
|
||||
################################################################################
|
||||
# libetpan
|
||||
################################################################################
|
||||
|
||||
|
||||
# rough howto:
|
||||
# - copy files from original source
|
||||
# - create include file links using "./autogen.sh; cd include; make" (or so)
|
||||
# - use config.h from libetpan/build-android/include
|
||||
# - use libetpan-config.h from local installation
|
||||
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_MODULE := etpan
|
||||
LOCAL_CFLAGS += -DHAVE_CONFIG_H=1 -DHAVE_ICONV=1
|
||||
LOCAL_SRC_FILES := \
|
||||
./messenger-backend/libs/libetpan/src/data-types/base64.c \
|
||||
./messenger-backend/libs/libetpan/src/data-types/carray.c \
|
||||
./messenger-backend/libs/libetpan/src/data-types/charconv.c \
|
||||
./messenger-backend/libs/libetpan/src/data-types/chash.c \
|
||||
./messenger-backend/libs/libetpan/src/data-types/clist.c \
|
||||
./messenger-backend/libs/libetpan/src/data-types/connect.c \
|
||||
./messenger-backend/libs/libetpan/src/data-types/mail_cache_db.c \
|
||||
./messenger-backend/libs/libetpan/src/data-types/maillock.c \
|
||||
./messenger-backend/libs/libetpan/src/data-types/mailsasl.c \
|
||||
./messenger-backend/libs/libetpan/src/data-types/mailsem.c \
|
||||
./messenger-backend/libs/libetpan/src/data-types/mailstream.c \
|
||||
./messenger-backend/libs/libetpan/src/data-types/mailstream_cancel.c \
|
||||
./messenger-backend/libs/libetpan/src/data-types/mailstream_cfstream.c \
|
||||
./messenger-backend/libs/libetpan/src/data-types/mailstream_compress.c \
|
||||
./messenger-backend/libs/libetpan/src/data-types/mailstream_helper.c \
|
||||
./messenger-backend/libs/libetpan/src/data-types/mailstream_low.c \
|
||||
./messenger-backend/libs/libetpan/src/data-types/mailstream_socket.c \
|
||||
./messenger-backend/libs/libetpan/src/data-types/mailstream_ssl.c \
|
||||
./messenger-backend/libs/libetpan/src/data-types/md5.c \
|
||||
./messenger-backend/libs/libetpan/src/data-types/mmapstring.c \
|
||||
./messenger-backend/libs/libetpan/src/data-types/timeutils.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/imap/acl.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/imap/acl_parser.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/imap/acl_sender.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/imap/acl_types.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/imap/annotatemore.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/imap/annotatemore_parser.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/imap/annotatemore_sender.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/imap/annotatemore_types.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/imap/condstore.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/imap/condstore_types.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/imap/enable.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/imap/idle.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/imap/mailimap.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/imap/mailimap_compress.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/imap/mailimap_extension.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/imap/mailimap_helper.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/imap/mailimap_id.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/imap/mailimap_id_parser.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/imap/mailimap_id_sender.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/imap/mailimap_id_types.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/imap/mailimap_keywords.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/imap/mailimap_oauth2.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/imap/mailimap_parser.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/imap/mailimap_print.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/imap/mailimap_sender.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/imap/mailimap_socket.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/imap/mailimap_sort.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/imap/mailimap_sort_types.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/imap/mailimap_ssl.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/imap/mailimap_types.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/imap/mailimap_types_helper.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/imap/namespace.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/imap/namespace_parser.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/imap/namespace_sender.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/imap/namespace_types.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/imap/qresync.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/imap/qresync_types.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/imap/quota.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/imap/quota_parser.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/imap/quota_sender.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/imap/quota_types.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/imap/uidplus.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/imap/uidplus_parser.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/imap/uidplus_sender.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/imap/uidplus_types.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/imap/xgmlabels.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/imap/xgmmsgid.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/imap/xgmthrid.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/imap/xlist.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/imf/mailimf.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/imf/mailimf_types.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/imf/mailimf_types_helper.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/imf/mailimf_write_file.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/imf/mailimf_write_generic.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/imf/mailimf_write_mem.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/mime/mailmime.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/mime/mailmime_content.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/mime/mailmime_decode.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/mime/mailmime_disposition.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/mime/mailmime_types.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/mime/mailmime_types_helper.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/mime/mailmime_write_file.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/mime/mailmime_write_generic.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/mime/mailmime_write_mem.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/smtp/mailsmtp.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/smtp/mailsmtp_helper.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/smtp/mailsmtp_oauth2.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/smtp/mailsmtp_socket.c \
|
||||
./messenger-backend/libs/libetpan/src/low-level/smtp/mailsmtp_ssl.c \
|
||||
./messenger-backend/libs/libetpan/src/main/libetpan_version.c \
|
||||
./messenger-backend/libs/libetpan/src/driver/implementation/data-message/data_message_driver.c \
|
||||
./messenger-backend/libs/libetpan/src/driver/implementation/mime-message/mime_message_driver.c \
|
||||
./messenger-backend/libs/libetpan/src/driver/interface/maildriver.c \
|
||||
./messenger-backend/libs/libetpan/src/driver/interface/maildriver_tools.c \
|
||||
./messenger-backend/libs/libetpan/src/driver/interface/maildriver_types.c \
|
||||
./messenger-backend/libs/libetpan/src/driver/interface/maildriver_types_helper.c \
|
||||
./messenger-backend/libs/libetpan/src/driver/interface/mailfolder.c \
|
||||
./messenger-backend/libs/libetpan/src/driver/interface/mailmessage.c \
|
||||
./messenger-backend/libs/libetpan/src/driver/interface/mailmessage_tools.c \
|
||||
./messenger-backend/libs/libetpan/src/driver/interface/mailmessage_types.c \
|
||||
./messenger-backend/libs/libetpan/src/driver/interface/mailstorage.c \
|
||||
./messenger-backend/libs/libetpan/src/driver/interface/mailstorage_tools.c \
|
||||
./messenger-backend/libs/libetpan/src/engine/mailprivacy.c \
|
||||
./messenger-backend/libs/libetpan/src/engine/mailprivacy_tools.c
|
||||
LOCAL_C_INCLUDES = \
|
||||
$(LOCAL_PATH)/messenger-backend/libs/libetpan/src \
|
||||
$(LOCAL_PATH)/messenger-backend/libs/libetpan/src/data-types \
|
||||
$(LOCAL_PATH)/messenger-backend/libs/libetpan/src/low-level \
|
||||
$(LOCAL_PATH)/messenger-backend/libs/libetpan/src/low-level/imap \
|
||||
$(LOCAL_PATH)/messenger-backend/libs/libetpan/src/low-level/imf \
|
||||
$(LOCAL_PATH)/messenger-backend/libs/libetpan/src/low-level/mime \
|
||||
$(LOCAL_PATH)/messenger-backend/libs/libetpan/src/low-level/nntp \
|
||||
$(LOCAL_PATH)/messenger-backend/libs/libetpan/src/low-level/smtp \
|
||||
$(LOCAL_PATH)/messenger-backend/libs/libetpan/src/main \
|
||||
$(LOCAL_PATH)/messenger-backend/libs/libetpan/src/driver/implementation/data-message \
|
||||
$(LOCAL_PATH)/messenger-backend/libs/libetpan/src/driver/interface \
|
||||
$(LOCAL_PATH)/messenger-backend/libs/libetpan/include \
|
||||
$(LOCAL_PATH)/messenger-backend/libs/libetpan/include/libetpan \
|
||||
$(LOCAL_PATH)/messenger-backend/libs/openssl/include \
|
||||
$(LOCAL_PATH)/messenger-backend/libs/libiconv/include \
|
||||
$(LOCAL_PATH)/messenger-backend/libs/cyrussasl/include \
|
||||
$(LOCAL_PATH)/messenger-backend/libs/cyrussasl/include/sasl
|
||||
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
|
||||
|
||||
################################################################################
|
||||
# cyrus sasl
|
||||
################################################################################
|
||||
|
||||
|
||||
# rough howto:
|
||||
# - copy files from original source
|
||||
# - use config.h from libetpan/build-android/dependencies/cyrus-sasl/build-android/include
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_MODULE := sasl2
|
||||
|
||||
LOCAL_C_INCLUDES += \
|
||||
$(LOCAL_PATH)/messenger-backend/libs/cyrussasl/include \
|
||||
$(LOCAL_PATH)/messenger-backend/libs/cyrussasl/include/sasl \
|
||||
$(LOCAL_PATH)/messenger-backend/libs/cyrussasl/plugins \
|
||||
$(LOCAL_PATH)/messenger-backend/libs/openssl/include
|
||||
LOCAL_SRC_FILES := \
|
||||
./messenger-backend/libs/cyrussasl/lib/auxprop.c \
|
||||
./messenger-backend/libs/cyrussasl/lib/canonusr.c \
|
||||
./messenger-backend/libs/cyrussasl/lib/checkpw.c \
|
||||
./messenger-backend/libs/cyrussasl/lib/client.c \
|
||||
./messenger-backend/libs/cyrussasl/lib/common.c \
|
||||
./messenger-backend/libs/cyrussasl/lib/config.c \
|
||||
./messenger-backend/libs/cyrussasl/lib/dlopen.c \
|
||||
./messenger-backend/libs/cyrussasl/lib/external.c \
|
||||
./messenger-backend/libs/cyrussasl/lib/getsubopt.c \
|
||||
./messenger-backend/libs/cyrussasl/lib/md5.c \
|
||||
./messenger-backend/libs/cyrussasl/lib/saslutil.c \
|
||||
./messenger-backend/libs/cyrussasl/lib/server.c \
|
||||
./messenger-backend/libs/cyrussasl/lib/seterror.c \
|
||||
./messenger-backend/libs/cyrussasl/lib/snprintf.c \
|
||||
./messenger-backend/libs/cyrussasl/plugins/anonymous.c \
|
||||
./messenger-backend/libs/cyrussasl/plugins/anonymous_init.c \
|
||||
./messenger-backend/libs/cyrussasl/plugins/cram.c \
|
||||
./messenger-backend/libs/cyrussasl/plugins/crammd5_init.c \
|
||||
./messenger-backend/libs/cyrussasl/plugins/digestmd5.c \
|
||||
./messenger-backend/libs/cyrussasl/plugins/digestmd5_init.c \
|
||||
./messenger-backend/libs/cyrussasl/plugins/login.c \
|
||||
./messenger-backend/libs/cyrussasl/plugins/login_init.c \
|
||||
./messenger-backend/libs/cyrussasl/plugins/ntlm.c \
|
||||
./messenger-backend/libs/cyrussasl/plugins/ntlm_init.c \
|
||||
./messenger-backend/libs/cyrussasl/plugins/otp.c \
|
||||
./messenger-backend/libs/cyrussasl/plugins/otp_init.c \
|
||||
./messenger-backend/libs/cyrussasl/plugins/passdss.c \
|
||||
./messenger-backend/libs/cyrussasl/plugins/passdss_init.c \
|
||||
./messenger-backend/libs/cyrussasl/plugins/plain.c \
|
||||
./messenger-backend/libs/cyrussasl/plugins/plain_init.c \
|
||||
./messenger-backend/libs/cyrussasl/plugins/plugin_common.c \
|
||||
./messenger-backend/libs/cyrussasl/plugins/scram.c \
|
||||
./messenger-backend/libs/cyrussasl/plugins/scram_init.c \
|
||||
./messenger-backend/libs/cyrussasl/plugins/srp.c \
|
||||
./messenger-backend/libs/cyrussasl/plugins/srp_init.c
|
||||
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
|
||||
################################################################################
|
||||
# sqlite
|
||||
################################################################################
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
ifeq ($(TARGET_ARCH_ABI),armeabi)
|
||||
LOCAL_ARM_MODE := thumb
|
||||
else
|
||||
LOCAL_ARM_MODE := arm
|
||||
endif
|
||||
LOCAL_MODULE := sqlite
|
||||
LOCAL_CFLAGS := -w -std=c11 -Os -DNULL=0 -DSOCKLEN_T=socklen_t -DLOCALE_NOT_USED -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64
|
||||
LOCAL_CFLAGS += -DANDROID_NDK -DDISABLE_IMPORTGL -fno-strict-aliasing -fprefetch-loop-arrays -DAVOID_TABLES -DANDROID_TILE_BASED_DECODE -DANDROID_ARMV6_IDCT -DHAVE_STRCHRNUL=0
|
||||
LOCAL_CFLAGS += -DSQLITE_OMIT_LOAD_EXTENSION
|
||||
LOCAL_CFLAGS += -DSQLITE_MAX_MMAP_SIZE=0 -DSQLITE_OMIT_WAL # HACK: the defines are used to skip the pointer reference to mmap set in aSyscall[] - mmap seems to be a #define that cannot be used this way on Android - otherwise we get the error: 'mmap' undeclared here (not in a function)
|
||||
|
||||
LOCAL_SRC_FILES := \
|
||||
./messenger-backend/libs/sqlite/sqlite3.c
|
||||
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
|
||||
################################################################################
|
||||
# main shared library as used from Java (includes the static ones)
|
||||
################################################################################
|
||||
@@ -859,75 +19,16 @@ include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_MODULE := native-utils
|
||||
|
||||
LOCAL_C_INCLUDES := $(JNI_DIR)/utils/ \
|
||||
$(JNI_DIR)/messenger-backend/libs/openssl/include \
|
||||
$(JNI_DIR)/messenger-backend/libs/libetpan/include \
|
||||
$(JNI_DIR)/messenger-backend/libs/netpgp/include \
|
||||
$(JNI_DIR)/messenger-backend/libs/sqlite
|
||||
LOCAL_C_INCLUDES := $(JNI_DIR)/utils/
|
||||
LOCAL_LDLIBS := -ljnigraphics -llog -lz
|
||||
LOCAL_STATIC_LIBRARIES := deltachat-core
|
||||
|
||||
LOCAL_LDLIBS := -ljnigraphics -llog -lz -latomic
|
||||
LOCAL_STATIC_LIBRARIES := etpan sasl2 sqlite crypto libiconv
|
||||
# if you get "undefined reference" errors, the reason for this may be the _order_! Eg. libiconv as the first library does not work!
|
||||
# "breakpad" was placed after "crypto", NativeLoader.cpp after dc_wrapper.c
|
||||
|
||||
LOCAL_CFLAGS := -w -Os -DNULL=0 -DSOCKLEN_T=socklen_t -DLOCALE_NOT_USED -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64
|
||||
LOCAL_CFLAGS += -Drestrict='' -D__EMX__ -DOPUS_BUILD -DFIXED_POINT -DUSE_ALLOCA -DHAVE_LRINT -DHAVE_LRINTF -fno-math-errno -std=c99
|
||||
LOCAL_CFLAGS += -DANDROID_NDK -DDISABLE_IMPORTGL -fno-strict-aliasing -fprefetch-loop-arrays -DAVOID_TABLES -DANDROID_TILE_BASED_DECODE -DANDROID_ARMV6_IDCT -ffast-math -D__STDC_CONSTANT_MACROS
|
||||
LOCAL_CFLAGS := -Wno-pointer-to-int-cast -Wno-int-to-pointer-cast -Os -DNULL=0 -DSOCKLEN_T=socklen_t -DLOCALE_NOT_USED -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64
|
||||
LOCAL_CFLAGS += -Drestrict='' -D__EMX__ -DFIXED_POINT -DUSE_ALLOCA -DHAVE_LRINT -DHAVE_LRINTF -fno-math-errno
|
||||
LOCAL_CFLAGS += -DANDROID_NDK -DDISABLE_IMPORTGL -fno-strict-aliasing -DAVOID_TABLES -DANDROID_TILE_BASED_DECODE -DANDROID_ARMV6_IDCT -ffast-math -D__STDC_CONSTANT_MACROS
|
||||
|
||||
LOCAL_SRC_FILES := \
|
||||
utils/org_thoughtcrime_securesms_util_FileUtils.cpp \
|
||||
messenger-backend/libs/netpgp/src/compress.c \
|
||||
messenger-backend/libs/netpgp/src/create.c \
|
||||
messenger-backend/libs/netpgp/src/crypto.c \
|
||||
messenger-backend/libs/netpgp/src/keyring.c \
|
||||
messenger-backend/libs/netpgp/src/misc.c \
|
||||
messenger-backend/libs/netpgp/src/openssl_crypto.c \
|
||||
messenger-backend/libs/netpgp/src/packet-parse.c \
|
||||
messenger-backend/libs/netpgp/src/packet-show.c \
|
||||
messenger-backend/libs/netpgp/src/reader.c \
|
||||
messenger-backend/libs/netpgp/src/signature.c \
|
||||
messenger-backend/libs/netpgp/src/symmetric.c \
|
||||
messenger-backend/libs/netpgp/src/validate.c \
|
||||
messenger-backend/libs/netpgp/src/writer.c \
|
||||
messenger-backend/src/dc_aheader.c \
|
||||
messenger-backend/src/dc_apeerstate.c \
|
||||
messenger-backend/src/dc_array.c \
|
||||
messenger-backend/src/dc_chat.c \
|
||||
messenger-backend/src/dc_chatlist.c \
|
||||
messenger-backend/src/dc_contact.c \
|
||||
messenger-backend/src/dc_dehtml.c \
|
||||
messenger-backend/src/dc_hash.c \
|
||||
messenger-backend/src/dc_imap.c \
|
||||
messenger-backend/src/dc_job.c \
|
||||
messenger-backend/src/dc_key.c \
|
||||
messenger-backend/src/dc_keyring.c \
|
||||
messenger-backend/src/dc_loginparam.c \
|
||||
messenger-backend/src/dc_lot.c \
|
||||
messenger-backend/src/dc_move.c \
|
||||
messenger-backend/src/dc_context.c \
|
||||
messenger-backend/src/dc_configure.c \
|
||||
messenger-backend/src/dc_e2ee.c \
|
||||
messenger-backend/src/dc_imex.c \
|
||||
messenger-backend/src/dc_keyhistory.c \
|
||||
messenger-backend/src/dc_log.c \
|
||||
messenger-backend/src/dc_openssl.c \
|
||||
messenger-backend/src/dc_qr.c \
|
||||
messenger-backend/src/dc_receive_imf.c \
|
||||
messenger-backend/src/dc_securejoin.c \
|
||||
messenger-backend/src/dc_mimefactory.c \
|
||||
messenger-backend/src/dc_mimeparser.c \
|
||||
messenger-backend/src/dc_msg.c \
|
||||
messenger-backend/src/dc_param.c \
|
||||
messenger-backend/src/dc_pgp.c \
|
||||
messenger-backend/src/dc_saxparser.c \
|
||||
messenger-backend/src/dc_simplify.c \
|
||||
messenger-backend/src/dc_smtp.c \
|
||||
messenger-backend/src/dc_sqlite3.c \
|
||||
messenger-backend/src/dc_stock.c \
|
||||
messenger-backend/src/dc_strbuilder.c \
|
||||
messenger-backend/src/dc_strencode.c \
|
||||
messenger-backend/src/dc_token.c \
|
||||
messenger-backend/src/dc_tools.c \
|
||||
dc_wrapper.c
|
||||
|
||||
include $(BUILD_SHARED_LIBRARY)
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
APP_PLATFORM := android-14
|
||||
APP_ABI := armeabi armeabi-v7a x86
|
||||
NDK_TOOLCHAIN_VERSION := 4.9
|
||||
APP_STL := gnustl_static
|
||||
APP_PLATFORM := android-18
|
||||
APP_ABI := armeabi-v7a arm64-v8a x86 x86_64
|
||||
APP_STL := c++_static
|
||||
|
||||
|
||||
@@ -24,16 +24,51 @@
|
||||
|
||||
|
||||
#include <jni.h>
|
||||
#include "messenger-backend/src/deltachat.h"
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include "deltachat-core-rust/deltachat-ffi/deltachat.h"
|
||||
|
||||
|
||||
static dc_msg_t* get_dc_msg(JNIEnv *env, jobject obj);
|
||||
|
||||
|
||||
// passing a NULL-jstring results in a NULL-ptr - this is needed by functions using eg. NULL for "delete"
|
||||
#define CHAR_REF(a) \
|
||||
const char* a##Ptr = (a)? (*env)->GetStringUTFChars(env, (a), 0) : NULL; // passing a NULL-jstring results in a NULL-ptr - this is needed by functions using eg. NULL for "delete"
|
||||
char* a##Ptr = char_ref__(env, (a));
|
||||
static char* char_ref__(JNIEnv* env, jstring a) {
|
||||
if (a==NULL) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* we do not use the JNI functions GetStringUTFChars()/ReleaseStringUTFChars()
|
||||
as they do not work on some older systems for code points >0xffff, eg. emojos.
|
||||
as a workaround, we're calling back to java-land's String.getBytes() which works as expected */
|
||||
static jclass s_strCls = NULL;
|
||||
static jmethodID s_getBytes = NULL;
|
||||
static jclass s_strEncode = NULL;
|
||||
if (s_getBytes==NULL) {
|
||||
s_strCls = (*env)->NewGlobalRef(env, (*env)->FindClass(env, "java/lang/String"));
|
||||
s_getBytes = (*env)->GetMethodID(env, s_strCls, "getBytes", "(Ljava/lang/String;)[B");
|
||||
s_strEncode = (*env)->NewGlobalRef(env, (*env)->NewStringUTF(env, "UTF-8"));
|
||||
}
|
||||
|
||||
const jbyteArray stringJbytes = (jbyteArray)(*env)->CallObjectMethod(env, a, s_getBytes, s_strEncode);
|
||||
const jsize length = (*env)->GetArrayLength(env, stringJbytes);
|
||||
jbyte* pBytes = (*env)->GetByteArrayElements(env, stringJbytes, NULL);
|
||||
if (pBytes==NULL) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
char* cstr = strndup((const char*)pBytes, length);
|
||||
|
||||
(*env)->ReleaseByteArrayElements(env, stringJbytes, pBytes, JNI_ABORT);
|
||||
(*env)->DeleteLocalRef(env, stringJbytes);
|
||||
|
||||
return cstr;
|
||||
}
|
||||
|
||||
#define CHAR_UNREF(a) \
|
||||
if(a) { (*env)->ReleaseStringUTFChars(env, (a), a##Ptr); }
|
||||
free(a##Ptr);
|
||||
|
||||
#define JSTRING_NEW(a) jstring_new__(env, (a))
|
||||
static jstring jstring_new__(JNIEnv* env, const char* a)
|
||||
@@ -49,7 +84,7 @@ static jstring jstring_new__(JNIEnv* env, const char* a)
|
||||
static jclass s_strCls = NULL;
|
||||
static jmethodID s_strCtor = NULL;
|
||||
static jclass s_strEncode = NULL;
|
||||
if (s_strCls==NULL) {
|
||||
if (s_strCtor==NULL) {
|
||||
s_strCls = (*env)->NewGlobalRef(env, (*env)->FindClass(env, "java/lang/String"));
|
||||
s_strCtor = (*env)->GetMethodID(env, s_strCls, "<init>", "([BLjava/lang/String;)V");
|
||||
s_strEncode = (*env)->NewGlobalRef(env, (*env)->NewStringUTF(env, "UTF-8"));
|
||||
@@ -57,15 +92,22 @@ static jstring jstring_new__(JNIEnv* env, const char* a)
|
||||
|
||||
int a_bytes = strlen(a);
|
||||
jbyteArray array = (*env)->NewByteArray(env, a_bytes);
|
||||
(*env)->SetByteArrayRegion(env, array, 0, a_bytes, a);
|
||||
(*env)->SetByteArrayRegion(env, array, 0, a_bytes, (const jbyte*)a);
|
||||
jstring ret = (jstring) (*env)->NewObject(env, s_strCls, s_strCtor, array, s_strEncode);
|
||||
(*env)->DeleteLocalRef(env, array); /* we have to delete the reference as it is not returned to Java, AFAIK */
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
// convert c-timestamp to java-timestamp
|
||||
#define JTIMESTAMP(a) (((jlong)a)*((jlong)1000))
|
||||
|
||||
|
||||
// convert java-timestamp to c-timestamp
|
||||
#define CTIMESTAMP(a) (((jlong)a)/((jlong)1000))
|
||||
|
||||
|
||||
static jintArray dc_array2jintArray_n_unref(JNIEnv *env, dc_array_t* ca)
|
||||
{
|
||||
/* takes a C-array of type dc_array_t and converts it it a Java-Array.
|
||||
@@ -75,8 +117,8 @@ static jintArray dc_array2jintArray_n_unref(JNIEnv *env, dc_array_t* ca)
|
||||
|
||||
if (ca) {
|
||||
if (icnt) {
|
||||
uintptr_t* ca_data = dc_array_get_raw(ca);
|
||||
if (sizeof(uintptr_t)==sizeof(jint)) {
|
||||
const uint32_t* ca_data = dc_array_get_raw(ca);
|
||||
if (sizeof(uint32_t)==sizeof(jint)) {
|
||||
(*env)->SetIntArrayRegion(env, ret, 0, icnt, (jint*)ca_data);
|
||||
}
|
||||
else {
|
||||
@@ -106,7 +148,7 @@ static uint32_t* jintArray2uint32Pointer(JNIEnv* env, jintArray ja, int* ret_icn
|
||||
int i, icnt = (*env)->GetArrayLength(env, ja);
|
||||
if (icnt > 0)
|
||||
{
|
||||
const jint* temp = (*env)->GetIntArrayElements(env, ja, NULL);
|
||||
jint* temp = (*env)->GetIntArrayElements(env, ja, NULL);
|
||||
if (temp)
|
||||
{
|
||||
ret = calloc(icnt, sizeof(uint32_t));
|
||||
@@ -147,7 +189,7 @@ static dc_context_t* get_dc_context(JNIEnv *env, jobject obj)
|
||||
fid = (*env)->GetFieldID(env, cls, "contextCPtr", "J" /*Signature, J=long*/);
|
||||
}
|
||||
if (fid) {
|
||||
return (dc_chat_t*)(*env)->GetLongField(env, obj, fid);
|
||||
return (dc_context_t*)(*env)->GetLongField(env, obj, fid);
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
@@ -163,7 +205,7 @@ static uintptr_t s_context_callback_(dc_context_t* context, int event, uintptr_t
|
||||
return 0; /* may happen on startup */
|
||||
}
|
||||
|
||||
(*jnicontext->jvm)->GetEnv(jnicontext->jvm, &env, JNI_VERSION_1_6); // as this function may be called from _any_ thread, we cannot use a static pointer to JNIEnv
|
||||
(*jnicontext->jvm)->GetEnv(jnicontext->jvm, (void**)&env, JNI_VERSION_1_6); // as this function may be called from _any_ thread, we cannot use a static pointer to JNIEnv
|
||||
if (env==NULL) {
|
||||
return 0; /* may happen on startup */
|
||||
}
|
||||
@@ -196,6 +238,7 @@ JNIEXPORT jlong Java_com_b44t_messenger_DcContext_createContextCPtr(JNIEnv *env,
|
||||
|
||||
/* DcContext - open/configure/connect/fetch */
|
||||
|
||||
|
||||
JNIEXPORT jint Java_com_b44t_messenger_DcContext_open(JNIEnv *env, jobject obj, jstring dbfile)
|
||||
{
|
||||
CHAR_REF(dbfile);
|
||||
@@ -211,11 +254,19 @@ JNIEXPORT void Java_com_b44t_messenger_DcContext_close(JNIEnv *env, jobject obj)
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT void Java_com_b44t_messenger_DcContext_setStockTranslation(JNIEnv *env, jobject obj, jint stock_id, jstring translation)
|
||||
{
|
||||
CHAR_REF(translation);
|
||||
dc_set_stock_translation(get_dc_context(env, obj), stock_id, translationPtr);
|
||||
CHAR_UNREF(translation)
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jstring Java_com_b44t_messenger_DcContext_getBlobdir(JNIEnv *env, jobject obj)
|
||||
{
|
||||
char* temp = dc_get_blobdir(get_dc_context(env, obj));
|
||||
jstring ret = JSTRING_NEW(temp);
|
||||
free(temp);
|
||||
dc_str_unref(temp);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -262,6 +313,36 @@ JNIEXPORT void Java_com_b44t_messenger_DcContext_interruptImapIdle(JNIEnv *env,
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT void Java_com_b44t_messenger_DcContext_performSentboxJobs(JNIEnv *env, jobject obj)
|
||||
{
|
||||
dc_perform_sentbox_jobs(get_dc_context(env, obj));
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT void Java_com_b44t_messenger_DcContext_performSentboxFetch(JNIEnv *env, jobject obj)
|
||||
{
|
||||
dc_perform_sentbox_fetch(get_dc_context(env, obj));
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT void Java_com_b44t_messenger_DcContext_performSentboxIdle(JNIEnv *env, jobject obj)
|
||||
{
|
||||
dc_perform_sentbox_idle(get_dc_context(env, obj));
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT void Java_com_b44t_messenger_DcContext_interruptSentboxIdle(JNIEnv *env, jobject obj)
|
||||
{
|
||||
dc_interrupt_sentbox_idle(get_dc_context(env, obj));
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT void Java_com_b44t_messenger_DcContext_performMvboxJobs(JNIEnv *env, jobject obj)
|
||||
{
|
||||
dc_perform_mvbox_jobs(get_dc_context(env, obj));
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT void Java_com_b44t_messenger_DcContext_performMvboxFetch(JNIEnv *env, jobject obj)
|
||||
{
|
||||
dc_perform_mvbox_fetch(get_dc_context(env, obj));
|
||||
@@ -401,7 +482,7 @@ JNIEXPORT jint Java_com_b44t_messenger_DcContext_getChatIdByContactId(JNIEnv *en
|
||||
JNIEXPORT void Java_com_b44t_messenger_DcContext_markseenMsgs(JNIEnv *env, jobject obj, jintArray msg_ids)
|
||||
{
|
||||
int msg_ids_cnt = 0;
|
||||
const uint32_t* msg_ids_ptr = jintArray2uint32Pointer(env, msg_ids, &msg_ids_cnt);
|
||||
uint32_t* msg_ids_ptr = jintArray2uint32Pointer(env, msg_ids, &msg_ids_cnt);
|
||||
dc_markseen_msgs(get_dc_context(env, obj), msg_ids_ptr, msg_ids_cnt);
|
||||
free(msg_ids_ptr);
|
||||
}
|
||||
@@ -531,7 +612,7 @@ JNIEXPORT jstring Java_com_b44t_messenger_DcContext_getMsgInfo(JNIEnv *env, jobj
|
||||
{
|
||||
char* temp = dc_get_msg_info(get_dc_context(env, obj), msg_id);
|
||||
jstring ret = JSTRING_NEW(temp);
|
||||
free(temp);
|
||||
dc_str_unref(temp);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -539,7 +620,7 @@ JNIEXPORT jstring Java_com_b44t_messenger_DcContext_getMsgInfo(JNIEnv *env, jobj
|
||||
JNIEXPORT void Java_com_b44t_messenger_DcContext_deleteMsgs(JNIEnv *env, jobject obj, jintArray msg_ids)
|
||||
{
|
||||
int msg_ids_cnt = 0;
|
||||
const uint32_t* msg_ids_ptr = jintArray2uint32Pointer(env, msg_ids, &msg_ids_cnt);
|
||||
uint32_t* msg_ids_ptr = jintArray2uint32Pointer(env, msg_ids, &msg_ids_cnt);
|
||||
dc_delete_msgs(get_dc_context(env, obj), msg_ids_ptr, msg_ids_cnt);
|
||||
free(msg_ids_ptr);
|
||||
}
|
||||
@@ -548,12 +629,18 @@ JNIEXPORT void Java_com_b44t_messenger_DcContext_deleteMsgs(JNIEnv *env, jobject
|
||||
JNIEXPORT void Java_com_b44t_messenger_DcContext_forwardMsgs(JNIEnv *env, jobject obj, jintArray msg_ids, jint chat_id)
|
||||
{
|
||||
int msg_ids_cnt = 0;
|
||||
const uint32_t* msg_ids_ptr = jintArray2uint32Pointer(env, msg_ids, &msg_ids_cnt);
|
||||
uint32_t* msg_ids_ptr = jintArray2uint32Pointer(env, msg_ids, &msg_ids_cnt);
|
||||
dc_forward_msgs(get_dc_context(env, obj), msg_ids_ptr, msg_ids_cnt, chat_id);
|
||||
free(msg_ids_ptr);
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jint Java_com_b44t_messenger_DcContext_prepareMsg(JNIEnv *env, jobject obj, jint chat_id, jobject msg)
|
||||
{
|
||||
return dc_prepare_msg(get_dc_context(env, obj), chat_id, get_dc_msg(env, msg));
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jint Java_com_b44t_messenger_DcContext_sendMsg(JNIEnv *env, jobject obj, jint chat_id, jobject msg)
|
||||
{
|
||||
return dc_send_msg(get_dc_context(env, obj), chat_id, get_dc_msg(env, msg));
|
||||
@@ -569,6 +656,30 @@ JNIEXPORT jint Java_com_b44t_messenger_DcContext_sendTextMsg(JNIEnv *env, jobjec
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jint Java_com_b44t_messenger_DcContext_addDeviceMsg(JNIEnv *env, jobject obj, jstring label, jobject msg)
|
||||
{
|
||||
CHAR_REF(label);
|
||||
int msg_id = dc_add_device_msg(get_dc_context(env, obj), labelPtr, get_dc_msg(env, msg));
|
||||
CHAR_UNREF(label);
|
||||
return msg_id;
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jboolean Java_com_b44t_messenger_DcContext_wasDeviceMsgEverAdded(JNIEnv *env, jobject obj, jstring label)
|
||||
{
|
||||
CHAR_REF(label);
|
||||
jboolean ret = dc_was_device_msg_ever_added(get_dc_context(env, obj), labelPtr) != 0;
|
||||
CHAR_UNREF(label);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT void Java_com_b44t_messenger_DcContext_updateDeviceChats(JNIEnv *env, jobject obj)
|
||||
{
|
||||
dc_update_device_chats(get_dc_context(env, obj));
|
||||
}
|
||||
|
||||
|
||||
/* DcContext - handle config */
|
||||
|
||||
JNIEXPORT void Java_com_b44t_messenger_DcContext_setConfig(JNIEnv *env, jobject obj, jstring key, jstring value /*may be NULL*/)
|
||||
@@ -581,7 +692,7 @@ JNIEXPORT void Java_com_b44t_messenger_DcContext_setConfig(JNIEnv *env, jobject
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jstring Java_com_b44t_messenger_DcContext_getConfig(JNIEnv *env, jobject obj, jstring key, jstring def/*may be NULL*/)
|
||||
JNIEXPORT jstring Java_com_b44t_messenger_DcContext_getConfig(JNIEnv *env, jobject obj, jstring key)
|
||||
{
|
||||
CHAR_REF(key);
|
||||
char* temp = dc_get_config(get_dc_context(env, obj), keyPtr);
|
||||
@@ -589,7 +700,7 @@ JNIEXPORT jstring Java_com_b44t_messenger_DcContext_getConfig(JNIEnv *env, jobje
|
||||
if (temp) {
|
||||
ret = JSTRING_NEW(temp);
|
||||
}
|
||||
free(temp);
|
||||
dc_str_unref(temp);
|
||||
CHAR_UNREF(key);
|
||||
return ret; /* returns NULL only if key is unset and "def" is NULL */
|
||||
}
|
||||
@@ -609,7 +720,7 @@ JNIEXPORT jstring Java_com_b44t_messenger_DcContext_getSecurejoinQr(JNIEnv *env,
|
||||
{
|
||||
char* temp = dc_get_securejoin_qr(get_dc_context(env, obj), chat_id);
|
||||
jstring ret = JSTRING_NEW(temp);
|
||||
free(temp);
|
||||
dc_str_unref(temp);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -628,7 +739,20 @@ JNIEXPORT jstring Java_com_b44t_messenger_DcContext_getInfo(JNIEnv *env, jobject
|
||||
{
|
||||
char* temp = dc_get_info(get_dc_context(env, obj));
|
||||
jstring ret = JSTRING_NEW(temp);
|
||||
free(temp);
|
||||
dc_str_unref(temp);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jstring Java_com_b44t_messenger_DcContext_getOauth2Url(JNIEnv *env, jobject obj, jstring addr, jstring redirectUrl)
|
||||
{
|
||||
CHAR_REF(addr);
|
||||
CHAR_REF(redirectUrl);
|
||||
char* temp = dc_get_oauth2_url(get_dc_context(env, obj), addrPtr, redirectUrlPtr);
|
||||
jstring ret = JSTRING_NEW(temp);
|
||||
dc_str_unref(temp);
|
||||
CHAR_UNREF(redirectUrl);
|
||||
CHAR_UNREF(addr);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -637,7 +761,7 @@ JNIEXPORT jstring Java_com_b44t_messenger_DcContext_getContactEncrInfo(JNIEnv *e
|
||||
{
|
||||
char* temp = dc_get_contact_encrinfo(get_dc_context(env, obj), contact_id);
|
||||
jstring ret = JSTRING_NEW(temp);
|
||||
free(temp);
|
||||
dc_str_unref(temp);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -648,7 +772,7 @@ JNIEXPORT jstring Java_com_b44t_messenger_DcContext_initiateKeyTransfer(JNIEnv *
|
||||
char* temp = dc_initiate_key_transfer(get_dc_context(env, obj));
|
||||
if (temp) {
|
||||
setup_code = JSTRING_NEW(temp);
|
||||
free(temp);
|
||||
dc_str_unref(temp);
|
||||
}
|
||||
return setup_code;
|
||||
}
|
||||
@@ -671,15 +795,6 @@ JNIEXPORT void Java_com_b44t_messenger_DcContext_imex(JNIEnv *env, jobject obj,
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jint Java_com_b44t_messenger_DcContext_checkPassword(JNIEnv *env, jobject obj, jstring pw)
|
||||
{
|
||||
CHAR_REF(pw);
|
||||
jint r = dc_check_password(get_dc_context(env, obj), pwPtr);
|
||||
CHAR_UNREF(pw);
|
||||
return r;
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jstring Java_com_b44t_messenger_DcContext_imexHasBackup(JNIEnv *env, jobject obj, jstring dir)
|
||||
{
|
||||
CHAR_REF(dir);
|
||||
@@ -687,13 +802,19 @@ JNIEXPORT jstring Java_com_b44t_messenger_DcContext_imexHasBackup(JNIEnv *env, j
|
||||
char* temp = dc_imex_has_backup(get_dc_context(env, obj), dirPtr);
|
||||
if (temp) {
|
||||
ret = JSTRING_NEW(temp);
|
||||
free(temp);
|
||||
dc_str_unref(temp);
|
||||
}
|
||||
CHAR_UNREF(dir);
|
||||
return ret; /* may be NULL! */
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT void Java_com_b44t_messenger_DcContext_emptyServer(JNIEnv *env, jobject obj, jint flags)
|
||||
{
|
||||
dc_empty_server(get_dc_context(env, obj), flags);
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jint Java_com_b44t_messenger_DcContext_addAddressBook(JNIEnv *env, jobject obj, jstring adrbook)
|
||||
{
|
||||
CHAR_REF(adrbook);
|
||||
@@ -703,6 +824,138 @@ JNIEXPORT jint Java_com_b44t_messenger_DcContext_addAddressBook(JNIEnv *env, job
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT void Java_com_b44t_messenger_DcContext_sendLocationsToChat(JNIEnv *env, jobject obj, jint chat_id, jint seconds)
|
||||
{
|
||||
dc_send_locations_to_chat(get_dc_context(env, obj), chat_id, seconds);
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jboolean Java_com_b44t_messenger_DcContext_isSendingLocationsToChat(JNIEnv *env, jobject obj, jint chat_id)
|
||||
{
|
||||
return (dc_is_sending_locations_to_chat(get_dc_context(env, obj), chat_id)!=0);
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jboolean Java_com_b44t_messenger_DcContext_setLocation(JNIEnv *env, jobject obj, jfloat latitude, jfloat longitude, jfloat accuracy)
|
||||
{
|
||||
return (dc_set_location(get_dc_context(env, obj), latitude, longitude, accuracy)!=0);
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jlong Java_com_b44t_messenger_DcContext_getLocationsCPtr(JNIEnv *env, jobject obj, jint chat_id, jint contact_id, jlong timestamp_start, jlong timestamp_end)
|
||||
{
|
||||
return (jlong)dc_get_locations(get_dc_context(env, obj), chat_id, contact_id, CTIMESTAMP(timestamp_start), CTIMESTAMP(timestamp_end));
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT void Java_com_b44t_messenger_DcContext_deleteAllLocations(JNIEnv *env, jobject obj)
|
||||
{
|
||||
dc_delete_all_locations(get_dc_context(env, obj));
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jlong Java_com_b44t_messenger_DcContext_getProviderFromDomainCPtr(JNIEnv *env, jobject obj, jstring domain)
|
||||
{
|
||||
CHAR_REF(domain);
|
||||
jlong ret = (jlong)dc_provider_new_from_domain(domainPtr);
|
||||
CHAR_UNREF(domain);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jlong Java_com_b44t_messenger_DcContext_getProviderFromEmailCPtr(JNIEnv *env, jobject obj, jstring email)
|
||||
{
|
||||
CHAR_REF(email);
|
||||
jlong ret = (jlong)dc_provider_new_from_email(emailPtr);
|
||||
CHAR_UNREF(email);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
* DcArray
|
||||
******************************************************************************/
|
||||
|
||||
|
||||
static dc_array_t* get_dc_array(JNIEnv *env, jobject obj)
|
||||
{
|
||||
static jfieldID fid = 0;
|
||||
if (fid==0) {
|
||||
jclass cls = (*env)->GetObjectClass(env, obj);
|
||||
fid = (*env)->GetFieldID(env, cls, "arrayCPtr", "J" /*Signature, J=long*/);
|
||||
}
|
||||
if (fid) {
|
||||
return (dc_array_t*)(*env)->GetLongField(env, obj, fid);
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT void Java_com_b44t_messenger_DcArray_unrefArrayCPtr(JNIEnv *env, jobject obj)
|
||||
{
|
||||
dc_array_unref(get_dc_array(env, obj));
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jint Java_com_b44t_messenger_DcArray_getCnt(JNIEnv *env, jobject obj)
|
||||
{
|
||||
return dc_array_get_cnt(get_dc_array(env, obj));
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jfloat Java_com_b44t_messenger_DcArray_getLatitude(JNIEnv *env, jobject obj, jint index)
|
||||
{
|
||||
return (jfloat)dc_array_get_latitude(get_dc_array(env, obj), index);
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jfloat Java_com_b44t_messenger_DcArray_getLongitude(JNIEnv *env, jobject obj, jint index)
|
||||
{
|
||||
return (jfloat)dc_array_get_longitude(get_dc_array(env, obj), index);
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jfloat Java_com_b44t_messenger_DcArray_getAccuracy(JNIEnv *env, jobject obj, jint index)
|
||||
{
|
||||
return (jfloat)dc_array_get_accuracy(get_dc_array(env, obj), index);
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jlong Java_com_b44t_messenger_DcArray_getTimestamp(JNIEnv *env, jobject obj, jint index)
|
||||
{
|
||||
return JTIMESTAMP(dc_array_get_timestamp(get_dc_array(env, obj), index));
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jint Java_com_b44t_messenger_DcArray_getMsgId(JNIEnv *env, jobject obj, jint index)
|
||||
{
|
||||
return dc_array_get_msg_id(get_dc_array(env, obj), index);
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jint Java_com_b44t_messenger_DcArray_getLocationId(JNIEnv *env, jobject obj, jint index)
|
||||
{
|
||||
return dc_array_get_id(get_dc_array(env, obj), index);
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jstring Java_com_b44t_messenger_DcArray_getMarker(JNIEnv *env, jobject obj, jint index)
|
||||
{
|
||||
char* temp = dc_array_get_marker(get_dc_array(env, obj), index);
|
||||
jstring ret = NULL;
|
||||
if (temp) {
|
||||
ret = JSTRING_NEW(temp);
|
||||
}
|
||||
dc_str_unref(temp);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jboolean Java_com_b44t_messenger_DcArray_isIndependent(JNIEnv *env, jobject obj, jint index)
|
||||
{
|
||||
return (dc_array_is_independent(get_dc_array(env, obj), index)!=0);
|
||||
}
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
* DcChatlist
|
||||
@@ -813,27 +1066,18 @@ JNIEXPORT jint Java_com_b44t_messenger_DcChat_getArchived(JNIEnv *env, jobject o
|
||||
|
||||
JNIEXPORT jstring Java_com_b44t_messenger_DcChat_getName(JNIEnv *env, jobject obj)
|
||||
{
|
||||
const char* temp = dc_chat_get_name(get_dc_chat(env, obj));
|
||||
char* temp = dc_chat_get_name(get_dc_chat(env, obj));
|
||||
jstring ret = JSTRING_NEW(temp);
|
||||
free(temp);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jstring Java_com_b44t_messenger_DcChat_getSubtitle(JNIEnv *env, jobject obj)
|
||||
{
|
||||
const char* temp = dc_chat_get_subtitle(get_dc_chat(env, obj));
|
||||
jstring ret = JSTRING_NEW(temp);
|
||||
free(temp);
|
||||
dc_str_unref(temp);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jstring Java_com_b44t_messenger_DcChat_getProfileImage(JNIEnv *env, jobject obj)
|
||||
{
|
||||
const char* temp = dc_chat_get_profile_image(get_dc_chat(env, obj));
|
||||
char* temp = dc_chat_get_profile_image(get_dc_chat(env, obj));
|
||||
jstring ret = JSTRING_NEW(temp);
|
||||
free(temp);
|
||||
dc_str_unref(temp);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -856,22 +1100,40 @@ JNIEXPORT jboolean Java_com_b44t_messenger_DcChat_isSelfTalk(JNIEnv *env, jobjec
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jboolean Java_com_b44t_messenger_DcChat_isDeviceTalk(JNIEnv *env, jobject obj)
|
||||
{
|
||||
return dc_chat_is_device_talk(get_dc_chat(env, obj))!=0;
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jboolean Java_com_b44t_messenger_DcChat_canSend(JNIEnv *env, jobject obj)
|
||||
{
|
||||
return dc_chat_can_send(get_dc_chat(env, obj))!=0;
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jboolean Java_com_b44t_messenger_DcChat_isVerified(JNIEnv *env, jobject obj)
|
||||
{
|
||||
return dc_chat_is_verified(get_dc_chat(env, obj))!=0;
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jintArray Java_com_b44t_messenger_DcContext_getChatMedia(JNIEnv *env, jobject obj, jint chat_id, jint msg_type, jint or_msg_type)
|
||||
JNIEXPORT jboolean Java_com_b44t_messenger_DcChat_isSendingLocations(JNIEnv *env, jobject obj)
|
||||
{
|
||||
dc_array_t* ca = dc_get_chat_media(get_dc_context(env, obj), chat_id, msg_type, or_msg_type);
|
||||
return dc_chat_is_sending_locations(get_dc_chat(env, obj))!=0;
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jintArray Java_com_b44t_messenger_DcContext_getChatMedia(JNIEnv *env, jobject obj, jint chat_id, jint type1, jint type2, jint type3)
|
||||
{
|
||||
dc_array_t* ca = dc_get_chat_media(get_dc_context(env, obj), chat_id, type1, type2, type3);
|
||||
return dc_array2jintArray_n_unref(env, ca);
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jint Java_com_b44t_messenger_DcContext_getNextMedia(JNIEnv *env, jobject obj, jint msg_id, jint dir)
|
||||
JNIEXPORT jint Java_com_b44t_messenger_DcContext_getNextMedia(JNIEnv *env, jobject obj, jint msg_id, jint dir, jint type1, jint type2, jint type3)
|
||||
{
|
||||
return dc_get_next_media(get_dc_context(env, obj), msg_id, dir);
|
||||
return dc_get_next_media(get_dc_context(env, obj), msg_id, dir, type1, type2, type3);
|
||||
}
|
||||
|
||||
|
||||
@@ -942,7 +1204,7 @@ JNIEXPORT jstring Java_com_b44t_messenger_DcMsg_getText(JNIEnv *env, jobject obj
|
||||
{
|
||||
char* temp = dc_msg_get_text(get_dc_msg(env, obj));
|
||||
jstring ret = JSTRING_NEW(temp);
|
||||
free(temp);
|
||||
dc_str_unref(temp);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -953,6 +1215,24 @@ JNIEXPORT jlong Java_com_b44t_messenger_DcMsg_getTimestamp(JNIEnv *env, jobject
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jlong Java_com_b44t_messenger_DcMsg_getSortTimestamp(JNIEnv *env, jobject obj)
|
||||
{
|
||||
return JTIMESTAMP(dc_msg_get_sort_timestamp(get_dc_msg(env, obj)));
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jboolean Java_com_b44t_messenger_DcMsg_hasDeviatingTimestamp(JNIEnv *env, jobject obj)
|
||||
{
|
||||
return dc_msg_has_deviating_timestamp(get_dc_msg(env, obj))!=0;
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jboolean Java_com_b44t_messenger_DcMsg_hasLocation(JNIEnv *env, jobject obj)
|
||||
{
|
||||
return dc_msg_has_location(get_dc_msg(env, obj))!=0;
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jint Java_com_b44t_messenger_DcMsg_getType(JNIEnv *env, jobject obj)
|
||||
{
|
||||
return dc_msg_get_viewtype(get_dc_msg(env, obj));
|
||||
@@ -1019,7 +1299,7 @@ JNIEXPORT jstring Java_com_b44t_messenger_DcMsg_getSummarytext(JNIEnv *env, jobj
|
||||
{
|
||||
char* temp = dc_msg_get_summarytext(get_dc_msg(env, obj), approx_characters);
|
||||
jstring ret = JSTRING_NEW(temp);
|
||||
free(temp);
|
||||
dc_str_unref(temp);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -1034,7 +1314,7 @@ JNIEXPORT jstring Java_com_b44t_messenger_DcMsg_getFile(JNIEnv *env, jobject obj
|
||||
{
|
||||
char* temp = dc_msg_get_file(get_dc_msg(env, obj));
|
||||
jstring ret = JSTRING_NEW(temp);
|
||||
free(temp);
|
||||
dc_str_unref(temp);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -1043,7 +1323,7 @@ JNIEXPORT jstring Java_com_b44t_messenger_DcMsg_getFilemime(JNIEnv *env, jobject
|
||||
{
|
||||
char* temp = dc_msg_get_filemime(get_dc_msg(env, obj));
|
||||
jstring ret = JSTRING_NEW(temp);
|
||||
free(temp);
|
||||
dc_str_unref(temp);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -1052,7 +1332,7 @@ JNIEXPORT jstring Java_com_b44t_messenger_DcMsg_getFilename(JNIEnv *env, jobject
|
||||
{
|
||||
char* temp = dc_msg_get_filename(get_dc_msg(env, obj));
|
||||
jstring ret = JSTRING_NEW(temp);
|
||||
free(temp);
|
||||
dc_str_unref(temp);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -1085,7 +1365,7 @@ JNIEXPORT jstring Java_com_b44t_messenger_DcMsg_getSetupCodeBegin(JNIEnv *env, j
|
||||
{
|
||||
char* temp = dc_msg_get_setupcodebegin(get_dc_msg(env, obj));
|
||||
jstring ret = JSTRING_NEW(temp);
|
||||
free(temp);
|
||||
dc_str_unref(temp);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -1120,6 +1400,13 @@ JNIEXPORT void Java_com_b44t_messenger_DcMsg_setDuration(JNIEnv *env, jobject ob
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT void Java_com_b44t_messenger_DcMsg_setLocation(JNIEnv *env, jobject obj, jfloat latitude, jfloat longitude)
|
||||
{
|
||||
dc_msg_set_location(get_dc_msg(env, obj), latitude, longitude);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
* DcContact
|
||||
******************************************************************************/
|
||||
@@ -1153,54 +1440,54 @@ JNIEXPORT jint Java_com_b44t_messenger_DcContact_getId(JNIEnv *env, jobject obj)
|
||||
|
||||
JNIEXPORT jstring Java_com_b44t_messenger_DcContact_getName(JNIEnv *env, jobject obj)
|
||||
{
|
||||
const char* temp = dc_contact_get_name(get_dc_contact(env, obj));
|
||||
char* temp = dc_contact_get_name(get_dc_contact(env, obj));
|
||||
jstring ret = JSTRING_NEW(temp);
|
||||
free(temp);
|
||||
dc_str_unref(temp);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jstring Java_com_b44t_messenger_DcContact_getDisplayName(JNIEnv *env, jobject obj)
|
||||
{
|
||||
const char* temp = dc_contact_get_display_name(get_dc_contact(env, obj));
|
||||
char* temp = dc_contact_get_display_name(get_dc_contact(env, obj));
|
||||
jstring ret = JSTRING_NEW(temp);
|
||||
free(temp);
|
||||
dc_str_unref(temp);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jstring Java_com_b44t_messenger_DcContact_getFirstName(JNIEnv *env, jobject obj)
|
||||
{
|
||||
const char* temp = dc_contact_get_first_name(get_dc_contact(env, obj));
|
||||
char* temp = dc_contact_get_first_name(get_dc_contact(env, obj));
|
||||
jstring ret = JSTRING_NEW(temp);
|
||||
free(temp);
|
||||
dc_str_unref(temp);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jstring Java_com_b44t_messenger_DcContact_getAddr(JNIEnv *env, jobject obj)
|
||||
{
|
||||
const char* temp = dc_contact_get_addr(get_dc_contact(env, obj));
|
||||
char* temp = dc_contact_get_addr(get_dc_contact(env, obj));
|
||||
jstring ret = JSTRING_NEW(temp);
|
||||
free(temp);
|
||||
dc_str_unref(temp);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jstring Java_com_b44t_messenger_DcContact_getNameNAddr(JNIEnv *env, jobject obj)
|
||||
{
|
||||
const char* temp = dc_contact_get_name_n_addr(get_dc_contact(env, obj));
|
||||
char* temp = dc_contact_get_name_n_addr(get_dc_contact(env, obj));
|
||||
jstring ret = JSTRING_NEW(temp);
|
||||
free(temp);
|
||||
dc_str_unref(temp);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jstring Java_com_b44t_messenger_DcContact_getProfileImage(JNIEnv *env, jobject obj)
|
||||
{
|
||||
const char* temp = dc_contact_get_profile_image(get_dc_contact(env, obj));
|
||||
char* temp = dc_contact_get_profile_image(get_dc_contact(env, obj));
|
||||
jstring ret = JSTRING_NEW(temp);
|
||||
free(temp);
|
||||
dc_str_unref(temp);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -1246,7 +1533,7 @@ JNIEXPORT jstring Java_com_b44t_messenger_DcLot_getText1(JNIEnv *env, jobject ob
|
||||
{
|
||||
char* temp = dc_lot_get_text1(get_dc_lot(env, obj));
|
||||
jstring ret = JSTRING_NEW(temp);
|
||||
free(temp);
|
||||
dc_str_unref(temp);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -1261,7 +1548,7 @@ JNIEXPORT jstring Java_com_b44t_messenger_DcLot_getText2(JNIEnv *env, jobject ob
|
||||
{
|
||||
char* temp = dc_lot_get_text2(get_dc_lot(env, obj));
|
||||
jstring ret = JSTRING_NEW(temp);
|
||||
free(temp);
|
||||
dc_str_unref(temp);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -1290,6 +1577,72 @@ JNIEXPORT void Java_com_b44t_messenger_DcLot_unrefLotCPtr(JNIEnv *env, jobject o
|
||||
}
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
* DcProvider
|
||||
******************************************************************************/
|
||||
|
||||
|
||||
static dc_provider_t* get_dc_provider(JNIEnv *env, jobject obj)
|
||||
{
|
||||
static jfieldID fid = 0;
|
||||
if (fid==0) {
|
||||
jclass cls = (*env)->GetObjectClass(env, obj);
|
||||
fid = (*env)->GetFieldID(env, cls, "providerCPtr", "J" /*Signature, J=long*/);
|
||||
}
|
||||
if (fid) {
|
||||
return (dc_provider_t*)(*env)->GetLongField(env, obj, fid);
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT void Java_com_b44t_messenger_DcProvider_unrefProviderCPtr(JNIEnv *env, jobject obj)
|
||||
{
|
||||
dc_provider_unref(get_dc_provider(env, obj));
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jstring Java_com_b44t_messenger_DcProvider_getName(JNIEnv *env, jobject obj)
|
||||
{
|
||||
char* temp = dc_provider_get_name(get_dc_provider(env, obj));
|
||||
jstring ret = JSTRING_NEW(temp);
|
||||
dc_str_unref(temp);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jint Java_com_b44t_messenger_DcProvider_getStatus(JNIEnv *env, jobject obj)
|
||||
{
|
||||
return (jint)dc_provider_get_status(get_dc_provider(env, obj));
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jstring Java_com_b44t_messenger_DcProvider_getStatusDate(JNIEnv *env, jobject obj)
|
||||
{
|
||||
char* temp = dc_provider_get_status_date(get_dc_provider(env, obj));
|
||||
jstring ret = JSTRING_NEW(temp);
|
||||
dc_str_unref(temp);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jstring Java_com_b44t_messenger_DcProvider_getMarkdown(JNIEnv *env, jobject obj)
|
||||
{
|
||||
char* temp = dc_provider_get_markdown(get_dc_provider(env, obj));
|
||||
jstring ret = JSTRING_NEW(temp);
|
||||
dc_str_unref(temp);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jstring Java_com_b44t_messenger_DcProvider_getOverviewPage(JNIEnv *env, jobject obj)
|
||||
{
|
||||
char* temp = dc_provider_get_overview_page(get_dc_provider(env, obj));
|
||||
jstring ret = JSTRING_NEW(temp);
|
||||
dc_str_unref(temp);
|
||||
return ret;
|
||||
}
|
||||
|
||||
/*******************************************************************************
|
||||
* Tools
|
||||
******************************************************************************/
|
||||
@@ -1317,17 +1670,3 @@ JNIEXPORT jstring Java_com_b44t_messenger_DcContext_dataToString(JNIEnv *env, jc
|
||||
return JSTRING_NEW(cstring);
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jlong Java_com_b44t_messenger_DcContext_stringToData(JNIEnv *env, jclass cls, jstring javaString)
|
||||
{
|
||||
char* cstring = NULL;
|
||||
if (javaString) {
|
||||
CHAR_REF(javaString);
|
||||
cstring = strdup(javaStringPtr);
|
||||
CHAR_UNREF(javaString);
|
||||
}
|
||||
return (jlong)cstring; // the return value of stringToData() will be passed to c-land and free()'d there
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
echo "starting time: `date`"
|
||||
|
||||
cd jni/deltachat-core-rust
|
||||
|
||||
# to setup the toolchains (from https://medium.com/visly/rust-on-android-19f34a2fb43 )
|
||||
# run the following in `jni/deltachat-core-rust`:
|
||||
# $ rustup target add armv7-linux-androideabi aarch64-linux-android i686-linux-android x86_64-linux-android
|
||||
# after that, add PATH_TO_NDK/toolchains/llvm/prebuilt/HOST/bin to your $PATH
|
||||
# and add the correct clang-linkers to `~/.cargo/config`:
|
||||
# ```
|
||||
# [target.armv7-linux-androideabi]
|
||||
# linker = "PATH_TO_NDK/toolchains/llvm/prebuilt/HOST/bin/armv7a-linux-androideabi18-clang"
|
||||
# [target.aarch64-linux-android]
|
||||
# linker = "PATH_TO_NDK/toolchains/llvm/prebuilt/HOST/bin/aarch64-linux-android21-clang"
|
||||
# [target.i686-linux-android]
|
||||
# linker = "PATH_TO_NDK/toolchains/llvm/prebuilt/HOST/bin/i686-linux-android18-clang"
|
||||
# [target.x86_64-linux-android]
|
||||
# linker = "PATH_TO_NDK/toolchains/llvm/prebuilt/HOST/bin/x86_64-linux-android21-clang"
|
||||
# ```
|
||||
# then, the following should work:
|
||||
|
||||
echo "-- cross compiling to armv7-linux-androideabi (arm) --"
|
||||
export CFLAGS=-D__ANDROID_API__=18
|
||||
TARGET_CC=armv7a-linux-androideabi18-clang \
|
||||
cargo build --release --target armv7-linux-androideabi -p deltachat_ffi
|
||||
|
||||
echo "-- cross compiling to aarch64-linux-android (arm64) --"
|
||||
export CFLAGS=-D__ANDROID_API__=21
|
||||
TARGET_CC=aarch64-linux-android21-clang \
|
||||
cargo build --release --target aarch64-linux-android -p deltachat_ffi
|
||||
|
||||
echo "-- cross compiling to i686-linux-android (x86) --"
|
||||
export CFLAGS=-D__ANDROID_API__=18
|
||||
TARGET_CC=i686-linux-android18-clang \
|
||||
cargo build --release --target i686-linux-android -p deltachat_ffi
|
||||
|
||||
echo "-- cross compiling to x86_64-linux-android (x86_64) --"
|
||||
export CFLAGS=-D__ANDROID_API__=21
|
||||
TARGET_CC=x86_64-linux-android21-clang \
|
||||
cargo build --release --target x86_64-linux-android -p deltachat_ffi
|
||||
|
||||
echo -- copy generated .a files --
|
||||
cd ..
|
||||
rm armeabi-v7a/*
|
||||
rm arm64-v8a/*
|
||||
rm x86/*
|
||||
rm x86_64/*
|
||||
mkdir -p armeabi-v7a
|
||||
mkdir -p arm64-v8a
|
||||
mkdir -p x86
|
||||
mkdir -p x86_64
|
||||
cp deltachat-core-rust/target/armv7-linux-androideabi/release/libdeltachat.a armeabi-v7a
|
||||
cp deltachat-core-rust/target/aarch64-linux-android/release/libdeltachat.a arm64-v8a
|
||||
cp deltachat-core-rust/target/i686-linux-android/release/libdeltachat.a x86
|
||||
cp deltachat-core-rust/target/x86_64-linux-android/release/libdeltachat.a x86_64
|
||||
|
||||
echo -- ndk-build --
|
||||
cd ..
|
||||
ndk-build
|
||||
echo "ending time: `date`"
|
||||
@@ -1,13 +0,0 @@
|
||||
# https://code.google.com/p/android/issues/detail?id=78377
|
||||
-keepnames class !android.support.v7.internal.view.menu.**, ** { *; }
|
||||
|
||||
-keep public class android.support.v7.widget.** { *; }
|
||||
-keep public class android.support.v7.internal.widget.** { *; }
|
||||
|
||||
-keep public class * extends android.support.v4.view.ActionProvider {
|
||||
public <init>(android.content.Context);
|
||||
}
|
||||
|
||||
-keepattributes *Annotation*
|
||||
-keep public class * extends android.support.design.widget.CoordinatorLayout.Behavior { *; }
|
||||
-keep public class * extends android.support.design.widget.ViewOffsetBehavior { *; }
|
||||
@@ -1,13 +0,0 @@
|
||||
-keepattributes Exceptions
|
||||
-dontskipnonpubliclibraryclassmembers
|
||||
|
||||
-dontwarn android.test.**
|
||||
-dontwarn com.android.support.test.**
|
||||
-dontwarn sun.reflect.**
|
||||
-dontwarn sun.misc.**
|
||||
-dontwarn org.assertj.**
|
||||
-dontwarn org.hamcrest.**
|
||||
-dontwarn org.mockito.**
|
||||
-dontwarn com.squareup.**
|
||||
|
||||
-dontobfuscate
|
||||
@@ -1,6 +0,0 @@
|
||||
-keep public class * implements com.bumptech.glide.module.GlideModule
|
||||
-keep public class * extends com.bumptech.glide.AppGlideModule
|
||||
-keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {
|
||||
**[] $VALUES;
|
||||
public *;
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
## Google Play Services 4.3.23 specific rules ##
|
||||
## https://developer.android.com/google/play-services/setup.html#Proguard ##
|
||||
|
||||
-keep class * extends java.util.ListResourceBundle {
|
||||
protected Object[][] getContents();
|
||||
}
|
||||
|
||||
-keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable {
|
||||
public static final *** NULL;
|
||||
}
|
||||
|
||||
-keepnames @com.google.android.gms.common.annotation.KeepName class *
|
||||
-keepclassmembernames class * {
|
||||
@com.google.android.gms.common.annotation.KeepName *;
|
||||
}
|
||||
|
||||
-keepnames class * implements android.os.Parcelable {
|
||||
public static final ** CREATOR;
|
||||
}
|
||||
@@ -1,12 +0,0 @@
|
||||
# Proguard configuration for Jackson 2.x (fasterxml package instead of codehaus package)
|
||||
|
||||
-keepattributes *Annotation*,EnclosingMethod,Signature
|
||||
-keepnames class com.fasterxml.jackson.** {
|
||||
*;
|
||||
}
|
||||
-keepnames interface com.fasterxml.jackson.** {
|
||||
*;
|
||||
}
|
||||
-dontwarn com.fasterxml.jackson.databind.**
|
||||
-keep class org.codehaus.** { *; }
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
-dontwarn retrofit.**
|
||||
-keep class retrofit.** { *; }
|
||||
-keepattributes Signature
|
||||
-keepattributes Exceptions
|
||||
@@ -1,2 +0,0 @@
|
||||
-dontwarn java.lang.invoke.*
|
||||
-dontwarn **$$Lambda$*
|
||||
@@ -1 +0,0 @@
|
||||
-dontwarn com.squareup.picasso.**
|
||||
@@ -1 +0,0 @@
|
||||
-keep class me.leolin.shortcutbadger.** {*;}
|
||||
@@ -1,12 +0,0 @@
|
||||
-dontoptimize
|
||||
-keepattributes SourceFile,LineNumberTable
|
||||
-keep class org.whispersystems.** { *; }
|
||||
-keep class org.thoughtcrime.securesms.** { *; }
|
||||
-keepclassmembers class ** {
|
||||
public void onEvent*(**);
|
||||
}
|
||||
-keepclassmembers enum * {
|
||||
public static **[] values();
|
||||
public static ** valueOf(java.lang.String);
|
||||
}
|
||||
|
||||
@@ -1,59 +0,0 @@
|
||||
/**
|
||||
* Copyright (C) 2018 Open Whisper Systems
|
||||
*
|
||||
* Licensed according to the LICENSE file in this repository.
|
||||
*/
|
||||
|
||||
package signal;
|
||||
|
||||
option java_package = "org.thoughtcrime.securesms.backup";
|
||||
option java_outer_classname = "BackupProtos";
|
||||
|
||||
message SqlStatement {
|
||||
message SqlParameter {
|
||||
optional string stringParamter = 1;
|
||||
optional uint64 integerParameter = 2;
|
||||
optional double doubleParameter = 3;
|
||||
optional bytes blobParameter = 4;
|
||||
optional bool nullparameter = 5;
|
||||
}
|
||||
|
||||
optional string statement = 1;
|
||||
repeated SqlParameter parameters = 2;
|
||||
}
|
||||
|
||||
message SharedPreference {
|
||||
optional string file = 1;
|
||||
optional string key = 2;
|
||||
optional string value = 3;
|
||||
}
|
||||
|
||||
message Attachment {
|
||||
optional uint64 rowId = 1;
|
||||
optional uint64 attachmentId = 2;
|
||||
optional uint32 length = 3;
|
||||
}
|
||||
|
||||
message Avatar {
|
||||
optional string name = 1;
|
||||
optional uint32 length = 2;
|
||||
}
|
||||
|
||||
message DatabaseVersion {
|
||||
optional uint32 version = 1;
|
||||
}
|
||||
|
||||
message Header {
|
||||
optional bytes iv = 1;
|
||||
optional bytes salt = 2;
|
||||
}
|
||||
|
||||
message BackupFrame {
|
||||
optional Header header = 1;
|
||||
optional SqlStatement statement = 2;
|
||||
optional SharedPreference preference = 3;
|
||||
optional Attachment attachment = 4;
|
||||
optional DatabaseVersion version = 5;
|
||||
optional bool end = 6;
|
||||
optional Avatar avatar = 7;
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
|
||||
all:
|
||||
protoc --java_out=../src/ WebRtcData.proto Backups.proto
|
||||
@@ -1,31 +0,0 @@
|
||||
/**
|
||||
* Copyright (C) 2014-2016 Open Whisper Systems
|
||||
*
|
||||
* Licensed according to the LICENSE file in this repository.
|
||||
*/
|
||||
|
||||
package signal;
|
||||
|
||||
option java_package = "org.thoughtcrime.securesms.webrtc";
|
||||
option java_outer_classname = "WebRtcDataProtos";
|
||||
|
||||
message Connected {
|
||||
optional uint64 id = 1;
|
||||
}
|
||||
|
||||
message Hangup {
|
||||
optional uint64 id = 1;
|
||||
}
|
||||
|
||||
message VideoStreamingStatus {
|
||||
optional uint64 id = 1;
|
||||
optional bool enabled = 2;
|
||||
}
|
||||
|
||||
message Data {
|
||||
|
||||
optional Connected connected = 1;
|
||||
optional Hangup hangup = 2;
|
||||
optional VideoStreamingStatus videoStreamingStatus = 3;
|
||||
|
||||
}
|
||||
|
Before Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 360 B |
|
Before Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 696 B |
|
After Width: | Height: | Size: 710 B |
|
Before Width: | Height: | Size: 585 B |
|
Before Width: | Height: | Size: 201 B |
|
Before Width: | Height: | Size: 4.7 KiB |
|
After Width: | Height: | Size: 832 B |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 974 B |
|
Before Width: | Height: | Size: 988 B |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 196 B |
|
Before Width: | Height: | Size: 295 B |
|
Before Width: | Height: | Size: 307 B |
|
After Width: | Height: | Size: 427 B |
|
After Width: | Height: | Size: 423 B |
|
Before Width: | Height: | Size: 220 B |
|
After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 449 B |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 410 B |
|
After Width: | Height: | Size: 914 B |
|
Before Width: | Height: | Size: 354 B |
|
After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 941 B |
|
Before Width: | Height: | Size: 862 B |
|
Before Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 284 B |
|
Before Width: | Height: | Size: 341 B |
|
Before Width: | Height: | Size: 386 B |
|
Before Width: | Height: | Size: 353 B |
|
Before Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 300 B |
|
Before Width: | Height: | Size: 1023 B |
|
Before Width: | Height: | Size: 888 B |
|
After Width: | Height: | Size: 478 B |
|
After Width: | Height: | Size: 498 B |
|
Before Width: | Height: | Size: 377 B |
|
Before Width: | Height: | Size: 149 B |
|
Before Width: | Height: | Size: 3.1 KiB |
|
After Width: | Height: | Size: 468 B |
|
After Width: | Height: | Size: 586 B |
|
After Width: | Height: | Size: 624 B |
|
Before Width: | Height: | Size: 837 B |
|
Before Width: | Height: | Size: 769 B |
|
Before Width: | Height: | Size: 583 B |
|
Before Width: | Height: | Size: 557 B |
|
After Width: | Height: | Size: 922 B |
|
After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 133 B |
|
Before Width: | Height: | Size: 214 B |
|
Before Width: | Height: | Size: 255 B |
|
Before Width: | Height: | Size: 159 B |