mirror of
https://github.com/vector-im/riotX-android
synced 2025-10-06 00:02:48 +02:00
Compare commits
3133 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
4f6b6ddfa8 | ||
|
dfc2460189 | ||
|
d8177c4b5d | ||
|
e215d964ff | ||
|
64317c420a | ||
|
f1ff0a78fc | ||
|
fdf983a2c8 | ||
|
a8c8906934 | ||
|
35b381e7ea | ||
|
bb4a45a93d | ||
|
8216acfd5c | ||
|
ba83092ebc | ||
|
f6477d5e3b | ||
|
ec093e78b0 | ||
|
a8f4b318c1 | ||
|
c2401e04b4 | ||
|
a538014935 | ||
|
45077c69f7 | ||
|
9b011f9fbd | ||
|
02e3dac1c7 | ||
|
5cc9c6231b | ||
|
9f4a459116 | ||
|
d2fc32117c | ||
|
c13f30a5c1 | ||
|
871925e340 | ||
|
bcd1271671 | ||
|
788503bb4d | ||
|
3373b7c265 | ||
|
3e06a02c7c | ||
|
60ec09abb3 | ||
|
e82dbc5181 | ||
|
e66123686c | ||
|
201552e12b | ||
|
5f65a42855 | ||
|
aa24e484ee | ||
|
61304709ac | ||
|
0cd0484b41 | ||
|
296a1c4770 | ||
|
bf1db5dcf9 | ||
|
a0730943b4 | ||
|
bf9a22c1b0 | ||
|
7f3c4f0073 | ||
|
756ff3d938 | ||
|
c167c8874d | ||
|
5b58229274 | ||
|
78012d5c72 | ||
|
5f6541fbb5 | ||
|
361178ba50 | ||
|
a5cc0f98ab | ||
|
072caf8edb | ||
|
c0007dbf24 | ||
|
75553da059 | ||
|
1271fa14ed | ||
|
6f5018afca | ||
|
170404fb6e | ||
|
812f935d23 | ||
|
b8d449ed8d | ||
|
60a210194d | ||
|
885a663380 | ||
|
8566aa2df5 | ||
|
a860c273d1 | ||
|
eb4af96267 | ||
|
5dd64e7c7a | ||
|
a0eba7b9e2 | ||
|
c1e734f7b6 | ||
|
5037603fdd | ||
|
262f5b1651 | ||
|
b59cd159e3 | ||
|
78653eb1d9 | ||
|
d7174d3c74 | ||
|
c57ae131dc | ||
|
066d4d9fb6 | ||
|
2e4750a0ab | ||
|
516a9bc929 | ||
|
660b2b283a | ||
|
6bd2ee5f4c | ||
|
f8aa820aad | ||
|
192edc54e9 | ||
|
09ffa34039 | ||
|
059846a80b | ||
|
b052cbf998 | ||
|
03451b405e | ||
|
0b7c6626df | ||
|
bdec140229 | ||
|
ee72eb8808 | ||
|
26bf8df29a | ||
|
13069fa599 | ||
|
758a766625 | ||
|
62a9e6ee03 | ||
|
34eb205f8b | ||
|
60caac4214 | ||
|
aaa9c7e795 | ||
|
efdaa49e70 | ||
|
a7dc7e8d8a | ||
|
88fec379c4 | ||
|
5adceaca23 | ||
|
a626f42a3b | ||
|
30c299ebe1 | ||
|
c9ef08d8a9 | ||
|
2f16a7fff3 | ||
|
3da20aea29 | ||
|
6c2a917d9f | ||
|
c7c589354e | ||
|
53568f1477 | ||
|
3900a3ef33 | ||
|
e7d9ffc992 | ||
|
c6bd6e4961 | ||
|
8e28872c9f | ||
|
10bd1006e1 | ||
|
7e79473df5 | ||
|
d4d43f228c | ||
|
1aa706dee5 | ||
|
7cd90b0b14 | ||
|
25f25b0e95 | ||
|
57f3a2437e | ||
|
cfe64eed2a | ||
|
e945b8911c | ||
|
54f707644c | ||
|
cdd2fca258 | ||
|
b4e7f10019 | ||
|
5eb794f8af | ||
|
ec87faa24b | ||
|
fd0a6746bd | ||
|
6cb10b0e9f | ||
|
5afc689bcf | ||
|
886bd3cc8f | ||
|
7405d501f6 | ||
|
60b351cddd | ||
|
73bf50b93c | ||
|
7091de9942 | ||
|
a7e3c0d0d8 | ||
|
00911a7f7e | ||
|
4c8a8d8cfb | ||
|
4caf333769 | ||
|
9c139b3bd0 | ||
|
5f148eb478 | ||
|
40c951d114 | ||
|
07ad907db4 | ||
|
f123db398e | ||
|
ebbd9af7a6 | ||
|
739bd7fd84 | ||
|
ad8f42a9c0 | ||
|
1c75c8f6f2 | ||
|
df75c9375f | ||
|
ba52336a60 | ||
|
fe8a9c8753 | ||
|
936ca950d9 | ||
|
c5dfcc9c09 | ||
|
ff37ed0e1f | ||
|
d0bb1bcf59 | ||
|
56dd0541e5 | ||
|
ad270a4e2b | ||
|
f1da60e582 | ||
|
be660fbbf3 | ||
|
bd2ed4c58a | ||
|
5d092ce18a | ||
|
a11941714d | ||
|
bdbfbe6175 | ||
|
0bc007c2c3 | ||
|
a7e1d61144 | ||
|
ba7c5acd92 | ||
|
9ad1ad2156 | ||
|
adabb31688 | ||
|
0c211d7b1e | ||
|
b764746323 | ||
|
d0647abcc6 | ||
|
45a51d138e | ||
|
e3464f58fa | ||
|
9ca940eba1 | ||
|
0916dba0fa | ||
|
53dbd7da96 | ||
|
91053616af | ||
|
b72e6edd0a | ||
|
ed0143c240 | ||
|
1d5ed46a49 | ||
|
05988107a7 | ||
|
952a0f7c07 | ||
|
e356e71431 | ||
|
7a7c292b3c | ||
|
be488ae75a | ||
|
79c8ef7ebf | ||
|
a75ceee03f | ||
|
2070b0ecde | ||
|
0ff222bc0b | ||
|
19f9f5a6ee | ||
|
a2d7d54550 | ||
|
cededa8c3b | ||
|
74aea4611a | ||
|
4dd5b2c884 | ||
|
4bbf175187 | ||
|
115f00ff1a | ||
|
5d65c83a3d | ||
|
76f412ffe8 | ||
|
b6e739afd3 | ||
|
966a959e41 | ||
|
b862e5ccbf | ||
|
8955049110 | ||
|
5b96d80b06 | ||
|
c75554ebb9 | ||
|
a8aa1299b1 | ||
|
ff727c52dc | ||
|
c0430dac5c | ||
|
c1cbbe2044 | ||
|
520d4ac737 | ||
|
154e70cea2 | ||
|
b15f04dce7 | ||
|
33ae094684 | ||
|
435ca896b4 | ||
|
66adb9b312 | ||
|
4586b7b7e6 | ||
|
c5b32ea43f | ||
|
0a33f2c24d | ||
|
270ca779ff | ||
|
5dda5a107a | ||
|
98720ce4a5 | ||
|
e4ae80e348 | ||
|
135123d265 | ||
|
89dc4bb13e | ||
|
b809d4acf4 | ||
|
88cc7471a8 | ||
|
278bba3ada | ||
|
608a1d3f8f | ||
|
f5c79baf63 | ||
|
c59967fb6c | ||
|
da993b5b58 | ||
|
89ece22f73 | ||
|
55902b58ac | ||
|
a29ccda68e | ||
|
f7e2e741c0 | ||
|
256df7e869 | ||
|
ac2f1ee7fe | ||
|
5990e5a52b | ||
|
14b4bff477 | ||
|
b8abe1b7ad | ||
|
40907a71b6 | ||
|
ac8303bb99 | ||
|
ca2794193c | ||
|
a34d445215 | ||
|
a2996ee042 | ||
|
765f7d634e | ||
|
6d1cabaee3 | ||
|
e9a668be0d | ||
|
1896208181 | ||
|
0bdba9eb7d | ||
|
60a9f6fcb8 | ||
|
1894ad21e1 | ||
|
9f631768eb | ||
|
2f6d2cfe09 | ||
|
c21625079e | ||
|
6d8262077d | ||
|
7643cc506d | ||
|
9c1bec94c9 | ||
|
2e64f89ec6 | ||
|
9b829ddd04 | ||
|
f51769174d | ||
|
5a5486c4b9 | ||
|
a4cb5b1d28 | ||
|
45efb4386b | ||
|
6caa2b9ae0 | ||
|
30bb91892d | ||
|
646dfd5029 | ||
|
3116b1a1c4 | ||
|
6da4f1d84f | ||
|
13ae0ba5f1 | ||
|
343ea42ef5 | ||
|
bfc70be5bb | ||
|
8ce976549f | ||
|
dff8503493 | ||
|
5d4e71a011 | ||
|
d39e14cc5c | ||
|
74104d7d84 | ||
|
e61c8c28bb | ||
|
6f947e979b | ||
|
bb742eb483 | ||
|
6ab9b462a3 | ||
|
98aec941e2 | ||
|
1dfb10d174 | ||
|
8757d0269f | ||
|
f0d5950b13 | ||
|
5044b21545 | ||
|
baab726df2 | ||
|
2afac82c81 | ||
|
a3204fdad9 | ||
|
276808c8e9 | ||
|
0cf10b2f84 | ||
|
df795d1881 | ||
|
c938a30dd9 | ||
|
6a0ea11e7a | ||
|
95bb796bad | ||
|
013174d3dc | ||
|
f40e6b56fe | ||
|
9e0f3a1517 | ||
|
cf4e603f09 | ||
|
6530440069 | ||
|
14dbbee1e3 | ||
|
4c5be39f46 | ||
|
a52d5f6d12 | ||
|
6283846108 | ||
|
bff2c6ea93 | ||
|
7937c9945b | ||
|
bf14fa90a2 | ||
|
fa7c1a763f | ||
|
cae927b863 | ||
|
78e9a4ffe7 | ||
|
c69bc12637 | ||
|
83bf48dfff | ||
|
9df874c975 | ||
|
c08bd664ab | ||
|
34723ce4f7 | ||
|
0f27971c96 | ||
|
b0ea022eea | ||
|
76ab34f1a6 | ||
|
59e3b421bb | ||
|
cc042f2d7a | ||
|
b553ee2a76 | ||
|
067349f602 | ||
|
80657251a5 | ||
|
fabbd6da9e | ||
|
cca9a8007c | ||
|
727ce7272a | ||
|
9aa37dfbe9 | ||
|
7e156d372f | ||
|
d6f1f276c2 | ||
|
8b852a2ab2 | ||
|
e49290b8ac | ||
|
fbcb2ea8ae | ||
|
219d56a4b4 | ||
|
995f9d87bb | ||
|
512e1b339d | ||
|
4ef1f5c90f | ||
|
a52d1e4312 | ||
|
e61fc1a935 | ||
|
1888588377 | ||
|
debc3645ba | ||
|
c5b8755bab | ||
|
0382ae8273 | ||
|
e391a1371c | ||
|
db80ea6432 | ||
|
984112e83f | ||
|
963eb9daf4 | ||
|
2ca0a99dce | ||
|
79f4053ab4 | ||
|
a69ac965b6 | ||
|
2c1335a2f5 | ||
|
a2671bc0d3 | ||
|
2792d736f0 | ||
|
9dea519d0c | ||
|
7a1c6b78d4 | ||
|
558cd6f376 | ||
|
b400f3c83f | ||
|
910c0ff326 | ||
|
402e3bde83 | ||
|
0545009b0a | ||
|
8a588abc69 | ||
|
fe81fc8f93 | ||
|
941735b4d3 | ||
|
5cb26fab4d | ||
|
1c80f0045f | ||
|
1346fd3077 | ||
|
14dcd8a875 | ||
|
05643e522a | ||
|
a1d5501215 | ||
|
c6e6fc7ecb | ||
|
2948f03978 | ||
|
76890a3b26 | ||
|
3372177b0e | ||
|
a9beded589 | ||
|
b1c7cb3219 | ||
|
5bbb45de68 | ||
|
8452f7564c | ||
|
5856e563c5 | ||
|
07e8074c25 | ||
|
1cb93b60c2 | ||
|
60d9e4b344 | ||
|
87df147a28 | ||
|
9efb213ff7 | ||
|
6cb53c991a | ||
|
7a1b138894 | ||
|
e9da63e3ee | ||
|
8f1b7649aa | ||
|
4963025150 | ||
|
ca9f5161d1 | ||
|
5b149c8a34 | ||
|
e22bd8f637 | ||
|
ca45cdd5c7 | ||
|
692adffa69 | ||
|
07d6eaacf9 | ||
|
a335c5eb4b | ||
|
04cad290f7 | ||
|
d29e04f16c | ||
|
67f41028ff | ||
|
0e8018cbba | ||
|
97cae9926b | ||
|
974d5c23d3 | ||
|
d85099f23c | ||
|
edbf70c820 | ||
|
c2e649f64e | ||
|
b285bd0359 | ||
|
084e497463 | ||
|
46320ef71b | ||
|
f35050d4b4 | ||
|
10e38d3319 | ||
|
80d415b242 | ||
|
e0f5099bd6 | ||
|
900769174c | ||
|
7ccc218c6b | ||
|
a610ea06aa | ||
|
8034ea16e5 | ||
|
5fc818fac2 | ||
|
c40add88f9 | ||
|
8639582671 | ||
|
fa370861e8 | ||
|
5ccfbf4ed8 | ||
|
242962f770 | ||
|
ca39182665 | ||
|
f03155bbae | ||
|
80b1aa3c01 | ||
|
c443cffca5 | ||
|
72dcc92032 | ||
|
2da0379505 | ||
|
cf5ab304df | ||
|
9673b3b15b | ||
|
09e362ec6b | ||
|
76f4c81d2d | ||
|
eb4f36319f | ||
|
886ce7ce3b | ||
|
2d860eaa2a | ||
|
4ad5deac38 | ||
|
9ff1e20f07 | ||
|
78c87870ae | ||
|
fe4c4832bd | ||
|
2513be744c | ||
|
2a0230633d | ||
|
2c7b947d27 | ||
|
f06d2b1734 | ||
|
1eea734a4c | ||
|
dc50246ec4 | ||
|
64b6779cfa | ||
|
b0f7268d13 | ||
|
d4009476f9 | ||
|
7dc5d8490f | ||
|
1906fbdeaa | ||
|
9430d7a5dd | ||
|
adcd1a64df | ||
|
ef31aad42c | ||
|
47ef0d90fc | ||
|
ed7be13ea3 | ||
|
69c399a229 | ||
|
9d48b399df | ||
|
5676226f42 | ||
|
1ae88afcda | ||
|
752290424c | ||
|
7316bf4ee0 | ||
|
f1001231d6 | ||
|
2ebfeb1709 | ||
|
3378be935b | ||
|
ec515ced66 | ||
|
3e53fa710a | ||
|
a8bef415b7 | ||
|
de64df3cdb | ||
|
7292c4e13d | ||
|
ea6b0b6a43 | ||
|
1a0f29ff94 | ||
|
c350c94827 | ||
|
14ac5a292c | ||
|
24d2669255 | ||
|
8f3db11693 | ||
|
a61917f2b4 | ||
|
08000dce55 | ||
|
38cb8bd33e | ||
|
0f25e2986f | ||
|
984b1dd6a8 | ||
|
a5b09b9dc3 | ||
|
1d8b95560b | ||
|
7f70a03f41 | ||
|
0d02a197a5 | ||
|
3a683fc4e9 | ||
|
bca220f909 | ||
|
edd24de4c3 | ||
|
9bbe002988 | ||
|
48fa9e1a5e | ||
|
4aa93d79fe | ||
|
2764ecb256 | ||
|
230b3f31d7 | ||
|
cd0c9b4e08 | ||
|
060e9d7a7e | ||
|
631e7881ef | ||
|
2e37b5efa3 | ||
|
6b82e8d55a | ||
|
473259f150 | ||
|
7c04391037 | ||
|
bafd01c0f4 | ||
|
b1a1b4651e | ||
|
9e2f2f2372 | ||
|
a2c8680d7a | ||
|
cccf5de015 | ||
|
ab37984beb | ||
|
1ba97fa9be | ||
|
ca3e5cdf90 | ||
|
f5ecaa0339 | ||
|
5eb0097fb2 | ||
|
14184aae6f | ||
|
f0fd40b189 | ||
|
bbb51f31f3 | ||
|
ed90f376e6 | ||
|
7257736691 | ||
|
919ebaa82e | ||
|
846c5d52b8 | ||
|
43a1e283c5 | ||
|
ef5c552a3b | ||
|
57c75f8039 | ||
|
d1ab116b1d | ||
|
c3ef036dca | ||
|
885f5736c9 | ||
|
25b9547678 | ||
|
3b31f3956c | ||
|
43cad8751d | ||
|
9ac0f6d86b | ||
|
11b16ea065 | ||
|
67bdb75d80 | ||
|
d0a7265975 | ||
|
a148d21cdb | ||
|
13ec7a500a | ||
|
171793d190 | ||
|
121fd9a19d | ||
|
ed97cf7dac | ||
|
0c88d11429 | ||
|
a3d54f1466 | ||
|
0dec46eb18 | ||
|
b76fd5dd4e | ||
|
48002e11b6 | ||
|
6289d640b4 | ||
|
e2e3e2de86 | ||
|
5db0d75959 | ||
|
434018074d | ||
|
c21b19f49f | ||
|
d8327a5161 | ||
|
f7be5996e5 | ||
|
efe0a1737e | ||
|
061ab76c21 | ||
|
8e595a7605 | ||
|
b5ff31b84e | ||
|
e77cca4495 | ||
|
f6dd07eb64 | ||
|
5555b0dbb7 | ||
|
b0c23426df | ||
|
a64c7e5df2 | ||
|
e0a5241caf | ||
|
4ce71c8487 | ||
|
b30c27b7a6 | ||
|
c7fc3f0b42 | ||
|
729ce509d4 | ||
|
d737d81458 | ||
|
dcce618fd5 | ||
|
d6363a6e1b | ||
|
eea18fb71c | ||
|
71a8a948a6 | ||
|
c4a6d92481 | ||
|
0720556e48 | ||
|
4b6484d317 | ||
|
c551cf3058 | ||
|
e12b9a3dfe | ||
|
6b10406622 | ||
|
cc5260b311 | ||
|
81053f5492 | ||
|
15695dca69 | ||
|
9f101423e2 | ||
|
a619b0141a | ||
|
1ffe57ce94 | ||
|
9a70ddf0b8 | ||
|
aeffaac065 | ||
|
be578d7fae | ||
|
22f3f612d7 | ||
|
4180b4ccd3 | ||
|
301251262d | ||
|
19a2b56011 | ||
|
9190e1bfb5 | ||
|
88119a15bf | ||
|
b6b80120b2 | ||
|
28a6caf754 | ||
|
b1ab6eb58f | ||
|
fb337dacd6 | ||
|
5325c761f4 | ||
|
1538a62e37 | ||
|
dd1f65dd6f | ||
|
930675d4c9 | ||
|
bffa96ae10 | ||
|
9f96974e67 | ||
|
618333c022 | ||
|
d4c8c645d1 | ||
|
a1bfe099ad | ||
|
08af370600 | ||
|
e826900bd3 | ||
|
7a12d29d39 | ||
|
e6e7f82eb6 | ||
|
de0b745eb9 | ||
|
1ea48f89b4 | ||
|
861d652d88 | ||
|
51119ceec4 | ||
|
f6ac57ec93 | ||
|
646f00f3fc | ||
|
c52fad2e66 | ||
|
0274faa197 | ||
|
ad0b1f02f6 | ||
|
11554cebae | ||
|
a66a1cb4ec | ||
|
bd0a203e2b | ||
|
fd73f819a5 | ||
|
cfc99a93d7 | ||
|
7a8486260b | ||
|
067477169b | ||
|
3dc7a6dc34 | ||
|
9dd78b8b65 | ||
|
1a8cb97de6 | ||
|
6757b3911e | ||
|
4de1735c87 | ||
|
2f4345da99 | ||
|
cb358bbf1a | ||
|
682e926965 | ||
|
cb96886568 | ||
|
69350ef514 | ||
|
944c9641a9 | ||
|
1de74b1c92 | ||
|
a1aad53769 | ||
|
da19992f3f | ||
|
8fea6c5997 | ||
|
049df558c4 | ||
|
4a8a6d170b | ||
|
1bb32eff45 | ||
|
7efb136003 | ||
|
1d8b9f879b | ||
|
4b2cd1080d | ||
|
582340cf82 | ||
|
2a675bf8d1 | ||
|
a0d0987ed7 | ||
|
6fbde07113 | ||
|
3b5a0c90c9 | ||
|
f3d2871c8f | ||
|
3e9e00c674 | ||
|
c6c63194f7 | ||
|
e0543b3d40 | ||
|
8d5001dbff | ||
|
3cdf678846 | ||
|
7c19c9f0b7 | ||
|
6e1b584484 | ||
|
bd367400a4 | ||
|
e991917426 | ||
|
fd68ee9d10 | ||
|
0372173a83 | ||
|
c2d02669e4 | ||
|
cb57b1496f | ||
|
1ff0a0d435 | ||
|
3a8a8d5b78 | ||
|
bae802d8dc | ||
|
e277deece5 | ||
|
7a40841cbb | ||
|
9b215d2df6 | ||
|
58cd2aac13 | ||
|
f313fbe88c | ||
|
71b456c57e | ||
|
b5cc023fff | ||
|
df613c6044 | ||
|
7283a380ae | ||
|
32e3319dce | ||
|
5ecccd95e5 | ||
|
689c1a478e | ||
|
4c1eb8a152 | ||
|
2ffe54dedd | ||
|
1a898f0404 | ||
|
ece9d19d8c | ||
|
1d356cd49d | ||
|
d7884fe4d2 | ||
|
1eee3fa0e8 | ||
|
3a8680eca1 | ||
|
5e9b4e77bf | ||
|
347d00710e | ||
|
6ba50b8d1c | ||
|
17d9bcd7af | ||
|
523c6c8c33 | ||
|
5e32e98000 | ||
|
4178f39226 | ||
|
858bbfd8d2 | ||
|
0590acd31a | ||
|
a67f8ca4dc | ||
|
06cbbbe1e8 | ||
|
b3a547cd87 | ||
|
9c9d0a5d21 | ||
|
bbbe76b91c | ||
|
bc120da985 | ||
|
52f0d8a1d2 | ||
|
000b524b34 | ||
|
f5f09224b1 | ||
|
f411d9954e | ||
|
d892a8fe00 | ||
|
f1a1f07a7b | ||
|
7de5111070 | ||
|
1370bda263 | ||
|
e918a6a93b | ||
|
ea26dba1d3 | ||
|
f0b28742ac | ||
|
dd74b8a755 | ||
|
6e83f0510e | ||
|
c248670750 | ||
|
e7146f251b | ||
|
f90ee45d8c | ||
|
b5bdd134cb | ||
|
c1d71a3759 | ||
|
1769e9b751 | ||
|
f384ec0601 | ||
|
03df4aac77 | ||
|
044e37325e | ||
|
dbdf9b05fa | ||
|
070dae78e7 | ||
|
1793885ec6 | ||
|
01d0d1a5ed | ||
|
2fb289ec14 | ||
|
f54246f718 | ||
|
856481e6bc | ||
|
a2db0e4cce | ||
|
295c165e41 | ||
|
934b7e0fe0 | ||
|
5eba5e6633 | ||
|
a2ae7fc49d | ||
|
4f83639724 | ||
|
30f240f126 | ||
|
0021ec92ce | ||
|
3a12be20a0 | ||
|
d1f3b6da86 | ||
|
03b34d2425 | ||
|
33eefa08eb | ||
|
c0a7c6c319 | ||
|
c2d6785559 | ||
|
7aac9ee37e | ||
|
c52c00d653 | ||
|
16719a6709 | ||
|
a45b1daf75 | ||
|
c68ae9ab5e | ||
|
c124ec9219 | ||
|
a2f724b559 | ||
|
5758f10f00 | ||
|
f8896a5f7b | ||
|
e61261098a | ||
|
40d2b391f6 | ||
|
6a21061310 | ||
|
15cb3090da | ||
|
e7e8f26c83 | ||
|
975114f629 | ||
|
aa2a5ea98b | ||
|
6ad6ea947c | ||
|
99d05d8db3 | ||
|
b7dd7ef3e0 | ||
|
2161a214bc | ||
|
5231779a0d | ||
|
6d9c49462a | ||
|
736a8a13d9 | ||
|
c26a341645 | ||
|
1364140895 | ||
|
e9db1dbb08 | ||
|
dfb01a462e | ||
|
75ee5d38fa | ||
|
63bbc89ed8 | ||
|
4b92f74014 | ||
|
bf4e005f39 | ||
|
817675b454 | ||
|
8103c76030 | ||
|
0a065b0752 | ||
|
f8d07b0734 | ||
|
0bac55ced7 | ||
|
524c26b104 | ||
|
3fe12cbd3c | ||
|
b75a58b4d0 | ||
|
d60e68c4ee | ||
|
9dab8b9726 | ||
|
3473d669d3 | ||
|
8162d1100d | ||
|
5363526f77 | ||
|
992f41d631 | ||
|
3dc0b07edf | ||
|
0ccd8ba071 | ||
|
3f4e80992b | ||
|
e91b09ca44 | ||
|
aa3bdd6044 | ||
|
cc67e83b21 | ||
|
4d2fb303d2 | ||
|
68143ab2cf | ||
|
880da9ecd5 | ||
|
5097c45568 | ||
|
5f9baee927 | ||
|
0a5c51616c | ||
|
d13c0901f0 | ||
|
98dcd5d36c | ||
|
353aa5783d | ||
|
c4fa09dfcc | ||
|
fff0ebc638 | ||
|
d21d68ec9d | ||
|
0d6994dd43 | ||
|
f28798a793 | ||
|
aa8456575d | ||
|
f1f7347650 | ||
|
dfcffb9464 | ||
|
d19dffe45f | ||
|
e368ba606b | ||
|
7169392055 | ||
|
5d69bc934a | ||
|
706b2f5ea2 | ||
|
2864101e2a | ||
|
ea7e6243ad | ||
|
b3921e3811 | ||
|
2f4aecd590 | ||
|
0c6506da8c | ||
|
f7f4ec3ecc | ||
|
8dccdf7339 | ||
|
04f06b2803 | ||
|
3be95ca442 | ||
|
f99600f115 | ||
|
209792a9ec | ||
|
0f4e546e1e | ||
|
047c59eba0 | ||
|
5781adb163 | ||
|
8b138e8ff4 | ||
|
d4f48da7f0 | ||
|
b8c10312d1 | ||
|
a02d32c5e8 | ||
|
93fc07e96e | ||
|
a1603145e3 | ||
|
89119722df | ||
|
bc2233866b | ||
|
78d02210dd | ||
|
a421f37e70 | ||
|
2c767e7345 | ||
|
c087914c4d | ||
|
1b8b59076c | ||
|
d520dfe108 | ||
|
a95eed7163 | ||
|
ed56d12b72 | ||
|
8ec22de0b8 | ||
|
37176b9770 | ||
|
827a522803 | ||
|
45b54db59a | ||
|
d69a6e3c8e | ||
|
98cdc8e05c | ||
|
153663c349 | ||
|
c9e5bd3315 | ||
|
b268d23e58 | ||
|
771b9b8d78 | ||
|
74497dadd2 | ||
|
26d54eeb8b | ||
|
83a4f99830 | ||
|
77ffdabd60 | ||
|
7f96749d63 | ||
|
421ecea259 | ||
|
a1ebf1a3bc | ||
|
ded3b19a44 | ||
|
701f549881 | ||
|
68833b0180 | ||
|
0eca809b83 | ||
|
34a2d813cb | ||
|
00ee61a2a0 | ||
|
4b8a092448 | ||
|
92f5008a41 | ||
|
f448799104 | ||
|
f6ac3d22ab | ||
|
8433d3771a | ||
|
acd5b656d2 | ||
|
9724c1b8ce | ||
|
6dd1bc3385 | ||
|
316e685690 | ||
|
3a1f3c052c | ||
|
4328b42254 | ||
|
2c5418feaa | ||
|
ffde34cbb2 | ||
|
243b6a93f4 | ||
|
dddca8ce59 | ||
|
90634a9f9c | ||
|
0c7b9f4690 | ||
|
90a16ebbaf | ||
|
62d94a4d4f | ||
|
252eec5c2f | ||
|
852bd21e9a | ||
|
ba3ae35b62 | ||
|
767c1a9dee | ||
|
89e7d9bdbc | ||
|
07372d46b6 | ||
|
d98a91f8df | ||
|
cf32164bed | ||
|
a74bd69c25 | ||
|
9da459a503 | ||
|
809fcde275 | ||
|
5efcb93fb0 | ||
|
0098d435b3 | ||
|
c90717a2c8 | ||
|
575ebdc3e8 | ||
|
fca74e9eb4 | ||
|
270a195478 | ||
|
01aea6a260 | ||
|
5657da3493 | ||
|
34b012732e | ||
|
8366437147 | ||
|
871360754e | ||
|
cc6263b20f | ||
|
0db5dd3d50 | ||
|
c3a754604f | ||
|
302e29831e | ||
|
d2fd652fb5 | ||
|
cc5a400cfd | ||
|
f559ae1b35 | ||
|
8e8bc0055d | ||
|
3df8af27a6 | ||
|
bcc360692e | ||
|
e925d29037 | ||
|
96720af52f | ||
|
90ccc3006d | ||
|
f62ab84e59 | ||
|
8d0d7635c6 | ||
|
d3949729e1 | ||
|
cbed1afaaa | ||
|
72b1bd354e | ||
|
a636265104 | ||
|
54f26b4375 | ||
|
a26fc40744 | ||
|
13198d09ed | ||
|
0d9cba597d | ||
|
31c90d9810 | ||
|
dd0c813e71 | ||
|
e0b066380a | ||
|
28e34aa581 | ||
|
1f07636674 | ||
|
7e70d84482 | ||
|
a99393b4eb | ||
|
f543dc318a | ||
|
34f797c181 | ||
|
fe809ca2f1 | ||
|
ea4b5e19fe | ||
|
7fb76b2541 | ||
|
f30eb4af8a | ||
|
4641f77842 | ||
|
64222ff704 | ||
|
65f8546268 | ||
|
dec650eae8 | ||
|
535f3ad02d | ||
|
898c8cc3a7 | ||
|
60dee6eea3 | ||
|
f602caf323 | ||
|
d04cbadd04 | ||
|
b75d0cbfc6 | ||
|
a832da2124 | ||
|
432fd67ce2 | ||
|
5d4f60ff6f | ||
|
447bd98a78 | ||
|
2bea2de0c5 | ||
|
526f43044e | ||
|
39799c2aba | ||
|
cd66e62454 | ||
|
e67cb0eae7 | ||
|
bd8e46c84f | ||
|
2703097294 | ||
|
680837611a | ||
|
f543600b17 | ||
|
249bd18b30 | ||
|
504507a6cc | ||
|
ae1f1a27de | ||
|
03496c36dc | ||
|
9ab5e3dfee | ||
|
8eeae51cc6 | ||
|
1cc2e8b000 | ||
|
cc8182445e | ||
|
089566b5d9 | ||
|
f2c7b6508a | ||
|
3301df44fb | ||
|
9546889236 | ||
|
d99ac94bf9 | ||
|
552d763f83 | ||
|
bd3aa4024a | ||
|
a21867e380 | ||
|
3e1631c0e5 | ||
|
0fbfd27149 | ||
|
8110e9b2ab | ||
|
b44c1a1c77 | ||
|
b311173385 | ||
|
8e45b69c7d | ||
|
edc2e7e61e | ||
|
a14c00e669 | ||
|
b034870242 | ||
|
5ec1ab5b2d | ||
|
fd8295eb6c | ||
|
67ec1b4434 | ||
|
509b0f5a41 | ||
|
3a5724d900 | ||
|
7e7d245d59 | ||
|
b6cbd76849 | ||
|
d50a8a9d06 | ||
|
7eb27e3633 | ||
|
d750c40ceb | ||
|
a9c61dc309 | ||
|
6706a88a21 | ||
|
7b15403260 | ||
|
40bb58c9cb | ||
|
ebd28e98bd | ||
|
697b9ff535 | ||
|
dcf76bf6ad | ||
|
f7f80238f7 | ||
|
42d249ceeb | ||
|
c06d8dccb7 | ||
|
0df7166954 | ||
|
2b396707f9 | ||
|
3af3641b92 | ||
|
fb5dda30bd | ||
|
762eb0db12 | ||
|
ba96626bd0 | ||
|
048c13af50 | ||
|
2f3f0c294c | ||
|
cbf0357467 | ||
|
ae5a5ec92b | ||
|
abf7e275a7 | ||
|
877a64fbce | ||
|
8d3167cb66 | ||
|
cb6f414c60 | ||
|
0424d03bcc | ||
|
bcf755407b | ||
|
1b16d287e8 | ||
|
09a287013c | ||
|
0d0b6a8810 | ||
|
03f81258c4 | ||
|
2ca0397867 | ||
|
894af10934 | ||
|
201f4c342a | ||
|
e4b65053d4 | ||
|
2462c871b2 | ||
|
4c24fe815c | ||
|
86a861b779 | ||
|
6240910b90 | ||
|
9df11d6873 | ||
|
e7c5353240 | ||
|
8d94b5548d | ||
|
8360c01e18 | ||
|
df13b32a5c | ||
|
a7c1dc5cd9 | ||
|
ef884d84dc | ||
|
9b6a2c91f4 | ||
|
5d7acad75c | ||
|
4ba40b1d34 | ||
|
b11e6a2b26 | ||
|
4cf38951ef | ||
|
6961e54f15 | ||
|
0a6adad680 | ||
|
93d0fc0035 | ||
|
ad0cd98183 | ||
|
ade2f0c065 | ||
|
c423c270f7 | ||
|
8da8d44823 | ||
|
3d6fbf452f | ||
|
e80ca634ca | ||
|
07b84bbff1 | ||
|
ca2f671286 | ||
|
82c50b7c1d | ||
|
9e795894be | ||
|
c437ed394d | ||
|
974c7ef8d9 | ||
|
fa6aaca67a | ||
|
b5f7abda48 | ||
|
619e8cca37 | ||
|
7db5c66f2c | ||
|
33b2100842 | ||
|
112a160725 | ||
|
d926890c79 | ||
|
1fac4dfe3e | ||
|
62ca8d87dc | ||
|
c39a8caaed | ||
|
bebd84d1f5 | ||
|
f0adf29d12 | ||
|
209a9b09c7 | ||
|
55912ef49d | ||
|
467d3e764e | ||
|
ff1d8c310e | ||
|
57fd580124 | ||
|
25f7f29d94 | ||
|
566369cccd | ||
|
3d174b0a25 | ||
|
8114d52d7d | ||
|
9a9edd979d | ||
|
a0d04c40e9 | ||
|
5629d30932 | ||
|
5bd3aed51c | ||
|
4e55475429 | ||
|
8f4735827e | ||
|
9d7f092016 | ||
|
1aa3d04f33 | ||
|
e5cc6ceba7 | ||
|
ffba75a49e | ||
|
8c09c22239 | ||
|
448eda8624 | ||
|
722bccb0bb | ||
|
0041743bf9 | ||
|
1a70fa0fcc | ||
|
36f397be48 | ||
|
2e2667fd69 | ||
|
00b4ab8db9 | ||
|
552424befb | ||
|
37cc0dc8b6 | ||
|
0c92949e78 | ||
|
7f3d899521 | ||
|
28122aba2c | ||
|
0bfa2578a7 | ||
|
ec56e689ae | ||
|
39b89ff103 | ||
|
14629f2041 | ||
|
640b86ca9e | ||
|
535d266cc2 | ||
|
1f7482922d | ||
|
8211cc266f | ||
|
0437814479 | ||
|
1e708b113b | ||
|
25b4c32fd0 | ||
|
0711ecc7f4 | ||
|
4112d28127 | ||
|
555eada37a | ||
|
bf14251c3d | ||
|
257b2ef593 | ||
|
baa4b95e18 | ||
|
aeda8bcc81 | ||
|
08aefa270e | ||
|
df68cd4b56 | ||
|
4a94426d38 | ||
|
babbcedd87 | ||
|
c70445a9a1 | ||
|
7a28be941c | ||
|
58a2fd8c77 | ||
|
0354151fa7 | ||
|
95714e55b0 | ||
|
c27b7aec26 | ||
|
d6e3bb59f4 | ||
|
946208a84d | ||
|
dca4a31fc6 | ||
|
e09230b3cf | ||
|
0375034873 | ||
|
e61c38818e | ||
|
5a4b6b7351 | ||
|
7289f28bab | ||
|
915d82f835 | ||
|
39ee7bbff7 | ||
|
82bb0f19dd | ||
|
393ef3845e | ||
|
413145ad29 | ||
|
90f6f9f7c1 | ||
|
cd9b8c55f4 | ||
|
1b84039407 | ||
|
ebbfa901d1 | ||
|
3c0ac0a576 | ||
|
796bb80868 | ||
|
c68fc5fd10 | ||
|
cbd9ec33fe | ||
|
756e690cc1 | ||
|
dcc37ec292 | ||
|
58dfe0f924 | ||
|
4b87413b5f | ||
|
b8d936e9f1 | ||
|
2709c1e99b | ||
|
dfc8860ade | ||
|
87953e7150 | ||
|
31df08477e | ||
|
278b0d7f75 | ||
|
a42a9b5e32 | ||
|
a9c966b8de | ||
|
355ee3133c | ||
|
2f37c703a4 | ||
|
b06bd403ca | ||
|
72e343ad5a | ||
|
6af9fda7df | ||
|
5d052cda79 | ||
|
0d5b66f92b | ||
|
391e952fbd | ||
|
df3d3b63c8 | ||
|
aefcb4841b | ||
|
eb18b23528 | ||
|
03f2b516a0 | ||
|
56d0699bc7 | ||
|
1799dcbd0c | ||
|
8e28b31170 | ||
|
3ddf181224 | ||
|
0de56e2993 | ||
|
eb9fadaebf | ||
|
bdc3f189ee | ||
|
91d8ee2a81 | ||
|
824a8a5c66 | ||
|
91be2b6f3f | ||
|
cef4cf09ec | ||
|
f31c44963b | ||
|
f9820cde58 | ||
|
14144dc99d | ||
|
24a32f2b7e | ||
|
d9ffff70a6 | ||
|
631d8510ed | ||
|
4e28de2107 | ||
|
1ec08bec07 | ||
|
d81d971ce0 | ||
|
9bc02d09c7 | ||
|
3a746cf23a | ||
|
2b632a2d52 | ||
|
e34574f658 | ||
|
1b0b5e4ff0 | ||
|
cf00cc2fda | ||
|
0cd1d57fc0 | ||
|
3e66988b6a | ||
|
5631a4714e | ||
|
723f7cc326 | ||
|
80366ee938 | ||
|
31b6d9844b | ||
|
f9e608a790 | ||
|
5be3faf914 | ||
|
e6d4f9a1dc | ||
|
0e0cfababf | ||
|
7ec44a5542 | ||
|
bea67bd7fd | ||
|
525cd3edd7 | ||
|
711ee24c4f | ||
|
f1919be197 | ||
|
581847e5c1 | ||
|
0f8a641510 | ||
|
dd0e5e2bb9 | ||
|
e74f4d570d | ||
|
a272f4d4c6 | ||
|
87d35958c6 | ||
|
01ec263ff3 | ||
|
d760d6c25b | ||
|
981626a0f7 | ||
|
20f86a30e8 | ||
|
5e2c3239ea | ||
|
d42a4bb5ee | ||
|
e951b2097d | ||
|
53b20a89ca | ||
|
87b12b7e11 | ||
|
3d613c003d | ||
|
bbabfdabd0 | ||
|
e969d663a5 | ||
|
64f1834913 | ||
|
fb0205e903 | ||
|
e2682b6082 | ||
|
610c25b67c | ||
|
728356fdeb | ||
|
19223826fe | ||
|
f704539c89 | ||
|
096e95f9da | ||
|
89d71ceedc | ||
|
c88fb3a940 | ||
|
711dfe41b7 | ||
|
4864137fa1 | ||
|
efe5176286 | ||
|
3cbdf4ad5c | ||
|
506870302e | ||
|
6220e35221 | ||
|
ea93261b83 | ||
|
908e7be2ba | ||
|
cdb3d7c308 | ||
|
ea3abee63a | ||
|
961f3bcd19 | ||
|
2acfb29416 | ||
|
99d4471799 | ||
|
4abfc1fd2b | ||
|
b09e509db7 | ||
|
17e57fe86c | ||
|
64a37c251d | ||
|
080bdf1495 | ||
|
168633b466 | ||
|
ecceb0fb03 | ||
|
b9b3832ee3 | ||
|
e28556dd1b | ||
|
590d8fc849 | ||
|
62207f02f0 | ||
|
8d52829918 | ||
|
b05f53453a | ||
|
ad1832efbc | ||
|
51ea772579 | ||
|
abd8e987b8 | ||
|
0d041cbf11 | ||
|
89a08ca2a0 | ||
|
e4e9707ab7 | ||
|
42b8f74f5e | ||
|
314ace9208 | ||
|
9e4f1147f4 | ||
|
2a411ccf6c | ||
|
efc08b376b | ||
|
dd325c4e91 | ||
|
fb42b869dd | ||
|
d8bdf8e625 | ||
|
61380bf48a | ||
|
edbfc2e2e9 | ||
|
c502e971a1 | ||
|
bcf6dcbf70 | ||
|
6347564365 | ||
|
ee7518bf51 | ||
|
4189db0f89 | ||
|
9d225b7826 | ||
|
12c4f3c6f7 | ||
|
f7949100a7 | ||
|
d9ffce7e0d | ||
|
30a54cfdbc | ||
|
570cffd3ed | ||
|
d7cbae7c47 | ||
|
e510de1ccc | ||
|
765380ab95 | ||
|
d6b6768f41 | ||
|
5213309587 | ||
|
e1e4b03532 | ||
|
e108534a2a | ||
|
4a23d31271 | ||
|
8ff65b3816 | ||
|
5e1c503d2e | ||
|
a377a595b9 | ||
|
75a4455d15 | ||
|
72dcf5c65e | ||
|
d3316a1ce8 | ||
|
accea83fb0 | ||
|
d744d1c6e8 | ||
|
318fbcd4f6 | ||
|
ee8ef585ce | ||
|
a77bcb5492 | ||
|
ebfb4b4b9a | ||
|
9d81252e7b | ||
|
ba1c50e2ee | ||
|
278738a9d4 | ||
|
81213b07bb | ||
|
6bc7ee0d96 | ||
|
01d0201852 | ||
|
9e1a24eaf9 | ||
|
01d857bbce | ||
|
c9abdb5def | ||
|
0a9fdea26d | ||
|
e3204c32a1 | ||
|
8edbd323de | ||
|
47aa787ecb | ||
|
c4a4a5d41c | ||
|
aa9f4c2e6e | ||
|
589be8b15f | ||
|
6180076512 | ||
|
257d5cd55a | ||
|
5a53838194 | ||
|
33337bd772 | ||
|
38e83e1f35 | ||
|
5d9d984c73 | ||
|
90f4a9490d | ||
|
d28c6039c0 | ||
|
bea9abd9a6 | ||
|
b3ac1a1e8b | ||
|
c09f7e0d7d | ||
|
258a378f39 | ||
|
63a59dbc0c | ||
|
ef55ddd683 | ||
|
d235d1be15 | ||
|
6e9c16a889 | ||
|
5d65a290d2 | ||
|
af3893cdc9 | ||
|
4486181669 | ||
|
7117427686 | ||
|
f0433fd27d | ||
|
d812ed72d0 | ||
|
2d7bface27 | ||
|
faef2fba9a | ||
|
adae66aa43 | ||
|
51a39909dc | ||
|
c141b26212 | ||
|
408a0fc010 | ||
|
344a7e5b3d | ||
|
9972ab5d2e | ||
|
01b0c7a036 | ||
|
ab68903d7f | ||
|
79f125cccd | ||
|
98177da6b1 | ||
|
659d012e13 | ||
|
55f1f56fec | ||
|
30d7c73b2d | ||
|
f89a7496aa | ||
|
31ffa65fd0 | ||
|
7465ac2ef6 | ||
|
264eb3b0a2 | ||
|
e073563a67 | ||
|
80b155e042 | ||
|
bd0fcce572 | ||
|
a5c0c23bae | ||
|
e5d0a8f3d8 | ||
|
dc69d5c68a | ||
|
ecd2d0fb76 | ||
|
c33da38ddb | ||
|
0e563596dd | ||
|
8afa697591 | ||
|
82ee2567b7 | ||
|
95639927a7 | ||
|
4acc308864 | ||
|
751efb57fc | ||
|
7593c3f03d | ||
|
cacc83bf17 | ||
|
c043e6e958 | ||
|
4d3a02f71f | ||
|
ea645d147d | ||
|
7beb483972 | ||
|
b86fd37c15 | ||
|
b2e6b3f0db | ||
|
c40476aa94 | ||
|
195bc8e914 | ||
|
9cb19c0581 | ||
|
ba641a6e76 | ||
|
8c1afbaa66 | ||
|
506bdd8eb0 | ||
|
32605be6e8 | ||
|
70476b912f | ||
|
7d3d080603 | ||
|
872c45d5a3 | ||
|
3378e23cc2 | ||
|
46834d2178 | ||
|
45200572a2 | ||
|
dba6784487 | ||
|
d186b73c90 | ||
|
1ce7085ca9 | ||
|
733d4185c4 | ||
|
d42761f98a | ||
|
b45585f7c0 | ||
|
aa74646ddf | ||
|
19bb4c6162 | ||
|
d30ba9c749 | ||
|
5e75a3a80b | ||
|
7921a81b8e | ||
|
4d7aeff54a | ||
|
8146d8ab1e | ||
|
5a84456f1f | ||
|
14103b1e7c | ||
|
1deb44f91f | ||
|
7910e84d8e | ||
|
57e9e4474e | ||
|
e735aee724 | ||
|
6aaf6bdf9b | ||
|
49381db2e3 | ||
|
643e7ad3cb | ||
|
79bde6ee91 | ||
|
bfbd37074e | ||
|
02c2fea99e | ||
|
886cc7fb5b | ||
|
a3b9d187ce | ||
|
b635663ae3 | ||
|
0d3c2b4bef | ||
|
8a35a786b4 | ||
|
715bd29c75 | ||
|
0dbd856ac5 | ||
|
386e06d675 | ||
|
dfae42c912 | ||
|
4fb248cd9f | ||
|
a211cc1780 | ||
|
fa489c459a | ||
|
3c64f78159 | ||
|
7c348959cf | ||
|
7aa4066a25 | ||
|
eac8938186 | ||
|
66ac298e95 | ||
|
2cccbb3fce | ||
|
46290f1ed4 | ||
|
b380fa0653 | ||
|
815cae4d84 | ||
|
6b8b03e162 | ||
|
dda45f1c2a | ||
|
201b914304 | ||
|
4c4f68f654 | ||
|
a5af1a6ebd | ||
|
8754f7772b | ||
|
55745655db | ||
|
55083a5602 | ||
|
ea5e48b940 | ||
|
872b383c4d | ||
|
681b5b3ddc | ||
|
06a84d985a | ||
|
802853d205 | ||
|
0da9be327a | ||
|
01c56824b7 | ||
|
e364a36ee6 | ||
|
48fef45ce3 | ||
|
0c5ca9f51b | ||
|
80f1c6cb2d | ||
|
bb0b1ed098 | ||
|
ef42591534 | ||
|
03ef480bea | ||
|
a433f2f965 | ||
|
2952dca3a3 | ||
|
a901e1d179 | ||
|
7d2d7b411e | ||
|
6c69a6055d | ||
|
4b27ad8ba6 | ||
|
d8a3229819 | ||
|
883f70306f | ||
|
5aa698768a | ||
|
2cc5c76fb3 | ||
|
c8916ee83c | ||
|
a8d7c25244 | ||
|
186024b271 | ||
|
57f17620b5 | ||
|
b7a89f4055 | ||
|
7521a0d3ae | ||
|
e2578a29ed | ||
|
ab4f2429c4 | ||
|
df341d8ea3 | ||
|
c5fa0a413f | ||
|
8b5d86f68d | ||
|
49d1b3e583 | ||
|
c62aa82e2a | ||
|
ed9db95aa0 | ||
|
e3a667cbc6 | ||
|
43b17be7a7 | ||
|
a4843f27ca | ||
|
0a72cc4c93 | ||
|
08cdac3e0d | ||
|
bcbc6c0f7c | ||
|
ae4ae4111d | ||
|
4608888b83 | ||
|
63f1efd320 | ||
|
149e9f6674 | ||
|
52d8088d75 | ||
|
6d4b7eba5b | ||
|
a35b63dbeb | ||
|
ba7015c8f2 | ||
|
7575959c4a | ||
|
bb48fea116 | ||
|
fe9bd38115 | ||
|
47134c39af | ||
|
3c33f273c6 | ||
|
5e3d8a5424 | ||
|
215166ab32 | ||
|
7309fa547b | ||
|
cf69d5c882 | ||
|
19e07f6cac | ||
|
ff3a916cab | ||
|
f4c1de3c30 | ||
|
b553d390e1 | ||
|
5848ec21f7 | ||
|
2a3694d8b7 | ||
|
820531120a | ||
|
f086f0e083 | ||
|
5862c8cb60 | ||
|
187d6136fd | ||
|
ef1ed28ac5 | ||
|
f8be814079 | ||
|
e3e0139d2b | ||
|
0903cb8bf1 | ||
|
c6a493848e | ||
|
e5bf87c09f | ||
|
19427fbfec | ||
|
72515ee635 | ||
|
9fc00fe6ff | ||
|
c08868bc3c | ||
|
ea8b3ccdf6 | ||
|
c4401d2927 | ||
|
3b256dd8a0 | ||
|
c2c8f92902 | ||
|
ffb05ccc77 | ||
|
14e80855b4 | ||
|
103e693c7e | ||
|
80e67281c6 | ||
|
b683c45bd8 | ||
|
d6e495f79f | ||
|
18cef243a1 | ||
|
9565e8975e | ||
|
ccf7dd9583 | ||
|
e4375522ff | ||
|
59637c4a6b | ||
|
3034d1d831 | ||
|
057295c155 | ||
|
e612a7e51d | ||
|
877e0ca5c6 | ||
|
89c2662e09 | ||
|
699b1429b7 | ||
|
e467e2ca08 | ||
|
30b415e77e | ||
|
39f304a57b | ||
|
afe617357d | ||
|
2116ff91cc | ||
|
ce7e00a499 | ||
|
f23eb425a1 | ||
|
05b35f53d4 | ||
|
bb9258cc47 | ||
|
288aed3252 | ||
|
ef648ce7ec | ||
|
5ca71a10ec | ||
|
d2c74f6fcd | ||
|
984342a6dd | ||
|
6c30e90dd9 | ||
|
2563bc9879 | ||
|
05993c36c4 | ||
|
c7a241fbf5 | ||
|
fbb77b7332 | ||
|
4fcbf718ca | ||
|
35667db29c | ||
|
759528f19a | ||
|
9ce12a1b28 | ||
|
7ee87a0d4b | ||
|
66db67e857 | ||
|
f0e75d0634 | ||
|
67cbe6ebb0 | ||
|
6443dd6c4d | ||
|
fad3a60bc4 | ||
|
a7be6a61ef | ||
|
f68eae5891 | ||
|
007134da12 | ||
|
ceca81f0ab | ||
|
bdb4e2dab8 | ||
|
4561dc8c64 | ||
|
55d4304620 | ||
|
e4c664edaf | ||
|
931bd1042b | ||
|
f4959ba553 | ||
|
e0a79af93a | ||
|
166817411c | ||
|
91e85f56d8 | ||
|
a9ef58912f | ||
|
e404589544 | ||
|
a1209c83bb | ||
|
38b49916e2 | ||
|
37226a1641 | ||
|
6d46bfc260 | ||
|
d40f2ef463 | ||
|
8d1b56d526 | ||
|
388e4eb112 | ||
|
bec6cfc46d | ||
|
0a326015ef | ||
|
08477cf581 | ||
|
5ee8cf7ebf | ||
|
93bc5abcb5 | ||
|
5311bacfff | ||
|
da7c2e38f6 | ||
|
0d9990b2e3 | ||
|
b5b651244b | ||
|
2d6fca9214 | ||
|
327e75e8e5 | ||
|
a4a3777722 | ||
|
f1e280827d | ||
|
7e605eb4d4 | ||
|
1233fde261 | ||
|
ee3eb8e1d6 | ||
|
2a1e52745f | ||
|
9d96f90e49 | ||
|
4451b682b1 | ||
|
9ce9d1e549 | ||
|
2e9f8ae6ae | ||
|
65b4b2915f | ||
|
153d393bf1 | ||
|
1715143b85 | ||
|
7b1d313e8e | ||
|
c6bd378104 | ||
|
760e14531f | ||
|
8dead986a5 | ||
|
9b5bc60fa9 | ||
|
68efa63de4 | ||
|
3ca00969c5 | ||
|
505b01ad97 | ||
|
3b6234a9a2 | ||
|
b423d5da4c | ||
|
e7608469ca | ||
|
eef6d92b89 | ||
|
e61a9e75e8 | ||
|
47aeadef7c | ||
|
fc202437e8 | ||
|
ebabb33e79 | ||
|
eff560f8f0 | ||
|
5971edee14 | ||
|
57d94c5494 | ||
|
5a988d6f4a | ||
|
3efd35e27a | ||
|
e9838f6db1 | ||
|
cc1d52171c | ||
|
3250f3bc0e | ||
|
39c0c5401f | ||
|
7309c1066c | ||
|
dead57b9fe | ||
|
b89a258fdf | ||
|
9a124f7630 | ||
|
c46f7fed5f | ||
|
3a1b8bc33d | ||
|
f0f66cbd0e | ||
|
4a0a6e9f01 | ||
|
7f7f90f89e | ||
|
96153fe92a | ||
|
af023669ba | ||
|
0693ce13e4 | ||
|
e811c53c44 | ||
|
923715aeb3 | ||
|
15c51cad17 | ||
|
835eb95aa1 | ||
|
1ac17b3aee | ||
|
b8d01c4577 | ||
|
884358b374 | ||
|
511a0c22e2 | ||
|
2495fa49f3 | ||
|
c459c4f90c | ||
|
3a81521eab | ||
|
0a0e3c3319 | ||
|
f7f7994685 | ||
|
28897f7679 | ||
|
62038e8a89 | ||
|
e3cd916105 | ||
|
0ede779ee5 | ||
|
8b15008eba | ||
|
7d88d038f5 | ||
|
df73649637 | ||
|
c30bcfeba0 | ||
|
33c1da5aa1 | ||
|
3109d111a4 | ||
|
f42d143679 | ||
|
5dc28c0564 | ||
|
15a463d748 | ||
|
7e74e6a6f4 | ||
|
2d4866cdc5 | ||
|
49c79ceb74 | ||
|
0addb3aeee | ||
|
ee77ed134b | ||
|
ef1265fe38 | ||
|
1612d57aab | ||
|
472e7b8246 | ||
|
77fb8de71f | ||
|
d492569539 | ||
|
99eb5bd533 | ||
|
d5d397d5ff | ||
|
1ebcafd920 | ||
|
a4348b8194 | ||
|
bd14c77ff0 | ||
|
55e8f519df | ||
|
d49ed63f1d | ||
|
4829298255 | ||
|
100b187be3 | ||
|
fcc635ac8f | ||
|
b9f73c6cc3 | ||
|
b47ced68b5 | ||
|
f60e649d76 | ||
|
bf6058dc32 | ||
|
ec3266f7e8 | ||
|
0bc864fc37 | ||
|
1f2d6bea21 | ||
|
ba27a601dd | ||
|
2df8eb199b | ||
|
52ba67c9c0 | ||
|
fe80b7bd6a | ||
|
f998c2f945 | ||
|
cd6fab0e2d | ||
|
b390980ca2 | ||
|
c23437d45a | ||
|
b6f0f12515 | ||
|
cf581ecfcf | ||
|
41176c3e26 | ||
|
52f98dc405 | ||
|
38af0caa3f | ||
|
cf868f885f | ||
|
6a91c2b355 | ||
|
c0913711d6 | ||
|
9bde51a539 | ||
|
d697343f23 | ||
|
295be5286b | ||
|
42f6adf2e2 | ||
|
1868f39223 | ||
|
741100e1aa | ||
|
b56efbde33 | ||
|
cb96a9059e | ||
|
f4c84d599f | ||
|
af9fa44e8c | ||
|
bf65531268 | ||
|
0a0c8cde34 | ||
|
f49df59e10 | ||
|
79bee63515 | ||
|
e4e13aaa97 | ||
|
f2f735ace1 | ||
|
57df510ecb | ||
|
145c9d2e44 | ||
|
6226938c6f | ||
|
c7c76d1e67 | ||
|
5d19cfff13 | ||
|
2c7c8b5859 | ||
|
8c4a993906 | ||
|
44db075015 | ||
|
9543a110a4 | ||
|
3686d8efad | ||
|
13cb81b92f | ||
|
67c2b58f85 | ||
|
a1cd36fd13 | ||
|
2b93367165 | ||
|
7817b3b0b8 | ||
|
7986f17c8c | ||
|
8c328fe5ef | ||
|
a53fecc9ba | ||
|
842a430d51 | ||
|
501b870c35 | ||
|
bc68075ae3 | ||
|
bc5e090b09 | ||
|
1e58767374 | ||
|
42166c1c0f | ||
|
e23cba1d20 | ||
|
c548a3d2fa | ||
|
d6d4293ea8 | ||
|
980d057b4a | ||
|
d6446fa95f | ||
|
3e8370cdc7 | ||
|
1d23f1d9e3 | ||
|
0e71dfa8e1 | ||
|
c15e2e96b6 | ||
|
9a512cbc32 | ||
|
8f4dbd2aef | ||
|
b6f4be2894 | ||
|
7aba3cff66 | ||
|
b70585016c | ||
|
7fbe485603 | ||
|
b9b755e6e1 | ||
|
f8718e397c | ||
|
8f67511b22 | ||
|
2045a164c1 | ||
|
86e23a5300 | ||
|
40929b9640 | ||
|
a40adb903a | ||
|
5c89179c47 | ||
|
ebc2017fe0 | ||
|
7453509df4 | ||
|
94220a24d1 | ||
|
d75b7434cf | ||
|
297fff1394 | ||
|
2e23fec82b | ||
|
ee265f71e6 | ||
|
5364d7fd03 | ||
|
a7539d0f95 | ||
|
8379489385 | ||
|
fa3ccda3f4 | ||
|
a1757c5408 | ||
|
f3996e8634 | ||
|
98839e79ad | ||
|
f502b323e7 | ||
|
00c051d4ff | ||
|
da16160d28 | ||
|
edee97142f | ||
|
0f22dc610d | ||
|
081a904f8a | ||
|
11a56dacb6 | ||
|
68600c0538 | ||
|
0d10d388e1 | ||
|
627e9a9543 | ||
|
ee1059f1db | ||
|
30515492ca | ||
|
276677295f | ||
|
024dcf1f6c | ||
|
2b70a8450c | ||
|
967b8f4afb | ||
|
1b2f529f7c | ||
|
274aef8f24 | ||
|
5136979352 | ||
|
5cd86c685d | ||
|
f106176752 | ||
|
d85d44bf4b | ||
|
f6e43a5305 | ||
|
21cff9a749 | ||
|
7db1d81eb6 | ||
|
9e7d4c901e | ||
|
a8fedfff53 | ||
|
b117c30e44 | ||
|
beb552db31 | ||
|
2bdb67cd4d | ||
|
0fc102461c | ||
|
7b8ede03bc | ||
|
fa37070884 | ||
|
43fd9910e3 | ||
|
684c0332d5 | ||
|
2ffcc63de8 | ||
|
0a854918c2 | ||
|
1214abdd44 | ||
|
91769b71db | ||
|
9c5256b4e2 | ||
|
c0a4b17a34 | ||
|
c43479420a | ||
|
7e2a5e55f7 | ||
|
294df236c5 | ||
|
485c44454b | ||
|
fa1de6e6b0 | ||
|
0eea257a25 | ||
|
adca3de3b5 | ||
|
3b16351308 | ||
|
80db39a934 | ||
|
2d75c67aa3 | ||
|
6b284f2a16 | ||
|
cfefde0c06 | ||
|
92f1390407 | ||
|
ec50f891a2 | ||
|
a3c331019d | ||
|
89eea7cbdd | ||
|
9f47598950 | ||
|
35635c859d | ||
|
973e111dad | ||
|
c1254ed5b1 | ||
|
d51f632404 | ||
|
2f2bc758d7 | ||
|
dbff5015df | ||
|
96b37a8206 | ||
|
f6032da788 | ||
|
da9f0c6667 | ||
|
103ba463c3 | ||
|
9946ba8aa4 | ||
|
3078adf0da | ||
|
a6c43f4638 | ||
|
1596df64a6 | ||
|
ab120d32e2 | ||
|
1eda7fa5bb | ||
|
ef6e57066b | ||
|
64bdd894d6 | ||
|
743a9cf358 | ||
|
3ceee8302a | ||
|
ab12c641a8 | ||
|
33306bf218 | ||
|
a5b2083f1b | ||
|
d31a4e1406 | ||
|
b2441b3e55 | ||
|
ece3941e1f | ||
|
fcb30f6195 | ||
|
327088d79f | ||
|
193db6a46c | ||
|
214ef23c73 | ||
|
7731c4a3bb | ||
|
8e85d5515d | ||
|
bab01ea309 | ||
|
6aeca212f4 | ||
|
67ff43cecc | ||
|
1f82b1442d | ||
|
192fc6fd94 | ||
|
a4f6fe0cd2 | ||
|
616d3c1988 | ||
|
174e938b5b | ||
|
e89e0724a0 | ||
|
1d1f78a020 | ||
|
118ea4b0b2 | ||
|
f230830763 | ||
|
5edf7ca520 | ||
|
810ee6d4c4 | ||
|
f12720aeb3 | ||
|
ab260e79eb | ||
|
2d64fe96c1 | ||
|
616a46294c | ||
|
c9691b04ad | ||
|
1bc431198e | ||
|
5ce984ce3f | ||
|
51650fd899 | ||
|
3b5dacd7e2 | ||
|
f90bc17eb3 | ||
|
a52d20eeff | ||
|
b3ccd788f6 | ||
|
12b927f951 | ||
|
e541a3b962 | ||
|
9492887345 | ||
|
641ce206c2 | ||
|
4273a6a1be | ||
|
c80564e1b1 | ||
|
431d450fec | ||
|
a30660ed43 | ||
|
b93200f371 | ||
|
4ad0eb3db2 | ||
|
cb17fa60dc | ||
|
5b94540f76 | ||
|
e8bb3d81ed | ||
|
dd2a7397a4 | ||
|
e7c9fb987c | ||
|
4f3734f932 | ||
|
4302d50af9 | ||
|
75ad6a640b | ||
|
13cbfaf5e7 | ||
|
71f2c50799 | ||
|
c4aadfed33 | ||
|
ed662d3add | ||
|
863e199995 | ||
|
e8015bfbd4 | ||
|
c998f5fd8f | ||
|
2708b85a20 | ||
|
cb0445c785 | ||
|
9bfc1d09cd | ||
|
256ddc1831 | ||
|
04a27aa418 | ||
|
a5c113137a | ||
|
2d5a3b71e2 | ||
|
8f0319a138 | ||
|
7edb45d9b7 | ||
|
3ad6c7a18b | ||
|
7651df1228 | ||
|
6148b2647f | ||
|
e7d7886397 | ||
|
6e757f88b6 | ||
|
2c0a0a8e5a | ||
|
f8391f07b4 | ||
|
1346d232e6 | ||
|
35ff4cc7cd | ||
|
77f2ceaef9 | ||
|
840ee66903 | ||
|
deabaf2e34 | ||
|
db9933f2a1 | ||
|
a00a6d3fb5 | ||
|
116ed9b4a8 | ||
|
70ad270f26 | ||
|
0c774c098f | ||
|
e3d2186c25 | ||
|
857bfcb971 | ||
|
0b0634b531 | ||
|
fe39c92e25 | ||
|
3777b00ad7 | ||
|
e8d4fab305 | ||
|
b5fa61c8aa | ||
|
5cb577be58 | ||
|
992cc0addd | ||
|
a407ed1903 | ||
|
4b8c59a23b | ||
|
cbfb5d3fcc | ||
|
507eba3ddb | ||
|
4e3ad91c67 | ||
|
bc81931773 | ||
|
3f241cc996 | ||
|
ac02d1d48a | ||
|
77772f01c1 | ||
|
8c24dd0fba | ||
|
c6828a8612 | ||
|
c5a4c805b5 | ||
|
8a1a90d1b9 | ||
|
ea21892d03 | ||
|
2536452220 | ||
|
730869a37a | ||
|
6c8e2f1fd6 | ||
|
bbb5dd06a2 | ||
|
fad4140924 | ||
|
944ee1d8c1 | ||
|
edb31ddec0 | ||
|
cf251c38fd | ||
|
38f2c4c43d | ||
|
5c07a5780c | ||
|
5aa8b0255a | ||
|
8356d18a67 | ||
|
f7abda5d1f | ||
|
b373957b6b | ||
|
8b867086aa | ||
|
660129e690 | ||
|
0ae9abd6ad | ||
|
0ad1e46b0b | ||
|
e51b3bd399 | ||
|
fa40667633 | ||
|
6977ee45da | ||
|
c9c4a203d1 | ||
|
47f7c91a3b | ||
|
b7c0951cbe | ||
|
3ca25f9006 | ||
|
f64086a25f | ||
|
ab304b0b9f | ||
|
f5f16fd330 | ||
|
a3d45bbba8 | ||
|
9eedac3e6d | ||
|
0b98dfc976 | ||
|
c741916d9f | ||
|
c178535cc8 | ||
|
1fe8dfa810 | ||
|
7936c2c6f8 | ||
|
60ce25394c | ||
|
3c7a108940 | ||
|
c360404ed9 | ||
|
eaf27a01e3 | ||
|
46bc252a51 | ||
|
25ea1ba641 | ||
|
0cd728222e | ||
|
66aa9cd888 | ||
|
33eed443d9 | ||
|
63329499ac | ||
|
c57236da30 | ||
|
8ab2cd9ff8 | ||
|
ed963d86f9 | ||
|
98a89564e1 | ||
|
85b1edc6d2 | ||
|
043ddcae2c | ||
|
07d2d29212 | ||
|
a1e6e234cc | ||
|
cd9718b7ef | ||
|
fda8ac1f51 | ||
|
427a3d1be3 | ||
|
3457e0a757 | ||
|
a08177ef3d | ||
|
961af9e876 | ||
|
a0df20fcd2 | ||
|
9174632cfc | ||
|
42ef81cf40 | ||
|
aaeb9a0fd7 | ||
|
490780b906 | ||
|
ccf8e94c5e | ||
|
f28714c5b2 | ||
|
b25f13cceb | ||
|
9719c0b2f9 | ||
|
9d7c31d531 | ||
|
79c9c7105e | ||
|
63b19da708 | ||
|
e5656e264a | ||
|
505d0995de | ||
|
ea08ce24a9 | ||
|
8cd02afd83 | ||
|
f636b28823 | ||
|
7c5ea63a4f | ||
|
d4d7c6cb4a | ||
|
acbb796649 | ||
|
d5f5143c52 | ||
|
ea293999df | ||
|
7c4ec1f81c | ||
|
e401252c03 | ||
|
b9926c0f7c | ||
|
8bd62dddc8 | ||
|
f24159504d | ||
|
0508fe60d9 | ||
|
6286c426e2 | ||
|
8d91140107 | ||
|
766a5d7c84 | ||
|
aea3364e67 | ||
|
0b5135b841 | ||
|
663fc28cd5 | ||
|
915295efc0 | ||
|
b842e62563 | ||
|
68364e0a82 | ||
|
c00a95d639 | ||
|
f3e0060195 | ||
|
7eec98ea23 | ||
|
035c10364d | ||
|
caea19bf38 | ||
|
b980ca5d31 | ||
|
263ad899d8 | ||
|
5f01494ed0 | ||
|
b8498aecd9 | ||
|
8447bf4a2d | ||
|
57df61dadf | ||
|
3c7750c471 | ||
|
9c76ee97eb | ||
|
dc63d6ae73 | ||
|
a3b1c348ef | ||
|
c13ff6a392 | ||
|
8682c95c19 | ||
|
e2e7516a99 | ||
|
c42b42cb61 | ||
|
898c2d514c | ||
|
e96bdba752 | ||
|
19288f2950 | ||
|
3f10be2ad3 | ||
|
4da93825b7 | ||
|
3b9adbf5c8 | ||
|
7864707699 | ||
|
36dae97161 | ||
|
755fad7808 | ||
|
b899753d07 | ||
|
c79e813479 | ||
|
5e0ba452aa | ||
|
f5baa8ac91 | ||
|
d1e59abcf0 | ||
|
3cbee586bd | ||
|
94dc9fca9d | ||
|
259ead106f | ||
|
5c9750fb07 | ||
|
91872fe673 | ||
|
533a7bb180 | ||
|
4450f51d78 | ||
|
fae484cb95 | ||
|
11dffacc48 | ||
|
8b39eabc0f | ||
|
a623395585 | ||
|
a2de80091d | ||
|
e92edc7cb1 | ||
|
ae648c3e11 | ||
|
e6265c277e | ||
|
2bef459107 | ||
|
d504a1f266 | ||
|
0a10817755 | ||
|
56af0b5191 | ||
|
a9f923591d | ||
|
7d7e4a0e6d | ||
|
093c450d80 | ||
|
2d664c423d | ||
|
4e2e73637a | ||
|
3357c78375 | ||
|
33b3f0650c | ||
|
b027e43615 | ||
|
161804be0d | ||
|
32e7845c2b | ||
|
896796ebd7 | ||
|
a8ba125bd2 | ||
|
5d69a1ab91 | ||
|
95395945f2 | ||
|
c33af6de6a | ||
|
f5fad8a082 | ||
|
237545622f | ||
|
7c0acc8ccf | ||
|
d2b39e5cb8 | ||
|
fc468564dc | ||
|
8c87716013 | ||
|
5f29668c27 | ||
|
bda776e201 | ||
|
097668b762 | ||
|
1bfd78753a | ||
|
bdec23f740 | ||
|
c7e7bf4d2c | ||
|
9a635dd906 | ||
|
d3b2306b3d | ||
|
8b34caa0b1 | ||
|
c152964323 | ||
|
de00bab1d4 | ||
|
f7bcc521d2 | ||
|
3a20792668 | ||
|
890817151d | ||
|
dda1e854f6 | ||
|
6f6f76b36b | ||
|
5cf904fb4a | ||
|
ba74faa562 | ||
|
f65c9cf812 | ||
|
3d5a15fb1b | ||
|
257fc08404 | ||
|
152397baad | ||
|
c642656577 | ||
|
71a8d46e29 | ||
|
03cf89f8cd | ||
|
4091a8612d | ||
|
a10b14dcc3 | ||
|
7de9993204 | ||
|
2f55bb7e52 | ||
|
bcf5481ad5 | ||
|
f6123d8dfd | ||
|
e8a461dbb0 | ||
|
c54a9a3b88 | ||
|
8c23b0561b | ||
|
6ec8be0d35 | ||
|
20c692fddf | ||
|
6b0e66ce1f | ||
|
368e1fe9c1 | ||
|
f49777ef56 | ||
|
ec99b95231 | ||
|
ba1c9aa5cd | ||
|
60cc441092 | ||
|
dee3676640 | ||
|
5e4219cf8e | ||
|
d5f0a6d66a | ||
|
0607f835aa | ||
|
d2a1041a51 | ||
|
9c1475d2f1 | ||
|
486815b9ab | ||
|
9db644afa2 | ||
|
c181f7e421 | ||
|
29359ad119 | ||
|
c3192d9f7c | ||
|
24e9e6bbd7 | ||
|
649edffa30 | ||
|
b870a8b791 | ||
|
1c83ee086a | ||
|
5e7b36d319 | ||
|
4e1fcf87ae | ||
|
a2225b3f76 | ||
|
e069e196af | ||
|
440d01c552 | ||
|
218be86c68 | ||
|
3633199e68 | ||
|
8e2161bd9e | ||
|
39e66555f4 | ||
|
c938795576 | ||
|
9d2407ccb0 | ||
|
cccaf669a5 | ||
|
ab52395d1a | ||
|
ae4062828d | ||
|
8f02c52a26 | ||
|
dc4d2fc15d | ||
|
d476dbcdda | ||
|
5317f26791 | ||
|
28d1510306 | ||
|
316bcd728e | ||
|
d062a23d85 | ||
|
6b55960c92 | ||
|
24c5e727ce | ||
|
bebb956005 | ||
|
b38ff46af4 | ||
|
cf1c23c2c9 | ||
|
e162ebdf91 | ||
|
a348571e32 | ||
|
ef3d8f365a | ||
|
88964d8cf7 | ||
|
d444e91ba8 | ||
|
f617a8d77f | ||
|
76923ad88a | ||
|
dd3a395d11 | ||
|
4465d87eb8 | ||
|
bf48978065 | ||
|
fd3c41a250 | ||
|
370651ab56 | ||
|
e99b86cde8 | ||
|
206f19401f | ||
|
b37505112b | ||
|
60dad59025 | ||
|
8250a64e34 | ||
|
58ab82a477 | ||
|
2f8169c26d | ||
|
eb14341f9f | ||
|
823ba386d9 | ||
|
471620c4c6 | ||
|
75b74eaca8 | ||
|
9e33e6bc4e | ||
|
c985639691 | ||
|
580c48d4f9 | ||
|
e612e66ac9 | ||
|
ec2493c03c | ||
|
4a510d583d | ||
|
ff4643be8c | ||
|
5a54899835 | ||
|
56a787b327 | ||
|
183c104ff3 | ||
|
d4532089a9 | ||
|
78cd45eaca | ||
|
4defabeecc | ||
|
7eda5e1ef5 | ||
|
273211290b | ||
|
5320d16406 | ||
|
94faa2dc11 | ||
|
04e78ec2e9 | ||
|
40785e9a40 | ||
|
a7adcbcd78 | ||
|
a5a857f036 | ||
|
1a4617af17 | ||
|
c069582007 | ||
|
17ddab585a | ||
|
e6eee47059 | ||
|
120ed41507 | ||
|
dcb96593ec | ||
|
a489ddda87 | ||
|
5aa50a6c60 | ||
|
57f5471075 | ||
|
f2bbfa1b0d | ||
|
5710dd6d01 | ||
|
6f01e3b99b | ||
|
e10dc2e5a1 | ||
|
3ba71390b2 | ||
|
108a81d338 | ||
|
0226a0cba3 | ||
|
dfc57d1985 | ||
|
ebd1dab02f | ||
|
2cbd154516 | ||
|
d1c49e2a04 | ||
|
1a965bbbf9 | ||
|
8aab8ff882 | ||
|
4b7c445b74 | ||
|
5a4915e817 | ||
|
bfa84e092c | ||
|
bb99477c13 | ||
|
612dd21264 | ||
|
7d287d7c63 | ||
|
6df58a796a | ||
|
2c065b8c43 | ||
|
e50d2f7809 | ||
|
f8e0fdba48 | ||
|
160db6ada5 | ||
|
88104cecf6 | ||
|
ea1f533501 | ||
|
61043ee58a | ||
|
3635908f8f | ||
|
2c605d9ffb | ||
|
7a81eec6d8 | ||
|
5a70e3c638 | ||
|
aeb96bb1c0 | ||
|
062c415fc2 | ||
|
0c0119d85c | ||
|
ff5d613e23 | ||
|
a123c6694c | ||
|
ba5192026e | ||
|
b27aa523ba | ||
|
8793d263d4 | ||
|
e511e7e02e | ||
|
8580f46ec1 | ||
|
490a8551ac | ||
|
0f328fda44 | ||
|
f9f54cabdd | ||
|
80524fb8c1 | ||
|
e1f778e21a | ||
|
b8ba463735 | ||
|
531beb0a86 | ||
|
a8be5ed6b0 | ||
|
14fc31be07 | ||
|
747a5ded1a | ||
|
bb33a92d27 | ||
|
19b8519d3f | ||
|
809c0e720e | ||
|
371251c994 | ||
|
616b02cea8 | ||
|
2b403371a3 | ||
|
adc461d2f3 | ||
|
e12cbf92c3 | ||
|
1294d211d6 | ||
|
e53801957c | ||
|
e8026c6d3f | ||
|
9614d55612 | ||
|
8c1b99586b | ||
|
544c1e4a6a | ||
|
2271ddacf8 | ||
|
9443b80811 | ||
|
5afdc81ce0 | ||
|
2df9b43abc | ||
|
73e93e7d3d | ||
|
c76ced68e0 | ||
|
b9f5863b53 | ||
|
dea76fd81b | ||
|
21ea461c1c | ||
|
4267e33d19 | ||
|
85a053838e | ||
|
be1febef41 | ||
|
04c1cbd38e | ||
|
a66f609a07 | ||
|
263b8b1e77 | ||
|
ca2c4a64e9 | ||
|
5547f11192 | ||
|
7d8c184dda | ||
|
1ae0f93e14 | ||
|
ed51c865ef | ||
|
eaf5c2637d | ||
|
fd94536118 | ||
|
61ea78a9d9 | ||
|
a4b5f79e8f | ||
|
fc1c2bc2c0 | ||
|
51fd45d317 | ||
|
fcee1f1150 | ||
|
0e322630f1 | ||
|
d19cedef88 | ||
|
6aa5dc992d | ||
|
c787de75f5 | ||
|
a34c072c48 | ||
|
373586c23e | ||
|
7115676393 | ||
|
754dec949b | ||
|
6115a469eb | ||
|
776ebce497 | ||
|
79acf1cc42 | ||
|
9501fd74f0 | ||
|
03735d9213 | ||
|
3ac3f09df0 | ||
|
b534d4660c | ||
|
bec4af7c87 | ||
|
b0ea7cecb5 | ||
|
d351c2cabb | ||
|
aab70e14fc | ||
|
b3a408a34c | ||
|
3170d4428c | ||
|
46615d698e | ||
|
cf0b4d2581 | ||
|
5e3e5d2648 | ||
|
59634753b3 | ||
|
96b02d3154 | ||
|
a604e29744 | ||
|
e01899ce8f | ||
|
adea3ab775 | ||
|
68ef369adc | ||
|
11e5df1007 | ||
|
a86405fb01 | ||
|
1d0eb1e926 | ||
|
f3cbc18b50 | ||
|
30e5e15245 | ||
|
6fdbb91ccb | ||
|
96b46af9f5 | ||
|
b3a9e20885 | ||
|
1f92e61d3c | ||
|
a41b4a3621 | ||
|
60041d433e | ||
|
8b862e917a | ||
|
efeb41151c | ||
|
acc03abd03 | ||
|
848ff5b806 | ||
|
3740997b2e | ||
|
099600f665 | ||
|
e43b31ef2b | ||
|
e79657232a | ||
|
9bb216618a | ||
|
eff0a701d8 | ||
|
6c50342535 | ||
|
109a9e816b | ||
|
f4b10d5ed6 | ||
|
e75e48f377 | ||
|
7d4123c955 | ||
|
7c865e1a26 | ||
|
a97614b972 | ||
|
af63c98715 | ||
|
86f0af0ff2 | ||
|
c7241f5755 | ||
|
a708541803 | ||
|
9101c339c5 | ||
|
3bf1e48236 | ||
|
e7a29857c5 | ||
|
61373b8b51 | ||
|
daa007b67d | ||
|
2a53f425ec | ||
|
624541af1c | ||
|
f378d46c9a | ||
|
6c7e188439 | ||
|
cc6bd1d2c6 | ||
|
fc0c49e16e | ||
|
1f3ff3e0f2 | ||
|
5618af07bd | ||
|
79dafaf13d | ||
|
7e93d6e5a7 | ||
|
22b8101230 | ||
|
9c5fe034fa | ||
|
17f2ca0f7b | ||
|
e8aca9ee88 | ||
|
ca44a96dc3 | ||
|
15f479b424 | ||
|
9e86b35f8c | ||
|
ebd55ea282 | ||
|
3c0c445ea7 | ||
|
918d820a5c | ||
|
2ac1287924 | ||
|
3b93b28a37 | ||
|
6203c393d7 | ||
|
c7a0ec7157 | ||
|
e22ce6fad5 | ||
|
16ede7b560 | ||
|
290c0358ea | ||
|
e098ed6627 | ||
|
ca09feb2e5 | ||
|
1b04f5f540 | ||
|
302b05515a | ||
|
597d4bf6b1 | ||
|
bfa384ad5b | ||
|
c93fd2a05d | ||
|
cbabbf5c1e | ||
|
ebe9d42780 | ||
|
17ad38f835 | ||
|
9df9bbc6db | ||
|
5fb273a5c8 | ||
|
0571662fe7 | ||
|
7e2f892904 | ||
|
18408377e4 | ||
|
f76b4c06c5 | ||
|
ba24c30d38 | ||
|
80a6823af4 | ||
|
0957ff69c4 | ||
|
476348d961 | ||
|
6a8ef889eb | ||
|
e321e20dc2 | ||
|
1978a180ff | ||
|
463f2a7ad7 | ||
|
1ec4424c0a | ||
|
1b210d42ed | ||
|
e5da026f1f | ||
|
5386271398 | ||
|
2a581bc90a | ||
|
148bbc2017 | ||
|
0902faa24b | ||
|
595ff4bebc | ||
|
aaeca96336 | ||
|
4e32120a41 | ||
|
08b65b57e4 | ||
|
fa710ff601 | ||
|
9297c1d191 | ||
|
a8086ceb43 | ||
|
370b9dabff | ||
|
2cbce016bc | ||
|
70513b279b | ||
|
b77c10d3fb | ||
|
f78c72db59 | ||
|
39332e153e | ||
|
5c4cf3f7c9 | ||
|
fade21de57 | ||
|
4d3262ce41 | ||
|
0ed327646a | ||
|
eecb789603 | ||
|
28fad01be7 | ||
|
d2c912e5c4 | ||
|
55f410636f | ||
|
f2619df13d | ||
|
1212bb8d70 | ||
|
30be440774 | ||
|
93890343b6 | ||
|
8363eba32e | ||
|
c46ab4ff29 | ||
|
e9e3c0d011 | ||
|
05458479fa | ||
|
152c76954b | ||
|
d074c55793 | ||
|
7a41f2d79d | ||
|
22ed1dc358 | ||
|
499dc4e9e2 | ||
|
edee2cd640 | ||
|
8294f64687 | ||
|
bec3e63771 | ||
|
624545c631 | ||
|
4ae39611b5 | ||
|
b0e5d5d3e5 | ||
|
af30ff50f0 | ||
|
07220d7a59 | ||
|
ed99b503f5 | ||
|
f6ad67f1c8 | ||
|
6ee6b0cad9 | ||
|
d47ba6bd11 | ||
|
9cf0e1bde7 | ||
|
32b42b46e4 | ||
|
8b4fd7fdc0 | ||
|
a17c662465 | ||
|
e1fdbaee40 | ||
|
35d4eb381e | ||
|
8e71f265fc | ||
|
2b0b2ded5d | ||
|
3bd688c631 | ||
|
815796f2e7 | ||
|
000ccf5d03 | ||
|
c9608d7076 | ||
|
7984d021f6 | ||
|
57cb45d31e | ||
|
d903dfb40b | ||
|
99f5949ee1 | ||
|
4a2557dbcd | ||
|
426729b34c | ||
|
41e4e823fb | ||
|
5e2e6dcfc3 | ||
|
407134a89f | ||
|
60f221dc37 | ||
|
627d3b5b79 | ||
|
ad187f99bf | ||
|
2fdd3a78eb | ||
|
d949e0cced | ||
|
e27c5c4507 | ||
|
bfd974f698 | ||
|
dbe14ce0bb | ||
|
6ecd63bf5d | ||
|
94ea7d322d | ||
|
cf9d99ee8b | ||
|
afd2ecd384 | ||
|
6d53d0e12f | ||
|
557a5c715a | ||
|
b068dc39eb | ||
|
47f1ec78d4 | ||
|
5b3065730e | ||
|
0f55291089 | ||
|
dd0be54b05 | ||
|
8d6136cde1 | ||
|
0c613e36f1 | ||
|
6d5f89b65b | ||
|
34fd5e7191 | ||
|
c4a89a5da1 | ||
|
6cd462f852 | ||
|
04c4485e3e | ||
|
64694a4eda | ||
|
d11ed8c4ef | ||
|
391ddf1925 | ||
|
205feeaf10 | ||
|
e51f2b8bc1 | ||
|
2d5f57591f | ||
|
3c06517d9e | ||
|
63fb5809bf | ||
|
a65f846929 | ||
|
ce6d4c4a64 | ||
|
4ee6273f2e | ||
|
061f3c6919 | ||
|
9b13381938 | ||
|
bc22647b48 | ||
|
73fccdd6de | ||
|
ad9873c565 | ||
|
e976100f1a | ||
|
289a3ab21f | ||
|
286f00396d | ||
|
cbda0ad37b | ||
|
db6fdcd098 | ||
|
7e3362da61 | ||
|
d9720a5199 | ||
|
3a65037151 | ||
|
424035f56f | ||
|
2a12cf22f5 | ||
|
97daf57b0a | ||
|
697b551b9b | ||
|
0211197c47 | ||
|
3b65761110 | ||
|
cfdfd3a8af | ||
|
6ac2717d8b | ||
|
49aed39711 | ||
|
a820443c56 | ||
|
67aa239398 | ||
|
2a3962265b | ||
|
883a22ba83 | ||
|
2e68c48752 | ||
|
3e87534ddc | ||
|
c6da7b19a7 | ||
|
85293ca2ed | ||
|
ed264382e9 | ||
|
e6fc605b08 | ||
|
882eea75ef | ||
|
8129cd0cd3 | ||
|
0bc203e0d5 | ||
|
6c9b16088f | ||
|
9c9c1fa79c | ||
|
76b425ee8a | ||
|
5b8215a356 | ||
|
9c7df25862 | ||
|
da16ec0af3 | ||
|
1244d00b31 | ||
|
98054815a4 | ||
|
06be3e691d | ||
|
323a0a5aeb | ||
|
d4516080a2 | ||
|
575ab92d4b | ||
|
9878f5475c | ||
|
2d52e9ac23 | ||
|
ee5d26dc63 | ||
|
60d492370f | ||
|
f4fd8af3b4 | ||
|
940563f663 | ||
|
191cef6fff | ||
|
73f9ef4232 | ||
|
c9a124ba59 | ||
|
788406a549 | ||
|
29a5fb3e16 | ||
|
0a4af67be4 | ||
|
d30c3f5073 | ||
|
28ca7dcf8b | ||
|
88e18a8640 | ||
|
1ef9ed5202 | ||
|
c794843bb2 | ||
|
afa3149504 | ||
|
f2f4d325eb | ||
|
05361c13f1 | ||
|
fef0404ac7 | ||
|
d6a5b9fb48 | ||
|
57dba2f29a | ||
|
f64db7f5f3 | ||
|
128d3845b9 | ||
|
602ea3327b | ||
|
e55178612c | ||
|
5a0d62db6f | ||
|
ed62e6a390 | ||
|
25a6b0ddfb | ||
|
15aeccac24 | ||
|
fea86d5885 | ||
|
2df26ee931 | ||
|
8f7c4283ad | ||
|
221bdc112d | ||
|
d2544fdd20 | ||
|
35c59e699a | ||
|
633b80c622 | ||
|
b37c203885 | ||
|
dabac0966c | ||
|
7f97c80485 | ||
|
7aa0899a4c | ||
|
539f1150df | ||
|
82023d5d78 | ||
|
4ef7a215ac | ||
|
41a473ab06 | ||
|
89cf1f3237 | ||
|
b65fc4f46b | ||
|
401b5e2b7a | ||
|
a44d00a31c | ||
|
267ae457ee | ||
|
887da0a3d6 | ||
|
07ffd3ded3 | ||
|
25dbb3e9ea | ||
|
68177a02e1 | ||
|
0a96841336 | ||
|
4dcd7846b0 | ||
|
dc48cd4d16 | ||
|
883a7cecf0 | ||
|
daf019b288 | ||
|
e76aafcfeb | ||
|
5eeb545ae2 | ||
|
d29ab94617 | ||
|
618d1f5de6 | ||
|
277fc4bf61 | ||
|
c75eb050df | ||
|
304b489470 | ||
|
4709002429 | ||
|
226a547f09 | ||
|
89b0b23891 | ||
|
17e2aa91b5 | ||
|
81da03d168 | ||
|
f1390bdd29 | ||
|
e457196795 | ||
|
adbb9ad0f3 | ||
|
faddc4ead7 | ||
|
10cd1b5238 | ||
|
f36bab0a7a | ||
|
0f77c5be90 | ||
|
cbe5d2e884 | ||
|
a3bbcaf48f | ||
|
acb1346aaa | ||
|
594cc26887 | ||
|
f4d707bd87 | ||
|
838d0cff1c | ||
|
55e3fcfccf | ||
|
47da718250 | ||
|
27d60986c1 | ||
|
05afa9a4da | ||
|
892213eacb | ||
|
6aa44a9f63 | ||
|
dd7aadd01c | ||
|
72b9ba4a27 | ||
|
e7e6893920 | ||
|
4d578af2bd | ||
|
5c4f713463 | ||
|
f1961b710c | ||
|
16a7b0bbdb | ||
|
db95e7b0cd | ||
|
b3d102d56e | ||
|
ac7e13a701 | ||
|
77e834238f | ||
|
82c3bd1b8a | ||
|
34491a589f | ||
|
543ec5f185 | ||
|
9f98faea07 | ||
|
84ccfafc1d | ||
|
570dec749b | ||
|
957acd0cd2 | ||
|
0593f2f928 | ||
|
d7e4fd555c | ||
|
68f422e498 | ||
|
2c0b7ce0f4 | ||
|
72ee1ace48 | ||
|
7c013de7b9 | ||
|
979ffcf227 | ||
|
f0f0aafa1b | ||
|
c2d5ded335 | ||
|
55fd983fd3 | ||
|
1a5291537d | ||
|
d6ef3ea08e | ||
|
3e4a41bd73 | ||
|
b31bb9eb4f | ||
|
fac9a65f54 | ||
|
93fc64ff33 | ||
|
e097c92458 | ||
|
e91dbfbf2c | ||
|
801f2860e2 | ||
|
1ffc3a4f53 | ||
|
844fe2c4cd | ||
|
69efb45fb7 | ||
|
1103d7c112 | ||
|
c88072e55f | ||
|
e041d404f3 | ||
|
5b07af2c12 | ||
|
1f96367286 | ||
|
de73539d2b | ||
|
f7ed94c6e9 | ||
|
36b1a1471a | ||
|
1f1eeccc32 | ||
|
1d449c84fe | ||
|
0750c7763c | ||
|
dbaaa07dad | ||
|
14502573bf | ||
|
7446b12827 | ||
|
d4c8f56c6e | ||
|
2ea45185d4 | ||
|
50ba131350 | ||
|
b2df107f17 | ||
|
2b60affd9a | ||
|
e771b21ea3 | ||
|
b20bbc1295 | ||
|
609ceb7fa4 | ||
|
aac3f379a7 | ||
|
d46ae83dc4 | ||
|
561b89830a | ||
|
b69d8ad71a | ||
|
ec0a04e893 | ||
|
8307245120 | ||
|
5431584b3c | ||
|
426782a001 | ||
|
7eb9941f8c | ||
|
268d740059 | ||
|
f585deb1d7 | ||
|
26c4c7e467 | ||
|
b2b1bebc32 | ||
|
793c0ababb | ||
|
cf1628228a | ||
|
7f433ac4a0 | ||
|
48f03c0953 | ||
|
e75d25f00c | ||
|
e22e70c5ba | ||
|
a8e4be9146 | ||
|
a9ee94e3f0 | ||
|
cdaddb15af | ||
|
a724f844f7 | ||
|
2546061933 | ||
|
f4db593009 | ||
|
ce92533525 | ||
|
6d5e1b2285 | ||
|
6388d6b91b | ||
|
54e501127c | ||
|
6bcd96d629 | ||
|
996fe71de9 | ||
|
08b38cd6ad | ||
|
d649cb4aa5 | ||
|
61be2dd3df | ||
|
b6dda73cb1 | ||
|
0c77f49ffd | ||
|
76f4a1b4f1 | ||
|
466f9bd532 | ||
|
992edb2ee2 | ||
|
dd67e8c5b5 | ||
|
8de4b0bb20 | ||
|
e21c8792e6 | ||
|
54f6440bcf | ||
|
819f0c021e | ||
|
bc2f49fa31 | ||
|
d3a3ba8079 | ||
|
1540f13444 | ||
|
245d580825 | ||
|
2578423c91 | ||
|
1762451bc0 | ||
|
38e4984a4a | ||
|
9d7c49306a | ||
|
6b605b2e98 | ||
|
cf0242f23a | ||
|
56e8325efe | ||
|
d91ed2985d | ||
|
5f9f69b4dc | ||
|
da33cbedda | ||
|
19fc4419c3 | ||
|
2d91865277 | ||
|
003f5fab1f | ||
|
2a365d6776 | ||
|
55f5f90c45 | ||
|
bd3bdd6996 | ||
|
0cf485d873 | ||
|
75e06d43c5 | ||
|
922ae5b041 | ||
|
201a346d41 | ||
|
afa1cf7d6c | ||
|
d09a6714af | ||
|
f5bf774126 | ||
|
fae1382429 | ||
|
a6f909b942 | ||
|
ae55ee82a7 | ||
|
037e53f385 | ||
|
a28dfdc48e | ||
|
81bdf506bc | ||
|
f253aa6b37 | ||
|
0702eee179 | ||
|
c4a019f0d3 | ||
|
e948e9d85a | ||
|
22c10f5ada | ||
|
869eb262f3 | ||
|
7249c7d25a | ||
|
6e8d93bc6f | ||
|
963c30a275 | ||
|
474ade01cf | ||
|
18d4b66c97 | ||
|
fa311f4ce2 | ||
|
3a9b80127f | ||
|
78c1a0acf4 | ||
|
4ee34126bd | ||
|
97b9064d29 | ||
|
4f59ec37ca | ||
|
c34fea2932 | ||
|
c11a50f7ff | ||
|
23623b8895 | ||
|
b475f36b5a | ||
|
11367488e6 | ||
|
a7d8e74468 | ||
|
a25b93197d | ||
|
83f2ff5d82 | ||
|
868c056ddd | ||
|
0106adf36c | ||
|
b6a93be611 | ||
|
61291f7337 | ||
|
05013d2559 | ||
|
3240cadb94 | ||
|
594ee61a99 | ||
|
c85b0124e3 | ||
|
61bc19fc96 | ||
|
3ea3d0fc91 | ||
|
f1f1613f00 | ||
|
68dd206140 | ||
|
17e8581ef0 | ||
|
7ff45738e0 | ||
|
c9eacec449 | ||
|
3e78098c43 | ||
|
cbdacc199a | ||
|
cc01f25d8f | ||
|
9f3176c49c | ||
|
7ae2b34a9e | ||
|
d1bec21759 | ||
|
073e6227d6 | ||
|
761d8d89b0 | ||
|
f203fa5c58 | ||
|
9ccb22015a | ||
|
6d1c53c7ed | ||
|
855e7e02ce | ||
|
df3bb5b212 | ||
|
5768e45809 | ||
|
83584fab44 | ||
|
c234e12302 | ||
|
4645a8c633 | ||
|
cfb54f7608 | ||
|
7195ee9a69 | ||
|
ba6dffc0bf | ||
|
d3acf7e862 | ||
|
5c6d710f2d | ||
|
fa22a4a747 | ||
|
e0cd210852 | ||
|
d87beff434 | ||
|
439ea42b54 | ||
|
22c981d8bf | ||
|
8797d7562d | ||
|
9c5fe81792 | ||
|
69cc4f83bb | ||
|
33047b5f64 | ||
|
8734101d87 | ||
|
c53111a85a | ||
|
a16086db6f | ||
|
81f7932cb7 | ||
|
a5736efc75 | ||
|
b1f492de58 | ||
|
629488bbe6 | ||
|
14288b545b | ||
|
94aa0a02fe | ||
|
ab23d9b715 | ||
|
c5ce208d07 | ||
|
e7f7c0ba78 | ||
|
b082a009a7 | ||
|
cdeb2663fe | ||
|
a5e979b763 | ||
|
be0cadb3c7 | ||
|
6c4836e27e | ||
|
36a553a886 | ||
|
13938f2ab3 | ||
|
a755536a2f | ||
|
4a5dbde8d3 | ||
|
5744939c05 | ||
|
8c68126ed9 | ||
|
3c37d4c1b0 | ||
|
a9316b2f7e | ||
|
3e420033c5 | ||
|
571f05bcfb | ||
|
4e73705378 | ||
|
611e1185c8 | ||
|
b90d8e6238 | ||
|
ad3573226c | ||
|
1cc0825b54 | ||
|
87ac4ec5d4 | ||
|
8344506b05 | ||
|
9da3eec64f | ||
|
621c6c8773 | ||
|
d5e76c515e | ||
|
9fcf7263b5 | ||
|
0059fdf174 | ||
|
3d291c04c9 | ||
|
ca4b91a98f | ||
|
b0ba62aa31 | ||
|
abf763f454 | ||
|
15597eb041 | ||
|
00b16db7cc | ||
|
ff8a208012 | ||
|
7732bd47ce | ||
|
42a5680374 | ||
|
5d8f365520 | ||
|
938cd32ddd | ||
|
80396fcd39 | ||
|
7b97981bb5 | ||
|
b263273c87 | ||
|
427dc784fe | ||
|
7e4725c091 | ||
|
9b332f7a32 | ||
|
2b780a8b76 | ||
|
0518e5f18d | ||
|
2fe7caa580 | ||
|
267a7a36ff | ||
|
9a69bb9656 | ||
|
28aef1067b | ||
|
690a9eaa21 | ||
|
24d76b1d32 | ||
|
173458ed6c | ||
|
cebef970d3 | ||
|
4aa349ddd6 | ||
|
a918d28ded | ||
|
b1660c077e | ||
|
38075b4e8d | ||
|
174ecb10d9 | ||
|
5ef1fd62a7 | ||
|
d095784bfc | ||
|
1ac1d32b3a | ||
|
518b207f63 | ||
|
16ba5d2416 | ||
|
ac6e7652bd | ||
|
cc3e090855 | ||
|
30e4fdebd7 | ||
|
27e5626fcf | ||
|
8878cb41ee | ||
|
10575698de | ||
|
451750f08a | ||
|
6f04f4109d | ||
|
929d711149 | ||
|
b52f8b1dbf | ||
|
aa0a851b35 | ||
|
4ddc8e706d | ||
|
da2a0abf45 | ||
|
53a0e0ce10 | ||
|
7f02c0596e | ||
|
e081c3b249 | ||
|
8db4da5473 | ||
|
d389581d96 | ||
|
018574a21e | ||
|
9e3eb993ee | ||
|
6c64fb2169 | ||
|
2e70808bbd | ||
|
18bf9856fe | ||
|
f09ee5016a | ||
|
4d3c4b5afc | ||
|
7de2494af2 | ||
|
409d7e50bb | ||
|
c1222737d6 | ||
|
d02da1b97e | ||
|
a8c6b1cdf7 | ||
|
dba65dcd22 | ||
|
706736273c | ||
|
838340bbc8 | ||
|
75ec9ba3d9 | ||
|
876359539f | ||
|
afc3c1462e | ||
|
44cc62622d | ||
|
e4cabe9aa8 | ||
|
e36059a427 | ||
|
8bb98d9ecc | ||
|
fe3c080991 | ||
|
92fe70c15c | ||
|
edf4841371 | ||
|
40446c7a31 | ||
|
76ed775f6f | ||
|
be1e7ee9a9 | ||
|
e817844c5d | ||
|
bf6f60c7e5 | ||
|
b998718142 | ||
|
139c3fdd19 | ||
|
24de6c0101 | ||
|
efec711ced | ||
|
131afcebf1 | ||
|
97c3e50e7d | ||
|
7af82af935 | ||
|
4a3f0c8898 | ||
|
8f5a11493b | ||
|
1a9b0265dc | ||
|
7620aa4264 | ||
|
d7f7aa09fc | ||
|
be3bfe7e5e | ||
|
f960cf2ce9 | ||
|
7d63135cc2 | ||
|
48354721a2 | ||
|
10a5b35217 | ||
|
68d0aa7071 | ||
|
69bc13dd77 | ||
|
03e89743b4 | ||
|
ba11ca0e9d | ||
|
f2cb6ed82c |
12
.github/ISSUE_TEMPLATE/bug_report.md
vendored
12
.github/ISSUE_TEMPLATE/bug_report.md
vendored
@@ -7,27 +7,27 @@ assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**Describe the bug**
|
||||
#### Describe the bug
|
||||
A clear and concise description of what the bug is.
|
||||
|
||||
**To Reproduce**
|
||||
#### To Reproduce
|
||||
Steps to reproduce the behavior:
|
||||
1. Go to '...'
|
||||
2. Click on '....'
|
||||
3. Scroll down to '....'
|
||||
4. See error
|
||||
|
||||
**Expected behavior**
|
||||
#### Expected behavior
|
||||
A clear and concise description of what you expected to happen.
|
||||
|
||||
**Screenshots**
|
||||
#### Screenshots
|
||||
If applicable, add screenshots to help explain your problem.
|
||||
|
||||
**Smartphone (please complete the following information):**
|
||||
#### Smartphone (please complete the following information):
|
||||
- Device: [e.g. Samsung S6]
|
||||
- OS: [e.g. Android 6.0]
|
||||
|
||||
**Additional context**
|
||||
#### Additional context
|
||||
- App version and store [e.g. 1.0.0 - F-Droid]
|
||||
- Homeserver: [e.g. matrix.org]
|
||||
|
||||
|
8
.github/ISSUE_TEMPLATE/feature_request.md
vendored
8
.github/ISSUE_TEMPLATE/feature_request.md
vendored
@@ -7,14 +7,14 @@ assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**Is your feature request related to a problem? Please describe.**
|
||||
#### Is your feature request related to a problem? Please describe.
|
||||
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
||||
|
||||
**Describe the solution you'd like**
|
||||
#### Describe the solution you'd like.
|
||||
A clear and concise description of what you want to happen.
|
||||
|
||||
**Describe alternatives you've considered**
|
||||
#### Describe alternatives you've considered.
|
||||
A clear and concise description of any alternative solutions or features you've considered.
|
||||
|
||||
**Additional context**
|
||||
#### Additional context
|
||||
Add any other context or screenshots about the feature request here.
|
||||
|
84
.github/ISSUE_TEMPLATE/release.md
vendored
Normal file
84
.github/ISSUE_TEMPLATE/release.md
vendored
Normal file
@@ -0,0 +1,84 @@
|
||||
---
|
||||
name: Release
|
||||
about: Checklist for each release. To be used by the core team only.
|
||||
title: "[Release] Element Android v"
|
||||
labels: "\U0001F680 Release"
|
||||
assignees: bmarty
|
||||
|
||||
---
|
||||
|
||||
For the example, we are releasing the version 1.1.10. Delete this line and replace 1.1.10 with the version in the issue content.
|
||||
|
||||
### Before the release
|
||||
|
||||
- [ ] Weblate sync, fix lint issue if any (in a dedicated PR)
|
||||
- [ ] Check the update of the store descriptions (using Google Translate if necessary) to ensure that the changes are acceptable to be published to the stores.
|
||||
- [ ] Run the script `./tools/release/pushPlayStoreMetaData.sh`. You can check in the GooglePlay console the Activity log to check the effect.
|
||||
|
||||
### Do the release
|
||||
|
||||
- [ ] Create release with gitflow, branch name `release/1.1.10`
|
||||
- [ ] Run `./tools/import_emojis.py` and commit the change if any.
|
||||
- [ ] Run `./tools/import_sas_strings.py` and commit the change if any. If there is no change since a while, ping Travis
|
||||
- [ ] Check the crashes from the PlayStore
|
||||
- [ ] Check the rageshake with the current dev version: https://github.com/matrix-org/element-android-rageshakes/labels/1.1.10-dev
|
||||
- [ ] Run the integration test, and especially `UiAllScreensSanityTest.allScreensTest()`
|
||||
- [ ] Create an account on matrix.org
|
||||
- [ ] Run towncrier: `towncrier --version v1.1.10 --draft` (remove `--draft` do write the file CHANGES.md)
|
||||
- [ ] Add file for fastlane under ./fastlane/metadata/android/en-US/changelogs
|
||||
- [ ] Push the branch and start a draft PR (will not be merged), to check that the CI is happy with all the changes.
|
||||
- [ ] Finish release with gitflow, delete the draft PR
|
||||
- [ ] Push `main` and the new tag `v1.1.10` to origin
|
||||
- [ ] Checkout `develop`
|
||||
- [ ] Increase version in `./vector/build.gradle`
|
||||
- [ ] Commit and push `develop`
|
||||
- [ ] Wait for [Buildkite](https://buildkite.com/matrix-dot-org/element-android/builds?branch=main) to build the `main` branch.
|
||||
- [ ] Run the script `~/scripts/releaseElement.sh`. It will download the APKs from Buildkite check them and sign them.
|
||||
- [ ] Install the APK on your phone to check that the upgrade went well (no init sync, etc.)
|
||||
- [ ] Create a new beta release on the GooglePlay console and upload the 4 signed Apks.
|
||||
- [ ] Check that the version codes are correct
|
||||
- [ ] Copy the fastlane change to the GooglePlay console in the section en-GB.
|
||||
- [ ] Push to beta release to 100% of the users
|
||||
- [ ] Create the release on gitHub [from the tag](https://github.com/vector-im/element-android/tags), copy paste the block from the file CHANGES.md
|
||||
- [ ] Add the 4 signed APKs to the GitHub release
|
||||
- [ ] Ping the Android Internal room
|
||||
- [ ] Add an entry in the internal diary
|
||||
|
||||
### Once Live on PlayStore
|
||||
|
||||
- [ ] Ping the Android public room and update its topic
|
||||
|
||||
### After at least 2 days
|
||||
|
||||
- [ ] Check the [rageshakes](https://github.com/matrix-org/element-android-rageshakes/issues)
|
||||
- [ ] Check the crash reports on the GooglePlay console
|
||||
- [ ] Check the Android Element room for any reported issues on the new version
|
||||
- [ ] If all is OK, push to production and notify Markus (Bubu) to release the F-Droid version
|
||||
- [ ] Ping the Android public room and update its topic with the new available version
|
||||
|
||||
### Android SDK2
|
||||
|
||||
- [ ] Checkout the `main` branch on Element Android project
|
||||
|
||||
#### On the SDK2 project
|
||||
|
||||
https://github.com/matrix-org/matrix-android-sdk2
|
||||
|
||||
- [ ] Create a release with GitFlow
|
||||
- [ ] Update the files `./build.gradle` and `./gradle/gradle-wrapper.properties` manually, to use the latest version for the dependency. You can get inspired by the same files on Element Android project.
|
||||
- [ ] Run the script `./tools/import_from_element.sh`
|
||||
- [ ] Update the version in `./matrix-sdk-android/build.gradle` and let the script finish to build the library
|
||||
- [ ] Update the file `CHANGES.md`
|
||||
- [ ] Finish the release using GitFlow
|
||||
- [ ] Create the release on GitHub from [the tag](https://github.com/matrix-org/matrix-android-sdk2/tags)
|
||||
- [ ] Upload the AAR on the GitHub release
|
||||
|
||||
### Android SDK2 sample
|
||||
|
||||
https://github.com/matrix-org/matrix-android-sdk2-sample
|
||||
|
||||
- [ ] Update the dependency to the new version of the SDK2. Jitpack will have to build the AAR, it can take a few minutes. You can check status on https://jitpack.io/#matrix-org/matrix-android-sdk2
|
||||
- [ ] Build and run the sample, you may have to fix some API break
|
||||
- [ ] Commit and push directly on `main`
|
||||
|
||||
<!-- Note: some scripts are not public because they contain some private keys -->
|
2
.github/PULL_REQUEST_TEMPLATE.md
vendored
2
.github/PULL_REQUEST_TEMPLATE.md
vendored
@@ -5,6 +5,6 @@
|
||||
- [ ] Changes has been tested on an Android device or Android emulator with API 21
|
||||
- [ ] UI change has been tested on both light and dark themes
|
||||
- [ ] Pull request is based on the develop branch
|
||||
- [ ] Pull request updates [CHANGES.md](https://github.com/vector-im/element-android/blob/develop/CHANGES.md)
|
||||
- [ ] Pull request includes a new file under ./changelog.d. See https://github.com/vector-im/element-android/blob/develop/CONTRIBUTING.md#changelog
|
||||
- [ ] Pull request includes screenshots or videos if containing UI changes
|
||||
- [ ] Pull request includes a [sign off](https://github.com/matrix-org/synapse/blob/master/CONTRIBUTING.md#sign-off)
|
||||
|
23
.github/dependabot.yml
vendored
Normal file
23
.github/dependabot.yml
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
# To get started with Dependabot version updates, you'll need to specify which
|
||||
# package ecosystems to update and where the package manifests are located.
|
||||
# Please see the documentation for all configuration options:
|
||||
# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
|
||||
|
||||
version: 2
|
||||
updates:
|
||||
# Updates for Github Actions used in the repo
|
||||
- package-ecosystem: "github-actions"
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "weekly"
|
||||
# Updates for Gradle dependencies used in the app
|
||||
- package-ecosystem: gradle
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "daily"
|
||||
open-pull-requests-limit: 200
|
||||
reviewers:
|
||||
- "bmarty"
|
||||
### ignore:
|
||||
### - dependency-name: com.squareup.okhttp3:logging-interceptor
|
||||
### versions: "> 3.12.10"
|
59
.github/workflows/build.yml
vendored
Normal file
59
.github/workflows/build.yml
vendored
Normal file
@@ -0,0 +1,59 @@
|
||||
name: APK Build
|
||||
|
||||
on:
|
||||
pull_request: { }
|
||||
push:
|
||||
branches: [ main, develop ]
|
||||
|
||||
jobs:
|
||||
debug:
|
||||
name: Build debug APKs (${{ matrix.target }})
|
||||
runs-on: ubuntu-latest
|
||||
if: github.ref != 'refs/heads/main'
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
target: [ Gplay, Fdroid ]
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/cache@v2
|
||||
with:
|
||||
path: |
|
||||
~/.gradle/caches
|
||||
~/.gradle/wrapper
|
||||
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-gradle-
|
||||
- name: Assemble ${{ matrix.target }} debug apk
|
||||
run: ./gradlew assemble${{ matrix.target }}Debug --stacktrace
|
||||
- name: Upload ${{ matrix.target }} debug APKs
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: vector-${{ matrix.target }}-debug
|
||||
path: |
|
||||
vector/build/outputs/apk/*/debug/*.apk
|
||||
|
||||
release:
|
||||
name: Build unsigned GPlay APKs
|
||||
runs-on: ubuntu-latest
|
||||
if: github.ref == 'refs/heads/main'
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/cache@v2
|
||||
with:
|
||||
path: |
|
||||
~/.gradle/caches
|
||||
~/.gradle/wrapper
|
||||
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-gradle-
|
||||
- name: Assemble GPlay unsigned apk
|
||||
run: ./gradlew clean assembleGplayRelease --stacktrace
|
||||
- name: Upload Gplay unsigned APKs
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: vector-gplay-release-unsigned
|
||||
path: |
|
||||
vector/build/outputs/apk/*/release/*.apk
|
||||
|
||||
# TODO: add exodus checks
|
49
.github/workflows/integration.yml
vendored
Normal file
49
.github/workflows/integration.yml
vendored
Normal file
@@ -0,0 +1,49 @@
|
||||
name: Integration Test
|
||||
|
||||
on:
|
||||
pull_request: { }
|
||||
push:
|
||||
branches: [ main, develop ]
|
||||
|
||||
jobs:
|
||||
integration-tests:
|
||||
name: Integration Tests (Synapse)
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
api-level: [21, 30]
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up Python 3.8
|
||||
uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: 3.8
|
||||
- name: Cache pip
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: ~/.cache/pip
|
||||
key: ${{ runner.os }}-pip
|
||||
restore-keys: |
|
||||
${{ runner.os }}-pip-
|
||||
${{ runner.os }}-
|
||||
- uses: actions/cache@v2
|
||||
with:
|
||||
path: |
|
||||
~/.gradle/caches
|
||||
~/.gradle/wrapper
|
||||
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-gradle-
|
||||
- name: Start synapse server
|
||||
run: |
|
||||
python3 -m venv .synapse
|
||||
source .synapse/bin/activate
|
||||
pip install synapse matrix-synapse
|
||||
curl -sL https://raw.githubusercontent.com/matrix-org/synapse/develop/demo/start.sh --no-rate-limit \
|
||||
| sed s/127.0.0.1/0.0.0.0/g | bash
|
||||
- name: Run integration tests on API ${{ matrix.api-level }}
|
||||
uses: reactivecircus/android-emulator-runner@v2
|
||||
with:
|
||||
api-level: ${{ matrix.api-level }}
|
||||
# script: ./gradlew -PallWarningsAsErrors=false vector:connectedAndroidTest matrix-sdk-android:connectedAndroidTest
|
||||
script: ./gradlew -PallWarningsAsErrors=false connectedCheck
|
74
.github/workflows/quality.yml
vendored
Normal file
74
.github/workflows/quality.yml
vendored
Normal file
@@ -0,0 +1,74 @@
|
||||
name: Code Quality Checks
|
||||
|
||||
on:
|
||||
pull_request: { }
|
||||
push:
|
||||
branches: [ main, develop ]
|
||||
|
||||
jobs:
|
||||
check:
|
||||
name: Project Check Suite
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Run code quality check suite
|
||||
run: ./tools/check/check_code_quality.sh
|
||||
|
||||
klint:
|
||||
name: Kotlin Linter
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Run klint
|
||||
run: |
|
||||
curl -sSLO https://github.com/pinterest/ktlint/releases/download/0.36.0/ktlint && chmod a+x ktlint
|
||||
./ktlint --android --experimental -v
|
||||
|
||||
android-lint:
|
||||
name: Android Linter
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/cache@v2
|
||||
with:
|
||||
path: |
|
||||
~/.gradle/caches
|
||||
~/.gradle/wrapper
|
||||
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-gradle-
|
||||
- name: Lint analysis of the SDK
|
||||
run: ./gradlew clean :matrix-sdk-android:lintRelease --stacktrace
|
||||
- name: Upload reports
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: linting-report-android-sdk
|
||||
path: matrix-sdk-android/build/reports/*.*
|
||||
|
||||
apk-lint:
|
||||
name: Lint APK (${{ matrix.target }})
|
||||
runs-on: ubuntu-latest
|
||||
if: github.ref != 'refs/heads/main'
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
target: [ Gplay, Fdroid ]
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/cache@v2
|
||||
with:
|
||||
path: |
|
||||
~/.gradle/caches
|
||||
~/.gradle/wrapper
|
||||
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-gradle-
|
||||
- name: Lint ${{ matrix.target }} release
|
||||
run: ./gradlew clean lint${{ matrix.target }}Release --stacktrace
|
||||
- name: Upload ${{ matrix.target }} linting report
|
||||
uses: actions/upload-artifact@v2
|
||||
if: always()
|
||||
with:
|
||||
name: release-debug-linting-report-${{ matrix.target }}
|
||||
path: |
|
||||
vector/build/reports/*.*
|
23
.github/workflows/tests.yml
vendored
Normal file
23
.github/workflows/tests.yml
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
name: Test
|
||||
|
||||
on:
|
||||
pull_request: {}
|
||||
push:
|
||||
branches: [main, develop]
|
||||
|
||||
jobs:
|
||||
unit-tests:
|
||||
name: Run Unit Tests
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/cache@v2
|
||||
with:
|
||||
path: |
|
||||
~/.gradle/caches
|
||||
~/.gradle/wrapper
|
||||
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-gradle-
|
||||
- name: Run unit tests
|
||||
run: ./gradlew clean test --stacktrace -PallWarningsAsErrors=false
|
2
.gitignore
vendored
2
.gitignore
vendored
@@ -12,5 +12,7 @@
|
||||
.externalNativeBuild
|
||||
|
||||
/tmp
|
||||
/fastlane/private
|
||||
/fastlane/report.xml
|
||||
|
||||
ktlint
|
||||
|
9
.idea/codeStyles/Project.xml
generated
9
.idea/codeStyles/Project.xml
generated
@@ -7,15 +7,6 @@
|
||||
<package name="kotlinx.android.synthetic" alias="false" withSubpackages="true" />
|
||||
</value>
|
||||
</option>
|
||||
<option name="PACKAGES_IMPORT_LAYOUT">
|
||||
<value>
|
||||
<package name="" alias="false" withSubpackages="true" />
|
||||
<package name="java" alias="false" withSubpackages="true" />
|
||||
<package name="javax" alias="false" withSubpackages="true" />
|
||||
<package name="kotlin" alias="false" withSubpackages="true" />
|
||||
<package name="" alias="true" withSubpackages="true" />
|
||||
</value>
|
||||
</option>
|
||||
<option name="ALIGN_IN_COLUMNS_CASE_BRANCH" value="true" />
|
||||
<option name="NAME_COUNT_TO_USE_STAR_IMPORT" value="2147483647" />
|
||||
<option name="NAME_COUNT_TO_USE_STAR_IMPORT_FOR_MEMBERS" value="2147483647" />
|
||||
|
4
.idea/dictionaries/bmarty.xml
generated
4
.idea/dictionaries/bmarty.xml
generated
@@ -26,15 +26,19 @@
|
||||
<w>pkcs</w>
|
||||
<w>previewable</w>
|
||||
<w>previewables</w>
|
||||
<w>pstn</w>
|
||||
<w>riotx</w>
|
||||
<w>signin</w>
|
||||
<w>signout</w>
|
||||
<w>signup</w>
|
||||
<w>snackbar</w>
|
||||
<w>ssss</w>
|
||||
<w>sygnal</w>
|
||||
<w>threepid</w>
|
||||
<w>unpublish</w>
|
||||
<w>unwedging</w>
|
||||
<w>vctr</w>
|
||||
<w>wellknown</w>
|
||||
</words>
|
||||
</dictionary>
|
||||
</component>
|
46
.travis.yml
46
.travis.yml
@@ -1,4 +1,4 @@
|
||||
# FTR: Configuration on https://travis-ci.org/vector-im/riotX-android/settings
|
||||
# FTR: Configuration on https://travis-ci.org/github/vector-im/element-android/settings
|
||||
#
|
||||
# - Build only if .travis.yml is present -> On
|
||||
# - Limit concurrent jobs -> Off
|
||||
@@ -8,53 +8,11 @@
|
||||
# - Auto cancel branch builds -> On
|
||||
# - Auto cancel pull request builds -> On
|
||||
|
||||
language: android
|
||||
jdk: oraclejdk8
|
||||
sudo: false
|
||||
|
||||
notifications:
|
||||
email: false
|
||||
|
||||
android:
|
||||
components:
|
||||
# Uncomment the lines below if you want to
|
||||
# use the latest revision of Android SDK Tools
|
||||
- tools
|
||||
- platform-tools
|
||||
|
||||
# The BuildTools version used by your project
|
||||
- build-tools-29.0.3
|
||||
|
||||
# The SDK version used to compile your project
|
||||
- android-29
|
||||
|
||||
before_cache:
|
||||
- rm -f $HOME/.gradle/caches/modules-2/modules-2.lock
|
||||
- rm -fr $HOME/.gradle/caches/*/plugin-resolution/
|
||||
|
||||
cache:
|
||||
directories:
|
||||
- $HOME/.gradle/caches/
|
||||
- $HOME/.gradle/wrapper/
|
||||
- $HOME/.android/build-cache
|
||||
|
||||
# Build with the development SDK
|
||||
before_script:
|
||||
# Not necessary for the moment
|
||||
# - /bin/sh ./set_debug_env.sh
|
||||
|
||||
# Just build the project for now
|
||||
# Just run a simple script here
|
||||
script:
|
||||
# Build app (assembleGplayRelease assembleFdroidRelease)
|
||||
# Build Android test (assembleAndroidTest) (disabled for now)
|
||||
# Code quality (lintGplayRelease lintFdroidRelease)
|
||||
# Split into two steps because if a task contain Fdroid, PlayService will be disabled
|
||||
# Done by Buildkite now: - ./gradlew clean assembleGplayRelease lintGplayRelease --stacktrace
|
||||
# Done by Buildkite now: - ./gradlew clean assembleFdroidRelease lintFdroidRelease --stacktrace
|
||||
# Run unitary test (Disable for now, see https://travis-ci.org/vector-im/riot-android/builds/502504370)
|
||||
# - ./gradlew testGplayReleaseUnitTest --stacktrace
|
||||
# Other code quality check
|
||||
# Done by Buildkite now: - ./tools/check/check_code_quality.sh
|
||||
- ./tools/travis/check_pr.sh
|
||||
# Check that indonesians file are identical. Due to Android issue, the resource folder must be value-in/, and Weblate export data into value-id/.
|
||||
# Done by Buildkite now: - diff ./vector/src/main/res/values-id/strings.xml ./vector/src/main/res/values-in/strings.xml
|
||||
|
507
CHANGES.md
507
CHANGES.md
@@ -1,3 +1,475 @@
|
||||
Changes in Element v1.2.0 (2021-08-12)
|
||||
======================================
|
||||
|
||||
Features ✨
|
||||
----------
|
||||
- Reorganise Advanced Notifications in to Default Notifications, Keywords and Mentions, Other (This feature is hidden in the release ui until a future release date.) ([#3646](https://github.com/vector-im/element-android/issues/3646))
|
||||
- Voice Message - Enable by default, remove from labs ([#3817](https://github.com/vector-im/element-android/issues/3817))
|
||||
|
||||
Bugfixes 🐛
|
||||
----------
|
||||
- Voice Message - UI Improvements ([#3798](https://github.com/vector-im/element-android/issues/3798))
|
||||
- Stop VMs playing in the timeline if a new VM recording is started ([#3802](https://github.com/vector-im/element-android/issues/3802))
|
||||
|
||||
|
||||
Changes in Element v1.1.16 (2021-08-09)
|
||||
=======================================
|
||||
|
||||
Features ✨
|
||||
----------
|
||||
- Spaces - Support Restricted Room via room capabilities API ([#3509](https://github.com/vector-im/element-android/issues/3509))
|
||||
- Spaces | Support restricted room access in room settings ([#3665](https://github.com/vector-im/element-android/issues/3665))
|
||||
|
||||
Bugfixes 🐛
|
||||
----------
|
||||
- Fix crash when opening Troubleshoot Notifications ([#3778](https://github.com/vector-im/element-android/issues/3778))
|
||||
- Fix error when sending encrypted message if someone in the room logs out. ([#3792](https://github.com/vector-im/element-android/issues/3792))
|
||||
- Voice Message - Amplitude update java.util.ConcurrentModificationException ([#3796](https://github.com/vector-im/element-android/issues/3796))
|
||||
|
||||
|
||||
Changes in Element v1.1.15 (2021-07-30)
|
||||
=======================================
|
||||
|
||||
Features ✨
|
||||
----------
|
||||
- Voice Message implementation (Currently under Labs Settings and disabled by default). ([#3598](https://github.com/vector-im/element-android/issues/3598))
|
||||
|
||||
SDK API changes ⚠️
|
||||
------------------
|
||||
- updatePushRuleActions signature has been updated to more explicitly enabled/disable the rule and update the actions. It's behaviour has also been changed to match the web with the enable/disable requests being sent on every invocation and actions sent when needed(not null). ([#3681](https://github.com/vector-im/element-android/issues/3681))
|
||||
|
||||
|
||||
Changes in Element 1.1.14 (2021-07-23)
|
||||
======================================
|
||||
|
||||
Features ✨
|
||||
----------
|
||||
- Add low priority section in DM tab ([#3463](https://github.com/vector-im/element-android/issues/3463))
|
||||
- Show missed call notification. ([#3710](https://github.com/vector-im/element-android/issues/3710))
|
||||
|
||||
Bugfixes 🐛
|
||||
----------
|
||||
- Don't use the transaction ID of the verification for the request ([#3589](https://github.com/vector-im/element-android/issues/3589))
|
||||
- Avoid incomplete downloads in cache ([#3656](https://github.com/vector-im/element-android/issues/3656))
|
||||
- Fix a crash which can happen when user signs out ([#3720](https://github.com/vector-im/element-android/issues/3720))
|
||||
- Ensure OTKs are uploaded when the session is created ([#3724](https://github.com/vector-im/element-android/issues/3724))
|
||||
|
||||
SDK API changes ⚠️
|
||||
------------------
|
||||
- Add initialState support to CreateRoomParams (#3713) ([#3713](https://github.com/vector-im/element-android/issues/3713))
|
||||
|
||||
Other changes
|
||||
-------------
|
||||
- Apply grammatical fixes to the Server ACL timeline messages. ([#3721](https://github.com/vector-im/element-android/issues/3721))
|
||||
- Add tags in the log, especially for VoIP, but can be used for other features in the future ([#3723](https://github.com/vector-im/element-android/issues/3723))
|
||||
|
||||
|
||||
Changes in Element v1.1.13 (2021-07-19)
|
||||
=======================================
|
||||
|
||||
Features ✨
|
||||
----------
|
||||
- Remove redundant mimetype (vector-im/element-web#2547) ([#3273](https://github.com/vector-im/element-android/issues/3273))
|
||||
- Room version capabilities and room upgrade support, better error feedback ([#3551](https://github.com/vector-im/element-android/issues/3551))
|
||||
- Add retry support in room addresses screen ([#3635](https://github.com/vector-im/element-android/issues/3635))
|
||||
- Better management of permission requests ([#3667](https://github.com/vector-im/element-android/issues/3667))
|
||||
|
||||
Bugfixes 🐛
|
||||
----------
|
||||
- Standardise spelling and casing of homeserver, identity server, and integration manager. ([#491](https://github.com/vector-im/element-android/issues/491))
|
||||
- Perform .well-known request first, even if the entered URL is a valid homeserver base url ([#2843](https://github.com/vector-im/element-android/issues/2843))
|
||||
- Use different copy for self verification. ([#3624](https://github.com/vector-im/element-android/issues/3624))
|
||||
- Crash when opening room addresses screen with no internet connection ([#3634](https://github.com/vector-im/element-android/issues/3634))
|
||||
- Fix unread messages marker being hidden in collapsed membership item ([#3655](https://github.com/vector-im/element-android/issues/3655))
|
||||
- Ensure reaction emoji picker tabs look fine on small displays ([#3661](https://github.com/vector-im/element-android/issues/3661))
|
||||
|
||||
SDK API changes ⚠️
|
||||
------------------
|
||||
- RawService.getWellknown() now takes a domain instead of a matrixId as parameter ([#3572](https://github.com/vector-im/element-android/issues/3572))
|
||||
|
||||
|
||||
Changes in Element 1.1.12 (2021-07-05)
|
||||
======================================
|
||||
|
||||
Features ✨
|
||||
----------
|
||||
- Reveal password: use facility from com.google.android.material.textfield.TextInputLayout instead of manual handling. ([#3545](https://github.com/vector-im/element-android/issues/3545))
|
||||
- Implements new design for Jump to unread and quick fix visibility issues. ([#3547](https://github.com/vector-im/element-android/issues/3547))
|
||||
|
||||
Bugfixes 🐛
|
||||
----------
|
||||
- Fix some issues with timeline cache invalidation and visibility. ([#3542](https://github.com/vector-im/element-android/issues/3542))
|
||||
- Fix call invite processed after call is ended because of fastlane mode. ([#3564](https://github.com/vector-im/element-android/issues/3564))
|
||||
- Fix crash after video call. ([#3577](https://github.com/vector-im/element-android/issues/3577))
|
||||
- Fix crash out of memory ([#3583](https://github.com/vector-im/element-android/issues/3583))
|
||||
- CryptoStore migration has to be object to avoid crash ([#3605](https://github.com/vector-im/element-android/issues/3605))
|
||||
|
||||
|
||||
Changes in Element v1.1.11 (2021-06-22)
|
||||
=======================================
|
||||
|
||||
Bugfixes 🐛
|
||||
----------
|
||||
- Send button does not show up half of the time ([#3535](https://github.com/vector-im/element-android/issues/3535))
|
||||
- Fix crash on signout: release session at the end of clean up. ([#3538](https://github.com/vector-im/element-android/issues/3538))
|
||||
|
||||
|
||||
Changes in Element v1.1.10 (2021-06-18)
|
||||
=======================================
|
||||
|
||||
Features ✨
|
||||
----------
|
||||
- Migrate DefaultTypingService, KeysImporter and KeysExporter to coroutines ([#2449](https://github.com/vector-im/element-android/issues/2449))
|
||||
- Update Message Composer design ([#3182](https://github.com/vector-im/element-android/issues/3182))
|
||||
- Cleanup Epoxy items, and debounce all the clicks ([#3435](https://github.com/vector-im/element-android/issues/3435))
|
||||
- Adds support for receiving MSC3086 Asserted Identity events. ([#3451](https://github.com/vector-im/element-android/issues/3451))
|
||||
- Migrate to new colors and cleanup the style and theme. Now exported in module :library:ui-styles
|
||||
Ref: https://material.io/blog/migrate-android-material-components ([#3459](https://github.com/vector-im/element-android/issues/3459))
|
||||
- Add option to set aliases for public spaces ([#3483](https://github.com/vector-im/element-android/issues/3483))
|
||||
- Add beta warning to private space creation flow ([#3485](https://github.com/vector-im/element-android/issues/3485))
|
||||
- User defined top level spaces ordering ([#3501](https://github.com/vector-im/element-android/issues/3501))
|
||||
|
||||
Bugfixes 🐛
|
||||
----------
|
||||
- Fix new DMs not always marked as such ([#3333](https://github.com/vector-im/element-android/issues/3333))
|
||||
|
||||
SDK API changes ⚠️
|
||||
------------------
|
||||
- Splits SessionAccountDataService and RoomAccountDataService and offers to query RoomAccountDataEvent at the session level. ([#3479](https://github.com/vector-im/element-android/issues/3479))
|
||||
|
||||
Other changes
|
||||
-------------
|
||||
- Move the ability to start a call from dialpad directly to a dedicated tab in the home screen. ([#3457](https://github.com/vector-im/element-android/issues/3457))
|
||||
- VoIP: Change hold direction to send-only. ([#3467](https://github.com/vector-im/element-android/issues/3467))
|
||||
- Some improvements on DialPad (cursor edition, paste number, small fixes). ([#3516](https://github.com/vector-im/element-android/issues/3516))
|
||||
|
||||
|
||||
Changes in Element v1.1.9 (2021-06-02)
|
||||
======================================
|
||||
|
||||
Features ✨:
|
||||
- Upgrade Olm dependency to 3.2.4
|
||||
- Allow user to add custom "network" in room search (#1458)
|
||||
- Add Gitter.im as a default in the Change Network menu (#3196)
|
||||
- VoIP: support for virtual rooms (#3355)
|
||||
- Compress thumbnail: change Jpeg quality from 100 to 80 (#3396)
|
||||
- Inconsistent usage of the term homeserver in Settings (#3404)
|
||||
- VoIP: support attended transfer (#3420)
|
||||
- /snow -> /snowfall and update wording (iso Element Web) (#3430)
|
||||
|
||||
Bugfixes 🐛:
|
||||
- Fix | On Android it seems to be impossible to view the complete description of a Space (without dev tools) (#3401)
|
||||
- Fix | Suggest Rooms, Show a detailed view of the room on click (#3406)
|
||||
- Fix app crashing when signing out (#3424)
|
||||
- Switch to stable endpoint/fields for MSC2858 (#3442)
|
||||
|
||||
Changes in Element 1.1.8 (2021-05-25)
|
||||
===================================================
|
||||
|
||||
Improvements 🙌:
|
||||
- Support Jitsi authentication (#3379)
|
||||
|
||||
Bugfix 🐛:
|
||||
- Space Invite by link not always displayed for public space (#3345)
|
||||
- Wrong copy in share space bottom sheet (#3346)
|
||||
- Fix a problem with database migration on nightly builds (#3335)
|
||||
- Implement a workaround to render <del> and <u> in the timeline (#1817)
|
||||
- Make sure the SDK can retrieve the secret storage if the system is upgraded (#3304)
|
||||
- Spaces | Explore room list: the RoomId is displayed instead of name (#3371)
|
||||
- Spaces | Personal spaces add DM - Web Parity (#3271)
|
||||
- Spaces | Improve 'Leave Space' UX/UI (#3359)
|
||||
- Don't create private spaces with encryption enabled (#3363)
|
||||
- #+ button on lower right when looking at an empty space goes to an empty 'Explore rooms' (#3327)
|
||||
|
||||
Build 🧱:
|
||||
- Compile with Kotlin 1.5.10.
|
||||
- Upgrade some dependencies: gradle wrapper, third party lib, etc.
|
||||
- Sign APK with build tools 30.0.3
|
||||
|
||||
Other changes:
|
||||
- Add documentation on LoginWizard and RegistrationWizard (#3303)
|
||||
- Setup towncrier tool (#3293)
|
||||
|
||||
Security:
|
||||
- Element Android shares name of E2EE files with homeserver (#3387)
|
||||
|
||||
Changes in Element 1.1.7 (2021-05-12)
|
||||
===================================================
|
||||
|
||||
Features ✨:
|
||||
- Spaces beta
|
||||
|
||||
Improvements 🙌:
|
||||
- Add ability to install APK from directly from Element (#2381)
|
||||
- Delete and react to stickers (#3250)
|
||||
- Compress video before sending (#442)
|
||||
- Improve file too big error detection (#3245)
|
||||
- User can now select video when selecting Gallery to send attachments to a room
|
||||
- Add option to record a video from the camera
|
||||
- Add the public icon on the rooms in the room list (#3292)
|
||||
|
||||
Bugfix 🐛:
|
||||
- Message states cosmetic changes (#3007)
|
||||
- Fix exception in rxSingle (#3180)
|
||||
- Do not invite the current user when creating a room (#3123)
|
||||
- Fix color issues when the system theme is changed (#2738)
|
||||
- Fix issues on Android 11 (#3067)
|
||||
- Fix issue when opening encrypted files (#3186)
|
||||
- Fix wording issue (#3242)
|
||||
- Fix missing sender information after edits (#3184)
|
||||
- Fix read marker not updating automatically (#3267)
|
||||
- Sent video does not contains duration (#3272)
|
||||
- Properly clean the back stack if the user cancel registration when waiting for email validation
|
||||
- Fix read marker visibility/position when filtering some events
|
||||
- Fix user invitation in case of restricted profile api (#3306)
|
||||
|
||||
SDK API changes ⚠️:
|
||||
- RegistrationWizard.createAccount() parameters are now all optional, following Matrix spec (#3205)
|
||||
|
||||
Build 🧱:
|
||||
- Upgrade to gradle 7
|
||||
- https://github.com/Piasy/BigImageViewer is now hosted on mavenCentral()
|
||||
- Upgrade Realm to version 10.4.0
|
||||
|
||||
Other changes:
|
||||
- New store descriptions
|
||||
- `master` branch has been renamed to `main`. To apply change to your dev environment, run:
|
||||
```sh
|
||||
git branch -m master main
|
||||
git fetch origin
|
||||
git branch -u origin/main main
|
||||
# And optionally
|
||||
git remote prune origin
|
||||
```
|
||||
- Allow cleartext (non-SSL) connections to Matrix servers on LAN hosts (#3166)
|
||||
|
||||
Changes in Element 1.1.6 (2021-04-16)
|
||||
===================================================
|
||||
|
||||
Bugfix 🐛:
|
||||
- Fix crash on the timeline
|
||||
- App crashes on "troubleshoot notifications" button (#3187)
|
||||
|
||||
Changes in Element 1.1.5 (2021-04-15)
|
||||
===================================================
|
||||
|
||||
Bugfix 🐛:
|
||||
- Fix crash during Realm migration
|
||||
- Fix crash when playing video (#3179)
|
||||
|
||||
Changes in Element 1.1.4 (2021-04-09)
|
||||
===================================================
|
||||
|
||||
Improvements 🙌:
|
||||
- Split network request `/keys/query` into smaller requests (250 users max) (#2925)
|
||||
- Crypto improvement | Bulk send NO_OLM withheld code
|
||||
- Display the room shield in all room setting screens
|
||||
- Improve message with Emoji only detection (#3017)
|
||||
- Picture preview when replying. Also add the image preview in the message detail bottomsheet (#2916)
|
||||
- Api interceptor to allow app developers peek responses (#2986)
|
||||
- Update reactions to Unicode 13.1 (#2998)
|
||||
- Be more robust when parsing some enums
|
||||
- Improve timeline filtering (dissociate membership and profile events, display hidden events when highlighted, fix hidden item/read receipts behavior)
|
||||
- Add better support for empty room name fallback (#3106)
|
||||
- Room list improvements (paging)
|
||||
- Fix quick click action (#3127)
|
||||
- Get Event after a Push for a faster notification display in some conditions
|
||||
- Always try to retry Http requests in case of 429 (#1300)
|
||||
- registration availability endpoint added to matrix-sdk
|
||||
|
||||
Bugfix 🐛:
|
||||
- Fix bad theme change for the MainActivity
|
||||
- Handle encrypted reactions (#2509)
|
||||
- Disable URL preview for some domains (#2995)
|
||||
- Fix avatar rendering for DMs, after initial sync (#2693)
|
||||
- Fix mandatory parameter in API (#3065)
|
||||
- If signout request fails, do not start LoginActivity, but restart the app (#3099)
|
||||
- Retain keyword order in emoji import script, and update the generated file (#3147)
|
||||
|
||||
SDK API changes ⚠️:
|
||||
- Several Services have been migrated to coroutines (#2449)
|
||||
- Removes filtering options on Timeline.
|
||||
|
||||
Build 🧱:
|
||||
- Properly exclude gms dependencies in fdroid build flavour which were pulled in through the jitsi SDK (#3125)
|
||||
|
||||
Other changes:
|
||||
- Add version details on the login screen, in debug or developer mode
|
||||
- Migrate Retrofit interface to coroutine calls
|
||||
|
||||
Changes in Element 1.1.3 (2021-03-18)
|
||||
===================================================
|
||||
|
||||
Bugfix 🐛:
|
||||
- Fix regression in UpdateTrustWorker (introduced in 1.1.2)
|
||||
- Timeline : Fix ripple effect on text item and fix background color of separators.
|
||||
|
||||
Changes in Element 1.1.2 (2021-03-16) (was not published tp GPlay prod)
|
||||
===================================================
|
||||
|
||||
Improvements 🙌:
|
||||
- Lazy storage of ReadReceipts
|
||||
- Do not load room members in e2e after init sync
|
||||
|
||||
Bugfix 🐛:
|
||||
- Add option to cancel stuck messages at bottom of timeline see #516
|
||||
- Ensure message are decrypted in the room list after a clear cache
|
||||
- Regression: Video will not play upon tap, but only after swipe #2928
|
||||
- Cross signing now works with servers with an explicit port in the servername
|
||||
|
||||
Other changes:
|
||||
- Change formatting on issue templates to proper headings.
|
||||
|
||||
Changes in Element 1.1.1 (2021-03-10) (was not published tp GPlay prod)
|
||||
===================================================
|
||||
|
||||
Improvements 🙌:
|
||||
- Allow non-HTTPS connections to homeservers on Tor (#2941)
|
||||
- Fetch homeserver type and version and display in a new setting screen and add info in rageshakes (#2831)
|
||||
- Improve initial sync performance - split into 2 transactions (#983)
|
||||
- PIP support for Jitsi call (#2418)
|
||||
- Add tooltip for room quick actions
|
||||
- Pre-share session keys when opening a room or start typing (#2771)
|
||||
- Sending is now queuing by room and not uniquely to the session
|
||||
- Improve Snackbar duration (#2929)
|
||||
- Improve sending message state (#2937)
|
||||
|
||||
Bugfix 🐛:
|
||||
- Try to fix crash about UrlPreview (#2640)
|
||||
- Be robust if Event.type is missing (#2946)
|
||||
- Snappier message send status
|
||||
- Fix MainActivity display (#2927)
|
||||
|
||||
Translations 🗣:
|
||||
- All string resources and translations have been moved to the application module. Weblate project for the SDK will be removed.
|
||||
|
||||
Build 🧱:
|
||||
- Update a lot of dependencies, with the help of dependabot.
|
||||
- Add a script to download and install APK from the CI
|
||||
|
||||
Other changes:
|
||||
- Rework edition of event management
|
||||
|
||||
Changes in Element 1.1.0 (2021-02-19)
|
||||
===================================================
|
||||
|
||||
Features ✨:
|
||||
- VoIP : support for VoIP V1 protocol, transfer call and dial-pad
|
||||
|
||||
Improvements 🙌:
|
||||
- VoIP : new tiles in timeline
|
||||
- Improve room profile UX
|
||||
- Upgrade Jitsi library from 2.9.3 to 3.1.0
|
||||
- a11y improvements
|
||||
|
||||
Bugfix 🐛:
|
||||
- VoIP : fix audio devices output
|
||||
- Fix crash after initial sync on Dendrite
|
||||
- Fix crash reported by PlayStore (#2707)
|
||||
- Ignore url override from credential if it is not valid (#2822)
|
||||
- Fix crash when deactivating an account
|
||||
|
||||
SDK API changes ⚠️:
|
||||
- Migrate AuthenticationService API to coroutines (#2449)
|
||||
|
||||
Other changes:
|
||||
- New Dev Tools panel for developers
|
||||
- Fix typos in CHANGES.md (#2811)
|
||||
- Colors rework: first step: merge file `colors_riot.xml` to file `colors_riotx.xml` and rename the file to `colors.xml`
|
||||
|
||||
Changes in Element 1.0.17 (2021-02-09)
|
||||
===================================================
|
||||
|
||||
Improvements 🙌:
|
||||
- Create a WidgetItemFactory and use it for better rendering of Jitsi widget change (video conference)
|
||||
- Open image from URL Preview (#2705)
|
||||
|
||||
Bugfix 🐛:
|
||||
- Bug in WidgetContent.computeURL() (#2767)
|
||||
- Duplicate thumbs | Mobile reactions for 👍 and 👎 are not the same as web (#2776)
|
||||
- Join room by alias other federation error (#2778)
|
||||
- HTML unescaping for URL preview (#2766)
|
||||
- URL preview on reply fallback (#2756)
|
||||
- RTL: some arrows should be rotated in RTL (#2757)
|
||||
- Properly delete objects from Realm DB (#2765)
|
||||
|
||||
Build 🧱:
|
||||
- Upgrade build tools
|
||||
|
||||
Other changes:
|
||||
- Change app name from "Element (Riot.im)" to "Element"
|
||||
|
||||
Changes in Element 1.0.16 (2021-02-04)
|
||||
===================================================
|
||||
|
||||
Bugfix 🐛:
|
||||
- Fix crash on API < 30 and light theme (#2774)
|
||||
|
||||
Changes in Element 1.0.15 (2021-02-03)
|
||||
===================================================
|
||||
|
||||
Features ✨:
|
||||
- Social Login support
|
||||
|
||||
Improvements 🙌:
|
||||
- SSO support for cross signing (#1062)
|
||||
- Deactivate account when logged in with SSO (#1264)
|
||||
- SSO UIA doesn't work (#2754)
|
||||
|
||||
Bugfix 🐛:
|
||||
- Fix clear cache issue: sometimes, after a clear cache, there is still a token, so the init sync service is not started.
|
||||
- Sidebar too large in horizontal orientation or tablets (#475)
|
||||
- UrlPreview should be updated when the url is edited and changed (#2678)
|
||||
- When receiving a new pepper from identity server, use it on the next hash lookup (#2708)
|
||||
- Crashes reported by PlayStore (new in 1.0.14) (#2707)
|
||||
- Widgets: Support $matrix_widget_id parameter (#2748)
|
||||
- Data for Worker overload (#2721)
|
||||
- Fix multiple tasks
|
||||
- Object deletion in database is not complete (#2759)
|
||||
|
||||
SDK API changes ⚠️:
|
||||
- Increase targetSdkVersion to 30 (#2600)
|
||||
|
||||
Build 🧱:
|
||||
- Compile with Android SDK 30 (Android 11)
|
||||
|
||||
Other changes:
|
||||
- Update Dagger to 2.31 version so we can use the embedded AssistedInject feature
|
||||
|
||||
Changes in Element 1.0.14 (2021-01-15)
|
||||
===================================================
|
||||
|
||||
Features ✨:
|
||||
- Enable url previews for notices (#2562)
|
||||
- Edit room permissions (#2471)
|
||||
|
||||
Improvements 🙌:
|
||||
- Add System theme option and set as default (#904, #2387)
|
||||
- Store megolm outbound session to improve send time of first message after app launch.
|
||||
- Warn user when they are leaving a not public room (#1460)
|
||||
- Option to disable emoji keyboard (#2563)
|
||||
|
||||
Bugfix 🐛:
|
||||
- Unspecced msgType field in m.sticker (#2580)
|
||||
- Wait for all room members to be known before sending a message to a e2e room (#2518)
|
||||
- Url previews sometimes attached to wrong message (#2561)
|
||||
- Room Topic not displayed correctly after visiting a link (#2551)
|
||||
- Hiding membership events works the exact opposite (#2603)
|
||||
- Tapping drawer having more than 1 room in notifications gives "malformed link" error (#2605)
|
||||
- Sent image not displayed when opened immediately after sending (#409)
|
||||
- Initial sync is not retried correctly when there is some network error. (#2632)
|
||||
- Fix switch theme issue, and white field issue (#2599, #2528)
|
||||
- Fix request too large Uri error when joining a room
|
||||
|
||||
Translations 🗣:
|
||||
- New language supported: Hebrew
|
||||
|
||||
Build 🧱:
|
||||
- Remove dependency to org.greenrobot.eventbus library
|
||||
|
||||
Other changes:
|
||||
- Migrate to ViewBindings (#1072)
|
||||
|
||||
Changes in Element 1.0.13 (2020-12-18)
|
||||
===================================================
|
||||
|
||||
@@ -349,7 +821,7 @@ Improvements 🙌:
|
||||
- Sending events is now retried only 3 times, so we avoid blocking the sending queue too long.
|
||||
- Display warning when fail to send events in room list
|
||||
- Improve UI of edit role action in member profile
|
||||
- Moderation | New screen to display list of banned users in room settings, with unban action
|
||||
- Moderation | New screen to display list of banned users in room settings, with unban action
|
||||
|
||||
Bugfix 🐛:
|
||||
- Fix theme issue on Room directory screen (#1613)
|
||||
@@ -1069,36 +1541,3 @@ Changes in RiotX 0.1.0 (2019-07-11)
|
||||
First release!
|
||||
|
||||
Mode details here: https://medium.com/@RiotChat/introducing-the-riotx-beta-for-android-b17952e8f771
|
||||
|
||||
|
||||
=======================================================
|
||||
+ TEMPLATE WHEN PREPARING A NEW RELEASE +
|
||||
=======================================================
|
||||
|
||||
|
||||
Changes in Element 1.X.X (2020-XX-XX)
|
||||
===================================================
|
||||
|
||||
Features ✨:
|
||||
-
|
||||
|
||||
Improvements 🙌:
|
||||
-
|
||||
|
||||
Bugfix 🐛:
|
||||
-
|
||||
|
||||
Translations 🗣:
|
||||
-
|
||||
|
||||
SDK API changes ⚠️:
|
||||
-
|
||||
|
||||
Build 🧱:
|
||||
-
|
||||
|
||||
Test:
|
||||
-
|
||||
|
||||
Other changes:
|
||||
-
|
||||
|
@@ -26,10 +26,10 @@ To install the template (to be done only once):
|
||||
|
||||
To create a new screen:
|
||||
- First create a new package in your code.
|
||||
- Then right click on the package, and select `New/New Vector/RiotX Feature`.
|
||||
- Then right click on the package, and select `New/New Vector/Element Feature`.
|
||||
- Follow the Wizard, especially replace `Main` by something more relevant to your feature.
|
||||
- Click on `Finish`.
|
||||
- Remaining steps are described as TODO in the generated files, or will be pointed out by the compilator, or at runtime :)
|
||||
- Remaining steps are described as TODO in the generated files, or will be pointed out by the compiler, or at runtime :)
|
||||
|
||||
Note that if the templates are modified, the only things to do is to restart Android Studio for the change to take effect.
|
||||
|
||||
@@ -51,9 +51,21 @@ If an issue does not exist yet, it may be relevant to open a new issue and let u
|
||||
|
||||
This project is full Kotlin. Please do not write Java classes.
|
||||
|
||||
### CHANGES.md
|
||||
### Changelog
|
||||
|
||||
Please add a line to the top of the file `CHANGES.md` describing your change.
|
||||
Please create at least one file under ./changelog.d containing details about your change. Towncrier will be used when preparing the release.
|
||||
|
||||
Towncrier says to use the PR number for the filename, but the issue number is also fine.
|
||||
|
||||
Supported filename extensions are:
|
||||
|
||||
- ``.feature``: Signifying a new feature in Element Android or in the Matrix SDK.
|
||||
- ``.bugfix``: Signifying a bug fix.
|
||||
- ``.doc``: Signifying a documentation improvement.
|
||||
- ``.removal``: Signifying a deprecation or removal of public API. Can be used to notifying about API change in the Matrix SDK
|
||||
- ``.misc``: Any other changes.
|
||||
|
||||
See https://github.com/twisted/towncrier#news-fragments if you need more details.
|
||||
|
||||
### Code quality
|
||||
|
||||
|
209
Gemfile.lock
Normal file
209
Gemfile.lock
Normal file
@@ -0,0 +1,209 @@
|
||||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
CFPropertyList (3.0.3)
|
||||
addressable (2.8.0)
|
||||
public_suffix (>= 2.0.2, < 5.0)
|
||||
artifactory (3.0.15)
|
||||
atomos (0.1.3)
|
||||
aws-eventstream (1.1.1)
|
||||
aws-partitions (1.479.0)
|
||||
aws-sdk-core (3.117.0)
|
||||
aws-eventstream (~> 1, >= 1.0.2)
|
||||
aws-partitions (~> 1, >= 1.239.0)
|
||||
aws-sigv4 (~> 1.1)
|
||||
jmespath (~> 1.0)
|
||||
aws-sdk-kms (1.44.0)
|
||||
aws-sdk-core (~> 3, >= 3.112.0)
|
||||
aws-sigv4 (~> 1.1)
|
||||
aws-sdk-s3 (1.96.1)
|
||||
aws-sdk-core (~> 3, >= 3.112.0)
|
||||
aws-sdk-kms (~> 1)
|
||||
aws-sigv4 (~> 1.1)
|
||||
aws-sigv4 (1.2.4)
|
||||
aws-eventstream (~> 1, >= 1.0.2)
|
||||
babosa (1.0.4)
|
||||
claide (1.0.3)
|
||||
colored (1.2)
|
||||
colored2 (3.1.2)
|
||||
commander (4.6.0)
|
||||
highline (~> 2.0.0)
|
||||
declarative (0.0.20)
|
||||
digest-crc (0.6.3)
|
||||
rake (>= 12.0.0, < 14.0.0)
|
||||
domain_name (0.5.20190701)
|
||||
unf (>= 0.0.5, < 1.0.0)
|
||||
dotenv (2.7.6)
|
||||
emoji_regex (3.2.2)
|
||||
excon (0.85.0)
|
||||
faraday (1.5.1)
|
||||
faraday-em_http (~> 1.0)
|
||||
faraday-em_synchrony (~> 1.0)
|
||||
faraday-excon (~> 1.1)
|
||||
faraday-httpclient (~> 1.0.1)
|
||||
faraday-net_http (~> 1.0)
|
||||
faraday-net_http_persistent (~> 1.1)
|
||||
faraday-patron (~> 1.0)
|
||||
multipart-post (>= 1.2, < 3)
|
||||
ruby2_keywords (>= 0.0.4)
|
||||
faraday-cookie_jar (0.0.7)
|
||||
faraday (>= 0.8.0)
|
||||
http-cookie (~> 1.0.0)
|
||||
faraday-em_http (1.0.0)
|
||||
faraday-em_synchrony (1.0.0)
|
||||
faraday-excon (1.1.0)
|
||||
faraday-httpclient (1.0.1)
|
||||
faraday-net_http (1.0.1)
|
||||
faraday-net_http_persistent (1.2.0)
|
||||
faraday-patron (1.0.0)
|
||||
faraday_middleware (1.0.0)
|
||||
faraday (~> 1.0)
|
||||
fastimage (2.2.4)
|
||||
fastlane (2.187.0)
|
||||
CFPropertyList (>= 2.3, < 4.0.0)
|
||||
addressable (>= 2.3, < 3.0.0)
|
||||
artifactory (~> 3.0)
|
||||
aws-sdk-s3 (~> 1.0)
|
||||
babosa (>= 1.0.3, < 2.0.0)
|
||||
bundler (>= 1.12.0, < 3.0.0)
|
||||
colored
|
||||
commander (~> 4.6)
|
||||
dotenv (>= 2.1.1, < 3.0.0)
|
||||
emoji_regex (>= 0.1, < 4.0)
|
||||
excon (>= 0.71.0, < 1.0.0)
|
||||
faraday (~> 1.0)
|
||||
faraday-cookie_jar (~> 0.0.6)
|
||||
faraday_middleware (~> 1.0)
|
||||
fastimage (>= 2.1.0, < 3.0.0)
|
||||
gh_inspector (>= 1.1.2, < 2.0.0)
|
||||
google-apis-androidpublisher_v3 (~> 0.1)
|
||||
google-apis-playcustomapp_v1 (~> 0.1)
|
||||
google-cloud-storage (~> 1.31)
|
||||
highline (~> 2.0)
|
||||
json (< 3.0.0)
|
||||
jwt (>= 2.1.0, < 3)
|
||||
mini_magick (>= 4.9.4, < 5.0.0)
|
||||
multipart-post (~> 2.0.0)
|
||||
naturally (~> 2.2)
|
||||
plist (>= 3.1.0, < 4.0.0)
|
||||
rubyzip (>= 2.0.0, < 3.0.0)
|
||||
security (= 0.1.3)
|
||||
simctl (~> 1.6.3)
|
||||
terminal-notifier (>= 2.0.0, < 3.0.0)
|
||||
terminal-table (>= 1.4.5, < 2.0.0)
|
||||
tty-screen (>= 0.6.3, < 1.0.0)
|
||||
tty-spinner (>= 0.8.0, < 1.0.0)
|
||||
word_wrap (~> 1.0.0)
|
||||
xcodeproj (>= 1.13.0, < 2.0.0)
|
||||
xcpretty (~> 0.3.0)
|
||||
xcpretty-travis-formatter (>= 0.0.3)
|
||||
gh_inspector (1.1.3)
|
||||
google-apis-androidpublisher_v3 (0.8.0)
|
||||
google-apis-core (>= 0.4, < 2.a)
|
||||
google-apis-core (0.4.0)
|
||||
addressable (~> 2.5, >= 2.5.1)
|
||||
googleauth (>= 0.16.2, < 2.a)
|
||||
httpclient (>= 2.8.1, < 3.a)
|
||||
mini_mime (~> 1.0)
|
||||
representable (~> 3.0)
|
||||
retriable (>= 2.0, < 4.a)
|
||||
rexml
|
||||
webrick
|
||||
google-apis-iamcredentials_v1 (0.6.0)
|
||||
google-apis-core (>= 0.4, < 2.a)
|
||||
google-apis-playcustomapp_v1 (0.5.0)
|
||||
google-apis-core (>= 0.4, < 2.a)
|
||||
google-apis-storage_v1 (0.6.0)
|
||||
google-apis-core (>= 0.4, < 2.a)
|
||||
google-cloud-core (1.6.0)
|
||||
google-cloud-env (~> 1.0)
|
||||
google-cloud-errors (~> 1.0)
|
||||
google-cloud-env (1.5.0)
|
||||
faraday (>= 0.17.3, < 2.0)
|
||||
google-cloud-errors (1.1.0)
|
||||
google-cloud-storage (1.34.1)
|
||||
addressable (~> 2.5)
|
||||
digest-crc (~> 0.4)
|
||||
google-apis-iamcredentials_v1 (~> 0.1)
|
||||
google-apis-storage_v1 (~> 0.1)
|
||||
google-cloud-core (~> 1.6)
|
||||
googleauth (>= 0.16.2, < 2.a)
|
||||
mini_mime (~> 1.0)
|
||||
googleauth (0.16.2)
|
||||
faraday (>= 0.17.3, < 2.0)
|
||||
jwt (>= 1.4, < 3.0)
|
||||
memoist (~> 0.16)
|
||||
multi_json (~> 1.11)
|
||||
os (>= 0.9, < 2.0)
|
||||
signet (~> 0.14)
|
||||
highline (2.0.3)
|
||||
http-cookie (1.0.4)
|
||||
domain_name (~> 0.5)
|
||||
httpclient (2.8.3)
|
||||
jmespath (1.4.0)
|
||||
json (2.5.1)
|
||||
jwt (2.2.3)
|
||||
memoist (0.16.2)
|
||||
mini_magick (4.11.0)
|
||||
mini_mime (1.1.0)
|
||||
multi_json (1.15.0)
|
||||
multipart-post (2.0.0)
|
||||
nanaimo (0.3.0)
|
||||
naturally (2.2.1)
|
||||
os (1.1.1)
|
||||
plist (3.6.0)
|
||||
public_suffix (4.0.6)
|
||||
rake (13.0.6)
|
||||
representable (3.1.1)
|
||||
declarative (< 0.1.0)
|
||||
trailblazer-option (>= 0.1.1, < 0.2.0)
|
||||
uber (< 0.2.0)
|
||||
retriable (3.1.2)
|
||||
rexml (3.2.5)
|
||||
rouge (2.0.7)
|
||||
ruby2_keywords (0.0.5)
|
||||
rubyzip (2.3.2)
|
||||
security (0.1.3)
|
||||
signet (0.15.0)
|
||||
addressable (~> 2.3)
|
||||
faraday (>= 0.17.3, < 2.0)
|
||||
jwt (>= 1.5, < 3.0)
|
||||
multi_json (~> 1.10)
|
||||
simctl (1.6.8)
|
||||
CFPropertyList
|
||||
naturally
|
||||
terminal-notifier (2.0.0)
|
||||
terminal-table (1.8.0)
|
||||
unicode-display_width (~> 1.1, >= 1.1.1)
|
||||
trailblazer-option (0.1.1)
|
||||
tty-cursor (0.7.1)
|
||||
tty-screen (0.8.1)
|
||||
tty-spinner (0.9.3)
|
||||
tty-cursor (~> 0.7)
|
||||
uber (0.1.0)
|
||||
unf (0.1.4)
|
||||
unf_ext
|
||||
unf_ext (0.0.7.7)
|
||||
unicode-display_width (1.7.0)
|
||||
webrick (1.7.0)
|
||||
word_wrap (1.0.0)
|
||||
xcodeproj (1.20.0)
|
||||
CFPropertyList (>= 2.3.3, < 4.0)
|
||||
atomos (~> 0.1.3)
|
||||
claide (>= 1.0.2, < 2.0)
|
||||
colored2 (~> 3.1)
|
||||
nanaimo (~> 0.3.0)
|
||||
rexml (~> 3.2.4)
|
||||
xcpretty (0.3.0)
|
||||
rouge (~> 2.0.7)
|
||||
xcpretty-travis-formatter (1.0.1)
|
||||
xcpretty (~> 0.2, >= 0.0.7)
|
||||
|
||||
PLATFORMS
|
||||
x86_64-darwin-20
|
||||
|
||||
DEPENDENCIES
|
||||
fastlane
|
||||
|
||||
BUNDLED WITH
|
||||
2.2.15
|
@@ -16,28 +16,13 @@
|
||||
|
||||
apply plugin: 'com.android.library'
|
||||
apply plugin: 'kotlin-android'
|
||||
apply plugin: 'kotlin-android-extensions'
|
||||
|
||||
buildscript {
|
||||
repositories {
|
||||
maven {
|
||||
url 'https://jitpack.io'
|
||||
content {
|
||||
// PhotoView
|
||||
includeGroupByRegex 'com\\.github\\.chrisbanes'
|
||||
}
|
||||
}
|
||||
jcenter()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
android {
|
||||
compileSdkVersion 29
|
||||
compileSdkVersion 30
|
||||
|
||||
defaultConfig {
|
||||
minSdkVersion 21
|
||||
targetSdkVersion 29
|
||||
targetSdkVersion 30
|
||||
versionCode 1
|
||||
versionName "1.0"
|
||||
}
|
||||
@@ -55,18 +40,24 @@ android {
|
||||
kotlinOptions {
|
||||
jvmTarget = '1.8'
|
||||
}
|
||||
|
||||
buildFeatures {
|
||||
viewBinding true
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation 'com.github.chrisbanes:PhotoView:2.1.4'
|
||||
implementation project(":library:ui-styles")
|
||||
|
||||
implementation 'io.reactivex.rxjava2:rxkotlin:2.3.0'
|
||||
implementation 'com.github.chrisbanes:PhotoView:2.3.0'
|
||||
|
||||
implementation 'io.reactivex.rxjava2:rxkotlin:2.4.0'
|
||||
implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
|
||||
|
||||
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
|
||||
implementation 'androidx.core:core-ktx:1.3.2'
|
||||
implementation 'androidx.appcompat:appcompat:1.2.0'
|
||||
implementation "androidx.recyclerview:recyclerview:1.1.0"
|
||||
implementation 'androidx.core:core-ktx:1.6.0'
|
||||
implementation 'androidx.appcompat:appcompat:1.3.1'
|
||||
implementation "androidx.recyclerview:recyclerview:1.2.1"
|
||||
|
||||
implementation 'com.google.android.material:material:1.2.1'
|
||||
implementation 'com.google.android.material:material:1.4.0'
|
||||
}
|
@@ -17,19 +17,17 @@
|
||||
package im.vector.lib.attachmentviewer
|
||||
|
||||
import android.view.View
|
||||
import android.widget.ImageView
|
||||
import android.widget.ProgressBar
|
||||
import im.vector.lib.attachmentviewer.databinding.ItemAnimatedImageAttachmentBinding
|
||||
|
||||
class AnimatedImageViewHolder constructor(itemView: View) :
|
||||
BaseViewHolder(itemView) {
|
||||
|
||||
val touchImageView: ImageView = itemView.findViewById(R.id.imageView)
|
||||
val imageLoaderProgress: ProgressBar = itemView.findViewById(R.id.imageLoaderProgress)
|
||||
val views = ItemAnimatedImageAttachmentBinding.bind(itemView)
|
||||
|
||||
internal val target = DefaultImageLoaderTarget(this, this.touchImageView)
|
||||
internal val target = DefaultImageLoaderTarget(this, views.imageView)
|
||||
|
||||
override fun onRecycled() {
|
||||
super.onRecycled()
|
||||
touchImageView.setImageDrawable(null)
|
||||
views.imageView.setImageDrawable(null)
|
||||
}
|
||||
}
|
||||
|
@@ -18,58 +18,71 @@
|
||||
package im.vector.lib.attachmentviewer
|
||||
|
||||
import android.graphics.Color
|
||||
import android.os.Build
|
||||
import android.os.Bundle
|
||||
import android.view.GestureDetector
|
||||
import android.view.MotionEvent
|
||||
import android.view.ScaleGestureDetector
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.view.WindowInsets
|
||||
import android.view.WindowInsetsController
|
||||
import android.view.WindowManager
|
||||
import android.widget.ImageView
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.core.view.GestureDetectorCompat
|
||||
import androidx.core.view.ViewCompat
|
||||
import androidx.core.view.WindowInsetsCompat
|
||||
import androidx.core.view.isVisible
|
||||
import androidx.core.view.updatePadding
|
||||
import androidx.transition.TransitionManager
|
||||
import androidx.viewpager2.widget.ViewPager2
|
||||
import kotlinx.android.synthetic.main.activity_attachment_viewer.*
|
||||
import im.vector.lib.attachmentviewer.databinding.ActivityAttachmentViewerBinding
|
||||
|
||||
import java.lang.ref.WeakReference
|
||||
import kotlin.math.abs
|
||||
|
||||
abstract class AttachmentViewerActivity : AppCompatActivity(), AttachmentEventListener {
|
||||
|
||||
lateinit var pager2: ViewPager2
|
||||
lateinit var imageTransitionView: ImageView
|
||||
lateinit var transitionImageContainer: ViewGroup
|
||||
protected val pager2: ViewPager2
|
||||
get() = views.attachmentPager
|
||||
protected val imageTransitionView: ImageView
|
||||
get() = views.transitionImageView
|
||||
protected val transitionImageContainer: ViewGroup
|
||||
get() = views.transitionImageContainer
|
||||
|
||||
var topInset = 0
|
||||
var bottomInset = 0
|
||||
var systemUiVisibility = true
|
||||
private var topInset = 0
|
||||
private var bottomInset = 0
|
||||
private var systemUiVisibility = true
|
||||
|
||||
private var overlayView: View? = null
|
||||
set(value) {
|
||||
if (value == overlayView) return
|
||||
overlayView?.let { rootContainer.removeView(it) }
|
||||
rootContainer.addView(value)
|
||||
overlayView?.let { views.rootContainer.removeView(it) }
|
||||
views.rootContainer.addView(value)
|
||||
value?.updatePadding(top = topInset, bottom = bottomInset)
|
||||
field = value
|
||||
}
|
||||
|
||||
private lateinit var views: ActivityAttachmentViewerBinding
|
||||
|
||||
private lateinit var swipeDismissHandler: SwipeToDismissHandler
|
||||
private lateinit var directionDetector: SwipeDirectionDetector
|
||||
private lateinit var scaleDetector: ScaleGestureDetector
|
||||
private lateinit var gestureDetector: GestureDetectorCompat
|
||||
|
||||
var currentPosition = 0
|
||||
private set
|
||||
|
||||
private var swipeDirection: SwipeDirection? = null
|
||||
|
||||
private fun isScaled() = attachmentsAdapter.isScaled(currentPosition)
|
||||
|
||||
private val attachmentsAdapter = AttachmentsAdapter()
|
||||
|
||||
private var wasScaled: Boolean = false
|
||||
private var isSwipeToDismissAllowed: Boolean = true
|
||||
private lateinit var attachmentsAdapter: AttachmentsAdapter
|
||||
private var isOverlayWasClicked = false
|
||||
|
||||
// private val shouldDismissToBottom: Boolean
|
||||
@@ -86,26 +99,16 @@ abstract class AttachmentViewerActivity : AppCompatActivity(), AttachmentEventLi
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
|
||||
// This is important for the dispatchTouchEvent, if not we must correct
|
||||
// the touch coordinates
|
||||
window.decorView.systemUiVisibility = (
|
||||
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
|
||||
or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
|
||||
or View.SYSTEM_UI_FLAG_IMMERSIVE)
|
||||
window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS, WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS)
|
||||
window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION, WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION)
|
||||
setDecorViewFullScreen()
|
||||
|
||||
setContentView(R.layout.activity_attachment_viewer)
|
||||
attachmentPager.orientation = ViewPager2.ORIENTATION_HORIZONTAL
|
||||
attachmentsAdapter = AttachmentsAdapter()
|
||||
attachmentPager.adapter = attachmentsAdapter
|
||||
imageTransitionView = transitionImageView
|
||||
transitionImageContainer = findViewById(R.id.transitionImageContainer)
|
||||
pager2 = attachmentPager
|
||||
views = ActivityAttachmentViewerBinding.inflate(layoutInflater)
|
||||
setContentView(views.root)
|
||||
views.attachmentPager.orientation = ViewPager2.ORIENTATION_HORIZONTAL
|
||||
views.attachmentPager.adapter = attachmentsAdapter
|
||||
directionDetector = createSwipeDirectionDetector()
|
||||
gestureDetector = createGestureDetector()
|
||||
|
||||
attachmentPager.registerOnPageChangeCallback(object : ViewPager2.OnPageChangeCallback() {
|
||||
views.attachmentPager.registerOnPageChangeCallback(object : ViewPager2.OnPageChangeCallback() {
|
||||
override fun onPageScrollStateChanged(state: Int) {
|
||||
isImagePagerIdle = state == ViewPager2.SCROLL_STATE_IDLE
|
||||
}
|
||||
@@ -116,19 +119,44 @@ abstract class AttachmentViewerActivity : AppCompatActivity(), AttachmentEventLi
|
||||
})
|
||||
|
||||
swipeDismissHandler = createSwipeToDismissHandler()
|
||||
rootContainer.setOnTouchListener(swipeDismissHandler)
|
||||
rootContainer.viewTreeObserver.addOnGlobalLayoutListener { swipeDismissHandler.translationLimit = dismissContainer.height / 4 }
|
||||
views.rootContainer.setOnTouchListener(swipeDismissHandler)
|
||||
views.rootContainer.viewTreeObserver.addOnGlobalLayoutListener { swipeDismissHandler.translationLimit = views.dismissContainer.height / 4 }
|
||||
|
||||
scaleDetector = createScaleGestureDetector()
|
||||
|
||||
ViewCompat.setOnApplyWindowInsetsListener(rootContainer) { _, insets ->
|
||||
overlayView?.updatePadding(top = insets.systemWindowInsetTop, bottom = insets.systemWindowInsetBottom)
|
||||
topInset = insets.systemWindowInsetTop
|
||||
bottomInset = insets.systemWindowInsetBottom
|
||||
ViewCompat.setOnApplyWindowInsetsListener(views.rootContainer) { _, insets ->
|
||||
val systemBarsInsets = insets.getInsets(WindowInsetsCompat.Type.systemBars())
|
||||
|
||||
overlayView?.updatePadding(top = systemBarsInsets.top, bottom = systemBarsInsets.bottom)
|
||||
topInset = systemBarsInsets.top
|
||||
bottomInset = systemBarsInsets.bottom
|
||||
insets
|
||||
}
|
||||
}
|
||||
|
||||
@Suppress("DEPRECATION")
|
||||
private fun setDecorViewFullScreen() {
|
||||
// This is important for the dispatchTouchEvent, if not we must correct
|
||||
// the touch coordinates
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
|
||||
// New API instead of SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN and SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
|
||||
window.setDecorFitsSystemWindows(false)
|
||||
// New API instead of SYSTEM_UI_FLAG_IMMERSIVE
|
||||
window.decorView.windowInsetsController?.systemBarsBehavior = WindowInsetsController.BEHAVIOR_SHOW_BARS_BY_SWIPE
|
||||
// New API instead of FLAG_TRANSLUCENT_STATUS
|
||||
window.statusBarColor = ContextCompat.getColor(this, R.color.half_transparent_status_bar)
|
||||
// new API instead of FLAG_TRANSLUCENT_NAVIGATION
|
||||
window.navigationBarColor = ContextCompat.getColor(this, R.color.half_transparent_status_bar)
|
||||
} else {
|
||||
window.decorView.systemUiVisibility = (
|
||||
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
|
||||
or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
|
||||
or View.SYSTEM_UI_FLAG_IMMERSIVE)
|
||||
window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS, WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS)
|
||||
window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION, WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION)
|
||||
}
|
||||
}
|
||||
|
||||
fun onSelectedPositionChanged(position: Int) {
|
||||
attachmentsAdapter.recyclerView?.findViewHolderForAdapterPosition(currentPosition)?.let {
|
||||
(it as? BaseViewHolder)?.onSelected(false)
|
||||
@@ -170,7 +198,7 @@ abstract class AttachmentViewerActivity : AppCompatActivity(), AttachmentEventLi
|
||||
if (swipeDirection == null && (scaleDetector.isInProgress || ev.pointerCount > 1 || wasScaled)) {
|
||||
wasScaled = true
|
||||
// Log.v("ATTACHEMENTS", "dispatch to pager")
|
||||
return attachmentPager.dispatchTouchEvent(ev)
|
||||
return views.attachmentPager.dispatchTouchEvent(ev)
|
||||
}
|
||||
|
||||
// Log.v("ATTACHEMENTS", "is current item scaled ${isScaled()}")
|
||||
@@ -196,16 +224,16 @@ abstract class AttachmentViewerActivity : AppCompatActivity(), AttachmentEventLi
|
||||
private fun handleEventActionDown(event: MotionEvent) {
|
||||
swipeDirection = null
|
||||
wasScaled = false
|
||||
attachmentPager.dispatchTouchEvent(event)
|
||||
views.attachmentPager.dispatchTouchEvent(event)
|
||||
|
||||
swipeDismissHandler.onTouch(rootContainer, event)
|
||||
swipeDismissHandler.onTouch(views.rootContainer, event)
|
||||
isOverlayWasClicked = dispatchOverlayTouch(event)
|
||||
}
|
||||
|
||||
private fun handleEventActionUp(event: MotionEvent) {
|
||||
// wasDoubleTapped = false
|
||||
swipeDismissHandler.onTouch(rootContainer, event)
|
||||
attachmentPager.dispatchTouchEvent(event)
|
||||
swipeDismissHandler.onTouch(views.rootContainer, event)
|
||||
views.attachmentPager.dispatchTouchEvent(event)
|
||||
isOverlayWasClicked = dispatchOverlayTouch(event)
|
||||
}
|
||||
|
||||
@@ -220,12 +248,12 @@ abstract class AttachmentViewerActivity : AppCompatActivity(), AttachmentEventLi
|
||||
private fun toggleOverlayViewVisibility() {
|
||||
if (systemUiVisibility) {
|
||||
// we hide
|
||||
TransitionManager.beginDelayedTransition(rootContainer)
|
||||
TransitionManager.beginDelayedTransition(views.rootContainer)
|
||||
hideSystemUI()
|
||||
overlayView?.isVisible = false
|
||||
} else {
|
||||
// we show
|
||||
TransitionManager.beginDelayedTransition(rootContainer)
|
||||
TransitionManager.beginDelayedTransition(views.rootContainer)
|
||||
showSystemUI()
|
||||
overlayView?.isVisible = true
|
||||
}
|
||||
@@ -238,11 +266,11 @@ abstract class AttachmentViewerActivity : AppCompatActivity(), AttachmentEventLi
|
||||
return when (swipeDirection) {
|
||||
SwipeDirection.Up, SwipeDirection.Down -> {
|
||||
if (isSwipeToDismissAllowed && !wasScaled && isImagePagerIdle) {
|
||||
swipeDismissHandler.onTouch(rootContainer, event)
|
||||
swipeDismissHandler.onTouch(views.rootContainer, event)
|
||||
} else true
|
||||
}
|
||||
SwipeDirection.Left, SwipeDirection.Right -> {
|
||||
attachmentPager.dispatchTouchEvent(event)
|
||||
views.attachmentPager.dispatchTouchEvent(event)
|
||||
}
|
||||
else -> true
|
||||
}
|
||||
@@ -250,8 +278,8 @@ abstract class AttachmentViewerActivity : AppCompatActivity(), AttachmentEventLi
|
||||
|
||||
private fun handleSwipeViewMove(translationY: Float, translationLimit: Int) {
|
||||
val alpha = calculateTranslationAlpha(translationY, translationLimit)
|
||||
backgroundView.alpha = alpha
|
||||
dismissContainer.alpha = alpha
|
||||
views.backgroundView.alpha = alpha
|
||||
views.dismissContainer.alpha = alpha
|
||||
overlayView?.alpha = alpha
|
||||
}
|
||||
|
||||
@@ -265,7 +293,7 @@ abstract class AttachmentViewerActivity : AppCompatActivity(), AttachmentEventLi
|
||||
|
||||
private fun createSwipeToDismissHandler()
|
||||
: SwipeToDismissHandler = SwipeToDismissHandler(
|
||||
swipeView = dismissContainer,
|
||||
swipeView = views.dismissContainer,
|
||||
shouldAnimateDismiss = { shouldAnimateDismiss() },
|
||||
onDismiss = { animateClose() },
|
||||
onSwipeViewMove = ::handleSwipeViewMove)
|
||||
@@ -308,11 +336,24 @@ abstract class AttachmentViewerActivity : AppCompatActivity(), AttachmentEventLi
|
||||
?.handleCommand(commands)
|
||||
}
|
||||
|
||||
@Suppress("DEPRECATION")
|
||||
private fun hideSystemUI() {
|
||||
systemUiVisibility = false
|
||||
// Enables regular immersive mode.
|
||||
// For "lean back" mode, remove SYSTEM_UI_FLAG_IMMERSIVE.
|
||||
// Or for "sticky immersive," replace it with SYSTEM_UI_FLAG_IMMERSIVE_STICKY
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
|
||||
// New API instead of SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN and SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
|
||||
window.setDecorFitsSystemWindows(false)
|
||||
// new API instead of SYSTEM_UI_FLAG_HIDE_NAVIGATION
|
||||
window.decorView.windowInsetsController?.hide(WindowInsets.Type.navigationBars())
|
||||
// New API instead of SYSTEM_UI_FLAG_IMMERSIVE
|
||||
window.decorView.windowInsetsController?.systemBarsBehavior = WindowInsetsController.BEHAVIOR_SHOW_BARS_BY_SWIPE
|
||||
// New API instead of FLAG_TRANSLUCENT_STATUS
|
||||
window.statusBarColor = ContextCompat.getColor(this, R.color.half_transparent_status_bar)
|
||||
// New API instead of FLAG_TRANSLUCENT_NAVIGATION
|
||||
window.navigationBarColor = ContextCompat.getColor(this, R.color.half_transparent_status_bar)
|
||||
} else {
|
||||
window.decorView.systemUiVisibility = (View.SYSTEM_UI_FLAG_IMMERSIVE
|
||||
// Set the content to appear under the system bars so that the
|
||||
// content doesn't resize when the system bars hide and show.
|
||||
@@ -323,13 +364,20 @@ abstract class AttachmentViewerActivity : AppCompatActivity(), AttachmentEventLi
|
||||
or View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
|
||||
or View.SYSTEM_UI_FLAG_FULLSCREEN)
|
||||
}
|
||||
}
|
||||
|
||||
// Shows the system bars by removing all the flags
|
||||
// except for the ones that make the content appear under the system bars.
|
||||
@Suppress("DEPRECATION")
|
||||
private fun showSystemUI() {
|
||||
systemUiVisibility = true
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
|
||||
// New API instead of SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN and SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
|
||||
window.setDecorFitsSystemWindows(false)
|
||||
} else {
|
||||
window.decorView.systemUiVisibility = (View.SYSTEM_UI_FLAG_LAYOUT_STABLE
|
||||
or View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
|
||||
or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -98,7 +98,7 @@ class AttachmentsAdapter : RecyclerView.Adapter<BaseViewHolder>() {
|
||||
fun isScaled(position: Int): Boolean {
|
||||
val holder = recyclerView?.findViewHolderForAdapterPosition(position)
|
||||
if (holder is ZoomableImageViewHolder) {
|
||||
return holder.touchImageView.attacher.scale > 1f
|
||||
return holder.views.touchImageView.attacher.scale > 1f
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
@@ -44,29 +44,29 @@ internal class DefaultImageLoaderTarget(val holder: AnimatedImageViewHolder, pri
|
||||
|
||||
override fun onResourceLoading(uid: String, placeholder: Drawable?) {
|
||||
if (holder.boundResourceUid != uid) return
|
||||
holder.imageLoaderProgress.isVisible = true
|
||||
holder.views.imageLoaderProgress.isVisible = true
|
||||
}
|
||||
|
||||
override fun onLoadFailed(uid: String, errorDrawable: Drawable?) {
|
||||
if (holder.boundResourceUid != uid) return
|
||||
holder.imageLoaderProgress.isVisible = false
|
||||
holder.touchImageView.setImageDrawable(errorDrawable)
|
||||
holder.views.imageLoaderProgress.isVisible = false
|
||||
holder.views.imageView.setImageDrawable(errorDrawable)
|
||||
}
|
||||
|
||||
override fun onResourceCleared(uid: String, placeholder: Drawable?) {
|
||||
if (holder.boundResourceUid != uid) return
|
||||
holder.touchImageView.setImageDrawable(placeholder)
|
||||
holder.views.imageView.setImageDrawable(placeholder)
|
||||
}
|
||||
|
||||
override fun onResourceReady(uid: String, resource: Drawable) {
|
||||
if (holder.boundResourceUid != uid) return
|
||||
holder.imageLoaderProgress.isVisible = false
|
||||
holder.views.imageLoaderProgress.isVisible = false
|
||||
// Glide mess up the view size :/
|
||||
holder.touchImageView.updateLayoutParams {
|
||||
holder.views.imageView.updateLayoutParams {
|
||||
width = LinearLayout.LayoutParams.MATCH_PARENT
|
||||
height = LinearLayout.LayoutParams.MATCH_PARENT
|
||||
}
|
||||
holder.touchImageView.setImageDrawable(resource)
|
||||
holder.views.imageView.setImageDrawable(resource)
|
||||
if (resource is Animatable) {
|
||||
resource.start()
|
||||
}
|
||||
@@ -77,30 +77,30 @@ internal class DefaultImageLoaderTarget(val holder: AnimatedImageViewHolder, pri
|
||||
|
||||
override fun onResourceLoading(uid: String, placeholder: Drawable?) {
|
||||
if (holder.boundResourceUid != uid) return
|
||||
holder.imageLoaderProgress.isVisible = true
|
||||
holder.touchImageView.setImageDrawable(placeholder)
|
||||
holder.views.imageLoaderProgress.isVisible = true
|
||||
holder.views.touchImageView.setImageDrawable(placeholder)
|
||||
}
|
||||
|
||||
override fun onLoadFailed(uid: String, errorDrawable: Drawable?) {
|
||||
if (holder.boundResourceUid != uid) return
|
||||
holder.imageLoaderProgress.isVisible = false
|
||||
holder.touchImageView.setImageDrawable(errorDrawable)
|
||||
holder.views.imageLoaderProgress.isVisible = false
|
||||
holder.views.touchImageView.setImageDrawable(errorDrawable)
|
||||
}
|
||||
|
||||
override fun onResourceCleared(uid: String, placeholder: Drawable?) {
|
||||
if (holder.boundResourceUid != uid) return
|
||||
holder.touchImageView.setImageDrawable(placeholder)
|
||||
holder.views.touchImageView.setImageDrawable(placeholder)
|
||||
}
|
||||
|
||||
override fun onResourceReady(uid: String, resource: Drawable) {
|
||||
if (holder.boundResourceUid != uid) return
|
||||
holder.imageLoaderProgress.isVisible = false
|
||||
holder.views.imageLoaderProgress.isVisible = false
|
||||
// Glide mess up the view size :/
|
||||
holder.touchImageView.updateLayoutParams {
|
||||
holder.views.touchImageView.updateLayoutParams {
|
||||
width = LinearLayout.LayoutParams.MATCH_PARENT
|
||||
height = LinearLayout.LayoutParams.MATCH_PARENT
|
||||
}
|
||||
holder.touchImageView.setImageDrawable(resource)
|
||||
holder.views.touchImageView.setImageDrawable(resource)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -49,19 +49,19 @@ internal class DefaultVideoLoaderTarget(val holder: VideoViewHolder, private val
|
||||
|
||||
override fun onThumbnailResourceCleared(uid: String, placeholder: Drawable?) {
|
||||
if (holder.boundResourceUid != uid) return
|
||||
holder.thumbnailImage.setImageDrawable(placeholder)
|
||||
holder.views.videoThumbnailImage.setImageDrawable(placeholder)
|
||||
}
|
||||
|
||||
override fun onThumbnailResourceReady(uid: String, resource: Drawable) {
|
||||
if (holder.boundResourceUid != uid) return
|
||||
holder.thumbnailImage.setImageDrawable(resource)
|
||||
holder.views.videoThumbnailImage.setImageDrawable(resource)
|
||||
}
|
||||
|
||||
override fun onVideoFileLoading(uid: String) {
|
||||
if (holder.boundResourceUid != uid) return
|
||||
holder.thumbnailImage.isVisible = true
|
||||
holder.loaderProgressBar.isVisible = true
|
||||
holder.videoView.isVisible = false
|
||||
holder.views.videoThumbnailImage.isVisible = true
|
||||
holder.views.videoLoaderProgress.isVisible = true
|
||||
holder.views.videoView.isVisible = false
|
||||
}
|
||||
|
||||
override fun onVideoFileLoadFailed(uid: String) {
|
||||
@@ -82,8 +82,8 @@ internal class DefaultVideoLoaderTarget(val holder: VideoViewHolder, private val
|
||||
}
|
||||
|
||||
private fun arrangeForVideoReady() {
|
||||
holder.thumbnailImage.isVisible = false
|
||||
holder.loaderProgressBar.isVisible = false
|
||||
holder.videoView.isVisible = true
|
||||
holder.views.videoThumbnailImage.isVisible = false
|
||||
holder.views.videoLoaderProgress.isVisible = false
|
||||
holder.views.videoView.isVisible = true
|
||||
}
|
||||
}
|
||||
|
@@ -18,11 +18,8 @@ package im.vector.lib.attachmentviewer
|
||||
|
||||
import android.util.Log
|
||||
import android.view.View
|
||||
import android.widget.ImageView
|
||||
import android.widget.ProgressBar
|
||||
import android.widget.TextView
|
||||
import android.widget.VideoView
|
||||
import androidx.core.view.isVisible
|
||||
import im.vector.lib.attachmentviewer.databinding.ItemVideoAttachmentBinding
|
||||
import io.reactivex.Observable
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers
|
||||
import io.reactivex.disposables.Disposable
|
||||
@@ -44,13 +41,9 @@ class VideoViewHolder constructor(itemView: View) :
|
||||
|
||||
var eventListener: WeakReference<AttachmentEventListener>? = null
|
||||
|
||||
val thumbnailImage: ImageView = itemView.findViewById(R.id.videoThumbnailImage)
|
||||
val videoView: VideoView = itemView.findViewById(R.id.videoView)
|
||||
val loaderProgressBar: ProgressBar = itemView.findViewById(R.id.videoLoaderProgress)
|
||||
val videoControlIcon: ImageView = itemView.findViewById(R.id.videoControlIcon)
|
||||
val errorTextView: TextView = itemView.findViewById(R.id.videoMediaViewerErrorView)
|
||||
val views = ItemVideoAttachmentBinding.bind(itemView)
|
||||
|
||||
internal val target = DefaultVideoLoaderTarget(this, thumbnailImage)
|
||||
internal val target = DefaultVideoLoaderTarget(this, views.videoThumbnailImage)
|
||||
|
||||
override fun onRecycled() {
|
||||
super.onRecycled()
|
||||
@@ -77,12 +70,12 @@ class VideoViewHolder constructor(itemView: View) :
|
||||
}
|
||||
|
||||
override fun entersBackground() {
|
||||
if (videoView.isPlaying) {
|
||||
progress = videoView.currentPosition
|
||||
if (views.videoView.isPlaying) {
|
||||
progress = views.videoView.currentPosition
|
||||
progressDisposable?.dispose()
|
||||
progressDisposable = null
|
||||
videoView.stopPlayback()
|
||||
videoView.pause()
|
||||
views.videoView.stopPlayback()
|
||||
views.videoView.pause()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -92,9 +85,9 @@ class VideoViewHolder constructor(itemView: View) :
|
||||
|
||||
override fun onSelected(selected: Boolean) {
|
||||
if (!selected) {
|
||||
if (videoView.isPlaying) {
|
||||
progress = videoView.currentPosition
|
||||
videoView.stopPlayback()
|
||||
if (views.videoView.isPlaying) {
|
||||
progress = views.videoView.currentPosition
|
||||
views.videoView.stopPlayback()
|
||||
} else {
|
||||
progress = 0
|
||||
}
|
||||
@@ -109,34 +102,34 @@ class VideoViewHolder constructor(itemView: View) :
|
||||
}
|
||||
|
||||
private fun startPlaying() {
|
||||
thumbnailImage.isVisible = false
|
||||
loaderProgressBar.isVisible = false
|
||||
videoView.isVisible = true
|
||||
views.videoThumbnailImage.isVisible = false
|
||||
views.videoLoaderProgress.isVisible = false
|
||||
views.videoView.isVisible = true
|
||||
|
||||
videoView.setOnPreparedListener {
|
||||
views.videoView.setOnPreparedListener {
|
||||
progressDisposable?.dispose()
|
||||
progressDisposable = Observable.interval(100, TimeUnit.MILLISECONDS)
|
||||
.timeInterval()
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe {
|
||||
val duration = videoView.duration
|
||||
val progress = videoView.currentPosition
|
||||
val isPlaying = videoView.isPlaying
|
||||
val duration = views.videoView.duration
|
||||
val progress = views.videoView.currentPosition
|
||||
val isPlaying = views.videoView.isPlaying
|
||||
// Log.v("FOO", "isPlaying $isPlaying $progress/$duration")
|
||||
eventListener?.get()?.onEvent(AttachmentEvents.VideoEvent(isPlaying, progress, duration))
|
||||
}
|
||||
}
|
||||
try {
|
||||
videoView.setVideoPath(mVideoPath)
|
||||
views.videoView.setVideoPath(mVideoPath)
|
||||
} catch (failure: Throwable) {
|
||||
// Couldn't open
|
||||
Log.v(VideoViewHolder::class.java.name, "Failed to start video")
|
||||
}
|
||||
|
||||
if (!wasPaused) {
|
||||
videoView.start()
|
||||
views.videoView.start()
|
||||
if (progress > 0) {
|
||||
videoView.seekTo(progress)
|
||||
views.videoView.seekTo(progress)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -146,17 +139,17 @@ class VideoViewHolder constructor(itemView: View) :
|
||||
when (commands) {
|
||||
AttachmentCommands.StartVideo -> {
|
||||
wasPaused = false
|
||||
videoView.start()
|
||||
views.videoView.start()
|
||||
}
|
||||
AttachmentCommands.PauseVideo -> {
|
||||
wasPaused = true
|
||||
videoView.pause()
|
||||
views.videoView.pause()
|
||||
}
|
||||
is AttachmentCommands.SeekTo -> {
|
||||
val duration = videoView.duration
|
||||
val duration = views.videoView.duration
|
||||
if (duration > 0) {
|
||||
val seekDuration = duration * (commands.percentProgress / 100f)
|
||||
videoView.seekTo(seekDuration.toInt())
|
||||
views.videoView.seekTo(seekDuration.toInt())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -17,31 +17,29 @@
|
||||
package im.vector.lib.attachmentviewer
|
||||
|
||||
import android.view.View
|
||||
import android.widget.ProgressBar
|
||||
import com.github.chrisbanes.photoview.PhotoView
|
||||
import im.vector.lib.attachmentviewer.databinding.ItemImageAttachmentBinding
|
||||
|
||||
class ZoomableImageViewHolder constructor(itemView: View) :
|
||||
BaseViewHolder(itemView) {
|
||||
|
||||
val touchImageView: PhotoView = itemView.findViewById(R.id.touchImageView)
|
||||
val imageLoaderProgress: ProgressBar = itemView.findViewById(R.id.imageLoaderProgress)
|
||||
val views = ItemImageAttachmentBinding.bind(itemView)
|
||||
|
||||
init {
|
||||
touchImageView.setAllowParentInterceptOnEdge(false)
|
||||
touchImageView.setOnScaleChangeListener { scaleFactor, _, _ ->
|
||||
views.touchImageView.setAllowParentInterceptOnEdge(false)
|
||||
views.touchImageView.setOnScaleChangeListener { scaleFactor, _, _ ->
|
||||
// Log.v("ATTACHEMENTS", "scaleFactor $scaleFactor")
|
||||
// It's a bit annoying but when you pitch down the scaling
|
||||
// is not exactly one :/
|
||||
touchImageView.setAllowParentInterceptOnEdge(scaleFactor <= 1.0008f)
|
||||
views.touchImageView.setAllowParentInterceptOnEdge(scaleFactor <= 1.0008f)
|
||||
}
|
||||
touchImageView.setScale(1.0f, true)
|
||||
touchImageView.setAllowParentInterceptOnEdge(true)
|
||||
views.touchImageView.setScale(1.0f, true)
|
||||
views.touchImageView.setAllowParentInterceptOnEdge(true)
|
||||
}
|
||||
|
||||
internal val target = DefaultImageLoaderTarget.ZoomableImageTarget(this, touchImageView)
|
||||
internal val target = DefaultImageLoaderTarget.ZoomableImageTarget(this, views.touchImageView)
|
||||
|
||||
override fun onRecycled() {
|
||||
super.onRecycled()
|
||||
touchImageView.setImageDrawable(null)
|
||||
views.touchImageView.setImageDrawable(null)
|
||||
}
|
||||
}
|
||||
|
@@ -1,22 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<com.github.chrisbanes.photoview.PhotoView
|
||||
android:id="@+id/touchImageView"
|
||||
android:visibility="visible"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent" />
|
||||
|
||||
<ProgressBar
|
||||
android:layout_centerInParent="true"
|
||||
android:id="@+id/imageLoaderProgress"
|
||||
style="?android:attr/progressBarStyle"
|
||||
android:layout_width="40dp"
|
||||
android:layout_height="40dp"
|
||||
android:visibility="visible"
|
||||
tools:visibility="gone" />
|
||||
android:layout_centerInParent="true" />
|
||||
|
||||
</RelativeLayout>
|
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/videoThumbnailImage"
|
||||
@@ -19,29 +19,29 @@
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/videoControlIcon"
|
||||
android:layout_centerInParent="true"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"
|
||||
android:layout_width="44dp"
|
||||
android:layout_height="44dp"
|
||||
/>
|
||||
android:layout_centerInParent="true"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible" />
|
||||
|
||||
<ProgressBar
|
||||
android:layout_centerInParent="true"
|
||||
android:id="@+id/videoLoaderProgress"
|
||||
style="?android:attr/progressBarStyle"
|
||||
android:layout_width="40dp"
|
||||
android:layout_height="40dp"
|
||||
android:layout_centerInParent="true"
|
||||
android:visibility="invisible"
|
||||
tools:visibility="visible" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/videoMediaViewerErrorView"
|
||||
style="@style/Widget.Vector.TextView.Subtitle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
android:layout_margin="16dp"
|
||||
android:textSize="16sp"
|
||||
android:textColor="?colorError"
|
||||
android:visibility="gone"
|
||||
tools:text="Error"
|
||||
tools:visibility="visible" />
|
||||
|
@@ -1,17 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/design_default_color_primary">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/testPage"
|
||||
android:layout_centerInParent="true"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="1"
|
||||
android:textSize="80sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
|
||||
</RelativeLayout>
|
27
build.gradle
27
build.gradle
@@ -2,8 +2,8 @@
|
||||
|
||||
buildscript {
|
||||
// Ref: https://kotlinlang.org/releases.html
|
||||
ext.kotlin_version = '1.4.20'
|
||||
ext.kotlin_coroutines_version = "1.4.1"
|
||||
ext.kotlin_version = '1.5.21'
|
||||
ext.kotlin_coroutines_version = "1.5.0"
|
||||
repositories {
|
||||
google()
|
||||
jcenter()
|
||||
@@ -12,11 +12,12 @@ buildscript {
|
||||
}
|
||||
}
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:4.1.1'
|
||||
classpath 'com.google.gms:google-services:4.3.4'
|
||||
classpath 'com.android.tools.build:gradle:4.2.2'
|
||||
classpath 'com.google.gms:google-services:4.3.8'
|
||||
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
||||
classpath 'org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.7.1'
|
||||
classpath 'com.google.android.gms:oss-licenses-plugin:0.10.2'
|
||||
classpath 'org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:3.3'
|
||||
classpath 'com.google.android.gms:oss-licenses-plugin:0.10.4'
|
||||
classpath "com.likethesalad.android:string-reference:1.2.2"
|
||||
|
||||
// NOTE: Do not place your application dependencies here; they belong
|
||||
// in the individual module build.gradle files
|
||||
@@ -47,22 +48,20 @@ allprojects {
|
||||
// Chat effects
|
||||
includeGroupByRegex 'com\\.github\\.jetradarmobile'
|
||||
includeGroupByRegex 'nl\\.dionsegijn'
|
||||
}
|
||||
}
|
||||
maven {
|
||||
url "http://dl.bintray.com/piasy/maven"
|
||||
content {
|
||||
includeGroupByRegex "com\\.github\\.piasy"
|
||||
|
||||
// Voice RecordView
|
||||
includeGroupByRegex 'com\\.github\\.Armen101'
|
||||
}
|
||||
}
|
||||
maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' }
|
||||
// Jitsi repo
|
||||
maven {
|
||||
url "https://github.com/vector-im/jitsi_libre_maven/raw/master/android-sdk-2.9.3"
|
||||
url "https://github.com/vector-im/jitsi_libre_maven/raw/main/android-sdk-3.1.0"
|
||||
// Note: to test Jitsi release you can use a local file like this:
|
||||
// url "file:///Users/bmarty/workspaces/jitsi_libre_maven/android-sdk-2.9.3"
|
||||
// url "file:///Users/bmarty/workspaces/jitsi_libre_maven/android-sdk-3.1.0"
|
||||
}
|
||||
google()
|
||||
mavenCentral()
|
||||
jcenter()
|
||||
}
|
||||
|
||||
|
1
changelog.d/.gitignore
vendored
Normal file
1
changelog.d/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
!.gitignore
|
85
docs/color_migration_guide.md
Normal file
85
docs/color_migration_guide.md
Normal file
@@ -0,0 +1,85 @@
|
||||
# Color migration
|
||||
|
||||
### Changes
|
||||
|
||||
- use colors defined in https://www.figma.com/file/X4XTH9iS2KGJ2wFKDqkyed/Compound?node-id=557%3A0
|
||||
- remove unused resources and code (ex: PercentView)
|
||||
- split some resource files into smaller file
|
||||
- rework the theme files
|
||||
- ensure material theme is used everywhere in the theme and in the layout
|
||||
- add default style for some views in the theme (ex: Toolbar, etc.)
|
||||
- add some debug screen in the debug menu, to test the themes and the button style
|
||||
- rework the button style to use `materialThemeOverlay` attribute
|
||||
- custom tint icon for menu management has been removed
|
||||
- comment with `riotx` has been updated
|
||||
|
||||
### Main change for developers
|
||||
|
||||
- Read migration guide: https://github.com/vector-im/element-android/pull/3459/files#diff-f0e52729d5e4f6eccbcf72246807aa34ed19c4ef5625ca669df998cd1022874b
|
||||
- Use MaterialAlertDialogBuilder instead of AlertDialog.Builder
|
||||
- some Epoxy Item included a divider. This has been removed. Use a `dividerItem` or `bottomSheetDividerItem` Epoxy items to add a divider
|
||||
- RecyclerView.configureWith now take a divider drawable instead of a divider color
|
||||
|
||||
### Remaining work
|
||||
|
||||
- Cleanup some vector drawables and ensure a tint is always used instead of hard coded color.
|
||||
|
||||
### Migration guide
|
||||
|
||||
Some colors and color attribute has been removed, here is the list and what has to be used now.
|
||||
|
||||
It can help Element Android forks maintainers to migrate their code.
|
||||
|
||||
- riotx_text_primary -> ?vctr_content_primary
|
||||
- riotx_text_secondary -> ?vctr_content_secondary
|
||||
- riotx_text_tertiary -> ?vctr_content_tertiary
|
||||
|
||||
- ?riotx_background -> ?android:colorBackground
|
||||
- riotx_background_light -> element_background_light
|
||||
- riotx_background_dark -> element_background_dark
|
||||
- riotx_background_black -> element_background_black
|
||||
|
||||
- riotx_accent -> ?colorPrimary
|
||||
- riotx_positive_accent -> ?colorPrimary
|
||||
- riotx_accent_alpha25 -> color_primary_alpha25
|
||||
- riotx_notice -> ?colorError
|
||||
- riotx_destructive_accent -> ?colorError
|
||||
- vector_error_color -> ?colorError
|
||||
- vector_warning_color -> ?colorError
|
||||
|
||||
- riotx_bottom_sheet_background -> ?colorSurface
|
||||
- riotx_alerter_background -> ?colorSurface
|
||||
|
||||
- riotx_username_1 -> element_name_01
|
||||
- riotx_username_2 -> element_name_02
|
||||
- riotx_username_3 -> element_name_03
|
||||
- riotx_username_4 -> element_name_04
|
||||
- riotx_username_5 -> element_name_05
|
||||
- riotx_username_6 -> element_name_06
|
||||
- riotx_username_7 -> element_name_07
|
||||
- riotx_username_8 -> element_name_08
|
||||
|
||||
- riotx_avatar_fill_1 -> element_room_01
|
||||
- riotx_avatar_fill_2 -> element_room_02
|
||||
- riotx_avatar_fill_3 -> element_room_03
|
||||
|
||||
- white -> @android:color/white
|
||||
- black -> @android:color/black or emoji_color
|
||||
|
||||
- riotx_list_header_background_color -> ?vctr_header_background
|
||||
- riotx_header_panel_background -> ?vctr_header_background
|
||||
- riotx_list_bottom_sheet_divider_color -> ?vctr_list_separator_on_surface
|
||||
- riotx_list_divider_color -> ?vctr_list_separator
|
||||
- list_divider_color -> ?vctr_list_separator
|
||||
- riotx_header_panel_border_mobile -> ?vctr_list_separator
|
||||
- riotx_bottom_nav_background_border_color -> ?vctr_list_separator
|
||||
- riotx_header_panel_text_secondary -> ?vctr_content_primary
|
||||
|
||||
- link_color_light -> element_link_light
|
||||
- link_color_dark -> element_link_dark
|
||||
|
||||
- riotx_toolbar_primary_text_color -> vctr_content_primary
|
||||
- riotx_toolbar_secondary_text_color -> vctr_content_primary
|
||||
- riot_primary_text_color -> vctr_content_primary
|
||||
|
||||
- riotx_android_secondary -> vctr_content_secondary
|
@@ -4,7 +4,7 @@ Issue: #607
|
||||
PR: #1354
|
||||
|
||||
## Introduction
|
||||
Identity Servers support contact discovery on Matrix by letting people look up Third Party Identifiers to see if the owner has publicly linked them with their Matrix ID.
|
||||
Identity servers support contact discovery on Matrix by letting people look up Third Party Identifiers to see if the owner has publicly linked them with their Matrix ID.
|
||||
|
||||
## Implementation
|
||||
|
||||
@@ -87,6 +87,6 @@ This screen displays the identity server configuration and the binding of the us
|
||||
This screen is a form to set a new identity server URL
|
||||
|
||||
## Ref:
|
||||
- https://matrix.org/blog/2019/09/27/privacy-improvements-in-synapse-1-4-and-riot-1-4 is a good summary of the role of an Identity server and the proper way to configure and use it in respect to the privacy and the consent of the user.
|
||||
- https://matrix.org/blog/2019/09/27/privacy-improvements-in-synapse-1-4-and-riot-1-4 is a good summary of the role of an identity server and the proper way to configure and use it in respect to the privacy and the consent of the user.
|
||||
- API documentation: https://matrix.org/docs/spec/identity_service/latest
|
||||
- vector.im TOS: https://vector.im/identity-server-privacy-notice
|
||||
|
@@ -18,7 +18,7 @@ The generated maven repository is then host in the project https://github.com/ve
|
||||
|
||||
Update the script `./tools/jitsi/build_jisti_libs.sh` with the tag of the project `https://github.com/jitsi/jitsi-meet`.
|
||||
|
||||
Currently we are building the version with the tag `android-sdk-2.9.3`.
|
||||
Currently we are building the version with the tag `android-sdk-3.1.0`.
|
||||
|
||||
### Run the build script
|
||||
|
||||
@@ -35,21 +35,21 @@ It will build the Jitsi Meet Android library and put every generated files in th
|
||||
- Update the file `./build.gradle` to use the previously created local Maven repository. Currently we have this line:
|
||||
|
||||
```groovy
|
||||
url "https://github.com/vector-im/jitsi_libre_maven/raw/master/android-sdk-2.9.3"
|
||||
url "https://github.com/vector-im/jitsi_libre_maven/raw/master/android-sdk-3.1.0"
|
||||
```
|
||||
|
||||
You can uncomment and update the line starting with `// url "file://...` and comment the line starting with `url`, to test the library using the locally generated Maven repository.
|
||||
|
||||
- Update the dependency of the WebRTC library in the file `./matrix-sdk-android/build.gradle`. Currently we have this line:
|
||||
|
||||
```groovy
|
||||
implementation('com.facebook.react:react-native-webrtc:1.84.0-jitsi-5112273@aar')
|
||||
```
|
||||
|
||||
- Update the dependency of the Jitsi Meet library in the file `./vector/build.gradle`. Currently we have this line:
|
||||
|
||||
```groovy
|
||||
implementation('org.jitsi.react:jitsi-meet-sdk:2.9.3') { transitive = true }
|
||||
implementation('org.jitsi.react:jitsi-meet-sdk:3.1.0')
|
||||
```
|
||||
|
||||
- Update the dependency of the WebRTC library in the file `./vector/build.gradle`. Currently we have this line:
|
||||
|
||||
```groovy
|
||||
implementation('com.facebook.react:react-native-webrtc:1.87.3-jitsi-6624067@aar')
|
||||
```
|
||||
|
||||
- Perform a gradle sync and build the project
|
||||
@@ -74,9 +74,9 @@ If all the tests are passed, you can export the generated Jitsi library to our M
|
||||
- Update the file `./build.gradle` to use the previously created Maven repository. Currently we have this line:
|
||||
|
||||
```groovy
|
||||
url "https://github.com/vector-im/jitsi_libre_maven/raw/master/android-sdk-2.9.3"
|
||||
url "https://github.com/vector-im/jitsi_libre_maven/raw/master/android-sdk-3.1.0"
|
||||
```
|
||||
|
||||
- Build the project and perform the sanity tests again.
|
||||
|
||||
- Update the file `/CANGES.md` to notify about the library upgrade, and create a regular PR for project Element Android.
|
||||
- Update the file `/CHANGES.md` to notify about the library upgrade, and create a regular PR for project Element Android.
|
@@ -2,11 +2,11 @@ This document aims to describe how Element android displays notifications to the
|
||||
|
||||
# Table of Contents
|
||||
1. [Prerequisites Knowledge](#prerequisites-knowledge)
|
||||
* [How does a matrix client gets a message from a Home Server?](#how-does-a-matrix-client-gets-a-message-from-a-home-server)
|
||||
* [How does a matrix client get a message from a homeserver?](#how-does-a-matrix-client-get-a-message-from-a-homeserver)
|
||||
* [How does a mobile app receives push notification?](#how-does-a-mobile-app-receives-push-notification)
|
||||
* [Push VS Notification](#push-vs-notification)
|
||||
* [Push in the matrix federated world](#push-in-the-matrix-federated-world)
|
||||
* [How does the Home Server knows when to notify a client?](#how-does-the-home-server-knows-when-to-notify-a-client)
|
||||
* [How does the homeserver know when to notify a client?](#how-does-the-homeserver-know-when-to-notify-a-client)
|
||||
* [Push vs privacy, and mitigation](#push-vs-privacy-and-mitigation)
|
||||
* [Background processing limitations](#background-processing-limitations)
|
||||
2. [Element Notification implementations](#element-notification-implementations)
|
||||
@@ -22,7 +22,7 @@ First let's start with some prerequisite knowledge
|
||||
|
||||
# Prerequisites Knowledge
|
||||
|
||||
## How does a matrix client gets a message from a Home Server?
|
||||
## How does a matrix client get a message from a homeserver?
|
||||
|
||||
In order to get messages from a homeserver, a matrix client need to perform a ``sync`` operation.
|
||||
|
||||
@@ -90,7 +90,7 @@ That means that Element Android, a matrix client created by New Vector, is using
|
||||
|
||||
If you create your own matrix client, you will also need to deploy an instance of a **Push Gateway** with the credentials needed to use FCM for your app.
|
||||
|
||||
On registration, a matrix client must tell to it's Home Server what Push Gateway to use.
|
||||
On registration, a matrix client must tell its homeserver what Push Gateway to use.
|
||||
|
||||
See [Sygnal](https://github.com/matrix-org/sygnal/) for a reference implementation.
|
||||
```
|
||||
@@ -122,13 +122,13 @@ Recommended reading:
|
||||
* https://matrix.org/docs/spec/client_server/r0.4.0.html#id128
|
||||
|
||||
|
||||
## How does the Home Server knows when to notify a client?
|
||||
## How does the homeserver know when to notify a client?
|
||||
|
||||
This is defined by [**push rules**](https://matrix.org/docs/spec/client_server/r0.4.0.html#push-rules-).
|
||||
|
||||
`A push rule is a single rule that states under what conditions an event should be passed onto a push gateway and how the notification should be presented (sound / importance).`
|
||||
|
||||
A Home Server can be configured with default rules (for Direct messages, group messages, mentions, etc.. ).
|
||||
A homeserver can be configured with default rules (for Direct messages, group messages, mentions, etc.. ).
|
||||
|
||||
There are different kind of push rules, it can be per room (each new message on this room should be notified), it can also define a pattern that a message should match (when you are mentioned, or key word based).
|
||||
|
||||
@@ -187,7 +187,7 @@ In background, and depending on wether push is available or not, Element will us
|
||||
|
||||
## Push (FCM) received in background
|
||||
|
||||
In order to enable Push, Element must first get a push token from the firebase SDK, then register a pusher with this token on the HomeServer.
|
||||
In order to enable Push, Element must first get a push token from the firebase SDK, then register a pusher with this token on the homeserver.
|
||||
|
||||
When a message should be notified to a user, the user's homeserver notifies the registered `push gateway` for Element, that is [sygnal](https://github.com/matrix-org/sygnal) _- The reference implementation for push gateways -_ hosted by matrix.org.
|
||||
|
||||
@@ -199,7 +199,7 @@ Homeserver ----> Sygnal (configured for Element) ----> FCM ----> Element
|
||||
|
||||
The push gateway is configured to only send `(eventId,roomId)` in the push payload (for better [privacy](#push-vs-privacy-and-mitigation)).
|
||||
|
||||
Element needs then to synchronise with the user's HomeServer, in order to resolve the event and create a notification.
|
||||
Element needs then to synchronise with the user's homeserver, in order to resolve the event and create a notification.
|
||||
|
||||
As per [Google recommendation](https://android-developers.googleblog.com/2018/09/notifying-your-users-with-fcm.html), Element will then use the WorkManager API in order to trigger a background sync.
|
||||
|
||||
@@ -217,7 +217,7 @@ Homeserver ----> Sygnal ----> FCM ----> Element
|
||||
|
||||
**Possible outcomes**
|
||||
|
||||
Upon reception of the FCM push, Element will perform a sync call to the Home Server, during this process it is possible that:
|
||||
Upon reception of the FCM push, Element will perform a sync call to the homeserver, during this process it is possible that:
|
||||
* Happy path, the sync is performed, the message resolved and displayed in the notification drawer
|
||||
* The notified message is not in the sync. Can happen if a lot of things did happen since the push (`gappy sync`)
|
||||
* The sync generates additional notifications (e.g an encrypted message where the user is mentioned detected locally)
|
||||
|
@@ -27,7 +27,6 @@ $ source env/bin/activate
|
||||
Every time you want to launch these test homeservers, type:
|
||||
|
||||
```shell script
|
||||
$ virtualenv -p python3 env
|
||||
$ source env/bin/activate
|
||||
(env) $ demo/start.sh --no-rate-limit
|
||||
```
|
||||
|
2
fastlane/Appfile
Normal file
2
fastlane/Appfile
Normal file
@@ -0,0 +1,2 @@
|
||||
json_key_file("./fastlane/private/api-8525453667099313774-565354-aca0e6153603.json")
|
||||
package_name("im.vector.app")
|
60
fastlane/Fastfile
Normal file
60
fastlane/Fastfile
Normal file
@@ -0,0 +1,60 @@
|
||||
# This file contains the fastlane.tools configuration
|
||||
# You can find the documentation at https://docs.fastlane.tools
|
||||
#
|
||||
# For a list of all available actions, check out
|
||||
#
|
||||
# https://docs.fastlane.tools/actions
|
||||
#
|
||||
# For a list of all available plugins, check out
|
||||
#
|
||||
# https://docs.fastlane.tools/plugins/available-plugins
|
||||
#
|
||||
|
||||
# Uncomment the line if you want fastlane to automatically update itself
|
||||
# update_fastlane
|
||||
|
||||
default_platform(:android)
|
||||
|
||||
platform :android do
|
||||
desc "Runs all the tests"
|
||||
lane :test do
|
||||
gradle(task: "test")
|
||||
end
|
||||
|
||||
desc "Submit a new Beta Build to Crashlytics Beta"
|
||||
lane :beta do
|
||||
gradle(task: "clean assembleRelease")
|
||||
crashlytics
|
||||
|
||||
# sh "your_script.sh"
|
||||
# You can also use other beta testing services here
|
||||
end
|
||||
|
||||
desc "Deploy a new version to the Google Play"
|
||||
lane :deploy do
|
||||
gradle(task: "clean assembleRelease")
|
||||
upload_to_play_store
|
||||
end
|
||||
|
||||
desc "Deploy Google Play metadata"
|
||||
lane :deployMeta do
|
||||
# Doc: https://docs.fastlane.tools/actions/upload_to_play_store/
|
||||
upload_to_play_store(
|
||||
skip_upload_apk: true,
|
||||
skip_upload_aab: true,
|
||||
skip_upload_images: true,
|
||||
skip_upload_screenshots: true,
|
||||
skip_upload_changelogs: true,
|
||||
# Set to true to not update the PlayStore
|
||||
validate_only: false
|
||||
)
|
||||
end
|
||||
|
||||
desc "Get version code"
|
||||
lane :getVersionCode do
|
||||
versions = google_play_track_version_codes(track: "production")
|
||||
puts(versions)
|
||||
version_code = versions[0]
|
||||
puts(version_code)
|
||||
end
|
||||
end
|
49
fastlane/README.md
Normal file
49
fastlane/README.md
Normal file
@@ -0,0 +1,49 @@
|
||||
fastlane documentation
|
||||
================
|
||||
# Installation
|
||||
|
||||
Make sure you have the latest version of the Xcode command line tools installed:
|
||||
|
||||
```
|
||||
xcode-select --install
|
||||
```
|
||||
|
||||
Install _fastlane_ using
|
||||
```
|
||||
[sudo] gem install fastlane -NV
|
||||
```
|
||||
or alternatively using `brew install fastlane`
|
||||
|
||||
# Available Actions
|
||||
## Android
|
||||
### android test
|
||||
```
|
||||
fastlane android test
|
||||
```
|
||||
Runs all the tests
|
||||
### android beta
|
||||
```
|
||||
fastlane android beta
|
||||
```
|
||||
Submit a new Beta Build to Crashlytics Beta
|
||||
### android deploy
|
||||
```
|
||||
fastlane android deploy
|
||||
```
|
||||
Deploy a new version to the Google Play
|
||||
### android deployMeta
|
||||
```
|
||||
fastlane android deployMeta
|
||||
```
|
||||
Deploy Google Play metadata
|
||||
### android getVersionCode
|
||||
```
|
||||
fastlane android getVersionCode
|
||||
```
|
||||
Get version code
|
||||
|
||||
----
|
||||
|
||||
This README.md is auto-generated and will be re-generated every time [fastlane](https://fastlane.tools) is run.
|
||||
More information about fastlane can be found on [fastlane.tools](https://fastlane.tools).
|
||||
The documentation of fastlane can be found on [docs.fastlane.tools](https://docs.fastlane.tools).
|
2
fastlane/metadata/android/ar/changelogs/40100100.txt
Normal file
2
fastlane/metadata/android/ar/changelogs/40100100.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
يحتوي هذا الإصدار الجديد بشكل أساسي على إصلاحات للأخطاء وتحسينات. إرسال الرسالة أصبح الآن أسرع بكثير.
|
||||
سجل التعديل الكامل: https://github.com/vector-im/element-android/releases/tag/v1.0.10
|
2
fastlane/metadata/android/ar/changelogs/40100110.txt
Normal file
2
fastlane/metadata/android/ar/changelogs/40100110.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
يحتوي هذا الإصدار الجديد بشكل أساسي على تحسينات في واجهة المستخدم وتجربة المستخدم. يُمكنك الآن دعوة الأصدقاء وإنشاء رسالة مُباشرة بسرعة كبيرة عن طريق مسح رموز الاستجابة السريعة.
|
||||
سجل التعديل الكامل: https://github.com/vector-im/element-android/releases/tag/v1.0.11
|
2
fastlane/metadata/android/ar/changelogs/40100120.txt
Normal file
2
fastlane/metadata/android/ar/changelogs/40100120.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
التغييرات الرئيسة في هذا الإصدار: مُعاينة URL، لوحة مفاتيح Emoji جديدة، إمكانيات جديدة لإعدادات الغرفة والثلج لميلاد المسيح!
|
||||
سجل التعديل الكامل: https://github.com/vector-im/element-android/releases/tag/v1.0.12
|
2
fastlane/metadata/android/ar/changelogs/40100130.txt
Normal file
2
fastlane/metadata/android/ar/changelogs/40100130.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
التغييرات الرئيسة في هذا الإصدار: مُعاينة URL، لوحة مفاتيح Emoji جديدة، إمكانيات جديدة لإعدادات الغرفة والثلج لميلاد المسيح!
|
||||
سجل التعديل الكامل: https://github.com/vector-im/element-android/releases/tag/v1.0.13
|
2
fastlane/metadata/android/ar/changelogs/40100140.txt
Normal file
2
fastlane/metadata/android/ar/changelogs/40100140.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
التغييرات الرئيسة في هذا الإصدار: تحرير أذونات الغُرفة، السِّمة التلقائية الفاتحة/الداكنة، ومجموعة من إصلاحات الأخطاء.
|
||||
سجل التعديل الكامل: https://github.com/vector-im/element-android/releases/tag/v1.0.14
|
2
fastlane/metadata/android/ar/changelogs/40100150.txt
Normal file
2
fastlane/metadata/android/ar/changelogs/40100150.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
التغييرات الرئيسة في هذا الإصدار: دعم تسجيل الدخول الاجتماعي.
|
||||
سجل التعديل الكامل: https://github.com/vector-im/element-android/releases/tag/v1.0.15
|
2
fastlane/metadata/android/ar/changelogs/40100160.txt
Normal file
2
fastlane/metadata/android/ar/changelogs/40100160.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
التغييرات الرئيسة في هذا الإصدار: دعم تسجيل الدخول الاجتماعي.
|
||||
سجل التعديل الكامل: https://github.com/vector-im/element-android/releases/tag/v1.0.15 and https://github.com/vector-im/element-android/releases/tag/v1.0.16
|
2
fastlane/metadata/android/ar/changelogs/40100170.txt
Normal file
2
fastlane/metadata/android/ar/changelogs/40100170.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
التغييرات الرئيسة في هذا الإصدار: إصلاحات الأخطاء!
|
||||
سجل التعديل الكامل: https://github.com/vector-im/element-android/releases/tag/v1.0.17
|
2
fastlane/metadata/android/ar/changelogs/40101010.txt
Normal file
2
fastlane/metadata/android/ar/changelogs/40101010.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
التغييرات الرئيسة في هذه النسخة: تحسينات على الأداء وإصلاح للعلل!
|
||||
اطّلع على سجل التغييرات الكامل هنا: https://github.com/vector-im/element-android/releases/tag/v1.1.1
|
31
fastlane/metadata/android/ar/full_description.txt
Normal file
31
fastlane/metadata/android/ar/full_description.txt
Normal file
@@ -0,0 +1,31 @@
|
||||
Element هو نوع جديد من تطبيقات المُراسلة والتعاون الذي:
|
||||
|
||||
1. يمنحك التحكم في المُحافضة على خصوصيتك
|
||||
2. يُتيح لك التواصل مع أي شخص على شبكة Matrix ، وحتى خارجها من خلال التكامل مع التطبيقات مثل Slack
|
||||
3. يحميك من الإعلانات والتنقيب عن البيانات وعمليات الحدائق المُسورة
|
||||
4. يؤمنك من خلال تعمية النهاية-إلى-النهاية، مع التوقيع المُتبادل للتحقق من الآخرين
|
||||
|
||||
يختلف Element تمامًا عن تطبيقات المُراسلة والتعاون الأُخرى لأنه لا مركزي ومفتوح المصدر.
|
||||
|
||||
يُتيح لك Element إمكانية الاستضافة الذاتية -أو اختيار مُضيف- بحيث تتمتع بالخصوصية والمُلكية والتحكم في بياناتك ومُحادثاتك. يُتيح لك الوصول إلى شبكة مفتوحة؛ لذلك لا يقتصر الأمر على التحدث إلى مستخدمي Element الآخرين فقط. كما انه آمن للغاية.
|
||||
|
||||
Element قادر على القيام بكل ذلك لأنه يعمل على Matrix -مِعيار التواصل المفتوح اللامركزي.
|
||||
|
||||
Element يمنحك زمام التحكم من خلال السماح لك باختيار من يستضيف المُحادثات الخاصة بك. من تطبيق Element، يُمكنك اختيار الاستضافة بطرق مختلفة:
|
||||
|
||||
1. الحُصول على حساب مجاني على الخادِم العام matrix.org الذي يستضيفه مطورو Matrix، أو اختر من بين آلاف الخوادِم العامة التي يستضيفها متطوعون
|
||||
2. استضافة حسابك بنفسك عن طريق تشغيل خادِم على أجهزتك الخاصة
|
||||
3. التسجيل للحصول على حساب على خادِم مُخصص بمُجرد الاشتراك في منصة استضافة Element Matrix Services
|
||||
|
||||
<b> لماذا تختار Element؟</b>
|
||||
|
||||
<b>تملَّك بياناتك</b>: أنت من تُقرر أين تحتفظ ببياناتك ورسائلك. أنت تمتلكها وتتحكم فيها، وليس بعض الشركات الكُبرى الإحتكارية التي تُنقِّب عن بياناتك أو تُتيح الوصول إلى أطراف ثالثة.
|
||||
|
||||
|
||||
<b>تراسُل وتعاون مفتوح</b>: يُمكنك مُحادثة أي شخص آخر على شبكة Matrix، سواء كانوا يستخدمون Element أو تطبيق Matrix آخر، وحتى إذا كانوا يستخدمون نظام مُراسلة مُختلف مثل Slack أو IRC أو XMPP.
|
||||
|
||||
<b>الأمان-الخارق</b>: تشفير حقيقي من النهاية إلى النهاية (فقط أطراف المُحادثة مَن يُمكنهم فك تشفير الرسائل)، والتوقيع المُتبادل للتحقق من أجهزة المُشاركين في المُحادثة.
|
||||
|
||||
<b>التواصل الكامل</b>: المُراسلة، المُكالمات الصوتية والمرئية، مُشاركة الملفات، مُشاركة الشاشة، مجموعة كاملة وكبيرة من عمليات التكامُل، الروبوتات والأدوات. بناء الغُرف، المُجتمعات، ابق على اتصال وأنجز المهام.
|
||||
|
||||
<b>أين ما كُنت</b>: ابق على اتصال أينما كنت مع سجل الرسائل المتزامن بالكامل عبر جميع أجهزتك وفي الويب على https://app.element.io.
|
1
fastlane/metadata/android/ar/short_description.txt
Normal file
1
fastlane/metadata/android/ar/short_description.txt
Normal file
@@ -0,0 +1 @@
|
||||
مُحادثة آمنة لا مركزية و VoIP. حافظ على بياناتك آمنة من الأطراف الثالثة.
|
1
fastlane/metadata/android/ar/title.txt
Normal file
1
fastlane/metadata/android/ar/title.txt
Normal file
@@ -0,0 +1 @@
|
||||
Element (Riot.im سابقًا)
|
@@ -1 +1,2 @@
|
||||
// TODO
|
||||
Aquesta nova versió principalment conté correccions d'errors i millores. Ara, enviar un missatge és molt més ràpid.
|
||||
Registre de canvis complet: https://github.com/vector-im/element-android/releases/tag/v1.0.10
|
||||
|
2
fastlane/metadata/android/ca/changelogs/40100110.txt
Normal file
2
fastlane/metadata/android/ca/changelogs/40100110.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Aquesta principalment conté millores d'interfície experiència d'usuari. Ara pots convidar amics i crear xats personals ràpidament escanejant codis QR.
|
||||
Registre de canvis complet: https://github.com/vector-im/element-android/releases/tag/v1.0.11
|
2
fastlane/metadata/android/ca/changelogs/40100120.txt
Normal file
2
fastlane/metadata/android/ca/changelogs/40100120.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Canvis principals d'aquesta versió: previsualització d'URL, nou teclat d'emoticones, noves funcions de configuració de les sales i neu pel Nadal!
|
||||
Registre de canvis complet: https://github.com/vector-im/element-android/releases/tag/v1.0.12
|
2
fastlane/metadata/android/ca/changelogs/40100130.txt
Normal file
2
fastlane/metadata/android/ca/changelogs/40100130.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Canvis principals d'aquesta versió: previsualització d'URL, nou teclat d'emoticones, noves funcions de configuració de les sales i neu pel Nadal!
|
||||
Registre de canvis complet: https://github.com/vector-im/element-android/releases/tag/v1.0.13
|
2
fastlane/metadata/android/ca/changelogs/40100140.txt
Normal file
2
fastlane/metadata/android/ca/changelogs/40100140.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Canvis principals d'aquesta versió: modificació dels permisos de sala, tema clar/fosc automàtic, correcció d'errors.
|
||||
Registre de canvis complet: https://github.com/vector-im/element-android/releases/tag/v1.0.14
|
2
fastlane/metadata/android/ca/changelogs/40100150.txt
Normal file
2
fastlane/metadata/android/ca/changelogs/40100150.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Canvis principals d'aquesta versió: inici de sessió amb xarxes socials.
|
||||
Registre de canvis complet: https://github.com/vector-im/element-android/releases/tag/v1.0.15
|
2
fastlane/metadata/android/ca/changelogs/40100160.txt
Normal file
2
fastlane/metadata/android/ca/changelogs/40100160.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Canvis principals d'aquesta versió: inici de sessió amb xarxes socials.
|
||||
Registre de canvis complet: https://github.com/vector-im/element-android/releases/tag/v1.0.15 i https://github.com/vector-im/element-android/releases/tag/v1.0.16
|
2
fastlane/metadata/android/ca/changelogs/40100170.txt
Normal file
2
fastlane/metadata/android/ca/changelogs/40100170.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Canvis principals d'aquesta versió: correcció d'errors!
|
||||
Registre de canvis complet: https://github.com/vector-im/element-android/releases/tag/v1.0.17
|
2
fastlane/metadata/android/ca/changelogs/40101000.txt
Normal file
2
fastlane/metadata/android/ca/changelogs/40101000.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Canvis principals d'aquesta versió: millora de VoIP (trucades i videotrucades en xats personals) i correcció d'errors!
|
||||
Registre de canvis complet: https://github.com/vector-im/element-android/releases/tag/v1.1.0
|
2
fastlane/metadata/android/ca/changelogs/40101010.txt
Normal file
2
fastlane/metadata/android/ca/changelogs/40101010.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Canvis principals d'aquesta versió: millora de rendiment i correcció d'errors!
|
||||
Registre de canvis complet: https://github.com/vector-im/element-android/releases/tag/v1.1.1
|
2
fastlane/metadata/android/ca/changelogs/40101020.txt
Normal file
2
fastlane/metadata/android/ca/changelogs/40101020.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Canvis principals d'aquesta versió: millora de rendiment i correcció d'errors!
|
||||
Registre de canvis complet: https://github.com/vector-im/element-android/releases/tag/v1.1.2
|
2
fastlane/metadata/android/ca/changelogs/40101030.txt
Normal file
2
fastlane/metadata/android/ca/changelogs/40101030.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Canvis principals d'aquesta versió: millora de rendiment i correcció d'errors!
|
||||
Registre de canvis complet: https://github.com/vector-im/element-android/releases/tag/v1.1.3
|
@@ -1 +1 @@
|
||||
Xat i VoIP segurs i descentralitzats. Protegeix les teves dades de tercers.
|
||||
Xats i VoIP segurs i descentralitzats. Protegeix les teves dades de tercers.
|
||||
|
@@ -1 +1 @@
|
||||
Element (anteriorment Riot.im)
|
||||
Element (abans Riot.im)
|
||||
|
2
fastlane/metadata/android/cs-CZ/changelogs/40100100.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40100100.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Tato nová verze obsahuje hlavně opravy chyb a vylepšení. Odeslání zprávy je nyní mhohem rychlejší.
|
||||
Plné znění změn: https://github.com/vector-im/element-android/releases/tag/v1.0.10
|
2
fastlane/metadata/android/cs-CZ/changelogs/40100110.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40100110.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Tato nová verze obsahuje hlavně vylepšení v uživatelském rozhraní. Nyní můžete pozvat přátele a napsat DM velmi rychle skenem QR kódů.
|
||||
Plné znění změn: https://github.com/vector-im/element-android/releases/tag/v1.0.11
|
2
fastlane/metadata/android/cs-CZ/changelogs/40100120.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40100120.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hlavní změny v této verzi: Náhled URL, nová klávesice s Emoji, nové možnosti nastavení místností a sníh na vánoce!
|
||||
Plné znění změn: https://github.com/vector-im/element-android/releases/tag/v1.0.12
|
2
fastlane/metadata/android/cs-CZ/changelogs/40100130.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40100130.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hlavní změny v této verzi: Náhled URL, nová klávesice s Emoji, nové možnosti nastavení místností a sníh na vánoce!
|
||||
Plné znění změn: https://github.com/vector-im/element-android/releases/tag/v1.0.13
|
2
fastlane/metadata/android/cs-CZ/changelogs/40100140.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40100140.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hlavní změny v této verzi: Úpravy práv místností, automatický tmavý/světlý vzhled a řada oprav chyb.
|
||||
Úplný záznam změn: https://github.com/vector-im/element-android/releases/tag/v1.0.14
|
2
fastlane/metadata/android/cs-CZ/changelogs/40100150.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40100150.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hlavní změny v této verzi: Podpora přihlášení v sociálních sítích.
|
||||
Úplný záznam změn: https://github.com/vector-im/element-android/releases/tag/v1.0.15
|
2
fastlane/metadata/android/cs-CZ/changelogs/40100160.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40100160.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hlavní změny v této verzi: Podpora přihlášení v sociálních sítích.
|
||||
Úplný záznam změn: https://github.com/vector-im/element-android/releases/tag/v1.0.15 a https://github.com/vector-im/element-android/releases/tag/v1.0.16
|
2
fastlane/metadata/android/cs-CZ/changelogs/40100170.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40100170.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hlavní změny v této verzi: Opravy chyb!
|
||||
Úplný záznam změn: https://github.com/vector-im/element-android/releases/tag/v1.0.17
|
2
fastlane/metadata/android/cs-CZ/changelogs/40101000.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40101000.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hlavní změny v této verzi: VoIP (audio a video hovory v DM), vylepšení a opravy chyb!
|
||||
Úplný záznam změn: https://github.com/vector-im/element-android/releases/tag/v1.1.0
|
2
fastlane/metadata/android/cs-CZ/changelogs/40101010.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40101010.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hlavní změny v této verzi: vylepšení výkonnosti a opravy chyb!
|
||||
Úplný záznam změn: https://github.com/vector-im/element-android/releases/tag/v1.1.1
|
2
fastlane/metadata/android/cs-CZ/changelogs/40101020.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40101020.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hlavní změny v této verzi: vylepšení výkonnosti a opravy chyb!
|
||||
Úplný záznam změn: https://github.com/vector-im/element-android/releases/tag/v1.1.2
|
2
fastlane/metadata/android/cs-CZ/changelogs/40101030.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40101030.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hlavní změny v této verzi: vylepšení výkonnosti a opravy chyb!
|
||||
Úplný záznam změn: https://github.com/vector-im/element-android/releases/tag/v1.1.3
|
2
fastlane/metadata/android/cs-CZ/changelogs/40101040.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40101040.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hlavní změny v této verzi: vylepšení výkonnosti a opravy chyb!
|
||||
Úplný záznam změn: https://github.com/vector-im/element-android/releases/tag/v1.1.4
|
2
fastlane/metadata/android/cs-CZ/changelogs/40101050.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40101050.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hlavní změny v této verzi: nutné opravy pro 1.1.4
|
||||
Úplný záznam změn: https://github.com/vector-im/element-android/releases/tag/v1.1.5
|
2
fastlane/metadata/android/cs-CZ/changelogs/40101060.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40101060.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hlavní změny v této verzi: nutné opravy chyb pro 1.1.5!
|
||||
Úplný záznam změn: https://github.com/vector-im/element-android/releases/tag/v1.1.6
|
2
fastlane/metadata/android/cs-CZ/changelogs/40101070.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40101070.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hlavní změny v této verzi: beta podpora pro Spaces. Komprimace videa před odesláním.
|
||||
Úplný záznam změn: https://github.com/vector-im/element-android/releases/tag/v1.1.7
|
2
fastlane/metadata/android/cs-CZ/changelogs/40101080.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40101080.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hlavní změny v této verzi: vylepšení pro Spaces
|
||||
Úplný záznam změn: https://github.com/vector-im/element-android/releases/tag/v1.1.8
|
2
fastlane/metadata/android/cs-CZ/changelogs/40101090.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40101090.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hlavní změny v této verzi: doplněna podpora pro síť gitter.im
|
||||
Úplný záznam změn: https://github.com/vector-im/element-android/releases/tag/v1.1.9
|
2
fastlane/metadata/android/cs-CZ/changelogs/40101100.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40101100.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hlavní změny v této verzi: aktualizace vzhledu a stylu a nové funkce prostorů.
|
||||
Úplný záznam změn: https://github.com/vector-im/element-android/releases/tag/v1.1.10
|
2
fastlane/metadata/android/cs-CZ/changelogs/40101110.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40101110.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hlavní změny v této verzi: aktualizace vzhledu a stylu a nové funkce prostorů (bugfix pro 1.1.10)
|
||||
Úplný záznam změn: https://github.com/vector-im/element-android/releases/tag/v1.1.11
|
2
fastlane/metadata/android/cs-CZ/changelogs/40101120.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40101120.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hlavní změny v této verzi: aktualizace motivu a stylu a oprava pádu aplikace po videohovoru
|
||||
Úplný seznam změn: https://github.com/vector-im/element-android/releases/tag/v1.1.12
|
2
fastlane/metadata/android/cs-CZ/changelogs/40101130.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40101130.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hlavní změny v této verzi: aktualizace hlavně kvůli stabilitě a opravám chyb
|
||||
Úplný seznam změn: https://github.com/vector-im/element-android/releases/tag/v1.1.13
|
2
fastlane/metadata/android/cs-CZ/changelogs/40101140.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40101140.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hlavní změny v této verzi: oprava chyby ohledně šifrovaných zpráv
|
||||
Úplný seznam změn: https://github.com/vector-im/element-android/releases/tag/v1.1.14
|
2
fastlane/metadata/android/cs-CZ/changelogs/40101150.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40101150.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hlavní změny v této verzi: implementace hlasových zpráv dosupných v rámci laboratoře.
|
||||
Úplný seznam změn: https://github.com/vector-im/element-android/releases/tag/v1.1.15
|
39
fastlane/metadata/android/cs-CZ/full_description.txt
Normal file
39
fastlane/metadata/android/cs-CZ/full_description.txt
Normal file
@@ -0,0 +1,39 @@
|
||||
Element je zabezpečený komunikátor a zároveň aplikace pro týmovou spolupráci, která je ideální pro skupinové chaty při práci na dálku. Tato chatovací aplikace využívá end-to-end šifrování a poskytuje výkonné videokonference, sdílení souborů a hlasové hovory.
|
||||
|
||||
<b>Mezi funkce aplikace Element patří:</b>
|
||||
- Pokročilé nástroje pro online komunikaci
|
||||
- Plně šifrované zprávy umožňující bezpečnější firemní komunikaci i pro pracovníky na dálku
|
||||
- Decentralizovaný chat založený na open source frameworku Matrix
|
||||
- Bezpečné sdílení souborů se šifrovanými daty při správě projektů
|
||||
- Videochaty s funkcí Voice over IP a sdílením obrazovky
|
||||
- Snadná integrace s oblíbenými nástroji pro online spolupráci, nástroji pro správu projektů, službami VoIP a dalšími aplikacemi pro týmovou komunikaci
|
||||
|
||||
Element se zcela liší od ostatních aplikací pro zasílání zpráv a spolupráci. Funguje na platformě Matrix, otevřené síti pro bezpečné zasílání zpráv a decentralizovanou komunikaci. Umožňuje vlastní hostování, aby uživatelé měli maximální vlastnictví a kontrolu nad svými daty a zprávami.
|
||||
|
||||
<b>Soukromí a šifrované zprávy</b>
|
||||
Element vás chrání před nežádoucími reklamami, vytěžováním dat a tzv. walled gardens. Zabezpečuje také všechna vaše data, video a hlasovou komunikaci jeden na jednoho prostřednictvím šifrování end-to-end a křížového ověřování zařízení.
|
||||
|
||||
Element vám dává kontrolu nad vaším soukromím a zároveň vám umožňuje bezpečně komunikovat s kýmkoli v síti Matrix nebo s dalšími nástroji pro firemní spolupráci díky integraci s aplikacemi, jako je Slack.
|
||||
|
||||
<b>Element lze hostovat samostatně</b>
|
||||
Abyste měli větší kontrolu nad svými citlivými daty a konverzacemi, může být Element hostován na vlastním hardwaru nebo si můžete vybrat libovolného hostitele založeného na systému Matrix - standardu pro decentralizovanou komunikaci s otevřeným zdrojovým kódem. Element vám poskytuje soukromí, soulad se zásadami bezpečnosti a flexibilitu integrace.
|
||||
|
||||
<b>Vlastněte svá data</b>
|
||||
Sami rozhodujete, kde budou vaše data a zprávy uloženy. Bez rizika vytěžování dat nebo přístupu třetích stran.
|
||||
|
||||
Element vám dává kontrolu různými způsoby:
|
||||
1. Získejte bezplatný účet na veřejném serveru matrix.org, který hostují vývojáři Matrixu, nebo si vyberte z tisíců veřejných serverů hostovaných dobrovolníky.
|
||||
2. Vlastní hostování účtu spuštěním serveru na vlastní IT infrastruktuře.
|
||||
3. Zaregistrujte si účet na vlastním serveru tak, že si jednoduše předplatíte hostingovou platformu Element Matrix Services.
|
||||
|
||||
<b>Otevřené zasílání zpráv a spolupráce</b>
|
||||
Můžete chatovat s kýmkoli v síti Matrix, ať už používá aplikaci Element, jinou aplikaci podporující protokol Matrix nebo dokonce i když používá jinou aplikaci pro zasílání zpráv.
|
||||
|
||||
<b>Superbezpečné</b>
|
||||
Skutečné end-to-end šifrování (zprávy mohou dešifrovat pouze účastníci konverzace) a křížové ověřování zařízení.
|
||||
|
||||
<b>Kompletní komunikace a integrace</b>
|
||||
Zprávy, hlasové a videohovory, sdílení souborů, sdílení obrazovky a celá řada integrací, botů a widgetů. Vytvářejte místnosti, komunity, zůstaňte v kontaktu a spolupracujte.
|
||||
|
||||
<b>Navažte tam, kde jste skončili</b>
|
||||
Zůstaňte v kontaktu, ať jste kdekoli, díky plně synchronizované historii zpráv ve všech zařízeních a na webu https://app.element.io
|
1
fastlane/metadata/android/cs-CZ/short_description.txt
Normal file
1
fastlane/metadata/android/cs-CZ/short_description.txt
Normal file
@@ -0,0 +1 @@
|
||||
Skupinový messenger - šifrovaná komunikace, skupinový chat a video hovory
|
1
fastlane/metadata/android/cs-CZ/title.txt
Normal file
1
fastlane/metadata/android/cs-CZ/title.txt
Normal file
@@ -0,0 +1 @@
|
||||
Element - bezpečný messenger
|
2
fastlane/metadata/android/de-DE/changelogs/40100100.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/40100100.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Diese neue Version enthält hauptsächlich Fehlerkorrekturen und Verbesserungen. Nachrichten verschicken geht jetzt viel schneller.
|
||||
Vollständige Versionshinweise: https://github.com/vector-im/element-android/releases/tag/v1.0.10
|
2
fastlane/metadata/android/de-DE/changelogs/40100110.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/40100110.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Diese neue Version enthält hauptsächlich Verbesserungen der Benutzeroberfläche und der Handhabung. Du kannst jetzt ganz schnell Freunde einladen und DMs erstellen, indem du schlicht einen QR-Code scannst.
|
||||
Vollständige Versionshinweise: https://github.com/vector-im/element-android/releases/tag/v1.0.11
|
2
fastlane/metadata/android/de-DE/changelogs/40100120.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/40100120.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hauptänderungen in dieser Version: URL-Vorschau, neue Emoji-Tastatur, neue Raumeinstellungen und Schnee für Weihnachten!
|
||||
Vollständiges Änderungsprotokoll: https://github.com/vector-im/element-android/releases/tag/v1.0.12
|
2
fastlane/metadata/android/de-DE/changelogs/40100130.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/40100130.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hauptänderungen in dieser Version: URL-Vorschau, neue Emoji-Tastatur, neue Raumeinstellungen und Schnee für Weihnachten!
|
||||
Vollständiges Änderungsprotokoll: https://github.com/vector-im/element-android/releases/tag/v1.0.13
|
2
fastlane/metadata/android/de-DE/changelogs/40100140.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/40100140.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hauptänderungen in dieser Version: Bearbeiten von Raumberechtigungen, automatisches Hell/Dunkel-Design und eine Reihe von Fehlerkorrekturen.
|
||||
Vollständiges Änderungsprotokoll: https://github.com/vector-im/element-android/releases/tag/v1.0.14
|
2
fastlane/metadata/android/de-DE/changelogs/40100150.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/40100150.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hauptänderungen in dieser Version: Unterstützung für soziale Anmeldungen.
|
||||
Vollständiges Änderungsprotokoll: https://github.com/vector-im/element-android/releases/tag/v1.0.15
|
2
fastlane/metadata/android/de-DE/changelogs/40100160.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/40100160.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hauptänderungen in dieser Version: Unterstützung für soziale Anmeldungen.
|
||||
Vollständiges Änderungsprotokoll: https://github.com/vector-im/element-android/releases/tag/v1.0.15 and https://github.com/vector-im/element-android/releases/tag/v1.0.16
|
2
fastlane/metadata/android/de-DE/changelogs/40100170.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/40100170.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hauptänderungen in dieser Version: Fehlerkorrekturen
|
||||
Vollständiges Änderungsprotokoll: https://github.com/vector-im/element-android/releases/tag/v1.0.17
|
2
fastlane/metadata/android/de-DE/changelogs/40101000.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/40101000.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hauptänderungen in dieser Version: VoIP-Verbesserung (Audio- und Video-Anrufe in Direktnachrichten) und Fehlerkorrekturen!
|
||||
Vollständiges Änderungsprotokoll: https://github.com/vector-im/element-android/releases/tag/v1.1.0
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user