1
0
mirror of https://github.com/vector-im/riotX-android synced 2025-10-06 00:02:48 +02:00

Compare commits

...

1683 Commits

Author SHA1 Message Date
Benoit Marty
bba167d4ea Merge branch 'release/1.0.10' 2020-11-04 15:58:45 +01:00
Benoit Marty
619ec4faa4 Prepare release v1.0.10 2020-11-04 15:57:56 +01:00
Benoit Marty
49beae431f Merge pull request #2343 from RiotTranslateBot/weblate-element-android-element-app
Translations update from Weblate
2020-11-04 15:14:28 +01:00
Weblate
f3b8bb066c Merge branch 'origin/develop' into Weblate. 2020-11-04 13:43:47 +00:00
LinAGKar
b879be2b02 Translated using Weblate (Swedish)
Currently translated at 100.0% (1929 of 1929 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/sv/
2020-11-04 13:43:37 +00:00
Hivaa
52e699e125 Translated using Weblate (Persian)
Currently translated at 98.4% (1899 of 1929 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/fa/
2020-11-04 13:43:36 +00:00
Benoit Marty
8a86b2c940 Merge pull request #2341 from vector-im/feature/bma/multi_home
Two elements in the task switcher (#2299)
2020-11-04 14:34:33 +01:00
Benoit Marty
b15fa7c0d7 Two elements in the task switcher (#2299) 2020-11-04 14:32:54 +01:00
Benoit Marty
6cd50cfaf1 Merge pull request #2336 from vector-im/feature/ons/fix_markdown_formatter
Markdown body should be pure text, see #739, #1506.
2020-11-04 13:50:46 +01:00
Onuray Sahin
9ed529b944 Merge branch 'develop' into feature/ons/fix_markdown_formatter 2020-11-04 13:43:26 +03:00
Onuray Sahin
bbc3dc0504 Set br softbreak to html parser. 2020-11-04 13:42:52 +03:00
Benoit Marty
d1d2c5f117 Merge pull request #2327 from vector-im/feature/bma/keysbackupcrash
Feature/bma/keysbackupcrash
2020-11-04 00:02:48 +01:00
Onuray Sahin
f24b593349 Update MarkdownParserTest. 2020-11-03 15:56:51 +03:00
Benoit Marty
0db1095373 Merge pull request #2334 from vector-im/feature/bca/crypto_db_clean
Feature/bca/crypto db clean
2020-11-03 10:31:53 +01:00
Benoit Marty
997cd68344 Add some padding for easier readability 2020-11-03 09:57:34 +01:00
Onuray Sahin
b40334f7db Markdown body should be pure text, see #739, #1506. 2020-11-03 11:53:50 +03:00
Benoit Marty
a216f82b35 Avoid code duplication and log total count 2020-11-03 09:30:26 +01:00
Benoit Marty
5eb2f14375 Move RealmDebugTools and make it an internal class 2020-11-03 09:20:24 +01:00
Benoit Marty
d4963dfb31 Use the same name for the 2 db log methods 2020-11-03 09:17:07 +01:00
Valere
3c7f61e45c Clean oldest gossiping entries on open
Add a dump of DB size on bug report
2020-11-02 17:45:08 +01:00
Besnik Bleta
10eef60f45 Translated using Weblate (Albanian)
Currently translated at 99.4% (189 of 190 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.element.io/projects/element-android/element-sdk/sq/
2020-11-02 15:49:57 +00:00
zeritti
cb70757790 Translated using Weblate (Czech)
Currently translated at 100.0% (190 of 190 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.element.io/projects/element-android/element-sdk/cs/
2020-11-02 15:49:57 +00:00
Corentin Noël
ac0418c796 Translated using Weblate (French)
Currently translated at 100.0% (1929 of 1929 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/fr/
2020-11-02 15:49:57 +00:00
Alexia Ŭerner
86b0094cdb Translated using Weblate (Esperanto)
Currently translated at 99.1% (1913 of 1929 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/eo/
2020-11-02 15:49:56 +00:00
zeritti
c0f07bc0a5 Translated using Weblate (Czech)
Currently translated at 100.0% (1929 of 1929 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/cs/
2020-11-02 15:49:56 +00:00
Valere
c3b8ed223d Increase log level of file logger 2020-11-02 16:39:06 +01:00
Benoit Marty
3947a78b56 Merge pull request #2058 from vector-im/feature/fix_sync_after_call_invite
Start sync when receive m.call.invite.
2020-11-02 14:45:22 +01:00
Benoit Marty
51ae2ce1e0 Merge branch 'develop' into feature/fix_sync_after_call_invite 2020-11-02 14:45:05 +01:00
Benoit Marty
9ff78051a9 Cleanup 2020-11-02 14:15:27 +01:00
Benoit Marty
a50bd7421c Merge pull request #2174 from lomion0815/fix_2100_2
Fix for #2100 and #2246:: Using Ringtone class to control ringtones for incoming calls.
2020-11-02 14:05:37 +01:00
Benoit Marty
0f21d80154 Merge branch 'develop' into fix_2100_2 2020-11-02 14:03:40 +01:00
Benoit Marty
734602f4f7 Merge pull request #2331 from gjpower/develop
Considerably faster QR-code bitmap generation
2020-11-02 10:03:52 +01:00
Markus
3364dd3380 Merged latest CHANGES.md 2020-11-01 10:13:27 +01:00
Graeme Power
bd36c67bf2 satisfy ktlint demand for spacing around "*"
Signed-off-by: Graeme Power <gjpower@tcd.ie>
2020-10-31 17:43:21 +01:00
Graeme Power
856ae33fd5 Added details to AUTHORS.md
Signed-off-by: Graeme Power <gjpower@tcd.ie>
2020-10-31 17:38:19 +01:00
Graeme Power
fd4bfaea1f Considerably faster QR-code bitmap generation
Directly assign colours to a colour buffer then use that buffer to
generate the bitmap. This is much faster than using Bitmap.setPixel for
every pixel.

Signed-off-by: Graeme Power <gjpower@tcd.ie>
2020-10-31 16:50:58 +01:00
Hakim Oubouali
3dfdb9cba0 Translated using Weblate (Central Atlas Tamazight)
Currently translated at 0.3% (6 of 1929 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/tzm/
2020-10-31 12:50:08 +00:00
notramo
812181c435 Translated using Weblate (Hungarian)
Currently translated at 100.0% (3 of 3 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/hu/
2020-10-31 12:50:08 +00:00
ynerant
9f3d59711f Translated using Weblate (French)
Currently translated at 100.0% (3 of 3 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/fr/
2020-10-31 12:50:08 +00:00
notramo
438060dfa2 Translated using Weblate (Hungarian)
Currently translated at 64.2% (122 of 190 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.element.io/projects/element-android/element-sdk/hu/
2020-10-31 12:50:08 +00:00
Jeff Huang
f527dcf1fc Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (1929 of 1929 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/zh_Hant/
2020-10-31 12:50:07 +00:00
Besnik Bleta
ae05305e52 Translated using Weblate (Albanian)
Currently translated at 99.4% (1919 of 1929 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/sq/
2020-10-31 12:50:06 +00:00
Nikita Epifanov
386546dd21 Translated using Weblate (Russian)
Currently translated at 99.8% (1926 of 1929 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/ru/
2020-10-31 12:50:05 +00:00
Marcelo Filho
88021dbf5e Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (1929 of 1929 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/pt_BR/
2020-10-31 12:50:05 +00:00
random
a99de88709 Translated using Weblate (Italian)
Currently translated at 100.0% (1929 of 1929 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/it/
2020-10-31 12:50:03 +00:00
notramo
3fe677986e Translated using Weblate (Hungarian)
Currently translated at 95.1% (1835 of 1929 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/hu/
2020-10-31 12:50:03 +00:00
ynerant
8990089c65 Translated using Weblate (French)
Currently translated at 99.8% (1926 of 1929 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/fr/
2020-10-31 12:50:01 +00:00
Hivaa
f70efa2852 Translated using Weblate (Persian)
Currently translated at 75.6% (1460 of 1929 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/fa/
2020-10-31 12:50:00 +00:00
Priit Jõerüüt
caa29bf7da Translated using Weblate (Estonian)
Currently translated at 100.0% (1929 of 1929 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/et/
2020-10-31 12:49:55 +00:00
Tirifto
d05a394134 Translated using Weblate (Esperanto)
Currently translated at 99.1% (1912 of 1929 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/eo/
2020-10-31 12:49:54 +00:00
Nikolai Zahariev
18cc689209 Translated using Weblate (Bulgarian)
Currently translated at 100.0% (1929 of 1929 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/bg/
2020-10-31 12:49:53 +00:00
Markus
7a11ab5bca Updated CHANGES.md 2020-10-31 13:48:53 +01:00
Markus
aa2a24e68a Changes requested by BillCarsonFs review. Thanks for the comments! 2020-10-31 13:17:25 +01:00
Hakim Oubouali
e3eccf48a3 Added translation using Weblate (Central Atlas Tamazight) 2020-10-31 07:37:35 +00:00
Benoit Marty
1db120a963 cleanup 2020-10-30 18:08:11 +01:00
Benoit Marty
fca0aa2cc4 KeysBackup: Avoid using !!, should fix #2262 2020-10-30 17:17:25 +01:00
Benoit Marty
0bcf42dbb8 KeysBackup: some API parameters are mandatory, so stop considering them as optional and avoid using !!
Also fix an issue with Json name: `hash` -> `etag`
Add some `internal` modifier (not as much as I would like to)
var -> val
Remove unused code
2020-10-30 16:14:33 +01:00
Benoit Marty
14e7e5e9fd Avoid usage of !! 2020-10-30 14:29:44 +01:00
Benoit Marty
1fcbf7ed42 Release backupOlmPkEncryption 2020-10-30 14:16:04 +01:00
Benoit Marty
a639ac42c4 Merge pull request #2326 from vector-im/feature/bma/changelog
Feature/bma/changelog
2020-10-30 14:01:44 +01:00
Benoit Marty
c38a8599f1 Merge branch 'develop' into feature/bma/changelog 2020-10-30 14:01:35 +01:00
Benoit Marty
0d8a845a21 Merge pull request #2324 from vector-im/feature/bma/search_highlight
Feature/bma/search highlight
2020-10-30 13:57:02 +01:00
Benoit Marty
588c2cad15 Add graphic resources for F-Droid (#812, #2220) 2020-10-30 12:25:08 +01:00
Benoit Marty
4b2fbd4344 Prepare changelog for F-Droid (#2296) 2020-10-30 12:16:52 +01:00
Benoit Marty
d654771fcf Merge pull request #2318 from vector-im/feature/bca/fix_duplicate_reaction_echo
Fix ui echo isues
2020-10-30 11:56:51 +01:00
Valere
1de1ddd496 Fix / bg sync for received by other session + dismiss full screen intent 2020-10-30 11:53:20 +01:00
Onuray Sahin
33a962b721 Start sync when receive m.call.invite. 2020-10-30 11:53:20 +01:00
Benoit Marty
4791eb85af Merge pull request #2283 from vector-im/feature/bca/crypto_perf
Crypto cleaning and perf improvement
2020-10-30 11:11:34 +01:00
Benoit Marty
47a9074695 Cleanup 2020-10-30 10:59:11 +01:00
Benoit Marty
819722f47a Merge pull request #2320 from vector-im/feature/ons/fix_emoji_dark_theme
Fix background color of reactions.
2020-10-30 10:31:52 +01:00
Onuray Sahin
8b7c2b3607 Remove hardcoded size. 2020-10-30 12:13:44 +03:00
Benoit Marty
78170b7052 Self-review 2020-10-30 09:44:47 +01:00
Benoit Marty
46e5d23f7e Fix refresh screen issue 2020-10-30 09:36:58 +01:00
Benoit Marty
316f26ec82 Search: Add "No more results" item (iso Element Web) 2020-10-30 09:33:13 +01:00
Nikolai Zahariev
6e801d5f4d Translated using Weblate (Bulgarian)
Currently translated at 100.0% (3 of 3 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/bg/
2020-10-30 08:22:24 +00:00
Benoit Marty
225a5d4e59 Search Result | scroll jumps after pagination (#2238) 2020-10-30 09:02:29 +01:00
Onuray Sahin
4f41d8b21b Merge branch 'develop' into feature/ons/fix_emoji_dark_theme 2020-10-29 22:08:33 +03:00
Benoit Marty
5f99eb8c97 Highlight text in the body of the displayed result (#2200) 2020-10-29 19:22:40 +01:00
Benoit Marty
403e18c1b7 Search result: take new content for edited message 2020-10-29 17:30:25 +01:00
Benoit Marty
239ead7ccb Merge pull request #2311 from vector-im/feature/bma/direct
Room member profile: Add action to create (or open) a DM (#2310)
2020-10-29 16:21:26 +01:00
Benoit Marty
077bcb3f2a Export the key share trail in rageshake (opt-in) 2020-10-29 16:04:07 +01:00
Benoit Marty
41e3ff381f Rename method 2020-10-29 16:02:21 +01:00
Benoit Marty
e8dcdc7182 Format date in the exported trail 2020-10-29 15:00:47 +01:00
Valere
909ee2cc85 Fix / bad format of trail item 2020-10-29 14:57:17 +01:00
Onuray Sahin
04126fb0c6 Fix background color of reactions. 2020-10-29 16:44:08 +03:00
Valere
479f10a28e Fix potential ConcurrentModificationException
give a copy to avoid issues
2020-10-29 14:36:40 +01:00
aWeinzierl
d46452c580 Translated using Weblate (German)
Currently translated at 100.0% (1929 of 1929 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/de/
2020-10-29 13:28:26 +00:00
@a2sc:matrix.org
18f87924ad Translated using Weblate (German)
Currently translated at 100.0% (1929 of 1929 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/de/
2020-10-29 13:28:25 +00:00
Benoit Marty
f6ec7bc323 values-v21 does not exist anymore 2020-10-29 14:11:34 +01:00
Benoit Marty
f48d4c021a Cleanup and split long lines 2020-10-29 14:10:41 +01:00
Benoit Marty
f190356934 Fix compilation warnings 2020-10-29 13:44:47 +01:00
Benoit Marty
ef140f28c8 Merge pull request #2309 from vector-im/feature/bma/translation_fix
Fix issue with plurals
2020-10-29 13:31:48 +01:00
Benoit Marty
1bc726abff Update the algorithm to find an existing DM: simplify and make sure there is only 2 people in the room 2020-10-29 13:25:21 +01:00
Valere
794a0bb14b Fix / bad ref to json in filename, it's txt 2020-10-29 12:55:26 +01:00
Valere
a1ed9bb377 Fix / missing new line in secret trail 2020-10-29 12:55:26 +01:00
Valere
c2027be0ee Fix audit freeze, add export, and buffer gossip saves 2020-10-29 12:55:26 +01:00
Valere
5a111af2fe Fix / add close to IncomingRequestManager 2020-10-29 12:55:26 +01:00
Valere
bb000f77f8 Offload self verif todevice off crypto thread 2020-10-29 12:55:26 +01:00
Valere
6d2b3a6940 cleaning 2020-10-29 12:55:26 +01:00
Valere
dbb14e6313 offload megolm backup import off crypto thread 2020-10-29 12:55:26 +01:00
Valere
2144879e73 Offload sending keywithheld to computation 2020-10-29 12:55:26 +01:00
Valere
e149be9e0f Offload Incoming Gossip to dedicated thread 2020-10-29 12:55:26 +01:00
Valere
9e921d8b50 safeguard for save after store closed 2020-10-29 12:55:26 +01:00
Valere
9bf5059631 Fix test helper not working 2020-10-29 12:55:26 +01:00
Valere
b9fdc14e18 add internal 2020-10-29 12:55:26 +01:00
Valere
f39938d17d Fix / device check was not reading up to date trust 2020-10-29 12:55:26 +01:00
Valere
aa238775c6 Fix copyrights 2020-10-29 12:55:26 +01:00
Valere
7e7a953345 Crypto cleaning and perf improvement 2020-10-29 12:55:26 +01:00
Valere
9ec68fa5be Fix ui echo isues 2020-10-29 12:49:30 +01:00
Benoit Marty
a393c4dfae Do not open again the DM if the user is already seeing it 2020-10-29 11:05:09 +01:00
Benoit Marty
d9723387eb We only need the roomId in many cases, so update the API 2020-10-29 11:00:01 +01:00
Benoit Marty
4433436416 Room member profile: Add action to create (or open) a DM (#2310) 2020-10-28 18:13:36 +01:00
Benoit Marty
f127a75e38 Merge pull request #2285 from vector-im/feature/bma/uCrop
Feature/bma/u crop
2020-10-28 16:54:27 +01:00
Benoit Marty
802f4ea5d8 cleanup 2020-10-28 16:53:45 +01:00
Benoit Marty
6ed77e276b Fix issue with plurals 2020-10-28 16:49:42 +01:00
Benoit Marty
fffc8addcf Ask for confirmation if the user quit the screen before creating the room 2020-10-28 15:38:14 +01:00
Benoit Marty
489bddec5b Delete temporary file once the room avatar is uploaded 2020-10-28 15:27:30 +01:00
Benoit Marty
f5e46df309 Delete temporary file if user change again the room avatar 2020-10-28 15:27:30 +01:00
Benoit Marty
4887f678c5 Delete temporary file if user cancel room setting change 2020-10-28 15:27:30 +01:00
Benoit Marty
be2c4597de Fix issue after rebase 2020-10-28 15:27:30 +01:00
Benoit Marty
cd56059a77 Fix a few details 2020-10-28 15:27:30 +01:00
Benoit Marty
03d925b5ab Use new way to start Activity with uCrop - other case 2020-10-28 15:27:30 +01:00
Benoit Marty
487e82df3f Cleanup 2020-10-28 15:27:30 +01:00
Benoit Marty
72bf2f9c1a Use new way to start Activity with uCrop 2020-10-28 15:27:30 +01:00
Benoit Marty
1555c06b21 Use colorProvider instead of context 2020-10-28 15:27:30 +01:00
Benoit Marty
7bebd6151e Merge pull request #2308 from vector-im/feature/bma/wl
Fix lint issue
2020-10-28 15:27:01 +01:00
Benoit Marty
2f7c7badc1 Another lint fix 2020-10-28 15:26:34 +01:00
Benoit Marty
1e60d6f6e8 Merge pull request #2282 from vector-im/feature/bma/room_settings
Feature/bma/room settings
2020-10-28 13:54:08 +01:00
Benoit Marty
b9795786c3 Merge pull request #2288 from vector-im/feature/bma/low_priority
Toggle low priority tag of a room
2020-10-28 13:53:28 +01:00
Benoit Marty
8091e224f7 Merge branch 'develop' into feature/bma/low_priority 2020-10-28 13:53:19 +01:00
Benoit Marty
e84eba23a1 Fix lint issue 2020-10-28 13:49:16 +01:00
Benoit Marty
16af59153e Merge pull request #2306 from RiotTranslateBot/weblate-element-android-element-app
Translations update from Weblate
2020-10-28 13:37:08 +01:00
Benoit Marty
042c8abac1 Kotlin optimization 2020-10-28 11:22:37 +01:00
Benoit Marty
5c62f29c6f Add a "discard change" warning 2020-10-28 11:22:37 +01:00
Benoit Marty
7a37db84d8 Room profile: BigImageViewerActivity now only display the image. Use the room setting to change or delete the room Avatar - fix bugs 2020-10-28 11:22:37 +01:00
Benoit Marty
b78dac20c0 Room profile: BigImageViewerActivity now only display the image. Use the room setting to change or delete the room Avatar 2020-10-28 11:22:37 +01:00
Weblate
de33f7b3f5 Merge branch 'origin/develop' into Weblate. 2020-10-28 10:09:29 +00:00
Benoit Marty
89fa345140 Revert "Fix issue in Greek resource (also fixed on Weblate)"
This reverts commit c2a81c52
2020-10-28 11:09:04 +01:00
Slavi Pantaleev
5be1c447a2 Translated using Weblate (Bulgarian)
Currently translated at 100.0% (190 of 190 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.element.io/projects/element-android/element-sdk/bg/
2020-10-28 10:06:07 +00:00
Tirifto
555b9854ef Translated using Weblate (Esperanto)
Currently translated at 99.1% (1902 of 1918 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/eo/
2020-10-28 10:06:06 +00:00
Benoit Marty
616a9cee1f Merge pull request #2294 from gjpower/fix/edit_image_icon_visibility
Make edit and remove image icons visible in attachments preview screen
2020-10-28 11:05:20 +01:00
Tirifto
ec3c386028 Translated using Weblate (Esperanto)
Currently translated at 100.0% (3 of 3 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/eo/
2020-10-27 19:50:14 +00:00
Tirifto
3c4b88db0a Translated using Weblate (Esperanto)
Currently translated at 100.0% (190 of 190 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.element.io/projects/element-android/element-sdk/eo/
2020-10-27 19:50:14 +00:00
Tirifto
3ca9c769c6 Translated using Weblate (Esperanto)
Currently translated at 98.3% (1886 of 1918 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/eo/
2020-10-27 19:50:13 +00:00
Slavi Pantaleev
4c03a2e98a Translated using Weblate (Bulgarian)
Currently translated at 100.0% (1918 of 1918 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/bg/
2020-10-27 19:49:56 +00:00
Graeme Power
013cc53cc0 Make edit image and remove image icons visible in attachments preview menu
Signed-off-by: Graeme Power <gjpower@tcd.ie>
2020-10-27 17:40:27 +01:00
Valere
50fcf0731b Merge pull request #2303 from vector-im/feature/bca/enter_to_send
Add preference to send with enter + support hardware keyboard send
2020-10-27 16:19:00 +01:00
Valere
7e06fb474e Update change log 2020-10-27 16:18:26 +01:00
Valere
0399677a01 Add preference to send with enter + keyboard support 2020-10-27 13:47:45 +01:00
Nikita Epifanov
fc1b6a4d38 Translated using Weblate (Russian)
Currently translated at 98.9% (188 of 190 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.element.io/projects/element-android/element-sdk/ru/
2020-10-26 11:51:04 +00:00
Nikita Epifanov
c0c8c67228 Translated using Weblate (Russian)
Currently translated at 99.7% (1914 of 1918 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/ru/
2020-10-26 11:51:04 +00:00
Tirifto
00a64bce45 Translated using Weblate (Esperanto)
Currently translated at 81.5% (1564 of 1918 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/eo/
2020-10-26 11:51:03 +00:00
John
08f1dc7f9e Translated using Weblate (Greek)
Currently translated at 16.1% (309 of 1918 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/el/
2020-10-26 11:50:01 +00:00
aWeinzierl
0a627e9d0f Translated using Weblate (German)
Currently translated at 100.0% (1918 of 1918 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/de/
2020-10-26 11:49:59 +00:00
Slavi Pantaleev
ba9908e777 Translated using Weblate (Bulgarian)
Currently translated at 95.2% (1826 of 1918 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/bg/
2020-10-26 11:49:59 +00:00
MamasLT
10060b35c8 Translated using Weblate (Lithuanian)
Currently translated at 8.4% (16 of 190 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.element.io/projects/element-android/element-sdk/lt/
2020-10-24 03:49:51 +00:00
Corentin Noël
d86190404d Translated using Weblate (French)
Currently translated at 100.0% (1918 of 1918 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/fr/
2020-10-24 03:49:51 +00:00
Samu Voutilainen
d764540526 Translated using Weblate (Finnish)
Currently translated at 81.0% (1554 of 1918 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/fi/
2020-10-24 03:49:50 +00:00
Benoit Marty
2963828a07 Merge pull request #2286 from tintou/patch-1
Fix missing newline in strings.xml
2020-10-23 16:56:03 +02:00
Corentin Noël
1ff3969cfb Fix missing newline in strings.xml
This leads to wrongly escaped string

Signed-off-by: Corentin Noël <corentin.noel@collabora.com>
2020-10-23 16:06:29 +02:00
Benoit Marty
8d73e8c905 Low priority and favorite are exclusive (iso Element Web) 2020-10-23 15:20:26 +02:00
Benoit Marty
5a6683574c Toggle Low priority tag (#1490) 2020-10-23 14:58:31 +02:00
Priit Jõerüüt
e246c58424 Translated using Weblate (Estonian)
Currently translated at 100.0% (3 of 3 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/et/
2020-10-22 21:49:58 +00:00
Besnik Bleta
c9748cb46f Translated using Weblate (Albanian)
Currently translated at 88.4% (168 of 190 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.element.io/projects/element-android/element-sdk/sq/
2020-10-22 21:49:58 +00:00
@a2sc:matrix.org
385f2db038 Translated using Weblate (German)
Currently translated at 100.0% (190 of 190 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.element.io/projects/element-android/element-sdk/de/
2020-10-22 21:49:57 +00:00
Besnik Bleta
636f419be1 Translated using Weblate (Albanian)
Currently translated at 99.4% (1908 of 1918 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/sq/
2020-10-22 21:49:57 +00:00
Vladislav Povalyaev
8b6a8b45ed Translated using Weblate (Russian)
Currently translated at 99.3% (1906 of 1918 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/ru/
2020-10-22 21:49:55 +00:00
call_xz
89b6de0323 Translated using Weblate (Japanese)
Currently translated at 48.3% (928 of 1918 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/ja/
2020-10-22 21:49:54 +00:00
Priit Jõerüüt
445dfceb2a Translated using Weblate (Estonian)
Currently translated at 100.0% (1918 of 1918 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/et/
2020-10-22 21:49:53 +00:00
@a2sc:matrix.org
788d1ed7b0 Translated using Weblate (German)
Currently translated at 99.9% (1917 of 1918 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/de/
2020-10-22 21:49:53 +00:00
Slavi Pantaleev
0df4cf70de Translated using Weblate (Bulgarian)
Currently translated at 87.3% (1676 of 1918 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/bg/
2020-10-22 21:49:52 +00:00
Benoit Marty
83925322cb Merge pull request #2284 from vector-im/feature/bma/versionCode
Feature/bma/version code
2020-10-22 22:03:05 +02:00
Benoit Marty
36cef26ab5 Fix allWarningsAsErrors mistake... Strange behaviour of Elvis operator in Groovy... 2020-10-22 17:23:45 +02:00
Benoit Marty
60556d0fa0 Version code: apply workaround from https://issuetracker.google.com/issues/171133218 2020-10-22 16:10:08 +02:00
Benoit Marty
6a1238d2c5 Merge pull request #2275 from vector-im/feature/bma/create_room
Feature/bma/create room
2020-10-22 10:27:52 +02:00
Benoit Marty
6b04e25954 Remove unused resource 2020-10-22 10:26:33 +02:00
Benoit Marty
723a833845 Better formatting 2020-10-22 10:26:33 +02:00
Benoit Marty
f567f92d8f Reset form when user press back 2020-10-22 10:26:33 +02:00
Benoit Marty
613573931e Fix room name reset issue when rotating the screen 2020-10-22 10:26:33 +02:00
Benoit Marty
dc8668b222 Code quality 2020-10-22 10:26:33 +02:00
Benoit Marty
d20fae2593 Changelog 2020-10-22 10:26:33 +02:00
Benoit Marty
def6758aaa UI tweak 2020-10-22 10:25:53 +02:00
Benoit Marty
c2a81c528f Fix issue in Greek resource (also fixed on Weblate) 2020-10-22 10:25:53 +02:00
Benoit Marty
4b8c31d806 Add Avatar: SDK
Also add remove avatar action, and add Crop UX
2020-10-22 10:25:53 +02:00
Benoit Marty
1f9712d8a2 Add Avatar: UI 2020-10-22 10:25:53 +02:00
Benoit Marty
3276da3912 Fix submit title 2020-10-22 10:25:53 +02:00
Benoit Marty
a969aef582 Use GalleryOrCameraDialogHelper 2020-10-22 10:25:53 +02:00
Benoit Marty
77c5b320d1 Create GalleryOrCameraDialogHelper to factorize code 2020-10-22 10:25:53 +02:00
Benoit Marty
02d3893b6b Cleanup 2020-10-22 10:25:53 +02:00
Benoit Marty
aaa772c749 Android style to validate form 2020-10-22 10:25:53 +02:00
Benoit Marty
99e8f9c6cd Room creation: add topic (#2078) 2020-10-22 10:25:53 +02:00
Benoit Marty
0667c0ce49 Never show the green gear in production 2020-10-22 10:25:53 +02:00
Benoit Marty
fa32770e96 Add --ignoreErrors argument to be able to bypass some errors 2020-10-22 10:25:53 +02:00
aethralis
0a2b0842b0 Translated using Weblate (Estonian)
Currently translated at 100.0% (1918 of 1918 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/et/
2020-10-22 07:45:11 +00:00
aethralis
f26f169973 Translated using Weblate (Estonian)
Currently translated at 100.0% (3 of 3 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/et/
2020-10-21 21:37:05 +00:00
Danial Behzadi
b826e318a5 Translated using Weblate (Persian)
Currently translated at 100.0% (3 of 3 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/fa/
2020-10-21 10:05:01 +00:00
LinAGKar
e5320688ba Translated using Weblate (Swedish)
Currently translated at 100.0% (3 of 3 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/sv/
2020-10-21 10:05:00 +00:00
Corentin Noël
8b4721cc3e Translated using Weblate (French)
Currently translated at 66.6% (2 of 3 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/fr/
2020-10-21 10:05:00 +00:00
sr093906
ea4325c498 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (190 of 190 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.element.io/projects/element-android/element-sdk/zh_Hans/
2020-10-21 10:05:00 +00:00
Corentin Noël
dc4d2d6ccb Translated using Weblate (French)
Currently translated at 100.0% (190 of 190 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.element.io/projects/element-android/element-sdk/fr/
2020-10-21 10:05:00 +00:00
Danial Behzadi
06bcd1654c Translated using Weblate (Persian)
Currently translated at 100.0% (190 of 190 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.element.io/projects/element-android/element-sdk/fa/
2020-10-21 10:04:59 +00:00
Knugi
f71f717e51 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (1918 of 1918 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/zh_Hant/
2020-10-21 10:04:59 +00:00
D4708
191fbf1c9e Translated using Weblate (Ukrainian)
Currently translated at 43.1% (828 of 1918 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/uk/
2020-10-21 10:04:59 +00:00
LinAGKar
434b4b5b13 Translated using Weblate (Swedish)
Currently translated at 100.0% (1918 of 1918 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/sv/
2020-10-21 10:04:56 +00:00
Ricardo Subtil
5a2df8e038 Translated using Weblate (Portuguese)
Currently translated at 41.5% (797 of 1918 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/pt/
2020-10-21 10:04:56 +00:00
Denise Almeida
2ac2711210 Translated using Weblate (Portuguese)
Currently translated at 41.5% (797 of 1918 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/pt/
2020-10-21 10:04:56 +00:00
Corentin Noël
a213ecdc43 Translated using Weblate (French)
Currently translated at 99.2% (1903 of 1918 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/fr/
2020-10-21 10:04:55 +00:00
Samu Voutilainen
b49d9ff9c6 Translated using Weblate (Finnish)
Currently translated at 81.0% (1554 of 1918 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/fi/
2020-10-21 10:04:55 +00:00
Danial Behzadi
0e0588665d Translated using Weblate (Persian)
Currently translated at 70.9% (1360 of 1918 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/fa/
2020-10-21 10:04:54 +00:00
dipeve
95786dc9d6 Translated using Weblate (Spanish (Mexico))
Currently translated at 28.9% (555 of 1918 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/es_MX/
2020-10-21 10:04:46 +00:00
Benoit Marty
7bb2899414 Translated using Weblate (Greek)
Currently translated at 14.4% (278 of 1918 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/el/
2020-10-21 10:04:46 +00:00
@a2sc:matrix.org
94f5b7b987 Translated using Weblate (German)
Currently translated at 99.6% (1912 of 1918 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/de/
2020-10-21 10:04:46 +00:00
Slavi Pantaleev
f8762da246 Translated using Weblate (Bulgarian)
Currently translated at 84.3% (1618 of 1918 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/bg/
2020-10-21 10:04:44 +00:00
Benoit Marty
f3685701ac (PR merged after a release) 2020-10-20 22:18:14 +02:00
Benoit Marty
f1e545ad49 Merge pull request #2264 from vector-im/feature/ons/fix_riotx_crypto_migration
Fix crpyto store migration from RiotX.
2020-10-20 22:15:21 +02:00
Benoit Marty
c88c2a17ca Merge pull request #2235 from vector-im/feature/bca/perf_better_send_time
Feature/bca/perf better send time
2020-10-20 22:12:19 +02:00
Valere
dc8a6cc745 Code review 2020-10-20 21:42:24 +02:00
Valere
d319a353d4 change log level 2020-10-20 21:42:24 +02:00
Valere
89458a49b5 Updated change log 2020-10-20 21:42:24 +02:00
Valere
464ce16d63 fix sdk copyright 2020-10-20 21:41:48 +02:00
Valere
6cca87da49 Stop thread on close session 2020-10-20 21:41:48 +02:00
Valere
ace412f9e3 cleaning 2020-10-20 21:41:48 +02:00
Valere
41e168a519 add UI echo of reactions 2020-10-20 21:41:48 +02:00
Valere
47746d6997 Add event sender in app thread 2020-10-20 21:41:48 +02:00
Markus
42fc47685c Merge tag 'v1.0.9' into fix_2100_2 2020-10-19 14:07:17 +02:00
Benoit Marty
9a5e71f391 Merge branch 'hotfix/bma/versionCode' 2020-10-19 12:31:35 +02:00
Benoit Marty
c05147a019 Merge branch 'hotfix/bma/versionCode' into develop 2020-10-19 12:31:35 +02:00
Benoit Marty
a59c92f55a Fix issue with VersionCode 2020-10-19 12:29:20 +02:00
Onuray Sahin
151f361954 Merge branch 'develop' into feature/ons/fix_riotx_crypto_migration 2020-10-19 11:15:04 +03:00
Onuray Sahin
6d3a659362 Benoit code review fixes. 2020-10-19 11:14:15 +03:00
inthepan
2026d93934 Translated using Weblate (German)
Currently translated at 96.9% (1860 of 1918 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/de/
2020-10-18 00:04:46 +00:00
Benoit Marty
1a9f06681f Translated using Weblate (Czech)
Currently translated at 88.4% (168 of 190 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.element.io/projects/element-android/element-sdk/cs/
2020-10-18 00:04:46 +00:00
Corentin Noël
85747d2ed4 Translated using Weblate (French)
Currently translated at 98.1% (1883 of 1918 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/fr/
2020-10-18 00:04:46 +00:00
Corentin Noël
e1b8405c8b Translated using Weblate (French)
Currently translated at 59.4% (113 of 190 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.element.io/projects/element-android/element-sdk/fr/
2020-10-18 00:04:36 +00:00
Benoit Marty
51c9208952 Translated using Weblate (German)
Currently translated at 96.8% (184 of 190 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.element.io/projects/element-android/element-sdk/de/
2020-10-18 00:04:36 +00:00
Slavi Pantaleev
c0cea9448f Translated using Weblate (Bulgarian)
Currently translated at 74.3% (1426 of 1918 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/bg/
2020-10-18 00:04:36 +00:00
Benoit Marty
1b7158a61d Version++ 2020-10-16 17:34:10 +02:00
Benoit Marty
9298ca9c15 Merge branch 'release/1.0.9' 2020-10-16 17:33:01 +02:00
Benoit Marty
3c8f999468 Merge branch 'release/1.0.9' into develop 2020-10-16 17:32:58 +02:00
Benoit Marty
ff84319e59 Prepare release 1.0.9 2020-10-16 17:09:31 +02:00
Benoit Marty
dc7e0a5f88 Merge pull request #2259 from vector-im/feature/ons/fix_file_info_size
Uploading a file to a room caused it to have a info.size of -1
2020-10-16 17:05:26 +02:00
Benoit Marty
0ffe20d863 Small changes 2020-10-16 16:50:51 +02:00
Benoit Marty
f3340f9789 Merge branch 'feature/bma/weblate_fix' into develop 2020-10-16 16:40:29 +02:00
Benoit Marty
ca0af0f342 Fix bad cases 2020-10-16 16:38:33 +02:00
Benoit Marty
aa91c41082 Fix lint issue 2020-10-16 16:36:09 +02:00
Benoit Marty
16579348f4 Merge pull request #2265 from RiotTranslateBot/weblate-element-android-element-app
Translations update from Weblate
2020-10-16 16:34:37 +02:00
Benoit Marty
b07e7a4a36 Use file.length if cursor returns -1 as file size.
Author: Onuray (squashed)
2020-10-16 16:11:11 +02:00
Weblate
dea994c1fb Merge branch 'origin/develop' into Weblate. 2020-10-16 14:02:54 +00:00
Benoit Marty
3bf11d1a0b Translated using Weblate (Slovak)
Currently translated at 86.3% (164 of 190 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.element.io/projects/element-android/element-sdk/sk/
2020-10-16 14:02:44 +00:00
Benoit Marty
dce60d0061 Translated using Weblate (Kabyle)
Currently translated at 88.4% (168 of 190 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.element.io/projects/element-android/element-sdk/kab/
2020-10-16 14:02:44 +00:00
Benoit Marty
31e73b2f8c Translated using Weblate (Estonian)
Currently translated at 100.0% (190 of 190 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.element.io/projects/element-android/element-sdk/et/
2020-10-16 14:02:44 +00:00
Benoit Marty
d314c8ae58 Translated using Weblate (Bengali (India))
Currently translated at 88.4% (168 of 190 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.element.io/projects/element-android/element-sdk/bn_IN/
2020-10-16 14:02:44 +00:00
Benoit Marty
e19af47b77 Translated using Weblate (Italian)
Currently translated at 100.0% (190 of 190 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.element.io/projects/element-android/element-sdk/it/
2020-10-16 14:02:44 +00:00
Benoit Marty
94f7cfeb86 Merge pull request #2263 from vector-im/feature/fga/fix_composer_constraint
Fix composer: update constraints layout and fix some glitches
2020-10-16 15:30:24 +02:00
Onuray Sahin
6531ba6a13 Fix crpyto store migration from RiotX.
Fixes #2252
2020-10-16 15:18:35 +03:00
ganfra
9bf615e90c Fix composer: update constraints layout and fix some glitches 2020-10-16 11:24:59 +02:00
Samu Voutilainen
003bffe463 Translated using Weblate (Finnish)
Currently translated at 80.3% (1541 of 1918 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/fi/
2020-10-16 09:04:53 +00:00
Marcelo Filho
021c23cd19 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (1918 of 1918 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/pt_BR/
2020-10-16 09:04:53 +00:00
random
821b9dc187 Translated using Weblate (Italian)
Currently translated at 100.0% (1918 of 1918 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/it/
2020-10-16 09:04:50 +00:00
LinAGKar
72a7bf9e23 Translated using Weblate (Swedish)
Currently translated at 100.0% (190 of 190 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.element.io/projects/element-android/element-sdk/sv/
2020-10-16 09:04:48 +00:00
Nikita Epifanov
5cb46dba6c Translated using Weblate (Russian)
Currently translated at 98.9% (188 of 190 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.element.io/projects/element-android/element-sdk/ru/
2020-10-16 09:04:47 +00:00
linsui
ba3500baf6 Translated using Weblate (Chinese (Simplified))
Currently translated at 97.8% (186 of 190 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.element.io/projects/element-android/element-sdk/zh_Hans/
2020-10-16 09:04:47 +00:00
Priit Jõerüüt
f82ee5efdd Translated using Weblate (Estonian)
Currently translated at 100.0% (190 of 190 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.element.io/projects/element-android/element-sdk/et/
2020-10-16 09:04:47 +00:00
TR_SLimey
ab8c9bd269 Translated using Weblate (Polish)
Currently translated at 79.7% (1529 of 1918 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/pl/
2020-10-16 09:04:47 +00:00
linsui
1692a52e0a Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (1918 of 1918 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/zh_Hans/
2020-10-16 09:04:46 +00:00
@a2sc:matrix.org
28df01b184 Translated using Weblate (German)
Currently translated at 96.8% (184 of 190 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.element.io/projects/element-android/element-sdk/de/
2020-10-16 09:04:43 +00:00
Jeff Huang
843d1d57cf Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (190 of 190 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.element.io/projects/element-android/element-sdk/zh_Hant/
2020-10-16 09:04:43 +00:00
Nikita Epifanov
a086b2001b Translated using Weblate (Russian)
Currently translated at 99.4% (1907 of 1918 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/ru/
2020-10-16 09:04:43 +00:00
Priit Jõerüüt
98086f1b6b Translated using Weblate (Estonian)
Currently translated at 100.0% (1918 of 1918 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/et/
2020-10-16 09:04:41 +00:00
Marcelo Filho
c1f08e8f22 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (190 of 190 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.element.io/projects/element-android/element-sdk/pt_BR/
2020-10-16 09:04:39 +00:00
random
e7a8679383 Translated using Weblate (Italian)
Currently translated at 100.0% (190 of 190 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.element.io/projects/element-android/element-sdk/it/
2020-10-16 09:04:38 +00:00
Priit Jõerüüt
284babfeaa Translated using Weblate (Estonian)
Currently translated at 66.6% (2 of 3 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/et/
2020-10-16 09:04:38 +00:00
ginnyTheCat
c1ea4bc1a7 Translated using Weblate (German)
Currently translated at 96.5% (1852 of 1918 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/de/
2020-10-16 09:04:38 +00:00
@a2sc:matrix.org
7f48604820 Translated using Weblate (German)
Currently translated at 96.5% (1852 of 1918 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/de/
2020-10-16 09:04:38 +00:00
LinAGKar
572b0942ba Translated using Weblate (Swedish)
Currently translated at 100.0% (1918 of 1918 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/sv/
2020-10-16 09:04:38 +00:00
Jeff Huang
63dff842f6 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (1918 of 1918 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/zh_Hant/
2020-10-16 09:04:35 +00:00
random
f83a0d027a Translated using Weblate (Italian)
Currently translated at 100.0% (3 of 3 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/it/
2020-10-16 09:04:33 +00:00
Benoit Marty
93683d026b Merge pull request #2260 from vector-im/feature/bma/fix_issue
Feature/bma/fix issue
2020-10-15 18:14:17 +02:00
Benoit Marty
6fcfd259b7 Merge pull request #2211 from ginnyTheCat/rainbow-color
Changed rainbow algorithm
2020-10-15 18:13:24 +02:00
Benoit Marty
6c335c7df1 Merge pull request #2257 from ginnyTheCat/share
Ability to share text
2020-10-15 18:12:27 +02:00
Benoit Marty
9c451ffdd1 Weblate is now hosted at https://translate.element.io 2020-10-15 15:55:55 +02:00
Benoit Marty
6a3eed49fc Enable file system watch to reduce compilation time 2020-10-15 15:55:55 +02:00
Benoit Marty
95142274fa Clear alerts if user sign out 2020-10-15 15:55:55 +02:00
Benoit Marty
f68eb449bd Be robust against StrandHogg task injection 2020-10-15 15:55:55 +02:00
Benoit Marty
990b885aa9 Merge pull request #2258 from vector-im/gradlew-update-6.7
Updates Gradle Wrapper from 6.6.1 to 6.7
2020-10-15 15:37:29 +02:00
gradle-update-robot
f64a6d4ca4 Update Gradle Wrapper from 6.6.1 to 6.7.
Signed-off-by: gradle-update-robot <gradle-update-robot@regolo.cc>
2020-10-15 00:56:45 +00:00
Constantin Wartenburger
d31a047467 Added line to changelog 2020-10-14 15:55:51 +02:00
Benoit Marty
7158f49fcb Merge pull request #2244 from ginnyTheCat/direct_share
Direct share support
2020-10-14 14:27:08 +02:00
Benoit Marty
bfee82312c Merge pull request #2256 from vector-im/feature/bma/cleanup2
Feature/bma/cleanup2
2020-10-14 14:23:02 +02:00
Benoit Marty
95df786227 Add a click action at the top of the drawer to open the general settings 2020-10-14 12:21:27 +02:00
Benoit Marty
ea57697215 Fix warning with enum 2020-10-14 11:20:01 +02:00
Benoit Marty
2b026b6bc6 Fix vector tint compilation error. Tint at runtime.
Also remove unused icon.
2020-10-13 23:15:06 +02:00
Benoit Marty
7f5c7c3bed Trick to fix a change due to upgrade to build-tools 4.1.0 (?) 2020-10-13 23:05:33 +02:00
Benoit Marty
79d7032e3a Don't set presence when handling a push notification or polling (#2156) 2020-10-13 22:34:08 +02:00
Benoit Marty
17d1a4b6fb revert change from AS 2020-10-13 22:15:23 +02:00
Constantin Wartenburger
afe55ae57e Merge remote-tracking branch 'upstream/develop' into direct_share 2020-10-13 20:26:07 +02:00
Constantin Wartenburger
7bee558e01 Using ApplicationId from BuildConfig 2020-10-13 20:17:56 +02:00
Benoit Marty
d8f2deb5d9 Update build tools from 4.0.1 to 4.1.0 2020-10-13 17:18:13 +02:00
Benoit Marty
cf98252bdb Merge pull request #2254 from vector-im/feature/bma/cleanup
Feature/bma/cleanup
2020-10-13 16:49:51 +02:00
Benoit Marty
35b94d70e2 Fix compilation issue introduced when formatting code :/ 2020-10-13 16:04:44 +02:00
Benoit Marty
55a94d9888 Optimize import 2020-10-13 15:04:50 +02:00
Benoit Marty
ede5bb0e90 Format files, in particular align -> 2020-10-13 14:57:45 +02:00
Benoit Marty
ff56414695 Cleanup and log onResume and onPause for VectorAttachmentViewerActivity 2020-10-13 14:44:04 +02:00
Benoit Marty
ca99a52545 Remove dead code 2020-10-13 14:40:23 +02:00
Benoit Marty
0345ca47dd protected 2020-10-13 14:35:33 +02:00
Benoit Marty
86b4e34031 Merge pull request #2253 from vector-im/feature/bma/small_fixies
Feature/bma/small fixies
2020-10-13 11:35:50 +02:00
Benoit Marty
db1f129034 Improve detection of encrypted rooms 2020-10-13 11:27:46 +02:00
Benoit Marty
9dc1034891 Fix some of the non-passing tests 2020-10-13 09:47:34 +02:00
Benoit Marty
68947588d7 Replace deprecated shouldEqual and shouldEqualTo by shouldBeEqualTo 2020-10-12 22:30:18 +02:00
Benoit Marty
0fc92889c1 Fix test compilation issue 2020-10-12 22:14:46 +02:00
Benoit Marty
778c5aee32 Add param to when 2020-10-12 21:13:26 +02:00
Benoit Marty
63eb119df6 Inject userId and deviceId instead of sessionParam 2020-10-12 21:13:26 +02:00
Benoit Marty
e6d5d0f9c6 There is no more menu in this Fragment 2020-10-12 21:09:28 +02:00
Benoit Marty
67f1fe69fa We are now API 21+ 2020-10-12 21:09:28 +02:00
Benoit Marty
b1625838ed Move the attibute to the correct View 2020-10-12 21:09:28 +02:00
Benoit Marty
4ac62bcf51 Display filter only if there are more than 2 members in this room 2020-10-12 21:09:28 +02:00
Benoit Marty
5ef97362cb Fix gravity on topic 2020-10-12 21:09:28 +02:00
Benoit Marty
d0cb5f4212 Merge pull request #2248 from vector-im/feature/bca/detect_reset
Fix / reset cross signing not well supported
2020-10-12 20:49:15 +02:00
Benoit Marty
a58ad3a871 Merge pull request #2251 from vector-im/feature/bma/weblate_clean
Feature/bma/weblate clean
2020-10-12 19:14:05 +02:00
Benoit Marty
17e7aedcba Move store data to /fastlane/metadata/android (#812) 2020-10-12 19:09:04 +02:00
Benoit Marty
648462f7f4 Remove unused string labs_merge_e2e_in_timeline 2020-10-12 19:02:54 +02:00
Benoit Marty
cb40485aad Format strings 2020-10-12 19:02:12 +02:00
Benoit Marty
52924d38bf Merge pull request #2250 from RiotTranslateBot/weblate-element-android-element-app
Update from Weblate
2020-10-12 18:48:49 +02:00
Benoit Marty
10d905472c Merge pull request #2245 from vector-im/feature/ons/add_members_fab
Add fab to the member list screen to invite users.
2020-10-12 18:16:10 +02:00
Benoit Marty
dff7f24187 Merge branch 'develop' into feature/ons/add_members_fab 2020-10-12 18:15:59 +02:00
Weblate
a6817e8281 Merge branch 'origin/develop' into Weblate. 2020-10-12 16:03:26 +00:00
Rob Johnson
19b6898568 Translated using Weblate (Spanish)
Currently translated at 99.4% (1863 of 1874 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/es/
2020-10-12 16:01:04 +00:00
Marcelo Filho
9c6ea95df8 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (1874 of 1874 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/pt_BR/
2020-10-12 16:01:04 +00:00
Danial Behzadi
ecdec83c37 Translated using Weblate (Persian)
Currently translated at 100.0% (168 of 168 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.riot.im/projects/element-android/element-sdk/fa/
2020-10-12 16:01:02 +00:00
Danial Behzadi
8d49121266 Translated using Weblate (Persian)
Currently translated at 64.9% (1216 of 1874 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/fa/
2020-10-12 16:01:00 +00:00
Kahina Messaoudi
2b2a263ba6 Translated using Weblate (Kabyle)
Currently translated at 99.8% (1870 of 1874 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/kab/
2020-10-12 16:00:13 +00:00
Besnik Bleta
087711f1f7 Translated using Weblate (Albanian)
Currently translated at 100.0% (168 of 168 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.riot.im/projects/element-android/element-sdk/sq/
2020-10-12 16:00:12 +00:00
Besnik Bleta
1b0049aaf7 Translated using Weblate (Albanian)
Currently translated at 99.5% (1864 of 1874 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/sq/
2020-10-12 16:00:11 +00:00
ganfra
5d59b445fd Merge pull request #2249 from vector-im/feature/fga/hide_cross_signing_no_session
Feature/fga/hide cross signing no session
2020-10-12 17:57:29 +02:00
ganfra
5ad46d251d Update CHANGES.md
Co-authored-by: Benoit Marty <benoitm@matrix.org>
2020-10-12 17:57:09 +02:00
Constantin Wartenburger
c0a5402684 Removed version check 2020-10-12 17:54:02 +02:00
Constantin Wartenburger
741f3f4066 Merge remote-tracking branch 'upstream/develop' into direct_share 2020-10-12 17:52:01 +02:00
Onuray Sahin
d6b94802d8 Benoit code review fixes. 2020-10-12 18:32:31 +03:00
ganfra
d8e9d363fa Cross signing: update CHANGES and clean 2020-10-12 17:15:38 +02:00
Valere
840c8e0b91 Fix / reset cross signing not well supported 2020-10-12 17:10:46 +02:00
ganfra
69e624df41 Cross signing: we should not show the verify with other sessions when there is not 2020-10-12 17:10:22 +02:00
Markus
a9f7fb46b3 Fix for ticket #2246: Ringtone volume cannot bechanged while ringing
This fix delays the creation of the audioManager until the call is connected. This way the call feature does not takes the focus from the core service (where the ringtone is generated) until the call is esablished. This way the volume can be controled correctly while the phone is ringing (incoming and outgoing).
2020-10-12 15:06:49 +02:00
Benoit Marty
40aa012588 Merge pull request #2215 from vector-im/feature/ons/fix_email_confirmation_flow
If there is a pending email validation continue on this step
2020-10-12 14:54:46 +02:00
Benoit Marty
6f709a1e7c Merge pull request #2203 from vector-im/feature/bma/pusher_data
Feature/bma/pusher data
2020-10-12 14:51:15 +02:00
Benoit Marty
ff78f378b5 ktlint 2020-10-12 14:49:04 +02:00
Benoit Marty
ea5bcc7c77 Merge pull request #2237 from vector-im/feature/ons/expandable_room_topic
Make long topic expandable.
2020-10-12 14:44:20 +02:00
Benoit Marty
17f0c29264 Fix lint false positive 2020-10-12 14:12:44 +02:00
Onuray Sahin
f8f091fa28 Benoit code review fixes. 2020-10-12 14:26:06 +03:00
Onuray Sahin
f82aee6089 Add fab to the member list screen to invite users. 2020-10-12 13:35:34 +03:00
Constantin Wartenburger
7e5ee8f951 Made it backwards compatible 2020-10-11 22:09:19 +02:00
Constantin Wartenburger
0ae7242e17 Added direct share 2020-10-11 21:09:36 +02:00
Constantin Wartenburger
b00fa69585 Ability to share text 2020-10-11 20:09:35 +02:00
Markus
e6a8fd5b73 Merge tag 'v1.0.8' into fix_2100_2 2020-10-11 09:15:57 +02:00
Benoit Marty
cb1addd5e3 Push test now does not display notification anymore. Add a dedicated test to do it 2020-10-09 20:10:55 +02:00
Benoit Marty
c9223ff74c Merge pull request #2239 from vector-im/feature/bca/fix_missing_adapters
Fix / Moshi Cannot serialize kotlin
2020-10-09 15:45:31 +02:00
Valere
b12c4f854c Fix / Moshi Cannot serialize kotlin 2020-10-09 15:40:30 +02:00
Onuray Sahin
beeb840436 Do not ellipsize content while expanding. 2020-10-09 15:06:54 +03:00
Onuray Sahin
c3a423fdbe Changelog added. 2020-10-09 14:53:02 +03:00
Onuray Sahin
4f92db7651 Make long topic expandable. 2020-10-09 14:45:36 +03:00
Benoit Marty
3714e4e787 Add a Waiting for user state 2020-10-08 22:08:48 +02:00
Benoit Marty
ab9bbe9a48 Cleanup and cancel request properly 2020-10-08 22:08:48 +02:00
Benoit Marty
dbb77d9dc1 Push test: success if user click on the notification 2020-10-08 22:08:48 +02:00
Benoit Marty
5e45f5c3ea Copyright for SDK 2020-10-08 22:08:48 +02:00
Benoit Marty
be62d65c98 Some cleanup on the layout 2020-10-08 22:08:48 +02:00
Benoit Marty
f860cfd8a3 Fix compilation issue after rebase 2020-10-08 22:08:48 +02:00
Benoit Marty
5397700ab4 cleanup 2020-10-08 22:08:48 +02:00
Benoit Marty
48ca1384f8 Do some renaming, Sygnal is an implementation of a PushGateway. 2020-10-08 22:08:48 +02:00
Benoit Marty
d1fb1614a3 Make the app react to test push 2020-10-08 22:08:48 +02:00
Benoit Marty
e926326fca Better handling of network error.
Entering a wrong homeserver URL is now a specific error.
2020-10-08 22:08:48 +02:00
Benoit Marty
02f1dab9b2 Push test: better error handling 2020-10-08 22:08:48 +02:00
Benoit Marty
7d53dfeca4 Add Sygnal API implementation to test is Push are correctly received 2020-10-08 22:08:48 +02:00
Benoit Marty
3133cbcc3e Add script to test PUSH token 2020-10-08 22:08:25 +02:00
Benoit Marty
cb33b9f158 cleanup 2020-10-08 22:08:25 +02:00
Benoit Marty
cee5f8a0fb Merge pull request #2230 from vector-im/feature/bma/sdk_copyright
Sdk copyright
2020-10-08 22:04:46 +02:00
Benoit Marty
50cf5b5322 Merge pull request #2212 from vector-im/feature/bma/jump_to_read_receipt
Add "jump to read receipt" and "mention" actions from room member detail screen
2020-10-08 15:17:48 +02:00
Benoit Marty
7b89f1bea7 Add missing Copyright 2020-10-08 15:14:22 +02:00
Benoit Marty
bc339191ea Fix Copyright mention 2020-10-08 15:11:01 +02:00
Benoit Marty
44114e66c2 Fix Copyright mention in SDK code 2020-10-08 15:04:55 +02:00
Benoit Marty
bd69fd5815 Check copyright mention SDK side: we need Matrix copyright and not Element copyright on SDK source files.
Next step should be to ensure that the copyright is present
2020-10-08 14:47:28 +02:00
Benoit Marty
1dfc739f19 Onuray's review 2020-10-08 14:19:56 +02:00
Benoit Marty
e33bc7146b Correction: "Jump to read receipt" available only for members with read receipt info (invited member can have read receipt info from a previous membership)
Not live for the moment, I think it is acceptable.
Also the Activity will finish itself instead of the Fragment
2020-10-08 14:18:30 +02:00
Benoit Marty
6325ee9310 "Jump to read receipt" available only for joined members 2020-10-08 14:18:01 +02:00
Benoit Marty
7952e205b9 Implement "Jump to read receipt" and "Mention" actions on the room member profile screen 2020-10-08 14:18:01 +02:00
Benoit Marty
1fd24e746c Merge pull request #2217 from vector-im/feature/bma/kotlin_version
Some upgrade
2020-10-08 13:30:23 +02:00
Benoit Marty
6872a488de Fix the latest lint issue (will modify the pipeline to let the test compilation pass 2020-10-08 13:04:55 +02:00
LinAGKar
2e5e072631 Translated using Weblate (Swedish)
Currently translated at 100.0% (1874 of 1874 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/sv/
2020-10-08 10:05:18 +00:00
Benoit Marty
acbd4c3aba Lint: fixes UseCompatTextViewDrawableXml issues 2020-10-08 09:35:24 +02:00
Benoit Marty
e846e30905 Lint: fixes 80 UseAppTint issues 2020-10-08 09:22:55 +02:00
Constantin Wartenburger
efa7c66d98 Skip conversion to radians 2020-10-08 00:56:36 +02:00
Benoit Marty
573ec29829 ktlint cleanup 2020-10-07 19:10:53 +02:00
Benoit Marty
f7e040efd2 F-Droid compilation 2020-10-07 19:08:00 +02:00
Benoit Marty
e67fe1476c Fix the latest warning \o/ 2020-10-07 18:51:51 +02:00
Benoit Marty
e224ae62b4 Do not use deprecated Activity.startActivityForResult anymore - step 3 2020-10-07 18:27:25 +02:00
Benoit Marty
a80f1538c7 Cleanup 2020-10-07 18:08:37 +02:00
Benoit Marty
29d25c377b Do not use deprecated Activity.startActivityForResult anymore - step 2 2020-10-07 18:07:04 +02:00
Benoit Marty
c53f79ca8b Do not use deprecated Fragment.startActivityForResult anymore - step 2 2020-10-07 17:22:43 +02:00
Benoit Marty
ff0f42900d Do not use deprecated Fragment.startActivityForResult anymore 2020-10-07 16:02:01 +02:00
Benoit Marty
05950ec1c8 registerForActivityResult has to be called at Fragment creation 2020-10-07 11:57:38 +02:00
Benoit Marty
a7f034f500 Stop using deprecated API to manage Permissions request from Fragment 2020-10-07 11:01:57 +02:00
rkfg
3182850e19 Translated using Weblate (Russian)
Currently translated at 100.0% (1874 of 1874 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/ru/
2020-10-06 21:05:11 +00:00
Benoit Marty
182158c3af Fix runtime issue after upgrading Moshi library 2020-10-06 18:36:54 +02:00
Onuray Sahin
7722e6d8e7 Merge branch 'develop' into feature/ons/fix_email_confirmation_flow 2020-10-06 19:00:19 +03:00
Benoit Marty
dd1c9976e3 Fix runtime issue after upgrading Moshi library 2020-10-06 17:25:27 +02:00
Benoit Marty
32434703d8 onActivityCreated() is deprecated (not tested) 2020-10-06 16:17:54 +02:00
Onuray Sahin
3877b2f58e Delete pending session store and states after session is created. 2020-10-06 17:02:49 +03:00
Benoit Marty
7e3acaa987 False positive 2020-10-06 16:00:29 +02:00
Benoit Marty
250ac42fa3 Fix some compilation warnings 2020-10-06 15:57:31 +02:00
Benoit Marty
9e0ebc94c5 Upgrade other dependencies, and remove unused dependencies 2020-10-06 15:44:30 +02:00
Benoit Marty
e708b0f01b Fix compilation warning (due to Kotlin 1.4) 2020-10-06 15:09:41 +02:00
Benoit Marty
1a0dba7422 Upgrade Moshi to 1.11.0, Dagger to 2.29.1, Epoxy to 4.1.0 2020-10-06 14:47:57 +02:00
Benoit Marty
282a3f8ee3 Upgrade com.google.gms:google-services from 4.3.2 to 4.3.4 2020-10-06 13:08:36 +02:00
Benoit Marty
ebfee5868e Remove OkReplay, not compatible to build tools 4.0.1 (and not used) 2020-10-06 13:06:24 +02:00
Benoit Marty
7a146327ca Upgrade build tools from 3.5.3 to 4.0.1 2020-10-06 13:05:39 +02:00
Benoit Marty
5056615eb0 Upgrade kotlin version from 1.3.72 to 1.4.10 and kotlin coroutines version from 1.3.8 to 1.3.9 2020-10-06 12:33:40 +02:00
Benoit Marty
72a412904d small cleanup 2020-10-06 12:26:18 +02:00
Benoit Marty
74cae47902 Merge pull request #2207 from vector-im/feature/bma/open_settings
Feature/bma/open settings
2020-10-06 12:20:42 +02:00
Benoit Marty
2125047ca5 Merge branch 'develop' into feature/bma/open_settings 2020-10-06 12:20:35 +02:00
Benoit Marty
cac3475281 Merge pull request #2158 from vector-im/feature/fix_draft
Feature/fix draft
2020-10-06 12:17:50 +02:00
ganfra
038e6613c0 Draft: update state when saving draft to avoid loosing current text 2020-10-06 10:17:17 +02:00
ganfra
bcc64fb276 Update CHANGES 2020-10-06 10:17:17 +02:00
ganfra
3b8a0f8671 Tint swip reply icon 2020-10-06 10:17:17 +02:00
ganfra
211a8dc272 Draft: fix icon tint 2020-10-06 10:17:17 +02:00
ganfra
dfbe1188f0 Draft: use session realm provider when possible 2020-10-06 10:17:17 +02:00
ganfra
91b81af5a8 Draft: handle sharing so it doesn't destroy the previous draft 2020-10-06 10:17:17 +02:00
Onuray Sahin
1f4a360a0c Merge branch 'develop' into feature/ons/fix_email_confirmation_flow 2020-10-06 11:16:50 +03:00
Onuray Sahin
f9c35e6bcb If there is a pending email validation continue on this step 2020-10-06 11:15:00 +03:00
ganfra
aa0520d47d Start reworking draft (simplify) 2020-10-06 10:13:14 +02:00
Benoit Marty
8d05ef703a Merge pull request #2196 from vector-im/ons/filter_room_members
Add SearchView to filter room members
2020-10-06 10:08:56 +02:00
Constantin Wartenburger
26b8ef8af9 Changed rainbow algorithm 2020-10-05 17:28:05 +02:00
Benoit Marty
0a31cf2c44 ktlint 2020-10-05 16:21:25 +02:00
@a2sc:matrix.org
19def67a9a Translated using Weblate (German)
Currently translated at 100.0% (1874 of 1874 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/de/
2020-10-05 14:05:09 +00:00
Benoit Marty
88dd6ae5da Rename some classes 2020-10-05 15:35:40 +02:00
Benoit Marty
cae7510a77 Show debug access only in developer mode 2020-10-05 15:25:14 +02:00
Benoit Marty
015678ca20 Fix issue on SignOutBottomSheet (Sign out action displayed by mistake)
Also improve code clarity by reordering lines and removing private method, which lead to bug (ex: duplicate action on `setupMegolmBackupButton` in `hideViews(setupMegolmBackupButton, setupMegolmBackupButton, signOutButton, exportManuallyButton)`)
2020-10-05 15:15:40 +02:00
Benoit Marty
85c8092e65 Add missing code to sign out when user click on the action 2020-10-05 14:58:07 +02:00
Benoit Marty
724c1132b6 Drawer: move settings access and add sign out action (#2171) 2020-10-05 14:51:21 +02:00
Benoit Marty
ae3c453f35 Add a menu item in the timeline as a shortcut to invite user (#2171) 2020-10-05 10:10:55 +02:00
Benoit Marty
6f2736566e Add a menu item to open the setting in room list and in room (#2171) 2020-10-05 10:00:00 +02:00
Benoit Marty
5fa281dd3a Merge pull request #2206 from cloudrac3r/patch-1
Replace "him" with "them" in report interface
2020-10-04 11:29:23 +02:00
Benoit Marty
b203093073 Use an extra container for the margin to be taken into account by the layout_scrollFlags 2020-10-04 11:17:57 +02:00
Cadence Ember
1b3a5097c1 Replace "him" with "them" in report interface
All genders can spam a chatroom :)
2020-10-04 12:43:26 +13:00
@a2sc:matrix.org
44d850e78f Translated using Weblate (German)
Currently translated at 100.0% (1874 of 1874 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/de/
2020-10-03 11:05:06 +00:00
Benoit Marty
8170f523e0 Small improvement 2020-10-02 23:29:48 +02:00
Benoit Marty
c0842d4da7 Also apply the filter to banned user screen 2020-10-02 23:20:28 +02:00
Benoit Marty
6147a87e46 Hide the SearchView when scrolling down 2020-10-02 23:06:59 +02:00
Benoit Marty
50f6a4732c Change hint 2020-10-02 22:21:13 +02:00
Benoit Marty
f5580212ea Also filter threePids 2020-10-02 22:16:13 +02:00
Benoit Marty
9df3de2afb Rename method 2020-10-02 21:50:01 +02:00
Benoit Marty
78ed184f60 Filter in the controller, to keep a live members list 2020-10-02 21:40:10 +02:00
Benoit Marty
85417eb24c Add SearchView to filter members.
Author: Onuray (I squashed 2 commits)
2020-10-02 21:12:52 +02:00
Benoit Marty
f030e098a8 Fix code quality and compilation test 2020-10-02 17:18:39 +02:00
Benoit Marty
c996bcb23c Merge pull request #2130 from vector-im/feature/search_in_room
Search messages in a room
2020-10-02 17:00:52 +02:00
Benoit Marty
61a41493ac Merge pull request #2202 from vector-im/feature/bma/shortcuts
Feature/bma/shortcuts
2020-10-02 10:38:16 +02:00
Benoit Marty
a2334c3fb0 Add missing leave icon in room profile 2020-10-01 18:38:27 +02:00
Benoit Marty
92e021a3d7 Create home shortcut for any room (#1525) 2020-10-01 18:38:09 +02:00
Benoit Marty
3705fa14bd Use sender data return from search result 2020-10-01 17:03:53 +02:00
Benoit Marty
4649b2ac1d Code review 2020-10-01 16:09:06 +02:00
Benoit Marty
ae346646e4 Cleanup 2020-10-01 15:05:42 +02:00
Onuray Sahin
6e81467808 If SearchActivity is in the stack, use it. 2020-10-01 14:50:29 +02:00
Onuray Sahin
08cc439306 Cancel previous search task before starting new one. 2020-10-01 14:50:29 +02:00
Onuray Sahin
0838cbaf03 UI fixes. 2020-10-01 14:50:29 +02:00
Onuray Sahin
d4a0659483 Init room in constructor. 2020-10-01 14:50:29 +02:00
Onuray Sahin
4dbeaeb465 Do not use hard wrapping. 2020-10-01 14:50:29 +02:00
Onuray Sahin
5d190a8137 Use loading item instead of full screen loading. 2020-10-01 14:50:29 +02:00
Onuray Sahin
0d16fe019e Do not use string provider in fragment. 2020-10-01 14:50:29 +02:00
Onuray Sahin
88ca909689 Remove roomId from SearchAction. 2020-10-01 14:50:29 +02:00
Onuray Sahin
da344fae51 One case per line. 2020-10-01 14:50:29 +02:00
Onuray Sahin
4683dc3f21 Documentation added to orderByRecent parameter of the search request. 2020-10-01 14:50:29 +02:00
Onuray Sahin
e21f306635 Use enum directly instead of its value. 2020-10-01 14:50:29 +02:00
Onuray Sahin
430a0d2492 Create separate search module. 2020-10-01 14:50:29 +02:00
Onuray Sahin
70be853acd Update no results found icon. 2020-10-01 14:50:29 +02:00
Onuray Sahin
0df3a8ad98 Changelog added. 2020-10-01 14:50:29 +02:00
Onuray Sahin
62449ee543 Support searching and pagination. 2020-10-01 14:48:55 +02:00
Onuray Sahin
5e56e7cf82 Implement search state, action and view events. 2020-10-01 14:48:55 +02:00
Onuray Sahin
6c6d0dbc3d Show not supported warning for e2e rooms. 2020-10-01 14:48:55 +02:00
Onuray Sahin
d6fcf63230 Implement search result controller and item. 2020-10-01 14:48:55 +02:00
Onuray Sahin
8759bcca84 Map api response to a domain object. 2020-10-01 14:48:55 +02:00
Onuray Sahin
86b46d1442 Configure SearchView as activity toolbar. 2020-10-01 14:48:55 +02:00
Onuray Sahin
f54504e871 Create search UI classes. 2020-10-01 14:48:55 +02:00
Onuray Sahin
fc18a7b877 Add search action as the menu item inside the timeline 2020-10-01 14:48:55 +02:00
Onuray Sahin
f1a979caa1 Make SearchTask accessible from room. 2020-10-01 14:48:55 +02:00
Onuray Sahin
7c954d220c Fix search request and response fields. 2020-10-01 14:48:55 +02:00
Onuray Sahin
8bff468c7c SearchService is added to the session. 2020-10-01 14:48:55 +02:00
Onuray Sahin
c46f0a7430 Simple integration test implementation for searching messages in a room. 2020-10-01 14:48:55 +02:00
Onuray Sahin
2eb60213b4 Do not support searching in multiple rooms for now. 2020-10-01 14:48:55 +02:00
Onuray Sahin
05f48255a3 Move search service into session module. 2020-10-01 14:48:55 +02:00
Onuray Sahin
d599cab017 SearchService implementation. 2020-10-01 14:48:55 +02:00
Onuray Sahin
b521f36569 SearchTask implementation. 2020-10-01 14:48:55 +02:00
Onuray Sahin
051b431f1d Search api added to RoomAPI. 2020-10-01 14:48:55 +02:00
Onuray Sahin
04b41fce30 Data classes for the search response created. 2020-10-01 14:48:55 +02:00
Onuray Sahin
5fcabca87c Data classes for request body created. 2020-10-01 14:48:55 +02:00
Benoit Marty
28b039fde3 Update CHANGES.md with: Updates Gradle Wrapper from 5.6.4 to 6.6.1. (#2193) 2020-10-01 14:47:35 +02:00
Benoit Marty
762bfc4fcc Merge pull request #2193 from vector-im/gradlew-update-6.6.1
Updates Gradle Wrapper from 5.6.4 to 6.6.1.
2020-10-01 14:44:55 +02:00
gradle-update-robot
39532fc2aa Update Gradle Wrapper from 5.6.4 to 6.6.1.
Signed-off-by: gradle-update-robot <gradle-update-robot@regolo.cc>
2020-10-01 00:53:05 +00:00
Valere
b6b73f2361 Merge pull request #2187 from vector-im/feature/forgot_pass_reset_all_4S
Feature/forgot pass reset all 4 s
2020-09-30 18:22:48 +02:00
Benoit Marty
37d6a9b722 ktlint 2020-09-30 18:20:42 +02:00
Benoit Marty
2a2187196f Merge pull request #2190 from vector-im/feature/utd_pagination
Feature/utd pagination
2020-09-30 18:19:00 +02:00
Benoit Marty
881ebff015 Changelog and small improvement 2020-09-30 18:11:30 +02:00
ganfra
f0272fd283 UTD pagination: clean up and add developer settings to enable complete history 2020-09-30 17:56:50 +02:00
ganfra
0a0330a48c UTD : when reaching UTD and invite state event, stop back pagination 2020-09-30 17:54:16 +02:00
Benoit Marty
c09d308df8 Merge pull request #2176 from vector-im/feature/fix_dm_wordings
Wording differentiation for DM "chat" instead of "room"
2020-09-30 17:50:58 +02:00
Benoit Marty
482bb51640 More cleanup 2020-09-30 17:50:36 +02:00
Benoit Marty
ee56307ccc No warning when cancelling the Reset of 4s 2020-09-30 16:47:34 +02:00
Benoit Marty
18950a6b46 Some cleanup 2020-09-30 16:36:17 +02:00
Valere
a4e163885d Better rotation support 2020-09-30 16:17:28 +02:00
Benoit Marty
108a31eca3 Avoid long lines 2020-09-30 15:31:33 +02:00
Benoit Marty
7f26dbe260 Fix compil issue 2020-09-30 15:23:27 +02:00
Dmytro Kyrychuk
b6bbe19316 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (3 of 3 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.riot.im/projects/element-android/element-store/uk/
2020-09-30 13:05:04 +00:00
Dmytro Kyrychuk
d744dea46e Translated using Weblate (Ukrainian)
Currently translated at 41.4% (775 of 1874 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/uk/
2020-09-30 13:05:04 +00:00
Benoit Marty
29f8c18b09 Translated using Weblate (Kabyle)
Currently translated at 100.0% (168 of 168 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.riot.im/projects/element-android/element-sdk/kab/
2020-09-30 13:05:02 +00:00
Dmytro Kyrychuk
6f29d38047 Translated using Weblate (Greek)
Currently translated at 15.1% (283 of 1874 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/el/
2020-09-30 13:05:02 +00:00
Benoit Marty
5e2f65ab7a Split long lines 2020-09-30 12:46:28 +02:00
Benoit Marty
c5459cdde4 Use RoomSummaryHolder if available 2020-09-30 12:39:36 +02:00
Benoit Marty
f58829130a More cleanup 2020-09-30 12:30:21 +02:00
Benoit Marty
42a3a64b0d Better way to get direct state of the room (using view state) 2020-09-30 12:26:25 +02:00
Benoit Marty
1986de36a6 Better wording for DM creation (note: this event is hidden in the timeline by default) 2020-09-30 12:12:44 +02:00
Benoit Marty
84202adc5b Add braces to multiline if else 2020-09-30 11:54:23 +02:00
Benoit Marty
07446d2d41 Embedded if 2020-09-30 11:50:07 +02:00
Benoit Marty
14162ecaa0 Add missing case 2020-09-30 11:47:37 +02:00
Benoit Marty
2f054cd438 Fix mistake 2020-09-30 11:45:21 +02:00
Benoit Marty
b5311aa3df Simple code 2020-09-30 11:42:07 +02:00
Valere
3642ca5b4a cleaning 2020-09-30 11:05:06 +02:00
Valere
2908a5d345 Added first ui bootstrap test 2020-09-30 10:13:59 +02:00
Benoit Marty
d225fb7df0 Update Changelog 2020-09-30 10:08:26 +02:00
Onuray Sahin
5d18a7cc82 Lint fixes. 2020-09-30 10:07:20 +02:00
Onuray Sahin
07976988d9 Use RoomSummary to check if the room is direct. 2020-09-30 10:07:20 +02:00
Onuray Sahin
2a96b2c68e Differentiate wordings for the room profile screen. 2020-09-30 10:07:20 +02:00
Onuray Sahin
3a9e6fa97f Changelog added. 2020-09-30 10:07:20 +02:00
Onuray Sahin
24fcb3f58f Differentiate wordings for direct rooms. 2020-09-30 10:07:20 +02:00
Benoit Marty
5beaa93437 Merge pull request #2162 from gradle-update/develop
Add workflow for Update Gradle Wrapper Action.
2020-09-30 09:49:00 +02:00
Benoit Marty
415fb3a432 Merge pull request #2186 from vector-im/feature/bma_intent
Finish what has been started on #1376: use Intent.ACTION_GET_CONTENT …
2020-09-30 09:48:10 +02:00
Valere
1e3bdd6a2e Fix test 2020-09-29 18:00:15 +02:00
Cristian Greco
68907ff6c0 Merge remote-tracking branch 'upstream/develop' into develop 2020-09-29 17:40:55 +02:00
Valere
9f26d015ba Update change log
Fixes #2052
2020-09-29 17:07:56 +02:00
Valere
c20517599e Add option to reset 4S if lost pass/key 2020-09-29 17:05:29 +02:00
Benoit Marty
0bb75eed1f Finish what has been started on #1376: use Intent.ACTION_GET_CONTENT instead of Intent.ACTION_OPEN_DOCUMENT for other pickers 2020-09-29 16:41:55 +02:00
Benoit Marty
2b90f1395f Merge pull request #1376 from dkanada/patch-1
Fix gallery intent for certain apps
2020-09-29 16:29:21 +02:00
Benoit Marty
51f225056c Merge branch 'develop' into patch-1 2020-09-29 16:28:58 +02:00
Benoit Marty
7a494db40b Merge pull request #2167 from vector-im/feature/ui_test
Feature/ui test
2020-09-29 16:13:54 +02:00
Benoit Marty
487bbe42a9 Merge branch 'develop' into feature/ui_test 2020-09-29 16:13:44 +02:00
Benoit Marty
ab74f6c1a8 Merge pull request #2165 from vector-im/feature/timeline_scroll_opti
Feature/timeline scroll opti
2020-09-29 16:11:57 +02:00
Benoit Marty
2def7f3910 PR Review 2020-09-29 16:10:54 +02:00
ganfra
11a4704161 Clean files and update CHANGES 2020-09-29 15:42:48 +02:00
ganfra
8bc0afa75e Timeline: add glide preloading 2020-09-29 15:42:21 +02:00
ganfra
3f5b1083f3 Timeline: add a prefetch backward item 2020-09-29 15:42:21 +02:00
Benoit Marty
435724ffa9 Merge pull request #2182 from vector-im/feature/bma_hs_diag
Create a script to help getting public information form any homeserver
2020-09-29 15:39:15 +02:00
Benoit Marty
b14d22550b PR Review
Cleanup and Add command line to run the UI tests
2020-09-29 15:12:25 +02:00
Valere
f79784bc8c Stabilisation
Hide keyboard before entering text
2020-09-29 12:51:27 +02:00
Valere
6ac401db9b Doc + change log 2020-09-29 12:51:27 +02:00
Valere
bc2c345e21 First automated UI tests 2020-09-29 12:51:27 +02:00
Benoit Marty
577f0e0d9a Create a script to help getting public information form any homeserver 2020-09-29 11:38:19 +02:00
Benoit Marty
a3570a69dd Merge pull request #2181 from vector-im/feature/bma_pin_fix
PIN code: request PIN code if phone has been locked
2020-09-29 10:03:02 +02:00
John
6a67c0fd0d Translated using Weblate (Greek)
Currently translated at 15.0% (282 of 1874 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/el/
2020-09-28 21:05:03 +00:00
OLIVIER Thomas
7bf510880f Translated using Weblate (French)
Currently translated at 92.0% (1725 of 1874 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/fr/
2020-09-28 21:05:02 +00:00
Benoit Marty
77f06b962d PIN code: request PIN code if phone has been locked 2020-09-28 16:57:36 +02:00
Benoit Marty
d0ec5a13f3 Merge pull request #2166 from vector-im/feature/bma_splash_quick_fix
Fix Splash screen layout, especially on small screens
2020-09-28 13:52:03 +02:00
Nikita Epifanov
d6d9ece045 Translated using Weblate (Russian)
Currently translated at 100.0% (1874 of 1874 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/ru/
2020-09-27 09:05:00 +00:00
zeritti
c14bf80b40 Translated using Weblate (Czech)
Currently translated at 100.0% (168 of 168 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.riot.im/projects/element-android/element-sdk/cs/
2020-09-27 09:05:00 +00:00
zeritti
667ea844f2 Translated using Weblate (Czech)
Currently translated at 100.0% (1874 of 1874 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/cs/
2020-09-27 09:04:58 +00:00
linsui
ae84a0bbe9 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (1874 of 1874 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/zh_Hans/
2020-09-27 09:04:58 +00:00
Markus
67eff0583c Fix for vector-im#2100: Using Ringtone and RingtoneManager classes to control ringtones for incoming calls.
Using systemwide setting for ringtone and volume.
2020-09-27 08:57:32 +02:00
Benoit Marty
1ed0ef0948 Disable animation on title 2020-09-26 12:02:22 +02:00
Benoit Marty
21f1848499 Fix Splash screen layout, especially on small screens 2020-09-26 11:30:13 +02:00
Benoit Marty
6958d114a9 Version++ 2020-09-25 14:09:25 +02:00
Benoit Marty
34760a00be Merge branch 'release/1.0.8' 2020-09-25 14:08:25 +02:00
Benoit Marty
1bc42959d0 Merge branch 'release/1.0.8' into develop 2020-09-25 14:08:24 +02:00
Benoit Marty
22cfb64348 Prepare release 1.0.8 2020-09-25 14:08:15 +02:00
Benoit Marty
056405939b Merge pull request #2170 from vector-im/feature/bma_fix_wellknown_redirect
Fix crash when wellknown are malformed
2020-09-25 13:56:41 +02:00
Benoit Marty
2dcaabe4c4 Fix crash when wellknown are malformed, or redirect to some HTML content (reported by rageshakes) 2020-09-25 11:25:27 +02:00
Benoit Marty
bbd86661a4 Merge pull request #2159 from vector-im/feature/bma_pin_settings
Feature/bma pin settings
2020-09-24 17:16:05 +02:00
Benoit Marty
d684c11c65 Iterate on wording 2020-09-24 15:14:08 +02:00
Benoit Marty
a2fb6d5664 Split long line 2020-09-24 12:47:58 +02:00
Benoit Marty
31029e90cc Fix test compilation issue (no detected since Olm was not available) 2020-09-24 12:46:14 +02:00
Benoit Marty
2e95c78f4e Iterate on wording 2020-09-24 12:40:37 +02:00
Cristian Greco
62f620f79b Add workflow for Update Gradle Wrapper Action.
This action keeps Gradle Wrapper up-to-date to the latest release. It
will run every day at midnight (UTC) and create a pull request if a new
Gradle version is available. The updated Wrapper script is validated
(with checksum verification) during the update process, and the Wrapper
is setup so that it will validate the Gradle binary itself on first run
of the new version.

Signed-off-by: Cristian Greco <cristian@regolo.cc>
2020-09-24 11:19:28 +02:00
Benoit Marty
f271968238 Upgrade library PFLockScreen-Android 2020-09-24 08:20:17 +02:00
Nikita Epifanov
c2a938a17c Translated using Weblate (Russian)
Currently translated at 100.0% (1874 of 1874 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/ru/
2020-09-24 01:04:56 +00:00
Lua
e02b0aad6f Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (3 of 3 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.riot.im/projects/element-android/element-store/pt_BR/
2020-09-24 01:04:56 +00:00
Marcelo Filho
32e8caab03 Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.6% (1866 of 1874 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/pt_BR/
2020-09-24 01:04:56 +00:00
call_xz
be2c629590 Translated using Weblate (Japanese)
Currently translated at 49.2% (922 of 1874 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/ja/
2020-09-24 01:04:55 +00:00
random
63718ab4f2 Translated using Weblate (Italian)
Currently translated at 100.0% (1874 of 1874 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/it/
2020-09-24 01:04:55 +00:00
@a2sc:matrix.org
5b7bfe5302 Translated using Weblate (German)
Currently translated at 100.0% (1874 of 1874 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/de/
2020-09-24 01:04:54 +00:00
Priit Jõerüüt
8aae5b2599 Translated using Weblate (Estonian)
Currently translated at 100.0% (1874 of 1874 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/et/
2020-09-24 01:04:54 +00:00
Jeff Huang
ebc1725f5b Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (1874 of 1874 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/zh_Hant/
2020-09-24 01:04:53 +00:00
Benoit Marty
27d3a36c1b Use same animation for all Fragment transaction 2020-09-23 22:12:02 +02:00
Benoit Marty
dfa0308db6 Pin code: user has to enter pin code twice (#2005) 2020-09-23 21:58:21 +02:00
Benoit Marty
299bcc2bc7 Kill the task if PinActivity is cancelled 2020-09-23 21:58:21 +02:00
Benoit Marty
03c66315cb Ganfra's review 2020-09-23 21:58:21 +02:00
Benoit Marty
9f154748ae Avoid using 1, prefer %d (for translation) 2020-09-23 21:58:21 +02:00
Benoit Marty
5eb66c4617 Small fix and avoid using 1, prefer %d (for translation) 2020-09-23 21:58:21 +02:00
Benoit Marty
44b2673848 PIN: Add a setting to hide notification content when PIN code is configured 2020-09-23 21:58:21 +02:00
Benoit Marty
a6cf2b0685 First test if resultCode == Activity.RESULT_OK 2020-09-23 21:57:58 +02:00
Benoit Marty
b8c350488b Avoid code duplication and let the Activity manage the Fragments 2020-09-23 21:57:58 +02:00
Benoit Marty
fb74628aa8 Protect access to pin code setting, and so remove protection to disable the pin code 2020-09-23 21:57:58 +02:00
Benoit Marty
fdedfc954c PIN Code Improvements. Add more settings (#1985)
- enable/disable biometrics
- enbale/disable grace period
2020-09-23 21:57:58 +02:00
Benoit Marty
b8cbafa75d PIN: move setting to a dedicated screen (no other change) 2020-09-23 21:57:36 +02:00
Benoit Marty
9ab053d702 Merge pull request #2145 from vector-im/feature/login_ui
Login ui
2020-09-23 17:00:28 +02:00
Benoit Marty
6e2c733319 Fix lint issue (MissingConstraints). Use a simple FrameLayout 2020-09-23 16:59:42 +02:00
Benoit Marty
ad2191a76e Fix scrolling issue.
Sign in and log in tested ok
2020-09-23 16:59:42 +02:00
Benoit Marty
ecc189aeac Restore logo on login screens
This reverts commit 4cc3e87d64.
2020-09-23 16:59:23 +02:00
Benoit Marty
34d2c3d391 Merge pull request #2152 from vector-im/feature/various_fixes
Redcude requested permission to access file on the phone
2020-09-23 16:57:20 +02:00
Benoit Marty
1699a57850 Merge branch 'develop' into feature/various_fixes 2020-09-23 16:56:13 +02:00
Benoit Marty
ea9b99b38b Merge pull request #2146 from vector-im/feature/outdated_warning
Allow using an outdated homeserver, at user's risk (#1972)
2020-09-23 16:25:23 +02:00
Benoit Marty
8edecf5937 Allow using an outdated homeserver, at user's risk (#1972)
Just warn the user using a non blocking popup
2020-09-23 16:25:01 +02:00
Benoit Marty
cede7b1dc1 Merge pull request #2155 from vector-im/feature/bma_show_timestamp
Add a setting to show timestamp for all messages (#2123)
2020-09-23 16:21:44 +02:00
Benoit Marty
1464f5aa02 Merge branch 'develop' into feature/bma_show_timestamp 2020-09-23 16:21:36 +02:00
Benoit Marty
5ab7ec0bc8 Merge pull request #2154 from vector-im/feature/bma_user_color_cache
Use cache for user color
2020-09-23 16:20:37 +02:00
Benoit Marty
7f85331448 Add a setting to show timestamp for all messages (#2123) 2020-09-22 18:40:37 +02:00
Benoit Marty
7c063972ac Use cache for user color 2020-09-22 17:05:25 +02:00
Benoit Marty
bd72c0ca8d Merge pull request #2153 from vector-im/feature/wl
Feature/wl
2020-09-22 16:04:08 +02:00
Benoit Marty
91fe308113 Import SAS strings 2020-09-22 15:39:56 +02:00
Benoit Marty
78a76a8038 Remove from string resource 2020-09-22 15:38:37 +02:00
Benoit Marty
759974d9a8 Format resource 2020-09-22 15:33:58 +02:00
Benoit Marty
00a3e802fc Merge pull request #2151 from RiotTranslateBot/weblate-element-android-element-app
Update from Weblate
2020-09-22 15:29:43 +02:00
Benoit Marty
160c1b49a1 It work on on Android 10, to check on Android 5 2020-09-22 14:58:47 +02:00
Benoit Marty
5b1737ae46 It work on on Android 10, to check on Android 5 2020-09-22 14:58:47 +02:00
Benoit Marty
fee7701d26 Better management of requested permissions (#2048) 2020-09-22 14:58:47 +02:00
Benoit Marty
1e5122f741 Rename ids 2020-09-22 14:58:25 +02:00
Weblate
d6ba653c21 Merge branch 'origin/develop' into Weblate. 2020-09-22 12:55:48 +00:00
LinAGKar
51b1d1fa87 Translated using Weblate (Swedish)
Currently translated at 100.0% (1872 of 1872 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/sv/
2020-09-22 12:55:38 +00:00
Marcelo Filho
4249d9d906 Translated using Weblate (Portuguese (Brazil))
Currently translated at 98.7% (1848 of 1872 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/pt_BR/
2020-09-22 12:55:38 +00:00
Kahina Messaoudi
a7e33e9c0a Translated using Weblate (Kabyle)
Currently translated at 99.8% (1868 of 1872 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/kab/
2020-09-22 12:55:38 +00:00
@a2sc:matrix.org
7a2e70ee2d Translated using Weblate (German)
Currently translated at 99.9% (1870 of 1872 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/de/
2020-09-22 12:55:37 +00:00
Priit Jõerüüt
416c153d2e Translated using Weblate (Estonian)
Currently translated at 100.0% (1872 of 1872 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/et/
2020-09-22 12:55:37 +00:00
Benoit Marty
23d911cc2c Merge pull request #2135 from vector-im/feature/safe_workers
Create parent class for all MatrixWorker
2020-09-22 14:35:15 +02:00
Benoit Marty
d868ef0168 Create parent class for all MatrixWorker 2020-09-22 12:06:01 +02:00
Benoit Marty
48b10e6d08 Merge pull request #2139 from enzingerm/callbuttons
Visually disable call buttons/prohibit calling on insufficient permissions
2020-09-21 21:24:36 +02:00
Benoit Marty
4d9bd57336 Fix compilation issue after merge 2020-09-21 21:20:06 +02:00
Benoit Marty
30ab6d5ee7 Merge pull request #2147 from vector-im/feature/quick_fix
Safe call to awaitCallback
2020-09-21 21:18:36 +02:00
Benoit Marty
622faf5471 Merge pull request #2144 from vector-im/feature/fix_filtering_redacted
Feature/fix filtering redacted
2020-09-21 21:17:00 +02:00
ganfra
4d558c5f95 Merge branch 'develop' into feature/fix_filtering_redacted 2020-09-21 20:25:49 +02:00
ganfra
a29ca2ae09 Clean after Benoit's review 2020-09-21 20:25:16 +02:00
Marinus Enzinger
84df86df37 Visually disable call buttons/prohibit calling on insufficient permissions
Signed-off-by: Marinus Enzinger <marinus@enzingerm.de>
2020-09-21 20:20:06 +02:00
Benoit Marty
22e03b14d1 Merge pull request #2138 from enzingerm/widget_permission
Fix widget creation permission check on group calls
2020-09-21 18:32:02 +02:00
Benoit Marty
d1fed08764 Rename tryThis to tryOrNull 2020-09-21 18:26:35 +02:00
Benoit Marty
bca24c0198 Safe call to awaitCallback 2020-09-21 17:51:35 +02:00
Marinus Enzinger
822c47d15f Fix widget creation permission check
Signed-off-by: Marinus Enzinger <marinus@enzingerm.de>
2020-09-21 17:35:44 +02:00
ganfra
03b3b82e0a Update CHANGES 2020-09-21 15:00:53 +02:00
ganfra
8279191339 Fix filtering of redacted events 2020-09-21 14:57:58 +02:00
Benoit Marty
6486b9e5cd Merge pull request #2129 from vector-im/feature/fix_sending_too_long
Feature/fix sending too long
2020-09-21 12:09:13 +02:00
ganfra
4d7b0e3e68 Merge branch 'develop' into feature/fix_sending_too_long 2020-09-21 10:17:52 +02:00
Benoit Marty
66b0e6c68f Merge pull request #2134 from vector-im/feature/fix_regression_verif_dm
Fix / Verification in DM not working
2020-09-21 09:53:26 +02:00
Benoit Marty
69a4312613 Merge branch 'develop' into feature/fix_regression_verif_dm 2020-09-21 09:52:58 +02:00
Benoit Marty
293f867988 Merge pull request #2132 from vector-im/feature/delete_account_data
Add possibility to delete account data and fix bug
2020-09-21 09:52:10 +02:00
LinAGKar
8d2c0dcb48 Translated using Weblate (Swedish)
Currently translated at 100.0% (168 of 168 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.riot.im/projects/element-android/element-sdk/sv/
2020-09-21 05:43:08 +00:00
LinAGKar
bdaecc5b2e Translated using Weblate (Swedish)
Currently translated at 100.0% (1872 of 1872 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/sv/
2020-09-21 05:43:08 +00:00
notramo
fa9ff86ab2 Translated using Weblate (Hungarian)
Currently translated at 100.0% (3 of 3 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.riot.im/projects/element-android/element-store/hu/
2020-09-21 05:43:07 +00:00
Nikita Epifanov
f8e3e33e49 Translated using Weblate (Russian)
Currently translated at 100.0% (1872 of 1872 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/ru/
2020-09-18 16:43:06 +00:00
Priit Jõerüüt
73778f8669 Translated using Weblate (Estonian)
Currently translated at 100.0% (1872 of 1872 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/et/
2020-09-18 16:43:05 +00:00
zeritti
cd5a146f1a Translated using Weblate (Czech)
Currently translated at 100.0% (1872 of 1872 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/cs/
2020-09-18 16:43:05 +00:00
Jeff Huang
3c45b84474 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (1872 of 1872 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/zh_Hant/
2020-09-18 16:43:04 +00:00
ganfra
d4682e504c Clean after Benoit's review 2020-09-18 18:34:40 +02:00
ganfra
2717cca267 Room sending: fix again loss of number type 2020-09-18 18:33:49 +02:00
Valere
28d37f0106 Fix / Verification in DM not working
CheckNumberType crashing on timestamp number
2020-09-18 18:03:09 +02:00
Benoit Marty
30b51449ce Manual import of Megolm keys does back up the imported keys 2020-09-18 15:28:06 +02:00
Benoit Marty
4b66ffcd5b Add "show password" in import Megolm keys dialog 2020-09-18 15:00:36 +02:00
Benoit Marty
0e85a3d59f Add an advanced action to reset an account data entry (there is no API to completely delete it) 2020-09-18 12:49:14 +02:00
ganfra
72f8c8ef72 Clean and update CHANGES 2020-09-18 12:25:29 +02:00
ganfra
b227dc3e5c Sending: remove events from Worker params by fetching in db instead 2020-09-17 18:37:33 +02:00
ganfra
144d0e56cc Realm transaction, use semaphore as suggested by Dominaezzz 2020-09-17 18:31:47 +02:00
Benoit Marty
d29d1ead9b Update issue templates 2020-09-17 16:58:43 +02:00
Benoit Marty
216138394f Version++ 2020-09-17 09:32:35 +02:00
Benoit Marty
d0d4a19033 Merge branch 'release/1.0.7' 2020-09-17 09:31:36 +02:00
Benoit Marty
719189bd90 Merge branch 'release/1.0.7' into develop 2020-09-17 09:31:35 +02:00
Benoit Marty
01af5115a2 Prepare release 1.0.7 2020-09-17 09:31:09 +02:00
Benoit Marty
7761376306 Merge pull request #2120 from vector-im/feature/post_weblate
Feature/post weblate
2020-09-16 22:28:49 +02:00
Benoit Marty
43f34f6330 Fix issue on test compilation 2020-09-16 20:40:05 +02:00
Benoit Marty
a77069297d Remove R.string.copy, use R.string.action_copy (Fix clash with androidx.preferences private resource) 2020-09-16 19:51:43 +02:00
Benoit Marty
36899af36b Strings has been replaced by a plurals 2020-09-16 19:41:24 +02:00
Benoit Marty
bfa4e00fe7 Hyphen can be replaced with dash 2020-09-16 19:38:08 +02:00
Benoit Marty
4c6bb93eaf ellipsis 2020-09-16 19:36:26 +02:00
Benoit Marty
7e62e8e2cd Fix typo 2020-09-16 19:35:39 +02:00
Benoit Marty
762fd02eb7 Format strings.xml 2020-09-16 19:35:27 +02:00
Benoit Marty
825592e443 Merge pull request #2118 from RiotTranslateBot/weblate-element-android-element-app
Update from Weblate
2020-09-16 19:28:17 +02:00
Benoit Marty
4c6234796d Merge pull request #2111 from vector-im/feature/bma_raw_service
Raw service
2020-09-16 17:55:42 +02:00
Weblate
d6dd2a02b5 Merge branch 'origin/develop' into Weblate. 2020-09-16 15:55:23 +00:00
Benoit Marty
b97aed0723 Ganfra's review 2020-09-16 17:00:14 +02:00
Benoit Marty
1614707943 Ganfra's review 2020-09-16 16:58:27 +02:00
Benoit Marty
88b806326e Merge pull request #2117 from vector-im/feature/event_type_filtering
Feature/event type filtering
2020-09-16 16:28:45 +02:00
Benoit Marty
82bf0dcae9 Create a RawService SDK side, to avoid that the SDK manage client needs 2020-09-16 16:17:10 +02:00
ganfra
0ada12e646 Merge branch 'develop' into feature/event_type_filtering 2020-09-16 15:49:16 +02:00
ganfra
a7ae66e0de Clean files and update CHANGES 2020-09-16 15:48:09 +02:00
ganfra
a1f98eb6bf Allow to filter all room member state events in timeline 2020-09-16 15:36:48 +02:00
Benoit Marty
f882986f7d Remove unused member 2020-09-16 13:43:45 +02:00
linsui
9b8bcc4464 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (3 of 3 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.riot.im/projects/element-android/element-store/zh_Hans/
2020-09-16 03:43:01 +00:00
linsui
487a90fba5 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (1867 of 1867 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/zh_Hans/
2020-09-16 03:43:00 +00:00
ganfra
abb9a0839a Room summary : change displayable events types 2020-09-15 18:13:09 +02:00
Benoit Marty
7a01be9c0d Merge pull request #2109 from vector-im/feature/fragment_transaction
Feature/fragment transaction
2020-09-15 17:44:54 +02:00
Benoit Marty
23aaa58834 Merge pull request #2101 from vector-im/feature/clean_call
Feature/clean call
2020-09-15 17:43:49 +02:00
ganfra
0077091175 Update CHANGES and clean files 2020-09-15 12:56:37 +02:00
ganfra
624a8ff04c Fragment transaction: allow state loss when needed 2020-09-15 12:36:27 +02:00
Benoit Marty
94a7db26f5 Merge pull request #2104 from ginnyTheCat/develop
Only front camera is mirrored now
2020-09-15 12:33:00 +02:00
Benoit Marty
58edc83e11 Merge branch 'develop' into develop 2020-09-15 12:32:31 +02:00
Valere
653d6c6050 Merge pull request #2108 from vector-im/feature/fix_cannnot_play_video
output stream not closed
2020-09-15 10:33:56 +02:00
Valere
5e39d3c6fb output stream not closed 2020-09-15 10:03:49 +02:00
discapacidad5
ebde029cce Translated using Weblate (Spanish)
Currently translated at 100.0% (3 of 3 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.riot.im/projects/element-android/element-store/es/
2020-09-14 23:43:30 +00:00
discapacidad5
dd4391941e Translated using Weblate (Spanish)
Currently translated at 100.0% (168 of 168 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.riot.im/projects/element-android/element-sdk/es/
2020-09-14 23:43:30 +00:00
discapacidad5
6e1fc4d84e Translated using Weblate (Spanish)
Currently translated at 100.0% (1867 of 1867 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/es/
2020-09-14 23:43:29 +00:00
AnonymousWebHacker
86603ed1a6 Translated using Weblate (Spanish)
Currently translated at 100.0% (1867 of 1867 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/es/
2020-09-14 23:43:12 +00:00
ziriSut
a246993df3 Translated using Weblate (Kabyle)
Currently translated at 100.0% (1867 of 1867 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/kab/
2020-09-14 23:43:11 +00:00
random
2e88275766 Translated using Weblate (Italian)
Currently translated at 100.0% (1867 of 1867 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/it/
2020-09-14 23:43:09 +00:00
zeritti
eb2166dd4c Translated using Weblate (Czech)
Currently translated at 100.0% (1867 of 1867 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/cs/
2020-09-14 23:43:08 +00:00
Safa Alfulaij
b088c23ea2 Translated using Weblate (Arabic)
Currently translated at 66.1% (111 of 168 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.riot.im/projects/element-android/element-sdk/ar/
2020-09-14 23:42:59 +00:00
ginnyTheCat
95eb6926d4 Removed unnecessary semicolon 2020-09-14 21:48:26 +02:00
Constantin Wartenburger
b6454b70a6 Only front camera is mirrored now 2020-09-14 21:09:52 +02:00
ziriSut
a61b9ce1e1 Translated using Weblate (Kabyle)
Currently translated at 97.8% (1826 of 1867 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/kab/
2020-09-12 22:39:55 +00:00
Slimane Selyan AMIRI
a265ff3fbe Translated using Weblate (Kabyle)
Currently translated at 97.8% (1826 of 1867 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/kab/
2020-09-12 22:39:53 +00:00
Slimane Selyan AMIRI
fc993cb724 Translated using Weblate (Kabyle)
Currently translated at 97.0% (1811 of 1867 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/kab/
2020-09-12 13:55:32 +00:00
ziriSut
808eb9a12a Translated using Weblate (Kabyle)
Currently translated at 97.0% (1811 of 1867 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/kab/
2020-09-12 13:55:32 +00:00
Kahina Messaoudi
d429800162 Translated using Weblate (Kabyle)
Currently translated at 97.0% (1811 of 1867 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/kab/
2020-09-12 11:25:20 +00:00
Kahina Messaoudi
709e9daf40 Translated using Weblate (Kabyle)
Currently translated at 97.0% (1811 of 1867 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/kab/
2020-09-12 10:50:18 +00:00
ziriSut
82a1b8b4c0 Translated using Weblate (Kabyle)
Currently translated at 97.0% (1811 of 1867 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/kab/
2020-09-12 10:50:17 +00:00
ziriSut
fbe6a2ac80 Translated using Weblate (Kabyle)
Currently translated at 62.5% (1167 of 1867 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/kab/
2020-09-11 23:50:43 +00:00
Kahina Messaoudi
89af162c5a Translated using Weblate (Kabyle)
Currently translated at 62.5% (1167 of 1867 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/kab/
2020-09-11 23:50:42 +00:00
Benoit Marty
1e0bc51fa2 Remove singletin instance from callback param 2020-09-11 17:09:30 +02:00
Benoit Marty
21a42e310f Show branch name in debug build 2020-09-11 16:49:11 +02:00
Benoit Marty
ba163dbf5c Split into 4 files 2020-09-11 16:27:11 +02:00
Benoit Marty
236f7f8e28 Private and typo 2020-09-11 16:25:30 +02:00
Benoit Marty
ab2a55d417 Rename member for code clarity (we also have an AudioManager) 2020-09-11 16:24:30 +02:00
Benoit Marty
2c96a79a08 Merge pull request #2090 from vector-im/feature/fix_silent_call_ringing
Always use loudspeaker while ringing and a headset is not connected
2020-09-11 16:18:02 +02:00
Benoit Marty
61b91f4015 Merge pull request #2080 from vector-im/feature/polling_work
Feature/polling work
2020-09-11 15:39:49 +02:00
yuuki-san
c274f9b23c Translated using Weblate (Slovak)
Currently translated at 100.0% (3 of 3 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.riot.im/projects/element-android/element-store/sk/
2020-09-11 11:43:03 +00:00
yuuki-san
2148411307 Translated using Weblate (Slovak)
Currently translated at 97.6% (164 of 168 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.riot.im/projects/element-android/element-sdk/sk/
2020-09-11 11:43:03 +00:00
Kahina Messaoudi
0c34521791 Translated using Weblate (Kabyle)
Currently translated at 56.3% (1052 of 1867 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/kab/
2020-09-11 11:43:02 +00:00
Slimane Selyan AMIRI
ad969b999d Translated using Weblate (Kabyle)
Currently translated at 56.3% (1052 of 1867 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/kab/
2020-09-11 11:43:02 +00:00
@a2sc:matrix.org
3bb2034254 Translated using Weblate (German)
Currently translated at 100.0% (1867 of 1867 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/de/
2020-09-11 11:42:53 +00:00
Onuray Sahin
ef16485eac Always use loudspeaker while ringing and a headset is not connected. 2020-09-11 13:30:00 +03:00
Benoit Marty
8abff412d0 Create constant for default value and so fix a bug when setting bad value for delay. 2020-09-11 11:56:25 +02:00
Benoit Marty
b26d379d20 Refresh push pref after diagnostic 2020-09-11 11:49:14 +02:00
Benoit Marty
2ed7be243b Restore TestBatteryOptimization 2020-09-11 11:31:37 +02:00
Benoit Marty
7efc58cb42 Avoid duplication of code and fix issue on OnApplicationUpgradeOrRebootReceiver: background starts even if notification are disabled 2020-09-11 11:13:30 +02:00
Benoit Marty
da09df0e42 format 2020-09-11 10:49:54 +02:00
Benoit Marty
e997610ef2 Add documentation from PR description 2020-09-11 10:47:21 +02:00
Benoit Marty
c2be97741e Restore listener after device rotation 2020-09-11 10:12:56 +02:00
Benoit Marty
db977b8109 Simplify Dialog UI and code 2020-09-11 09:43:10 +02:00
Benoit Marty
6f1875c13a Merge pull request #2089 from vector-im/feature/dendrite_test
Show M_WEAK_PASSWORD error in the password field
2020-09-10 18:10:45 +02:00
Benoit Marty
4dc28a9d62 Reorder settings 2020-09-10 18:08:35 +02:00
Benoit Marty
23f13b092f Plurals 2020-09-10 18:00:06 +02:00
Benoit Marty
f4c4e84ffe Fix false positive from code quality analysis 2020-09-10 17:13:11 +02:00
Valere
8ac3af327b Update change log 2020-09-10 17:11:13 +02:00
Valere
3ff475af7a Avoid scheduling alarm until network is back 2020-09-10 17:10:47 +02:00
Valere
43c24e55ab Restart fdroid sync on application boot 2020-09-10 17:10:47 +02:00
Valere
971b425e17 F-Droid background sync modes 2020-09-10 17:10:47 +02:00
Benoit Marty
b9e8d7187c Merge pull request #2075 from vector-im/feature/strict_mode_tracking
Feature/strict mode tracking
2020-09-10 13:46:44 +02:00
Onuray Sahin
926ff80525 Merge pull request #2086 from vector-im/feature/fix_event_read_elsewhere
Clear the notification when the event is read elsewhere
2020-09-10 13:24:57 +03:00
Onuray Sahin
0cba8f3aa1 Start background sync even if the eventId or roomId is null. 2020-09-10 12:08:05 +03:00
Benoit Marty
11fb2bcdfa ktlint... 2020-09-09 13:34:57 +02:00
Benoit Marty
94e43475e2 Merge pull request #2040 from vector-im/feature/date_formatting
Feature/date formatting
2020-09-09 12:16:18 +02:00
Benoit Marty
01a4905dc8 Changelog 2020-09-09 12:15:27 +02:00
Benoit Marty
8cb7260375 Small changes (PR review) 2020-09-09 12:10:46 +02:00
ganfra
dc04d2848d Default pref: make sure to use app context 2020-09-09 11:52:05 +02:00
ganfra
c2880a5832 Strict mode: add a build entry to enable whenever we want to check 2020-09-09 11:52:05 +02:00
ganfra
979c0832cf Use realmSessionProvider in localEchoRepository 2020-09-09 11:52:05 +02:00
ganfra
fa381cc06d Use a singleton for default shared pref 2020-09-09 11:45:47 +02:00
ganfra
f1d902b9ad Enable strict mode and remove some stuff from the main thread 2020-09-09 11:45:47 +02:00
Benoit Marty
b97d922808 ktlint 2020-09-09 11:33:22 +02:00
ganfra
18dcd6b9b1 Date format: add more comments and fix wrong format kind usage 2020-09-09 11:32:56 +02:00
ganfra
c6178e504f Clean files and update CHANGES 2020-09-09 11:32:56 +02:00
ganfra
0ff28c4f50 Date formatting: try to generalise usage of VectorDateFormatter and get proper formatting for Date + Time 2020-09-09 11:32:16 +02:00
ganfra
73ab32fd92 Start reworking date formatting 2020-09-09 11:32:16 +02:00
LinAGKar
925d4d077f Translated using Weblate (Swedish)
Currently translated at 100.0% (3 of 3 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.riot.im/projects/element-android/element-store/sv/
2020-09-09 07:42:55 +00:00
LinAGKar
4581efa4c3 Translated using Weblate (Swedish)
Currently translated at 100.0% (1867 of 1867 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/sv/
2020-09-09 07:42:55 +00:00
Nikita Epifanov
09ccf7cdde Translated using Weblate (Russian)
Currently translated at 100.0% (3 of 3 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.riot.im/projects/element-android/element-store/ru/
2020-09-09 07:42:54 +00:00
Nikita Epifanov
d1fedcac7c Translated using Weblate (Russian)
Currently translated at 100.0% (1867 of 1867 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/ru/
2020-09-09 07:42:54 +00:00
@a2sc:matrix.org
a7ee451705 Translated using Weblate (German)
Currently translated at 100.0% (3 of 3 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.riot.im/projects/element-android/element-store/de/
2020-09-09 07:42:53 +00:00
@a2sc:matrix.org
11fc0fed75 Translated using Weblate (German)
Currently translated at 100.0% (1867 of 1867 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/de/
2020-09-09 07:42:53 +00:00
Priit Jõerüüt
f932100388 Translated using Weblate (Estonian)
Currently translated at 100.0% (1867 of 1867 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/et/
2020-09-09 07:42:52 +00:00
Jeff Huang
f0b582fef0 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (1867 of 1867 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/zh_Hant/
2020-09-09 07:42:51 +00:00
Benoit Marty
bf0b6d738a Version++ 2020-09-08 17:49:26 +02:00
Benoit Marty
0da106ba36 Merge branch 'release/1.0.6' 2020-09-08 17:47:17 +02:00
Benoit Marty
83a06b9657 Merge branch 'release/1.0.6' into develop 2020-09-08 17:47:15 +02:00
Benoit Marty
9b5bd3e226 Prepare release 1.0.6 2020-09-08 17:47:03 +02:00
Benoit Marty
135fcab558 Merge pull request #2074 from vector-im/feature/cleanup
Cleanup and documentation after #2047
2020-09-08 17:39:02 +02:00
Benoit Marty
f990600aea Cleanup and documentation after #2047 2020-09-08 12:40:21 +02:00
Benoit Marty
22cd6ae239 Merge pull request #2047 from vector-im/feature/universal_link_navigation
Handle room, user, group, email verification links by converting them to permalinks.
2020-09-08 12:21:54 +02:00
Benoit Marty
00b53ee577 Merge pull request #2053 from vector-im/feature/fix_poll_reply
Feature/fix poll reply
2020-09-08 12:19:32 +02:00
Benoit Marty
f65e96e7b4 Merge pull request #2069 from etherealvisage/develop
Support data-mx-[bg-]color attribute on <font> tags in formatted messages.
2020-09-08 10:09:25 +02:00
Benoit Marty
f98844db02 Privacy 2020-09-08 10:04:27 +02:00
Benoit Marty
c59665e017 typo 2020-09-08 09:52:51 +02:00
Valere
7fe4148384 update change log 2020-09-08 09:51:55 +02:00
Valere
a544ae264b Avoid showing debug notice format for event preview 2020-09-08 09:51:35 +02:00
Valere
c895f87e26 Prevent reply to poll local echo (relation to echo not supported yet) 2020-09-08 09:51:35 +02:00
Onuray Sahin
e65558958d Code review refactoring. 2020-09-08 10:45:00 +03:00
Valere
eb5088c699 Fix / sending poll event appears forever 2020-09-08 09:32:37 +02:00
Benoit Marty
3755d866b1 Merge pull request #2067 from vector-im/feature/contact_crash
Android 6: App crash when read Contact permission is granted (#2064)
2020-09-08 08:46:27 +02:00
ethereal
8291dfc188 Support data-mx-color attribute in <font> tags as well. 2020-09-07 14:52:30 -04:00
Onuray Sahin
c41c91b0e7 Update changelog. 2020-09-07 20:53:11 +03:00
Onuray Sahin
3367ed6765 Fix support of riot.im/develop urls. 2020-09-07 20:02:06 +03:00
Benoit Marty
4654e39417 Update after Ganfra's review 2020-09-07 17:14:09 +02:00
Onuray Sahin
6dd4d4d906 Merge branch 'develop' into feature/universal_link_navigation 2020-09-07 17:48:52 +03:00
Onuray Sahin
cf3fecd425 Changelog added.
Fixes #1795
2020-09-07 17:48:12 +03:00
Benoit Marty
be9a91e3fe Android 6: App crash when read Contact permission is granted (#2064) 2020-09-07 16:33:12 +02:00
Onuray Sahin
fc51097ed8 develop and staging subdomains are added. 2020-09-07 17:17:58 +03:00
Benoit Marty
751c870a4a Merge pull request #2049 from vector-im/feature/image_compression
Image compression
2020-09-07 15:21:26 +02:00
Benoit Marty
de8e325193 Merge branch 'develop' into feature/image_compression 2020-09-07 15:21:15 +02:00
Benoit Marty
e2feac3dde Merge pull request #2056 from vector-im/feature/small_doc_change
Feature/small doc change
2020-09-07 15:19:55 +02:00
Benoit Marty
d7b0b2f785 Merge pull request #2072 from vector-im/feature/weblate_fixes
Weblate fixes and other stuff done during locked Weblate
2020-09-07 15:00:04 +02:00
Benoit Marty
326c863148 Emoji SAS: Step 4: changelog (#1909) 2020-09-07 14:30:21 +02:00
Benoit Marty
c42920d9aa Emoji SAS: Step 3: Make the code compile (#1909) 2020-09-07 14:28:43 +02:00
Benoit Marty
fb5c1bb163 Emoji SAS: Step 2: Run import_sas_strings.py (#1909) 2020-09-07 14:21:10 +02:00
Benoit Marty
4f695a6d8f Emoji SAS: Step 1: Remove legacy strings (#1909) 2020-09-07 14:19:55 +02:00
Benoit Marty
bc389d371d Move string def to app module instead of SDK (#1994) 2020-09-07 13:38:12 +02:00
Benoit Marty
3756c3a191 Fix lint issues 2020-09-07 13:32:32 +02:00
Benoit Marty
9e3caf603d Lint: "..." -> 2020-09-07 13:25:11 +02:00
Benoit Marty
74e2ffc4c4 Format string files 2020-09-07 13:24:33 +02:00
Benoit Marty
6e019dbd44 Merge pull request #2071 from RiotTranslateBot/weblate-element-android-element-app
Update from Weblate
2020-09-07 13:13:13 +02:00
Onuray Sahin
4d7cd7319b Handle new mobile config url. 2020-09-07 12:19:34 +03:00
Weblate
edf7761d49 Merge branch 'origin/develop' into Weblate. 2020-09-07 08:57:45 +00:00
LinAGKar
a590bc96cd Translated using Weblate (Swedish)
Currently translated at 100.0% (235 of 235 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.riot.im/projects/element-android/element-sdk/sv/
2020-09-07 08:57:34 +00:00
Benoit Marty
6c6bba68ff Merge pull request #2062 from vector-im/feature/fix_no_verif
Feature/fix no verif
2020-09-07 10:49:38 +02:00
ethereal
5fbcf348f5 Support data-mx-bg-color attribute on <font> tags in formatted messages.
Signed-off-by: Kestrel Williams-King <ethereal@ethv.net>
2020-09-07 01:13:32 -04:00
LinAGKar
58f5baa5f6 Added translation using Weblate (Swedish) 2020-09-06 06:49:13 +00:00
PPNplus
398dcb1036 Translated using Weblate (Thai)
Currently translated at 66.7% (2 of 3 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.riot.im/projects/element-android/element-store/th/
2020-09-05 09:42:47 +00:00
PPNplus
30e7b761ae Translated using Weblate (Thai)
Currently translated at 4.7% (87 of 1849 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/th/
2020-09-05 09:42:47 +00:00
Eduardo F
4d105c278b Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (1849 of 1849 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/pt_BR/
2020-09-05 09:42:44 +00:00
Benoit Marty
f019e4a246 Merge pull request #1995 from notramo/patch-1
Mention thousands of public servers in Play Store
2020-09-04 21:35:10 +02:00
Benoit Marty
4499e34f44 Merge pull request #2030 from vector-im/feature/fix_call_proximity_sensor
Turn the screen off while using ear speaker
2020-09-04 21:25:59 +02:00
Benoit Marty
fd1bb84770 typo 2020-09-04 20:47:19 +02:00
Benoit Marty
ac4c111ad3 Refacto: let's matrixItem be part of the constructor 2020-09-04 20:42:35 +02:00
Benoit Marty
254eb26211 Verification popup won't show 2020-09-04 20:38:32 +02:00
Benoit Marty
f689871fc0 Code symmetry 2020-09-04 18:45:49 +02:00
Benoit Marty
8ead371603 Fix crash with WakeLock 2020-09-04 18:43:59 +02:00
Benoit Marty
8045d61e1f Code cleanup 2020-09-04 18:41:13 +02:00
Onuray Sahin
e790c35270 Use stringProvider. 2020-09-04 17:19:54 +02:00
Onuray Sahin
914ec895ee Use ContextCompat.getSystemService function. 2020-09-04 17:19:54 +02:00
Onuray Sahin
bd05484b2d Initialize fields in the constructor. 2020-09-04 17:19:54 +02:00
Onuray Sahin
7872838056 Changelog added. 2020-09-04 17:19:54 +02:00
Onuray Sahin
b89b3db077 Use proximity manager to turn the screen off while the ear speaker is used. 2020-09-04 17:19:18 +02:00
Onuray Sahin
8e3d83579b Remove attachBaseContext to fix the crash. 2020-09-04 17:19:18 +02:00
Onuray Sahin
96845d31db Proximity sensor implementation. 2020-09-04 17:19:18 +02:00
Benoit Marty
89fa2ece43 Fix compilation issue (I'm tired) 2020-09-04 15:46:16 +02:00
Benoit Marty
82e3adebbc Improve wording and fix typo 2020-09-04 14:23:56 +02:00
Benoit Marty
2490d4d638 Generic email-provider hots. 2020-09-04 14:18:47 +02:00
Benoit Marty
55f04906ac Correct markdown formatting 2020-09-04 14:17:15 +02:00
dkanada
3442ebc1c3 improve gallery intent for certain apps 2020-09-04 21:01:49 +09:00
Onuray Sahin
f186a00515 Support legacy riot.im url. 2020-09-04 14:20:03 +03:00
Benoit Marty
0bd7e40a22 Rework: split long method, extract thumbnail management 2020-09-04 12:33:10 +02:00
Benoit Marty
ad984b26fb Move variable declaration 2020-09-04 12:22:38 +02:00
Benoit Marty
3a659a9f3b Ensure temporary files are deleted even in case of Exception 2020-09-04 12:03:20 +02:00
Benoit Marty
0217e79324 Ensure input stream is closed 2020-09-04 11:08:44 +02:00
Benoit Marty
544bff9f4f For only with Files now 2020-09-04 11:07:06 +02:00
PPNplus
a4fdf1802b Translated using Weblate (Thai)
Currently translated at 1.5% (28 of 1849 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/th/
2020-09-04 08:43:08 +00:00
LinAGKar
2c4f7d38a2 Translated using Weblate (Swedish)
Currently translated at 100.0% (1849 of 1849 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/sv/
2020-09-04 08:43:07 +00:00
Peter Vágner
48a9e1ff9f Translated using Weblate (Slovak)
Currently translated at 70.0% (1294 of 1849 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/sk/
2020-09-04 08:43:06 +00:00
rkfg
c4b6d52657 Translated using Weblate (Russian)
Currently translated at 100.0% (1849 of 1849 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/ru/
2020-09-04 08:42:43 +00:00
call_xz
43b291d2d0 Translated using Weblate (Japanese)
Currently translated at 49.9% (923 of 1849 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/ja/
2020-09-04 08:42:43 +00:00
Benoit Marty
b31178683c typo 2020-09-04 09:37:49 +02:00
Benoit Marty
38631eb70e Format 2020-09-04 09:37:10 +02:00
Benoit Marty
6246fd98c3 Cleanup 2020-09-04 09:36:18 +02:00
Benoit Marty
71aa315f2a Cleanup 2020-09-04 09:36:18 +02:00
Benoit Marty
af6a94d08e Support for image compression on Android 10 2020-09-04 09:36:18 +02:00
Valere
f6c7f3eed1 Merge pull request #1889 from vector-im/feature/enhance_big_files
Feature/enhance big files
2020-09-03 17:09:55 +02:00
Valere
e0c5377968 Merge branch 'develop' into feature/enhance_big_files 2020-09-03 17:09:40 +02:00
Benoit Marty
8aada10f0d Show M_WEAK_PASSWORD error in the password field 2020-09-03 15:21:21 +02:00
Valere
0c39495e3f FIx / unneeded code 2020-09-03 15:03:07 +02:00
Valere
7c638798c7 Code review 2020-09-03 14:53:13 +02:00
Benoit Marty
05ec5bde93 Merge pull request #2020 from vector-im/feature/add_email
Add email and phone numbers
2020-09-03 14:33:09 +02:00
Benoit Marty
d2d372d140 Merge pull request #2043 from vector-im/feature/cleanup_after_2002
Cleanup after #2002
2020-09-03 11:15:45 +02:00
Benoit Marty
e9b3ab91a0 Merge pull request #1902 from vector-im/feature/verify_one_session
Feature/verify one session
2020-09-03 11:11:22 +02:00
Benoit Marty
633b12f66d Propose to verify the current session if the 4S contains secret, even if there is no other sessions 2020-09-03 10:00:01 +02:00
Benoit Marty
2efe5a420c Do not propose to verify the current session if there is only one session (#1901) 2020-09-03 09:54:03 +02:00
Benoit Marty
96c7f57ea0 Remove useless member 2020-09-03 09:52:57 +02:00
Benoit Marty
6af879fe2a Rename class 2020-09-03 09:52:14 +02:00
Benoit Marty
b935a6557f Move state to a dedicated file 2020-09-03 09:46:17 +02:00
Valere
8340d5e71f Fix tests 2020-09-03 09:38:40 +02:00
Valere
8103081e0e Fix / Support open and view of sending attachment 2020-09-03 09:31:53 +02:00
Benoit Marty
be3157b6f5 Do not strip new lines. Many tests are not passing, we should work more on it... 2020-09-03 09:24:44 +02:00
Benoit Marty
ae9afcc393 Add test to cover line break 2020-09-03 09:16:37 +02:00
Benoit Marty
e73480c0ef Riot -> Element 2020-09-03 09:06:12 +02:00
Benoit Marty
e02b9b7736 Changelog 2020-09-02 19:02:36 +02:00
Benoit Marty
8c801ae078 API change: encrypted files are now decrypted internally, no need to expose decryptStream() anymore 2020-09-02 19:01:26 +02:00
Onuray Sahin
a151f42495 Handle room, user, group links by converting them to permalinks. 2020-09-02 18:26:08 +03:00
Valere
40f7dc4824 Merge remote-tracking branch 'origin/feature/enhance_big_files' into feature/enhance_big_files 2020-09-02 16:42:54 +02:00
Valere
3b8c61a87e FIx / interceptors and stream closed 2020-09-02 16:06:48 +02:00
Benoit Marty
4ef1f9c4d9 Avoid copy paste of code 2020-09-02 12:47:41 +02:00
Benoit Marty
93cb6bd26e Avoid null type 2020-09-02 12:37:06 +02:00
Benoit Marty
7c33bf2742 Remove Done TODO 2020-09-02 12:31:22 +02:00
Benoit Marty
e5e67fbcbb Internal class and Copyright 2020-09-02 12:29:53 +02:00
Benoit Marty
95219c7934 typo 2020-09-02 12:29:39 +02:00
Benoit Marty
53744982f0 Update Javadoc 2020-09-02 12:29:18 +02:00
Benoit Marty
6d24aa75d0 Format file (no other change) 2020-09-02 12:25:50 +02:00
Benoit Marty
76c79f9f75 Move Base64 methods to a dedicated file 2020-09-02 12:06:21 +02:00
Benoit Marty
28081aa7d2 Cleanup: rename parameters, make some fields private, add Javadoc, fix copy paste error 2020-09-02 12:03:03 +02:00
Benoit Marty
d0532bb9a9 Revert some change from #2002 2020-09-02 09:06:34 +02:00
Benoit Marty
9389cfe7a3 Add comment for history 2020-09-02 09:04:16 +02:00
Benoit Marty
484fd61706 Make MarkdownParserTest tests pass again 2020-09-02 09:04:16 +02:00
Benoit Marty
6c943571fc Remove useless TextContentRenderer 2020-09-01 22:22:27 +02:00
Leon Schmidt
29123ac726 Bugfix/markdown parsing (#2002)
Removed replacing of newlines in already parsed HTML documents

Signed-off-by: Leon Schmidt <mail@leon.wtf>

Co-authored-by: Benoit Marty <benoitm@matrix.org>
2020-09-01 22:02:16 +02:00
Benoit Marty
44cb8cdeca Merge pull request #2042 from vector-im/feature/builkite_location_and_pipeline_location_change
Update of Buildkite configuration
2020-09-01 21:53:11 +02:00
Benoit Marty
9e20f7db1a Update of Buildkite configuration:
New pipeline location: https://github.com/matrix-org/pipelines/blob/master/element-android/pipeline.yml
New build location: https://buildkite.com/matrix-dot-org/element-android
2020-09-01 18:52:03 +02:00
Benoit Marty
971320a56c Restore setting removed by mistake 2020-09-01 18:38:38 +02:00
Benoit Marty
4290d22465 Merge pull request #2035 from vector-im/feature/fix_crashes_attachment_viewer
Crash / Attachment viewer: Cannot draw a recycled Bitmap
2020-09-01 18:33:39 +02:00
Benoit Marty
96a3b25adb Merge branch 'develop' into feature/fix_crashes_attachment_viewer 2020-09-01 18:32:55 +02:00
Valere
3dc69b60c4 Fix / Log could leak file name 2020-09-01 17:31:54 +02:00
Benoit Marty
bdde638967 Merge pull request #2028 from vector-im/feature/relax_is_discovery
Relax IS dicovery
2020-09-01 15:39:28 +02:00
Benoit Marty
8157644ff8 Merge pull request #2014 from vector-im/feature/fix_call_sound_device
Fix: Loudspeaker is always used
2020-09-01 15:33:06 +02:00
ziriSut
4008339963 Translated using Weblate (Kabyle)
Currently translated at 56.7% (1049 of 1849 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/kab/
2020-09-01 13:08:35 +00:00
Benoit Marty
c6bd6c17fc Auto review 2020-09-01 14:55:12 +02:00
Benoit Marty
1a452a6cd7 Improve error for non supported SSO flow to delete device or add MSISDN 2020-09-01 12:58:53 +02:00
Benoit Marty
35f854de5d Also request focus (keyboard is not shown on my device :/) 2020-09-01 10:45:48 +02:00
Benoit Marty
99343294c6 Rename class 2020-09-01 10:09:28 +02:00
Benoit Marty
56261bd741 Add a trick to reset EditText field when recycled. 2020-09-01 10:07:04 +02:00
Benoit Marty
1d53b48c8a Inline wrong token error 2020-08-31 23:11:58 +02:00
Benoit Marty
5594489b69 Optimisation and cleanup 2020-08-31 22:20:59 +02:00
Benoit Marty
ddb858380e Code quality 2020-08-31 21:46:55 +02:00
Benoit Marty
bf5c1e9d8f Add phone numbers to account 2020-08-31 20:53:37 +02:00
Benoit Marty
931eeac548 Add MSISDN (WIP) 2020-08-31 18:07:25 +02:00
Valere
f34c5d6674 Crash / Attachment viewer: Cannot draw a recycled Bitmap 2020-08-31 17:50:17 +02:00
Benoit Marty
9c05efa15d Fix migration issue. Also do not delete Realm file in case of migration issue when debugging. 2020-08-31 16:46:56 +02:00
Benoit Marty
bd12c89a3c Move the DB version number to the Migration class, I think it has more sense. Also increase the value. 2020-08-31 16:29:34 +02:00
Valere
bf4f869524 rebase fix 2020-08-31 16:25:40 +02:00
Valere
dd09c4a72d post rebase fix 2020-08-31 16:21:27 +02:00
Valere
55dcba6f36 Fix progress of message with attachment 2020-08-31 16:21:27 +02:00
Valere
4e7790966f Always use temp file before sending 2020-08-31 16:21:27 +02:00
Valere
bfcbb9ff4f Rebase post matrix sdk package renaming 2020-08-31 16:21:27 +02:00
Benoit Marty
cc57a73f23 Cleanup and split long lines 2020-08-31 16:20:12 +02:00
Valere
d6f96e3d64 Fix test + cleaning 2020-08-31 16:20:12 +02:00
Valere
5f76f182f6 Fix clear glide in recycler view 2020-08-31 16:20:12 +02:00
Valere
31eccf5f1c Cleaning 2020-08-31 16:20:12 +02:00
Valere
9d2ea19d7d Upgrade to worker 2.4.0 2020-08-31 16:20:12 +02:00
Valere
a888e1e80e Support cancel sending and resend event with attachments
Avoid auto retry for medium and big files
2020-08-31 16:20:12 +02:00
Valere
8b8855d2d5 FIx / Audio icon not shown after download 2020-08-31 16:20:12 +02:00
Valere
de53166193 Use file service in glide loader (avoid re-dl after send) 2020-08-31 16:20:12 +02:00
Valere
caf0ac1c9f Add event sending indicator for attachment 2020-08-31 16:20:12 +02:00
Valere
299cd9ced3 Fix / preview/edit was shown for movies and gif 2020-08-31 16:20:12 +02:00
Valere
11c8da3717 Improve upload/dl mem for big files + report ecryption progress 2020-08-31 16:20:12 +02:00
Benoit Marty
e309b30203 Implement: Adding MSISDN (WIP) 2020-08-31 16:16:18 +02:00
Benoit Marty
5a21249022 Doc: Adding MSISDN 2020-08-31 15:08:59 +02:00
Benoit Marty
3c3c51e6fd Doc: more generic to handle MSISDN 2020-08-31 14:48:48 +02:00
Benoit Marty
ee3e10a4b0 Add threePid: improve UI for phone numbers 2020-08-31 14:46:05 +02:00
Benoit Marty
e92cf38cde Add threePid: improve UX (remove dialog) 2020-08-31 14:30:47 +02:00
Benoit Marty
dbd080ca6c Merge pull request #2018 from vector-im/feature/moar_sonar_fixes
Feature/moar sonar fixes
2020-08-31 12:10:00 +02:00
Valere
aedcf3006a Relax IS dicovery
fixes #2027
2020-08-31 12:08:37 +02:00
LinAGKar
6a475ae85c Translated using Weblate (Swedish)
Currently translated at 100.0% (1849 of 1849 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/sv/
2020-08-30 07:42:56 +00:00
ziriSut
0ad637fa16 Translated using Weblate (Kabyle)
Currently translated at 100.0% (235 of 235 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.riot.im/projects/element-android/element-sdk/kab/
2020-08-30 07:42:56 +00:00
ziriSut
ee98a2da03 Translated using Weblate (Kabyle)
Currently translated at 54.1% (1001 of 1849 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/kab/
2020-08-30 07:42:55 +00:00
Balázs Meskó
183d928e21 Translated using Weblate (Hungarian)
Currently translated at 100.0% (1849 of 1849 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/hu/
2020-08-30 07:42:43 +00:00
Rww Folo
807c6f0cb5 Added translation using Weblate (Bengali (Bangladesh)) 2020-08-29 15:53:08 +00:00
Kahina Messaoudi
72bb140b70 Translated using Weblate (Kabyle)
Currently translated at 41.3% (763 of 1849 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/kab/
2020-08-29 13:46:02 +00:00
ziriSut
a5678a752b Translated using Weblate (Kabyle)
Currently translated at 41.3% (763 of 1849 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/kab/
2020-08-29 13:46:02 +00:00
Benoit Marty
58938a239e Format phone number 2020-08-28 19:07:41 +02:00
Benoit Marty
da4695ff2a Improve UI of threePid screen 2020-08-28 18:35:04 +02:00
Benoit Marty
9fecc1b992 Reduce button width 2020-08-28 18:05:59 +02:00
Benoit Marty
e8e1330cd5 Cleanup 2020-08-28 18:05:07 +02:00
Benoit Marty
1af45ede62 Add some guard, and allow to cancel adding 3pid 2020-08-28 17:55:38 +02:00
Benoit Marty
f6f9373aeb Cleanup 2020-08-28 17:06:17 +02:00
Benoit Marty
36a9b80040 i18n for M_THREEPID_AUTH_FAILED 2020-08-28 17:05:40 +02:00
Benoit Marty
175a5ab824 List phone numbers and emails added to the Matrix account, and add Email to account (#44) 2020-08-28 16:45:09 +02:00
Benoit Marty
46d3608ccb RiotX -> Element 2020-08-28 11:25:16 +02:00
Benoit Marty
b11eced4f1 Fix a refresh problem on the user avatar 2020-08-28 11:12:29 +02:00
Benoit Marty
66dfcbc2f8 Add documentation on the flows 2020-08-28 10:59:51 +02:00
Benoit Marty
71de2d9adc Update README.md 2020-08-28 09:23:55 +02:00
Benoit Marty
3f30636808 Matrix SDK is now exported 2020-08-28 09:23:08 +02:00
Benoit Marty
ee9c73fde1 Sonar: rename variables and parameter to follow naming convention 2020-08-28 08:58:57 +02:00
Onuray Sahin
7d76264b25 Merge branch 'develop' into feature/fix_call_sound_device 2020-08-28 02:53:46 +03:00
Marcelo Filho
22771a84f1 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (235 of 235 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.riot.im/projects/element-android/element-sdk/pt_BR/
2020-08-27 22:42:34 +00:00
Marcelo Filho
a107bdd849 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (1849 of 1849 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/pt_BR/
2020-08-27 22:42:34 +00:00
random
9fbf97f4cb Translated using Weblate (Italian)
Currently translated at 100.0% (1849 of 1849 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/it/
2020-08-27 22:42:34 +00:00
Tirifto
812563f68b Translated using Weblate (Esperanto)
Currently translated at 25.5% (471 of 1849 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/eo/
2020-08-27 22:42:33 +00:00
Benoit Marty
d3f50ee6c3 Fix a crash that would occur if it was not dead code 2020-08-27 22:46:30 +02:00
Benoit Marty
9dbe9c7286 Typo in comment 2020-08-27 22:44:55 +02:00
Benoit Marty
fbcc7aa211 Merge pull request #1993 from vector-im/feature/fix_call_in_background
Don't pause the sync thread if there is an active or pending call.
2020-08-27 22:41:46 +02:00
Benoit Marty
a0af769d7c Merge pull request #2016 from vector-im/feature/sonar_fixes
Sonar fixes
2020-08-27 21:39:56 +02:00
Benoit Marty
ef4f930ba2 Don't pause the sync thread if there is an active or pending call.
But pause the sync thread when there is no active call and the app is the background.
Authors: Onuray, I just rebased and squashed all the commit
2020-08-27 18:20:06 +02:00
Benoit Marty
8369003bdf Sonar: rename project name and project key 2020-08-27 18:16:29 +02:00
Benoit Marty
02145eaa06 Github repository has been renamed 2020-08-27 18:16:29 +02:00
Benoit Marty
a857d8e306 Fix bugs detected by sonar 2020-08-27 18:16:29 +02:00
Benoit Marty
cb64f472fe Remove commented out code and useless code 2020-08-27 18:15:53 +02:00
Benoit Marty
cd28ad4c07 Remove dead code (QrCode animation) 2020-08-27 18:15:53 +02:00
Benoit Marty
b69616117f Sonar: skip project diff-match-patch 2020-08-27 18:15:53 +02:00
Benoit Marty
59fa2e28c2 Fix sonar analysis version name issue 2020-08-27 18:15:53 +02:00
Benoit Marty
0f1e348ac4 Merge pull request #2010 from vector-im/feature/fix_send_room_v6
Feature/fix send room v6
2020-08-27 18:14:58 +02:00
Benoit Marty
67bde947f9 Merge pull request #2009 from vector-im/feature/joining_room
Feature/joining room
2020-08-27 18:11:42 +02:00
Onuray Sahin
d9009540dd Don't try to use bluetooth headset if it is not connected. 2020-08-27 16:43:11 +03:00
ganfra
28a1cf6982 Join room: clean up after benoit's remarks 2020-08-27 11:44:21 +02:00
ganfra
9c1c9f96e1 Room v6: finish cleaning up 2020-08-27 10:34:40 +02:00
aevw
7657c0f905 Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.9% (1848 of 1849 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/pt_BR/
2020-08-27 00:29:21 +00:00
Marcelo Filho
d8a0142aee Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.9% (1848 of 1849 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/pt_BR/
2020-08-27 00:29:20 +00:00
strix aluco
eddc681d64 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (3 of 3 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.riot.im/projects/element-android/element-store/uk/
2020-08-26 20:42:44 +00:00
vejetaryenvampir
87a97bc8ec Translated using Weblate (Turkish)
Currently translated at 64.4% (1191 of 1849 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/tr/
2020-08-26 20:42:44 +00:00
LinAGKar
ae81ea2bbc Translated using Weblate (Swedish)
Currently translated at 100.0% (1849 of 1849 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/sv/
2020-08-26 20:42:44 +00:00
Marcelo Filho
90e580245a Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (235 of 235 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.riot.im/projects/element-android/element-sdk/pt_BR/
2020-08-26 20:42:44 +00:00
aevw
8372c9e3ed Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.7% (1843 of 1849 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/pt_BR/
2020-08-26 20:42:43 +00:00
Marcelo Filho
1fcb8d712b Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.7% (1843 of 1849 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/pt_BR/
2020-08-26 20:42:42 +00:00
Imre Kristoffer Eilertsen
9761566b28 Translated using Weblate (Norwegian Bokmål)
Currently translated at 44.1% (815 of 1849 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/nb_NO/
2020-08-26 20:42:41 +00:00
Kahina Messaoudi
f26c58fa22 Translated using Weblate (Kabyle)
Currently translated at 100.0% (3 of 3 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.riot.im/projects/element-android/element-store/kab/
2020-08-26 20:42:31 +00:00
Tirifto
6d73f7b767 Translated using Weblate (Esperanto)
Currently translated at 25.1% (465 of 1849 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/eo/
2020-08-26 20:42:31 +00:00
ganfra
3c0177c2dd Update CHANGES 2020-08-26 19:25:20 +02:00
ganfra
dc4135b506 Remove unnecessary code now we have an other way to keep number types 2020-08-26 19:21:41 +02:00
ganfra
cefdbe1d08 Add CheckNumberType in json to fix sending in room v6 2020-08-26 19:21:14 +02:00
Benoit Marty
95e80f0263 Merge pull request #2001 from vector-im/feature/mention_display_name
Fix mention display name
2020-08-26 17:35:23 +02:00
Benoit Marty
013f51f0c4 Merge branch 'develop' into feature/mention_display_name 2020-08-26 17:35:16 +02:00
Benoit Marty
75911ba4c0 Merge pull request #2008 from vector-im/feature/sas_emoji
Create a script to import SAS strings (#1909)
2020-08-26 17:34:43 +02:00
Benoit Marty
b3edc439cf Merge pull request #1997 from vector-im/feature/switch_language
Switch language and font size settings fixes
2020-08-26 17:34:26 +02:00
Benoit Marty
7ef08579ef Merge branch 'develop' into feature/switch_language 2020-08-26 17:34:17 +02:00
ganfra
b39a86edbd Merge branch 'develop' into feature/joining_room 2020-08-26 17:06:31 +02:00
ganfra
9c151417a8 Update CHANGES 2020-08-26 17:03:51 +02:00
ganfra
5d8d9cb19c Clean files 2020-08-26 17:02:24 +02:00
ganfra
b986bfd509 Permalink: handle via parameters 2020-08-26 16:37:48 +02:00
Benoit Marty
28ae10a4aa Merge pull request #2007 from vector-im/feature/icons
Feature/icons
2020-08-26 16:04:36 +02:00
Benoit Marty
39fa7d850a Merge branch 'develop' into feature/icons 2020-08-26 16:04:27 +02:00
Benoit Marty
25ea221d47 Create a script to import SAS strings (#1909)
It will be run at the next Weblate sync, since we have to remove previous translations
2020-08-26 16:02:58 +02:00
Benoit Marty
a4e495edd3 Merge pull request #2006 from vector-im/feature/long_click
Add long click gesture to copy userId, user display name, room name, …
2020-08-26 13:23:31 +02:00
Benoit Marty
8b009304ad Merge pull request #2004 from vector-im/feature/fix_ucrop
Increase version of uCrop library which supports Android 10.
2020-08-26 13:22:56 +02:00
Benoit Marty
249f268fb5 Fix bad color for settings icon on Android < 24 (#1786) 2020-08-26 12:55:49 +02:00
Benoit Marty
9f3f981ab0 Use cached Views 2020-08-26 12:54:01 +02:00
Benoit Marty
ef912e066b Remove unused resource 2020-08-26 12:29:46 +02:00
Benoit Marty
d014872e3b Add long click gesture to copy userId, user display name, room name, room topic and room alias (#1774) 2020-08-26 11:57:27 +02:00
Onuray Sahin
776d892d27 Increase version of uCrop library which supports Android 10. 2020-08-26 12:27:12 +03:00
ganfra
9970398cf2 Join room: add "UnknownItem" to public room list 2020-08-25 20:20:14 +02:00
Benoit Marty
a5f537f251 Merge pull request #1996 from johnjohndoe/file-extensions
Use File extension functions to make code more concise.
2020-08-25 18:09:00 +02:00
Benoit Marty
6376ba2516 Improve wording (visible in debug screen) 2020-08-25 17:48:12 +02:00
Benoit Marty
5e0fc3e17f Rename class 2020-08-25 17:34:43 +02:00
Benoit Marty
1a068ee191 Add more tests 2020-08-25 17:34:02 +02:00
Benoit Marty
8226f60fad Refactor test to avoid duplicated code 2020-08-25 17:31:51 +02:00
Benoit Marty
2e618999d9 Words containing my name should not trigger notifications (Fixes #1781)
It adds a specific behavior for rule with id RuleIds.RULE_ID_CONTAIN_USER_NAME
2020-08-25 17:26:54 +02:00
Benoit Marty
bf7a096a18 Refactor: Remove duplicated declaration for Actions 2020-08-25 17:01:55 +02:00
Benoit Marty
0d9885a1e0 Refactor: Remove duplicated declaration for RuleIds 2020-08-25 16:53:12 +02:00
Benoit Marty
aca8fd7f3d Refactor: Kotlin style 2020-08-25 16:18:44 +02:00
Benoit Marty
f5ea4fb6ac Refactor: Extract method to dedicated files 2020-08-25 16:15:42 +02:00
Benoit Marty
7b5c74f81c Refactor: Condition is now an interface 2020-08-25 16:14:14 +02:00
Benoit Marty
558e11a364 Refactor: move Kind to its own file 2020-08-25 16:01:34 +02:00
Weblate
3d5b3c65de Merge branch 'origin/develop' into Weblate. 2020-08-25 11:15:37 +00:00
LinAGKar
ed9e590498 Translated using Weblate (Swedish)
Currently translated at 100.0% (1849 of 1849 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/sv/
2020-08-25 11:15:37 +00:00
tctovsli
70fda1009b Translated using Weblate (Norwegian Bokmål)
Currently translated at 33.1% (612 of 1849 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/nb_NO/
2020-08-25 11:15:36 +00:00
Kahina Messaoudi
ceae1f1ad8 Translated using Weblate (Kabyle)
Currently translated at 25.2% (466 of 1849 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/kab/
2020-08-25 11:15:33 +00:00
ganfra
8f1eff8782 Start reusing RoomPreview for joining room not joined 2020-08-25 12:35:35 +02:00
ganfra
c1c8c04567 Room detail: Fix roomId not set up when activity is restored 2020-08-25 12:31:55 +02:00
LinAGKar
31b4785a4d Translated using Weblate (Swedish)
Currently translated at 100.0% (1849 of 1849 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/sv/
2020-08-24 17:43:19 +00:00
Kahina Messaoudi
8e5656729b Translated using Weblate (Kabyle)
Currently translated at 33.3% (1 of 3 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.riot.im/projects/element-android/element-store/kab/
2020-08-24 17:42:31 +00:00
ziriSut
51893fff09 Translated using Weblate (Kabyle)
Currently translated at 99.1% (233 of 235 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.riot.im/projects/element-android/element-sdk/kab/
2020-08-24 17:42:31 +00:00
Kahina Messaoudi
25d8ba2699 Translated using Weblate (Kabyle)
Currently translated at 99.1% (233 of 235 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.riot.im/projects/element-android/element-sdk/kab/
2020-08-24 17:42:31 +00:00
Kahina Messaoudi
fd5e4b78da Translated using Weblate (Kabyle)
Currently translated at 24.6% (454 of 1849 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/kab/
2020-08-24 17:42:31 +00:00
@a2sc:matrix.org
f45d0122b0 Translated using Weblate (German)
Currently translated at 100.0% (1849 of 1849 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/de/
2020-08-24 17:42:30 +00:00
aWeinzierl
01cfa4496c Translated using Weblate (German)
Currently translated at 100.0% (1849 of 1849 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/de/
2020-08-24 17:42:30 +00:00
linsui
82c8b532c0 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (1849 of 1849 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/zh_Hans/
2020-08-24 17:42:30 +00:00
Slavi Pantaleev
ee7f79b40c Translated using Weblate (Bulgarian)
Currently translated at 72.3% (170 of 235 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.riot.im/projects/element-android/element-sdk/bg/
2020-08-24 17:42:28 +00:00
Benoit Marty
cb7a1bc9c3 Fix FontSize issue (#1483, #1787) 2020-08-24 18:32:08 +02:00
Benoit Marty
52cf4d24d3 Fix switch language issue 2020-08-24 18:32:08 +02:00
Tobias Preuss
ed98613b2d Use File extension functions to make code more concise.
+ This change replaces a few usages of ByteArrayInputStream, FileInputStream,
  FileOutputStream with their equivalent Kotlin extension functions.
2020-08-24 18:01:30 +02:00
notramo
252df0f7a9 Mention thousands of public servers in Play Store 2020-08-24 14:51:10 +00:00
Benoit Marty
116e6fb3c0 Call restart() extension 2020-08-24 15:50:47 +02:00
Benoit Marty
efa3aa5cf8 Stop using internal context of VectorLocal in CallHeadsUpActionReceiver... 2020-08-24 15:08:52 +02:00
Benoit Marty
69e9a79ac1 Inject StringProvider instead of Context 2020-08-24 14:49:42 +02:00
Benoit Marty
96cf5d2105 Cleanup: propoerly inject things to PushRulesFragment and move PushRulesController to its own file 2020-08-24 14:32:43 +02:00
Benoit Marty
f745e22a52 Merge pull request #1983 from vector-im/feature/live_display_name
Make user displayName live in the setting, it should fix #1926
2020-08-24 13:43:08 +02:00
Benoit Marty
50495ef604 Improve algo 2020-08-24 11:12:19 +02:00
Benoit Marty
84854d9382 Add entry in changelog 2020-08-24 10:14:00 +02:00
Benoit Marty
328dc9ea5b Merge pull request #1979 from vector-im/feature/update_dependencies
Update some dependencies, including coroutines for working debugging
2020-08-24 10:11:57 +02:00
Kahina Messaoudi
30b92efcc6 Translated using Weblate (Kabyle)
Currently translated at 24.4% (452 of 1849 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/kab/
2020-08-23 17:15:04 +00:00
ziriSut
e87bd16b6b Translated using Weblate (Kabyle)
Currently translated at 24.4% (452 of 1849 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/kab/
2020-08-23 17:15:02 +00:00
Kahina Messaoudi
8b41b014ee Translated using Weblate (Kabyle)
Currently translated at 96.6% (227 of 235 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.riot.im/projects/element-android/element-sdk/kab/
2020-08-23 15:46:17 +00:00
ziriSut
601cf10fb4 Translated using Weblate (Kabyle)
Currently translated at 96.6% (227 of 235 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.riot.im/projects/element-android/element-sdk/kab/
2020-08-23 15:46:16 +00:00
Kahina Messaoudi
f02ee2af27 Translated using Weblate (Kabyle)
Currently translated at 72.3% (170 of 235 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.riot.im/projects/element-android/element-sdk/kab/
2020-08-23 14:38:55 +00:00
ziriSut
c490d6bcd1 Translated using Weblate (Kabyle)
Currently translated at 72.3% (170 of 235 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.riot.im/projects/element-android/element-sdk/kab/
2020-08-23 14:38:55 +00:00
ziriSut
64b6b069a4 Translated using Weblate (Kabyle)
Currently translated at 69.4% (163 of 235 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.riot.im/projects/element-android/element-sdk/kab/
2020-08-23 14:32:38 +00:00
Kahina Messaoudi
edd455a772 Translated using Weblate (Kabyle)
Currently translated at 69.4% (163 of 235 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.riot.im/projects/element-android/element-sdk/kab/
2020-08-23 14:32:38 +00:00
Kahina Messaoudi
a54c1af7cc Translated using Weblate (Kabyle)
Currently translated at 39.6% (93 of 235 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.riot.im/projects/element-android/element-sdk/kab/
2020-08-23 12:09:01 +00:00
ziriSut
9e1fe22c19 Translated using Weblate (Kabyle)
Currently translated at 39.6% (93 of 235 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.riot.im/projects/element-android/element-sdk/kab/
2020-08-23 12:09:01 +00:00
Kahina Messaoudi
bd033ed5f4 Translated using Weblate (Kabyle)
Currently translated at 7.2% (17 of 235 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.riot.im/projects/element-android/element-sdk/kab/
2020-08-23 06:37:58 +00:00
Slimane Selyan AMIRI
2fd9333fb0 Translated using Weblate (Kabyle)
Currently translated at 7.2% (17 of 235 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.riot.im/projects/element-android/element-sdk/kab/
2020-08-23 06:37:57 +00:00
Slimane Selyan AMIRI
6249d5a85e Translated using Weblate (Kabyle)
Currently translated at 0.3% (5 of 1849 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/kab/
2020-08-23 06:35:09 +00:00
Slimane Selyan AMIRI
385de03f40 Added translation using Weblate (Kabyle) 2020-08-22 18:05:34 +00:00
Slimane Selyan AMIRI
5bfb2c211a Added translation using Weblate (Kabyle) 2020-08-22 18:04:55 +00:00
LinAGKar
7ee4a8fc0a Translated using Weblate (Swedish)
Currently translated at 61.0% (1127 of 1849 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/sv/
2020-08-22 15:42:55 +00:00
AnonymousWebHacker
c73f544a01 Translated using Weblate (Spanish)
Currently translated at 81.6% (1508 of 1849 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/es/
2020-08-22 15:42:38 +00:00
Nikita Epifanov
370d57cfbc Translated using Weblate (Russian)
Currently translated at 100.0% (1849 of 1849 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/ru/
2020-08-22 15:42:28 +00:00
Marcelo Filho
4380d34645 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (3 of 3 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.riot.im/projects/element-android/element-store/pt_BR/
2020-08-22 15:42:27 +00:00
aWeinzierl
471497e721 Translated using Weblate (German)
Currently translated at 99.7% (1843 of 1849 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/de/
2020-08-22 15:42:27 +00:00
Jeff Huang
16809a53ab Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (1849 of 1849 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/zh_Hant/
2020-08-22 15:42:26 +00:00
Slavi Pantaleev
6ad0098767 Translated using Weblate (Bulgarian)
Currently translated at 75.4% (1394 of 1849 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/bg/
2020-08-22 15:42:25 +00:00
Priit Jõerüüt
eea17f0905 Translated using Weblate (Estonian)
Currently translated at 100.0% (1849 of 1849 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/et/
2020-08-22 11:08:31 +00:00
Benoit Marty
bd238dcbfa Make user displayName live in the setting, it should fix #1926 2020-08-21 22:24:29 +02:00
Benoit Marty
20e2b3beb8 Merge pull request #1978 from vector-im/feature/ttl
Improve #1971, especially be robust about system time change
2020-08-21 18:12:35 +02:00
ganfra
1f890324b4 Update some dependencies, including coroutines for working debugging 2020-08-21 17:17:51 +02:00
Benoit Marty
04fa7d9628 Version++ 2020-08-21 17:04:05 +02:00
Benoit Marty
19f9c94d60 Merge branch 'release/1.0.5' 2020-08-21 17:02:49 +02:00
Benoit Marty
7fd7970ec1 Merge branch 'release/1.0.5' into develop 2020-08-21 17:02:46 +02:00
Benoit Marty
81dece5516 Prepare release 1.0.5 2020-08-21 17:02:32 +02:00
Benoit Marty
52e66b09dc Merge pull request #1977 from vector-im/feature/networkonmainthread
Avoid NetworkOnMainThreadException when setting a user avatar
2020-08-21 16:48:19 +02:00
Benoit Marty
06f4b95dc0 Merge branch 'develop' into feature/networkonmainthread 2020-08-21 16:48:11 +02:00
Benoit Marty
008bc0116d Improve #1971, especially be robust about system time change 2020-08-21 16:36:45 +02:00
Benoit Marty
de728f6c36 Merge pull request #1971 from tzeitlho/turn_fix
Turn fix
2020-08-21 16:28:52 +02:00
Benoit Marty
a8c6678efc Avoid NetworkOnMainThreadException when setting a user avatar 2020-08-21 16:11:22 +02:00
Benoit Marty
35dbab2ff5 Merge pull request #1976 from vector-im/feature/post_weblate_merge
Feature/post weblate merge
2020-08-21 14:47:25 +02:00
Thomas Zeitlhofer
a732d8856b change var -> val according to review comment
Signed-off-by: Thomas Zeitlhofer <tz+github@ze-it.at>
2020-08-21 14:28:18 +02:00
Benoit Marty
80f7ffd7a6 Fix Potential Plurals - 3 2020-08-21 14:19:06 +02:00
Benoit Marty
d86536c949 Fix Potential Plurals (removing unused resource) - 2 2020-08-21 13:07:37 +02:00
Benoit Marty
f84ea0ad5b Fix Potential Plurals - 1 2020-08-21 12:55:15 +02:00
Benoit Marty
28ed6cb3b6 Fix typos reported by Lint 2020-08-21 12:47:39 +02:00
Benoit Marty
927c3e7e94 Update element web url (Fixes #1974) 2020-08-21 12:31:06 +02:00
Benoit Marty
5416f4194c Fix lint issue 2020-08-21 12:27:57 +02:00
Benoit Marty
b09c1e3cbf Format strings 2020-08-21 12:23:25 +02:00
Benoit Marty
66ac03a021 Merge pull request #1975 from RiotTranslateBot/weblate-element-android-element-app
Update from Weblate
2020-08-21 12:16:25 +02:00
Weblate
43d0a11cba Merge branch 'origin/develop' into Weblate. 2020-08-21 09:30:51 +00:00
notramo
a27b22a972 Translated using Weblate (Hungarian)
Currently translated at 100.0% (3 of 3 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.riot.im/projects/element-android/element-store/hu/
2020-08-21 09:30:37 +00:00
Priit Jõerüüt
338c569c0b Translated using Weblate (Estonian)
Currently translated at 89.8% (1649 of 1836 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/et/
2020-08-21 09:30:37 +00:00
Lua
f7db14fb02 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (3 of 3 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.riot.im/projects/element-android/element-store/pt_BR/
2020-08-21 00:42:34 +00:00
Lua
cfd0e00c0c Translated using Weblate (Portuguese)
Currently translated at 44.5% (817 of 1836 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/pt/
2020-08-21 00:42:34 +00:00
Priit Jõerüüt
7c4afd922c Translated using Weblate (Estonian)
Currently translated at 87.4% (1605 of 1836 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/et/
2020-08-21 00:42:34 +00:00
Thomas Zeitlhofer
bd1a0361be Changelog entry for turnserver related fix
Signed-off-by: Thomas Zeitlhofer <tz+github@ze-it.at>
2020-08-20 19:46:20 +02:00
Thomas Zeitlhofer
a7ee7d5bad Renew turnserver credentials when ttl runs out
The previous implementation caches the turnserver response indefinitely.
This breaks VoIP calls as soon as the ttl of the received turnserver
credentials runs out. So, take care to renew the turnserver credentials
by allowing the cache to expire.

Fixes: d8cf44fdc9 ("Simple cache of turn server response")
Signed-off-by: Thomas Zeitlhofer <tz+github@ze-it.at>
2020-08-20 19:43:52 +02:00
Benoit Marty
29e4a64475 Merge pull request #1970 from vector-im/feature/highlight
Highlighted Event when opening a permalink from another room
2020-08-20 19:04:15 +02:00
Benoit Marty
f07bf43ada Merge branch 'develop' into feature/highlight 2020-08-20 19:04:03 +02:00
Onuray Sahin
80551fc0c2 Fix IllegalArgumentException: Receiver not registered: NetworkInfoReceiver (#1961)
Fix IllegalArgumentException: Receiver not registered: NetworkInfoReceiver (#1961)

Co-authored-by: Onuray Sahin <onurays@element.io>
2020-08-20 18:31:03 +02:00
Benoit Marty
2acda2c5da Merge pull request #1962 from vector-im/feature/membership_state_event
A Kick appears has "someone has made no change" (Fixes #1959)
2020-08-20 18:29:23 +02:00
Benoit Marty
9582b9c0fb Merge pull request #1965 from vector-im/feature/share
Share button in rooms gives room ID link without via parameters (#1927)
2020-08-20 18:28:30 +02:00
Benoit Marty
cbe093fe77 Highlighted Event when opening a permalink from another room (Fixes #1033) 2020-08-20 18:20:53 +02:00
Benoit Marty
112a7913d4 Improve (unused) code 2020-08-20 17:57:48 +02:00
Benoit Marty
cab447e44e Add missing copyright 2020-08-20 17:50:43 +02:00
Benoit Marty
fde2bdf304 Create a PermalinkFactory to avoid injecting the service in SDK classes 2020-08-20 17:41:01 +02:00
Benoit Marty
2c90e33ceb Move package 2020-08-20 17:33:55 +02:00
Benoit Marty
af10344b6b Share button in rooms gives room ID link without via parameters (#1927)
Following the algorithm described in #1927
Create a PermalinkService
2020-08-20 17:33:55 +02:00
Benoit Marty
187edbd32a Merge pull request #1968 from vector-im/feature/biometrics
Improve PIN code feature
2020-08-20 17:16:27 +02:00
Benoit Marty
3bce0be96e Merge pull request #1969 from vector-im/feature/dm_creation
DM creation: handled denied federation error
2020-08-20 17:15:44 +02:00
Benoit Marty
828bf44b2b Better handling DM creation when invitees cannot be inviting due to denied federation
As we do not know the created roomId, we cannot add it to the DM list though. But at least the user is informed that a room has been created and won't retry because the screen will be closed.
2020-08-20 15:44:28 +02:00
Benoit Marty
c6c8ef07a6 Fail first (before creating the room) when trying to create a DM without at least one invitee 2020-08-20 15:34:58 +02:00
Benoit Marty
a6150beed2 Stuff added by AS 4.0.1 2020-08-20 15:32:45 +02:00
Benoit Marty
b090468109 Logout after 3 wrong PIN codes 2020-08-20 14:21:24 +02:00
Benoit Marty
4cba1388f9 Add support for biometrics (not only Fingerprint) 2020-08-20 14:11:23 +02:00
Benoit Marty
61caa3474b Merge pull request #1956 from vector-im/feature/fix_package_renaming_issues
Some cleanup after the package renaming thing
2020-08-20 13:58:13 +02:00
Benoit Marty
cd08c919e9 Merge pull request #1963 from vector-im/feature/cleanup
Improve user avatar setting
2020-08-20 13:56:43 +02:00
Benoit Marty
45ca480de1 Ganfra's review 2020-08-20 13:56:23 +02:00
Benoit Marty
95d05a9c28 Make the user's Avatar live in the general settings
Also remove unused class RoomAvatarPreference
2020-08-19 18:32:06 +02:00
Benoit Marty
db9c418622 We are already in a Coroutine scope, we can directly call execute() on the task.
-> It will prevent the callback from being called twice.
2020-08-19 18:04:22 +02:00
Ege Sertçetin
e860062553 Translated using Weblate (Turkish)
Currently translated at 66.7% (2 of 3 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.riot.im/projects/element-android/element-store/tr/
2020-08-19 15:42:50 +00:00
Ege Sertçetin
80fc66e097 Translated using Weblate (Turkish)
Currently translated at 65.0% (1194 of 1836 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/tr/
2020-08-19 15:42:49 +00:00
Peter Vágner
6b89dfdc8d Translated using Weblate (Slovak)
Currently translated at 100.0% (3 of 3 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.riot.im/projects/element-android/element-store/sk/
2020-08-19 15:42:46 +00:00
Marcelo Filho
97fa087496 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (235 of 235 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.riot.im/projects/element-android/element-sdk/pt_BR/
2020-08-19 15:42:46 +00:00
Marcelo Filho
312a5855c6 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (1836 of 1836 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/pt_BR/
2020-08-19 15:42:46 +00:00
Priit Jõerüüt
c8d95f701d Translated using Weblate (Estonian)
Currently translated at 76.4% (1403 of 1836 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/et/
2020-08-19 15:42:45 +00:00
Benoit Marty
9b6c45e112 A Kick appears has "someone has made no change" (Fixes #1959) 2020-08-19 15:54:46 +02:00
Benoit Marty
482a8f1fb8 Merge pull request #1955 from vector-im/feature/fix_unique_filename
Fix save media error: Failed to build unique file
2020-08-19 14:44:37 +02:00
Onuray Sahin
eb109aa755 ktlint fix. 2020-08-19 13:15:42 +03:00
aethralis
4a4a544860 Translated using Weblate (Estonian)
Currently translated at 51.6% (948 of 1836 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/et/
2020-08-18 18:17:42 +00:00
Benoit Marty
72f5f8b64b Merge pull request #1945 from vector-im/feature/update_element_config_file_parsing
Feature/update element config file parsing
2020-08-18 18:31:39 +02:00
Benoit Marty
0a296908a8 Merge branch 'develop' into feature/update_element_config_file_parsing 2020-08-18 18:31:28 +02:00
Benoit Marty
08292c874b Merge pull request #1943 from vector-im/feature/design_quick_win
Feature/design quick win
2020-08-18 18:30:25 +02:00
Benoit Marty
e76c32b74e Add missing copyright mention for PFLockScreen-Android 2020-08-18 18:21:20 +02:00
Benoit Marty
7613073373 Some cleanup after the package renaming thing 2020-08-18 18:15:48 +02:00
Onuray Sahin
2b0051887a Append current time to the filename before saving. 2020-08-18 18:54:59 +03:00
Peter Vágner
413c21505c Translated using Weblate (Slovak)
Currently translated at 100.0% (235 of 235 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.riot.im/projects/element-android/element-sdk/sk/
2020-08-18 09:23:31 +00:00
Benoit Marty
8581d06931 Merge pull request #1948 from tilosp/api-21-cleanup
Remove old code that was used on devices with api level <21
2020-08-18 10:11:15 +02:00
Benoit Marty
9385bd2a10 Merge branch 'develop' into api-21-cleanup 2020-08-18 10:11:02 +02:00
Benoit Marty
131f4d1757 Merge pull request #1949 from tilosp/gradle-wrapper-validation
Official Gradle Wrapper Validation Action
2020-08-18 09:56:36 +02:00
Tilo Spannagel
861b379992 Official Gradle Wrapper Validation Action
See: https://github.com/gradle/wrapper-validation-action

Signed-off-by: Tilo Spannagel <development@tilosp.de>
2020-08-18 00:49:17 +02:00
Tilo Spannagel
87bc0c6c7a Set severity of ObsoleteSdkInt to error
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2020-08-18 00:46:37 +02:00
Nikita Epifanov
5f3d6a6905 Translated using Weblate (Russian)
Currently translated at 100.0% (3 of 3 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.riot.im/projects/element-android/element-store/ru/
2020-08-17 22:42:25 +00:00
Marcelo Filho
ce367f6e17 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (235 of 235 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.riot.im/projects/element-android/element-sdk/pt_BR/
2020-08-17 22:42:25 +00:00
Marcelo Filho
9660e147d4 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (1836 of 1836 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/pt_BR/
2020-08-17 22:42:25 +00:00
call_xz
5c2b4309cf Translated using Weblate (Japanese)
Currently translated at 50.4% (925 of 1836 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/ja/
2020-08-17 22:42:25 +00:00
Tuomas Hietala
788d72d6ca Translated using Weblate (Finnish)
Currently translated at 66.7% (2 of 3 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.riot.im/projects/element-android/element-store/fi/
2020-08-17 22:42:23 +00:00
Priit Jõerüüt
c982ebaca9 Translated using Weblate (Estonian)
Currently translated at 51.1% (938 of 1836 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/et/
2020-08-17 22:42:23 +00:00
linsui
570f5ac375 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (3 of 3 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.riot.im/projects/element-android/element-store/zh_Hans/
2020-08-17 22:42:19 +00:00
Benoit Marty
a9ad3ac4f3 Merge pull request #1930 from yh-gao/best_localized_date_format
Fix date format for some Asian languages (#1928)
2020-08-17 23:57:40 +02:00
Tilo Spannagel
8c7956d935 Remove old code that was used on devices with api level <21
Signed-off-by: Tilo Spannagel <development@tilosp.de>
2020-08-17 21:20:39 +02:00
Benoit Marty
bde77784b9 Add internal 2020-08-17 19:46:44 +02:00
Benoit Marty
f012e23fa9 #1682: changelog 2020-08-17 19:42:21 +02:00
Benoit Marty
112f77c4e0 #1682: try to fetch config.domain.json 2020-08-17 19:39:29 +02:00
Benoit Marty
c11c28b406 #1682: parse "default_server_config" 2020-08-17 19:27:13 +02:00
Benoit Marty
189d2b2c06 Increase again font size 2020-08-17 19:08:32 +02:00
Benoit Marty
497b07b156 Fix color issue in dark and black themes (#961) 2020-08-17 18:02:23 +02:00
Benoit Marty
d74dc2053b Increase Font size on Calling screen (#1643)
And cleanup the layout
2020-08-17 16:48:40 +02:00
Benoit Marty
1b9b18851d Merge pull request #1906 from vector-im/feature/verify_developer_mode
Cleanup temporary code added during developpement
2020-08-17 16:32:28 +02:00
Benoit Marty
ac32d6bb29 Remove /verify command, it was added temporarily 2020-08-17 14:44:56 +02:00
Benoit Marty
1c48ba6b99 Remove actions that have been added only for debug purpose - step 1 2020-08-17 14:44:56 +02:00
Benoit Marty
35a5d9e454 Prevent click on Cross-Signing item when not in developer mode 2020-08-17 14:44:47 +02:00
Benoit Marty
550dcde9b8 Merge pull request #1914 from vector-im/feature/jitsi_native
Feature/jitsi native
2020-08-17 10:54:31 +02:00
Benoit Marty
7049c6e8ac Add Copyrigth notice for Jitsi library 2020-08-17 10:13:19 +02:00
Benoit Marty
9b1c01351c Adding jitsi.md documentation 2020-08-17 10:07:30 +02:00
LinAGKar
204db7b19b Translated using Weblate (Swedish)
Currently translated at 100.0% (3 of 3 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.riot.im/projects/element-android/element-store/sv/
2020-08-16 21:42:28 +00:00
LinAGKar
93294be53e Translated using Weblate (Swedish)
Currently translated at 44.3% (814 of 1836 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/sv/
2020-08-16 21:42:28 +00:00
Marcelo Filho
b06a72f944 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (1836 of 1836 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/pt_BR/
2020-08-16 21:42:21 +00:00
Hubert Chathi
abd478ad3c Translated using Weblate (German)
Currently translated at 100.0% (235 of 235 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.riot.im/projects/element-android/element-sdk/de/
2020-08-16 21:42:21 +00:00
dccs
f91b99ec5e Translated using Weblate (German)
Currently translated at 100.0% (1836 of 1836 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/de/
2020-08-16 21:42:21 +00:00
Priit Jõerüüt
cfee0e4797 Translated using Weblate (Estonian)
Currently translated at 46.2% (849 of 1836 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/et/
2020-08-16 21:42:20 +00:00
Yihong Gao
f9faf9c4d8 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (1836 of 1836 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/zh_Hans/
2020-08-16 21:42:18 +00:00
Yihong Gao
e3b7f167ff Fix date format of some Asian languages (#1928)
With DateFormat.getBestDateTimePattern to generate best
localized pattern.

Signed-off-by: Yihong Gao <yihong.ui@gmail.com>
2020-08-15 18:32:22 -07:00
strix aluco
553e5e7aa0 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (3 of 3 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.riot.im/projects/element-android/element-store/uk/
2020-08-14 22:42:23 +00:00
strix aluco
6016e8f526 Translated using Weblate (Ukrainian)
Currently translated at 41.6% (763 of 1836 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/uk/
2020-08-14 22:42:23 +00:00
rkfg
b2cd350115 Translated using Weblate (Russian)
Currently translated at 99.8% (1833 of 1836 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/ru/
2020-08-14 22:42:23 +00:00
Marcelo Filho
12a1828f04 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (1836 of 1836 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/pt_BR/
2020-08-14 22:42:23 +00:00
Rintan
133fd29a33 Translated using Weblate (Japanese)
Currently translated at 49.2% (903 of 1836 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/ja/
2020-08-14 22:42:23 +00:00
tatuya0902
9b8caf4f83 Translated using Weblate (Japanese)
Currently translated at 49.2% (903 of 1836 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/ja/
2020-08-14 22:42:22 +00:00
random
bbcd02a4c4 Translated using Weblate (Italian)
Currently translated at 100.0% (1836 of 1836 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/it/
2020-08-14 22:42:22 +00:00
notramo
2cdea80fef Translated using Weblate (Hungarian)
Currently translated at 94.1% (1727 of 1836 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/hu/
2020-08-14 22:42:21 +00:00
aWeinzierl
023caf57d1 Translated using Weblate (German)
Currently translated at 100.0% (3 of 3 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.riot.im/projects/element-android/element-store/de/
2020-08-14 22:42:20 +00:00
Priit Jõerüüt
8ae3ffba32 Translated using Weblate (Estonian)
Currently translated at 100.0% (235 of 235 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.riot.im/projects/element-android/element-sdk/et/
2020-08-14 22:42:20 +00:00
Priit Jõerüüt
8b994a1401 Translated using Weblate (Estonian)
Currently translated at 43.8% (805 of 1836 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/et/
2020-08-14 22:42:19 +00:00
Jeff Huang
00615c9882 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (1836 of 1836 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/zh_Hant/
2020-08-14 22:42:15 +00:00
Benoit Marty
e90d18a86b Lint: Ignore error from dropbox-core-sdk-3.0.8 lib, which comes with Jitsi library 2020-08-14 21:33:46 +02:00
Benoit Marty
05ecbf0f86 Build Jitsi lib version android-sdk-2.9.3, commit abcbbbea12e3ef88012b14723bb8cd42dbefc988
And host it in https://github.com/vector-im/jitsi_libre_maven/tree/master/android-sdk-2.9.3
2020-08-14 21:33:25 +02:00
Benoit Marty
85734e3581 Ensure that when user accept permission the native widget is well open
Before we were asking in loop until the sync comes back with the updated account data
2020-08-14 15:48:41 +02:00
Benoit Marty
4f8fd7b994 Benoit's review
- Cleanup
- Force refresh of HomeServerCapabilities
- add some doc
- remove dead code
- remove commented code
- remove duplicated comment
- use getBestName()
- improve code formatting
- Fix isAudioOnly parameter in jitsi url
- Fix layout issue between "Active conference" banner and "Jump to first unread message banner"
- Improve "Active conference" banner
- Remove Calendar permission from Manifest
2020-08-14 15:40:02 +02:00
Benoit Marty
68d128133c Merge pull request #1913 from vector-im/feature/RtlHardcoded
Fix RtlHardcoded issues
2020-08-14 11:47:01 +02:00
Valere
157f22ac2d Update change log 2020-08-14 10:12:55 +02:00
Valere
050ef659b3 Code quality
Fix neg margin + typo in jitsi
2020-08-14 10:10:08 +02:00
Valere
8c150aa3e8 klint 2020-08-14 10:00:02 +02:00
Valere
c911d9c7ff Check native widget permissions 2020-08-14 09:54:58 +02:00
Valere
3ce1e3e5d9 Add/Remove jitsi widget via option menu 2020-08-14 09:45:33 +02:00
Valere
42a24300a1 Initial commit jitsi 2020-08-14 09:31:24 +02:00
Benoit Marty
5a3894036c Merge pull request #1907 from vector-im/feature/display_device_key
Feature/display device key
2020-08-13 20:31:15 +02:00
Benoit Marty
15c9d68175 Merge branch 'develop' into feature/display_device_key 2020-08-13 20:31:07 +02:00
Benoit Marty
4f0111f331 Remove useless layout_marginLeft and layout_marginRight attributes
RtlHardoded: other error

RtlHardoded: paddingLeft / Right

RtlHardoded: other error

Fix RtlHardcoded issues (use `Start` and `End` instead of `Left` and `Right` layout attributes)
2020-08-13 18:49:19 +02:00
Benoit Marty
81a4b5edbc Merge pull request #1905 from vector-im/feature/refresh_device_list
Live sessions list
2020-08-13 17:13:36 +02:00
Benoit Marty
87c903a0fa Merge pull request #1900 from vector-im/feature/improve_ignore_user
Ensure users do not accidentally ignore other users (#1890)
2020-08-13 17:13:14 +02:00
Benoit Marty
3103fe970a Ensure users do not accidentally ignore other users (#1890)
- Wording: use "Ignore" instead of "Block" for consistency across the app and with other Element app
2020-08-13 16:44:32 +02:00
Benoit Marty
5fa22fedbb Cleanup dead code 2020-08-13 16:37:19 +02:00
Benoit Marty
e6f89b0b22 Display device information (name, id and key) in Cryptography setting screen (#1784) 2020-08-13 16:37:19 +02:00
Benoit Marty
d1b6cff663 Revert change (Valere's review) 2020-08-13 16:34:08 +02:00
Benoit Marty
3c8a4b80d2 Add missing Copyright 2020-08-13 16:31:46 +02:00
Benoit Marty
7a2454d816 Fix refreshing of sessions list when another session is logged out
Rx: use distinctUntilChanged() instead of distinct()
2020-08-13 16:27:04 +02:00
Benoit Marty
c9c787b11d Rename method
to merge
2020-08-13 16:24:51 +02:00
Benoit Marty
76788892c0 Merge pull request #1911 from vector-im/feature/rename_sdk_package
Rename package of SDK modules
2020-08-13 16:17:29 +02:00
Benoit Marty
cdc60cd453 Add missing Copyright 2020-08-13 15:41:05 +02:00
Benoit Marty
894f5b9ed3 Add copyright to SDK Kotlin source file 2020-08-13 15:41:05 +02:00
Benoit Marty
8f1adf6316 Ensure deserialization of previously stored objects still works
After package has been renamed from `im.vector.matrix.android` to `org.matrix.android.sdk`
2020-08-13 15:41:05 +02:00
Benoit Marty
11b5512cb8 Rename package of SDK modules 2020-08-13 12:50:58 +02:00
Benoit Marty
e3bf4c1e7b Merge pull request #1912 from vector-im/feature/post_weblate_sync
Post weblate sync
2020-08-13 12:47:22 +02:00
Benoit Marty
2d3359b70e Rename files, Weblate is expecting _ rather than - 2020-08-13 12:20:44 +02:00
Benoit Marty
a92e9040bf Fix lint issue UnusedQuantity and ensure it will be an error in the future 2020-08-13 12:15:15 +02:00
Benoit Marty
c8e5cde101 Fix lint issues 2020-08-13 12:08:01 +02:00
Benoit Marty
617558a1ca Format strings resource 2020-08-13 11:20:44 +02:00
Benoit Marty
753518fdc5 Merge pull request #1910 from RiotTranslateBot/weblate-element-android-element-app
Update from Weblate
2020-08-13 11:09:50 +02:00
Weblate
95e998b652 Merge branch 'origin/develop' into Weblate. 2020-08-13 08:48:02 +00:00
Marcelo Filho
dc17156024 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (235 of 235 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.riot.im/projects/element-android/element-sdk/pt_BR/
2020-08-13 06:42:18 +00:00
random
7299f938b5 Translated using Weblate (Italian)
Currently translated at 100.0% (235 of 235 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.riot.im/projects/element-android/element-sdk/it/
2020-08-13 06:42:18 +00:00
@a2sc:matrix.org
6bf6c53969 Translated using Weblate (German)
Currently translated at 100.0% (235 of 235 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.riot.im/projects/element-android/element-sdk/de/
2020-08-13 06:42:16 +00:00
linsui
c1b40442fa Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (1 of 1 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.riot.im/projects/element-android/element-store/zh_Hans/
2020-08-13 06:42:16 +00:00
linsui
d8850e046a Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (235 of 235 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.riot.im/projects/element-android/element-sdk/zh_Hans/
2020-08-13 06:42:16 +00:00
Akarshan Biswas
fb09f58ac8 Translated using Weblate (Bengali (India))
Currently translated at 100.0% (235 of 235 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.riot.im/projects/element-android/element-sdk/bn_IN/
2020-08-13 06:42:16 +00:00
AnonymousWebHacker
482c9ad451 Translated using Weblate (Spanish)
Currently translated at 73.8% (1353 of 1834 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/es/
2020-08-12 17:54:27 +00:00
rkfg
0702d3593c Translated using Weblate (Russian)
Currently translated at 99.9% (1833 of 1834 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/ru/
2020-08-12 17:54:23 +00:00
Marcelo Filho
7efccab2af Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (1834 of 1834 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/pt_BR/
2020-08-12 17:54:22 +00:00
AmirAli Akbari
e364c78cc7 Translated using Weblate (Persian)
Currently translated at 32.3% (593 of 1834 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/fa/
2020-08-12 17:54:00 +00:00
call_xz
e27632e253 Translated using Weblate (Japanese)
Currently translated at 48.4% (888 of 1834 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/ja/
2020-08-12 17:54:00 +00:00
random
93f2724f68 Translated using Weblate (Italian)
Currently translated at 100.0% (1834 of 1834 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/it/
2020-08-12 17:53:53 +00:00
@a2sc:matrix.org
1e56c70d6a Translated using Weblate (German)
Currently translated at 99.9% (1833 of 1834 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/de/
2020-08-12 17:53:45 +00:00
Priit Jõerüüt
d836f9d1f8 Translated using Weblate (Estonian)
Currently translated at 39.4% (723 of 1834 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/et/
2020-08-12 17:53:42 +00:00
Thomas Lee
d82d14c629 Translated using Weblate (Esperanto)
Currently translated at 25.3% (464 of 1834 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/eo/
2020-08-12 17:53:30 +00:00
linsui
547f5634e5 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (1834 of 1834 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/zh_Hans/
2020-08-12 17:53:25 +00:00
Akarshan Biswas
9dd61c2004 Translated using Weblate (Bengali (India))
Currently translated at 57.3% (1051 of 1834 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/bn_IN/
2020-08-12 17:53:14 +00:00
Benoit Marty
bc3d7bdfc4 Merge pull request #1883 from vector-im/feature/confirm_call
Give user the possibility to prevent accidental call (#1869)
2020-08-12 11:54:58 +02:00
Benoit Marty
80d5368d75 Merge pull request #1898 from vector-im/feature/fix_crash
Fix crash reported by RageShake
2020-08-12 11:53:54 +02:00
Benoit Marty
ab9950ee73 Fix crash reported by RageShake 2020-08-12 10:49:54 +02:00
Yihong Gao
11ec53bcfc Translated using Weblate (Chinese (Simplified))
Currently translated at 91.8% (1683 of 1834 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/zh_Hans/
2020-08-12 02:45:37 +00:00
linsui
ca38d4ce70 Translated using Weblate (Chinese (Simplified))
Currently translated at 91.8% (1683 of 1834 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/zh_Hans/
2020-08-12 02:45:35 +00:00
@a2sc:matrix.org
311eeb9260 Added translation using Weblate (Kurdish) 2020-08-11 22:24:49 +00:00
Benoit Marty
98aeee9c5a Merge pull request #1803 from czeidler/relative-date-time-formatter
Relative date time formatter #822
2020-08-11 12:45:49 +02:00
Benoit Marty
7b017e4328 Ensure we will always use Context#getSystemService extension function provided by core-ktx 2020-08-11 12:42:32 +02:00
Benoit Marty
b18a8744b2 Merge pull request #1702 from johnjohndoe/system-service
Use Context#getSystemService extension function provided by core-ktx.
2020-08-11 12:37:23 +02:00
Benoit Marty
247a34438b Merge pull request #1880 from vector-im/feature/theme_cleanup
Feature/theme cleanup
2020-08-11 10:41:38 +02:00
Benoit Marty
ebc7db2bc2 Update issue templates 2020-08-11 09:45:47 +02:00
rkfg
0f0f6b90dc Translated using Weblate (Russian)
Currently translated at 98.2% (1801 of 1834 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/ru/
2020-08-11 07:01:37 +00:00
Artyom
c17297ad15 Translated using Weblate (Russian)
Currently translated at 98.2% (1801 of 1834 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/ru/
2020-08-11 07:01:36 +00:00
Tobias Preuss
40f8e6061f Use "Context#getSystemService" extension function provided by "core-ktx".
+ Re-use local variable where possible.
2020-08-09 16:16:06 +02:00
aevw
0ab2f62e28 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (1834 of 1834 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/pt_BR/
2020-08-07 22:29:50 +00:00
Marcelo Filho
9bca325e07 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (1834 of 1834 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/pt_BR/
2020-08-07 22:29:50 +00:00
aevw
eb01c0c016 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (1834 of 1834 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/pt_BR/
2020-08-07 20:33:23 +00:00
Marcelo Filho
a76e222cb5 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (1834 of 1834 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/pt_BR/
2020-08-07 20:33:23 +00:00
Marcelo Filho
ebe43497d5 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (1834 of 1834 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/pt_BR/
2020-08-07 19:44:16 +00:00
aevw
f181f4e449 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (1834 of 1834 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/pt_BR/
2020-08-07 19:44:16 +00:00
Artyom
d144dcf7d9 Translated using Weblate (Russian)
Currently translated at 100.0% (235 of 235 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.riot.im/projects/element-android/element-sdk/ru/
2020-08-07 14:42:27 +00:00
rkfg
0e6d296c87 Translated using Weblate (Russian)
Currently translated at 90.6% (1662 of 1834 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/ru/
2020-08-07 14:42:26 +00:00
Artyom
6dbefb212e Translated using Weblate (Russian)
Currently translated at 90.6% (1662 of 1834 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/ru/
2020-08-07 14:42:26 +00:00
Alexey Murz Korepov
e11bd9436b Translated using Weblate (Russian)
Currently translated at 90.6% (1662 of 1834 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/ru/
2020-08-07 14:42:24 +00:00
aevw
61373e6e8e Translated using Weblate (Portuguese (Brazil))
Currently translated at 92.0% (1688 of 1834 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/pt_BR/
2020-08-07 14:42:23 +00:00
Marcelo Filho
aa7a0abad7 Translated using Weblate (Portuguese (Brazil))
Currently translated at 92.0% (1688 of 1834 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/pt_BR/
2020-08-07 14:42:22 +00:00
Benoit Marty
c9d7559f03 Translated using Weblate (French)
Currently translated at 100.0% (1 of 1 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.riot.im/projects/element-android/element-store/fr/
2020-08-07 14:42:21 +00:00
Priit Jõerüüt
a6b7a65dfb Translated using Weblate (Estonian)
Currently translated at 30.1% (552 of 1834 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/et/
2020-08-07 14:42:21 +00:00
Xidorn Quan
a0ecb6ecc2 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (235 of 235 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.riot.im/projects/element-android/element-sdk/zh_Hans/
2020-08-07 14:42:12 +00:00
linsui
3eb12ab116 Translated using Weblate (Chinese (Simplified))
Currently translated at 78.9% (1447 of 1834 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/zh_Hans/
2020-08-07 14:42:11 +00:00
Marcelo Filho
84a6d4a592 Translated using Weblate (Portuguese (Brazil))
Currently translated at 91.3% (1675 of 1834 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/pt_BR/
2020-08-07 06:25:04 +00:00
aevw
66a7802e1b Translated using Weblate (Portuguese (Brazil))
Currently translated at 91.3% (1675 of 1834 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/pt_BR/
2020-08-07 06:25:04 +00:00
Benoit Marty
fc510e86f7 ktlint 2020-08-06 17:20:14 +02:00
Xidorn Quan
0901075c9f Translated using Weblate (Chinese (Simplified))
Currently translated at 72.3% (1326 of 1834 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/zh_Hans/
2020-08-06 10:14:45 +00:00
linsui
6bb5835bea Translated using Weblate (Chinese (Simplified))
Currently translated at 72.3% (1326 of 1834 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/zh_Hans/
2020-08-06 10:14:44 +00:00
rkfg
0dd4563217 Translated using Weblate (Russian)
Currently translated at 100.0% (235 of 235 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.riot.im/projects/element-android/element-sdk/ru/
2020-08-06 03:43:04 +00:00
Artyom
2b91482ec4 Translated using Weblate (Russian)
Currently translated at 88.7% (1626 of 1834 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/ru/
2020-08-06 03:43:04 +00:00
rkfg
4ca0a5acae Translated using Weblate (Russian)
Currently translated at 88.7% (1626 of 1834 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/ru/
2020-08-06 03:42:55 +00:00
Marcelo Filho
b90be98679 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (235 of 235 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.riot.im/projects/element-android/element-sdk/pt_BR/
2020-08-06 03:42:54 +00:00
aevw
2c16fc467b Translated using Weblate (Portuguese (Brazil))
Currently translated at 62.5% (1146 of 1834 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/pt_BR/
2020-08-06 03:42:51 +00:00
Marcelo Filho
87084e5065 Translated using Weblate (Portuguese (Brazil))
Currently translated at 62.5% (1146 of 1834 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/pt_BR/
2020-08-06 03:42:38 +00:00
random
f0f0fcf9ba Translated using Weblate (Italian)
Currently translated at 94.8% (1739 of 1834 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/it/
2020-08-06 03:42:36 +00:00
@a2sc:matrix.org
8ef97e9dc6 Translated using Weblate (German)
Currently translated at 99.1% (233 of 235 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.riot.im/projects/element-android/element-sdk/de/
2020-08-06 03:42:33 +00:00
aWeinzierl
dedc183e75 Translated using Weblate (German)
Currently translated at 99.1% (233 of 235 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.riot.im/projects/element-android/element-sdk/de/
2020-08-06 03:42:33 +00:00
@a2sc:matrix.org
d301a3e5d3 Translated using Weblate (German)
Currently translated at 99.9% (1832 of 1834 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/de/
2020-08-06 03:42:32 +00:00
Priit Jõerüüt
199e3165f2 Translated using Weblate (Estonian)
Currently translated at 100.0% (235 of 235 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.riot.im/projects/element-android/element-sdk/et/
2020-08-06 03:42:31 +00:00
Priit Jõerüüt
1c66705c5a Translated using Weblate (Estonian)
Currently translated at 21.6% (397 of 1834 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/et/
2020-08-06 03:42:30 +00:00
Jeff Huang
ac86a8948e Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (235 of 235 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.riot.im/projects/element-android/element-sdk/zh_Hant/
2020-08-06 03:42:21 +00:00
Jeff Huang
2e8f87b80d Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (1834 of 1834 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/zh_Hant/
2020-08-06 03:42:20 +00:00
linsui
a708a93f3e Translated using Weblate (Chinese (Simplified))
Currently translated at 74.5% (175 of 235 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.riot.im/projects/element-android/element-sdk/zh_Hans/
2020-08-06 03:42:13 +00:00
linsui
2ef4e9c378 Translated using Weblate (Chinese (Simplified))
Currently translated at 68.0% (1248 of 1834 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/zh_Hans/
2020-08-06 03:42:13 +00:00
Benoit Marty
b8b8a12035 Update issue templates 2020-08-05 22:05:13 +02:00
Benoit Marty
087c5cb77c Update issue templates 2020-08-05 22:02:57 +02:00
Benoit Marty
02baf824f9 Give user the possibility to prevent accidental call (#1869) 2020-08-05 19:59:25 +02:00
Benoit Marty
b833198a3a Rework text selector 2020-08-05 19:34:19 +02:00
Benoit Marty
06d927a911 Rework tabbar style 2020-08-05 19:26:00 +02:00
Benoit Marty
7ab55d46c0 No need to overide with same value 2020-08-05 18:55:57 +02:00
Benoit Marty
8e81d6fe01 Rework attrs riotx_highlighted_message_background 2020-08-05 18:54:13 +02:00
Benoit Marty
85e6ef40a1 Rework attrs vctr_line_divider and vctr_pill_receipt 2020-08-05 18:49:22 +02:00
Benoit Marty
e1db7630d9 Remove unused resources 2020-08-05 18:35:09 +02:00
Benoit Marty
a343e25785 Remove useless method now that we are on API 21+ 2020-08-05 18:30:37 +02:00
Benoit Marty
0ad059359f R.drawable.vector_label_background for API 21 2020-08-05 18:27:59 +02:00
Benoit Marty
20336af84e R.drawable.bg_unread_notification for API 21 2020-08-05 18:21:13 +02:00
Benoit Marty
0a775444dd R.drawable.divider_horizontal for API 21 2020-08-05 18:19:20 +02:00
Benoit Marty
7fe30e464d Remove unused png 2020-08-05 18:12:10 +02:00
aWeinzierl
9c1e61992a Translated using Weblate (German)
Currently translated at 99.7% (1828 of 1834 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/de/
2020-08-05 12:33:25 +00:00
@a2sc:matrix.org
d41036f861 Translated using Weblate (German)
Currently translated at 99.7% (1828 of 1834 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.riot.im/projects/element-android/element-app/de/
2020-08-05 12:33:15 +00:00
Clemens Zeidler
159881645c Add change log entry 2020-08-05 21:04:26 +12:00
Clemens Zeidler
5e711f6c57 Fix relative date time formatting (#822)
The transitionResolution parameter has to go back to the beginning of
the day. In general, going back 24h is not enough.
2020-08-05 20:59:56 +12:00
Benoit Marty
16f80f35dd Remove unused resources 2020-08-04 17:31:14 +02:00
Benoit Marty
188aec9fc4 Remove unused attrs 2020-08-04 17:22:05 +02:00
Benoit Marty
deeb0d3303 Update Weblate URL to the brand new Weblate project 2020-08-04 14:58:52 +02:00
Benoit Marty
7a215d94d8 Merge pull request #1872 from vector-im/feature/weblate_element
Weblate for element
2020-08-04 12:45:00 +02:00
Benoit Marty
cf7770e47e Remove unused strings 2020-08-04 11:04:36 +02:00
Benoit Marty
6a8ac72b6a Remove riot ref 2020-08-04 09:13:29 +02:00
Benoit Marty
95bbdba141 Rework settings_notification_advanced_summary string 2020-08-04 09:13:29 +02:00
Benoit Marty
1ddeeba561 Little rework of default session public name 2020-08-04 09:13:29 +02:00
Benoit Marty
e95735c491 Remove unused strings 2020-08-04 09:12:16 +02:00
Benoit Marty
fa49e5cb4f Rename string id 2020-08-04 09:12:16 +02:00
Benoit Marty
a48302f433 Remove PlayStore strings from Android resource 2020-08-04 09:12:16 +02:00
Benoit Marty
ad1b2b4511 Add PlayStore description resources in the Triple-T format, to let Weblate handle them 2020-08-04 09:12:16 +02:00
Benoit Marty
0127339eac Merge pull request #1870 from vector-im/feature/rename_package
Rename packages
2020-08-04 09:11:38 +02:00
Benoit Marty
ab4a517ae0 Cleanup 2020-08-03 18:50:04 +02:00
Benoit Marty
8931fd314d Rename package im.vector.riotx to im.vector.app (other manual changes) 2020-08-03 18:48:20 +02:00
Benoit Marty
05b849de13 Rename package im.vector.riotx to im.vector.app (IDE, other variants) 2020-08-03 18:46:29 +02:00
Benoit Marty
a1f90abcd2 Rename package im.vector.riotx to im.vector.app (IDE) 2020-08-03 18:46:29 +02:00
Benoit Marty
67fc2feacb Rename package im.vector.riotx.multipicker to im.vector.lib.multipicker 2020-08-03 18:35:02 +02:00
Benoit Marty
d28c091f0a Rename package im.vector.riotx.attachmentviewer to im.vector.lib.attachmentviewer 2020-08-03 18:35:02 +02:00
Benoit Marty
b4af59728c Merge pull request #1867 from vector-im/feature/cleanup_after_ooo
Small cleanup, also to be aware of all the changes that occurred during my holidays.
2020-08-03 17:47:26 +02:00
Benoit Marty
025d5f7b4c Code readability 2020-08-03 17:33:24 +02:00
Benoit Marty
d531e88666 Key is private 2020-08-03 17:33:24 +02:00
Benoit Marty
ac845ad8c9 Hide Flair settings, this is not implemented yet. 2020-08-03 17:33:24 +02:00
Benoit Marty
ace7ff464b Banned users: use the counter as the title 2020-08-03 17:33:24 +02:00
Benoit Marty
562c6fbcce Naming convention 2020-08-03 17:33:24 +02:00
Benoit Marty
8cc12fb8d4 Only one token per request is possible so use header instead of addHeader 2020-08-03 17:33:24 +02:00
Benoit Marty
4cbb2f7d9d Cleanup 2020-08-03 17:33:24 +02:00
Benoit Marty
18c0f53764 Format 2020-08-03 17:33:24 +02:00
Benoit Marty
64d000ec53 Update PULL_REQUEST_TEMPLATE.md 2020-08-03 17:29:07 +02:00
Benoit Marty
8e84c099fa Merge pull request #1747 from vulet/develop
fix: invisible toolbar(status.im theme)
2020-08-03 16:59:30 +02:00
Benoit Marty
707b69e3e2 Merge branch 'develop' into develop 2020-08-03 16:58:52 +02:00
Valere
33f6e7e337 Version ++ 2020-08-03 14:04:31 +02:00
Valere
ee1d5faf0d Merge branch 'hotfix/fix_crash_invite_user' 2020-08-03 14:01:27 +02:00
Valere
9178fd2b5c Merge branch 'hotfix/fix_crash_invite_user' into develop 2020-08-03 14:01:27 +02:00
Valere
69e499e497 Merge hotfix 2020-08-03 14:00:32 +02:00
Valere
7308c4a15c Merge branch 'hotfix/fix_crash_before_release' 2020-08-03 12:23:55 +02:00
Valere
1370ca7082 Merge branch 'hotfix/fix_crash_before_release' into develop 2020-08-03 12:23:55 +02:00
Valere
db6045778e Update change log 2020-08-03 12:11:50 +02:00
Valere
2810923519 FIx / Crash when opening Invite User screen 2020-08-03 12:00:08 +02:00
ganfra
7f326abcd0 Merge pull request #1844 from vector-im/feature/pin_code
Feature/pin code
2020-07-31 11:51:39 +02:00
ganfra
acf977577f Pin: clean code 2020-07-31 11:47:51 +02:00
ganfra
995c552f2a Merge branch 'develop' into feature/pin_code 2020-07-31 11:41:42 +02:00
ganfra
99ae1655f5 Pin: fix PopupAlertManager showing on top of PinCode 2020-07-31 11:34:24 +02:00
ganfra
7e45fe4509 Pin: add comment on UnlockActivity interface 2020-07-31 11:33:25 +02:00
Valere
531623178a Version ++ 2020-07-31 00:52:22 +02:00
Valere
7fddfa45e8 Merge branch 'release/1.0.3' 2020-07-31 00:02:02 +02:00
Valere
2b2fd3a356 Merge branch 'release/1.0.3' into develop 2020-07-31 00:02:02 +02:00
Valere
258acaf814 Prepare release 1.0.3 2020-07-31 00:01:33 +02:00
ganfra
a883d3ecdd Merge branch 'develop' into feature/pin_code 2020-07-30 18:49:13 +02:00
Valere
2f6cdc6529 Merge pull request #1847 from vector-im/feature/crash_store_mvrx
Fix IllegalArgumentException reported from store on HomeActivity aunch
2020-07-30 18:07:11 +02:00
Valere
1f226ca6c7 Merge pull request #1845 from vector-im/feature/admin_e2e_config
Feature/admin e2e config
2020-07-30 18:06:27 +02:00
ganfra
9475cb3b39 Update CHANGES 2020-07-30 17:25:49 +02:00
ganfra
eb0d350097 Merge branch 'develop' into feature/pin_code 2020-07-30 17:24:48 +02:00
Valere
c90f5ed370 Fix IllegalArgumentException reported from store on HomeActivity aunch 2020-07-30 17:03:11 +02:00
Valere
ccb466edbe Update change log 2020-07-30 16:57:25 +02:00
Valere
1204f6d9ce UX feedback, reduce severity of message 2020-07-30 15:25:10 +02:00
ganfra
efa1263c35 Pin: set back the grace period to 2 minutes 2020-07-30 15:22:41 +02:00
ganfra
06bd353d44 Pin: polish a bit and clean code 2020-07-30 14:58:46 +02:00
Valere
562cfce9e2 Support HS admin option to disable E2EE for DMs
Fixes #1794
2020-07-30 12:08:30 +02:00
ganfra
bb066b7c65 Add PinLocker to handle lock state 2020-07-29 20:19:01 +02:00
ganfra
37521d2d4f Pin: add settings to enable/disable 2020-07-29 16:11:57 +02:00
Valere
b732ea6c69 Version ++ 2020-07-29 11:39:23 +02:00
ganfra
5426e43cbb Create PinCodeStore and migrate code to fragment 2020-07-29 11:38:04 +02:00
Valere
a048f79b37 Merge branch 'release/1.0.2' 2020-07-29 10:46:54 +02:00
Valere
3214f7d3d5 Merge branch 'release/1.0.2' into develop 2020-07-29 10:46:54 +02:00
Valere
06ef665f66 prepare release 1.0.2 2020-07-29 10:33:55 +02:00
Valere
e1a07f1da6 Merge pull request #1838 from vector-im/feature/session_store_migration
Feature/session store migration
2020-07-29 10:31:14 +02:00
Valere
5c32c7388a cleaning 2020-07-29 09:51:50 +02:00
Valere
c04f22d3bf quick fix plural 2020-07-29 09:51:20 +02:00
Valere
cbf43ea7b3 Session store migration 2020-07-29 09:50:12 +02:00
Valere
9197275343 version++ 2020-07-29 09:00:29 +02:00
ganfra
ecdef52829 Continue PIN code library integration (fork required) 2020-07-28 20:22:59 +02:00
Valere
cc4298209b Merge branch 'release/1.0.1' 2020-07-28 18:03:37 +02:00
Valere
f26ce64914 Merge branch 'release/1.0.1' into develop 2020-07-28 18:03:36 +02:00
Valere
e3f5b7cab3 Prepare release 1.0.1 2020-07-28 18:02:51 +02:00
ganfra
cd38aa42aa Merge branch 'develop' into feature/pin_code 2020-07-28 17:49:36 +02:00
Valere
dde9cdd8ac Merge pull request #1821 from vector-im/feature/notification_off_alert
Check if migration disabled notif
2020-07-28 17:04:15 +02:00
Valere
0d0308d584 Merge pull request #1802 from vector-im/feature/fix_reply_tag
Feature/fix reply tag
2020-07-28 16:58:10 +02:00
Valere
a47ff99be7 Merge branch 'develop' into feature/fix_reply_tag 2020-07-28 16:58:00 +02:00
Valere
e619217687 Code quality 2020-07-28 16:56:55 +02:00
Valere
6f5b3371fe Check if migration disabled notif 2020-07-28 16:56:55 +02:00
Valere
f7b9fc3bb1 Merge pull request #1826 from vector-im/feature/banned_list
Added banned user screen
2020-07-28 16:53:58 +02:00
ganfra
700a2e9ce3 Merge pull request #1832 from vector-im/feature/fix_timeline_loading
Fix timeline non loading when there are lots of filtered events
2020-07-28 16:30:57 +02:00
ganfra
5176a3e2aa Merge branch 'develop' into feature/fix_timeline_loading 2020-07-28 16:30:34 +02:00
Valere
4631cd0e80 Merge pull request #1831 from vector-im/feature/quick_call_update
Allow call in all 2 participants rooms
2020-07-28 16:24:22 +02:00
Valere
60c6512418 Fix / item flickering 2020-07-28 16:23:21 +02:00
Valere
12bc821ef3 code review 2020-07-28 16:23:21 +02:00
Valere
c82e910c38 Added banned user screen 2020-07-28 16:23:21 +02:00
ganfra
7ae0620b20 Update CHANGES 2020-07-28 15:09:45 +02:00
Valere
de32cdb703 Merge pull request #1828 from vector-im/feature/improve_edit_role_button
Improve UI of edit role button
2020-07-28 14:46:54 +02:00
Valere
12e2a8ffc8 Allow call in all 2 participants rooms 2020-07-28 14:43:50 +02:00
ganfra
833f64fcec Fix timeline non loading when there are lots of filtered events 2020-07-28 11:49:45 +02:00
Valere
73c051d2b1 Improve UI of edit role button 2020-07-28 11:35:37 +02:00
ganfra
da06695ab7 Relation content should be checked in encrypted content and not the decrypted one 2020-07-24 18:31:01 +02:00
Onuray Sahin
984ffc4fb9 Merge pull request #1797 from vector-im/feature/fix_rebranding_assets
Fix rebranding assets on login screens
2020-07-24 15:16:02 +03:00
ganfra
a19a3f2a7f Merge branch 'develop' into feature/pin_code 2020-07-24 11:35:38 +02:00
ganfra
d7b44ba0cf Merge branch 'develop' into feature/fix_reply_tag 2020-07-24 11:32:59 +02:00
ganfra
e90fe5cf28 Update CHANGES 2020-07-24 11:31:47 +02:00
ganfra
20c7d80bb1 Clean code 2020-07-24 11:30:27 +02:00
ganfra
25f8a9418a Merge pull request #1783 from vector-im/feature/sending_retry
Feature/sending retry
2020-07-24 10:35:24 +02:00
onurays
21b609420b ktlint fix. 2020-07-24 03:00:06 +03:00
ganfra
794b89c041 Reply: remove inner tags when replying 2020-07-23 18:23:49 +02:00
ganfra
407595e613 Change warning badge (white background) 2020-07-23 16:38:42 +02:00
ganfra
cac8099117 Local echo: use missing updateSendingInformation on RoomSummaryUpdater 2020-07-23 16:38:17 +02:00
onurays
4cc3e87d64 Fix rebranding assets on login screens. 2020-07-23 15:02:40 +03:00
ganfra
3e429490e7 Update CHANGES 2020-07-22 17:04:48 +02:00
ganfra
e23b02f2e2 Composer: set max lines to 6 so it can scroll 2020-07-22 16:02:38 +02:00
ganfra
aa5ae45a0c Add hasFailedSending in RoomSummary and a small warning icon on room list 2020-07-22 15:21:48 +02:00
ganfra
d7558902f7 Sending: limit to 3 retry before failing 2020-07-22 11:12:37 +02:00
ganfra
aa5de1896f Merge pull request #1766 from vector-im/feature/fix_annoying_issues
Fix post Element release issues
2020-07-21 16:43:26 +02:00
ganfra
e5596f6a97 Use Any instead of JsonDict so users won't loose ignored users 2020-07-21 10:43:52 +02:00
ganfra
d638306b04 Merge pull request #1703 from vector-im/feature/md_files
Riot -> Element
2020-07-21 10:08:07 +02:00
ganfra
dba9356472 Merge pull request #1714 from vector-im/feature/deactivated_account
i18n deactivated account error
2020-07-21 08:14:10 +02:00
ganfra
fb247f8bea Update CHANGES and clean code 2020-07-20 20:29:52 +02:00
ganfra
c880e2b848 Fix Requesting avatar thumbnails in Element uses wrong http "user-agent" string #1725 2020-07-20 20:24:04 +02:00
ganfra
1436477a14 Rework a bit user account data (and avoid blocking syncs) 2020-07-20 19:52:24 +02:00
ganfra
35fe4f7268 Fix modular link to EMS 2020-07-20 18:47:41 +02:00
ganfra
a488e88f93 Add reaction to RoomSummary latest previewable event 2020-07-20 16:49:05 +02:00
ganfra
0d51c160eb Should fix realm crash loop 2020-07-20 16:43:39 +02:00
vulet
f5b584ddb8 fix: invisible toolbar(status.im theme) 2020-07-20 00:15:45 +08:00
ganfra
27207a27ae Fix "uploads don't work with Room v6" #1558 2020-07-17 20:33:47 +02:00
Benoit Marty
5082defddf i18n deactivated account error 2020-07-17 17:23:48 +02:00
ganfra
c5f06386bd Continue trying to configure Pin library, stil WIP 2020-07-17 17:13:50 +02:00
ganfra
6e0095edb0 Feature/fix notification clearing (#1707)
Updating notification when entering a room
2020-07-17 13:31:36 +02:00
ganfra
f5fbb2bc4f Setup screens for Pin 2020-07-17 13:29:18 +02:00
Benoit Marty
d78cd81c6f Cleanup strings.xml 2020-07-16 19:21:02 +02:00
Benoit Marty
ef93ef57f9 Replace Riot -> Element in documentation 2020-07-16 19:19:31 +02:00
Benoit Marty
a600e896a0 Update Contributing file after the release of Element 2020-07-16 19:14:20 +02:00
Benoit Marty
993c340c4f Update Authors file after the release of Element 2020-07-16 19:11:33 +02:00
Benoit Marty
87f506f23b Update Readme file after the release of Element 2020-07-16 19:10:52 +02:00
Benoit Marty
44fb53ce6b Merge pull request #1701 from vector-im/feature/riotx_remaining
RiotX -> Element
2020-07-16 18:56:44 +02:00
Benoit Marty
1d2e374526 RiotX -> Element 2020-07-16 16:01:25 +02:00
Benoit Marty
5c423d2897 RiotX -> Element 2020-07-15 20:21:58 +02:00
Benoit Marty
6d0a1ee824 SSO Login: use "element://element" url instead of "riotx://riotx" 2020-07-15 20:21:35 +02:00
Benoit Marty
978ab76644 Merge pull request #1694 from vector-im/feature/improve_splash
Improve splash screen
2020-07-15 20:15:47 +02:00
Benoit Marty
da4e3f3b9c Merge pull request #1693 from vector-im/feature/fix_1613
Feature/fix 1613
2020-07-15 16:41:19 +02:00
Benoit Marty
f6d2d05e70 Improve splash screen 2020-07-15 15:08:46 +02:00
Benoit Marty
d747d96e77 Use correct title 2020-07-15 14:49:26 +02:00
Benoit Marty
484b69165b Add rounded light background to fix dark images on dark background issue (#1613) 2020-07-15 14:34:06 +02:00
Benoit Marty
0159e6dc00 Hide the menu item, it's not implemented yet 2020-07-15 14:33:01 +02:00
Benoit Marty
8f7aae4980 Tint the icon (#1613) 2020-07-15 14:33:01 +02:00
Benoit Marty
0f9e26efc5 let instead of also 2020-07-15 14:33:01 +02:00
Benoit Marty
53f0b77fb0 Version++ 2020-07-15 14:32:15 +02:00
Benoit Marty
fca669ff98 Merge branch 'release/1.0.0' 2020-07-15 14:27:24 +02:00
Benoit Marty
e910fc60fe Merge branch 'release/1.0.0' into develop 2020-07-15 14:27:23 +02:00
Benoit Marty
1d2e62fed7 Prepare release 1.0.0 2020-07-15 14:27:08 +02:00
Benoit Marty
7651eb5c3c Revert "Temporary remove the _dev suffix added to version"
This reverts commit 7237ec7310.
2020-07-15 14:14:44 +02:00
Benoit Marty
a06484c260 Merge pull request #1691 from vector-im/rebranding
Rebranding!
2020-07-15 14:13:11 +02:00
Benoit Marty
9b49e6a817 Use local file in a dialog though (else -> crash) 2020-07-13 23:03:16 +02:00
Benoit Marty
bef0c7725b Use openUrlInChromeCustomTab because it's better and it fixes crash on API 21 (at least) 2020-07-13 22:43:19 +02:00
Benoit Marty
7237ec7310 Temporary remove the _dev suffix added to version 2020-07-13 21:50:26 +02:00
Benoit Marty
3abe5b8467 ktlint 2020-07-13 21:38:49 +02:00
Valere
0406854fa5 lighter bottom sheet separator 2020-07-13 19:25:59 +02:00
Valere
ca6a398a72 Update add room icon 2020-07-13 19:25:44 +02:00
Valere
5e81ce8e3e Update tmp lab icon for notif tab 2020-07-13 19:25:35 +02:00
Onuray Sahin
8658090736 Fix tint color of settings. 2020-07-13 20:16:01 +03:00
Onuray Sahin
614ac88567 Create group room icon changed. 2020-07-13 20:06:39 +03:00
Onuray Sahin
797dcdb48b Merge branch 'riotx_develop' into rebranding_rebase
* riotx_develop: (111 commits)
  Video calls are shown as a voice ones in the timeline (Fixes #1676)
  Fix regression: not able to create a room without IS configured (Fixes #1679)
  Fix / view attachment crash + freeze when offline
  Version++
  Prepare release 0.91.5
  Fix test compilation issue
  Fix crash after rebase
  Add TODO
  Copy Javadoc to the API class
  Move internal methods to internal task
  Latest renaming
  Rename CreateRoomParamsInternalBuilder to CreateRoomBodyBuilder for clarity
  Rename CreateRoomParamsBuilder to CreateRoomParams for clarity
  Rename internal class
  Expose other objects in the builder to create a room
  ktlint
  Display threePid invite along with the other invite (code is a bit dirty)
  Hide right arrow if threepid invite can not be revoked
  Disable fetching Msisdn, it does not work
  Revoke ThreePid invitation (#548)
  ...

# Conflicts:
#	vector/build.gradle
#	vector/src/main/java/im/vector/riotx/features/crypto/keys/KeysExporter.kt
#	vector/src/main/res/layout/bottom_sheet_logout_and_backup.xml
#	vector/src/main/res/values/strings.xml
2020-07-13 19:59:20 +03:00
Onuray Sahin
3a696ea9a1 Revert shield icons. 2020-07-13 19:21:22 +03:00
Onuray Sahin
1b19cb7449 Roll back ic_shield_black 2020-07-13 19:18:56 +03:00
Onuray Sahin
ea81a5298b ic_shield_black icon changed. 2020-07-13 18:55:30 +03:00
Onuray Sahin
ae65eb6a3e Advanced Settings icon changed. 2020-07-13 18:39:09 +03:00
Onuray Sahin
67e07a7932 Room action settings and leave icons changed. 2020-07-13 18:33:29 +03:00
Onuray Sahin
6ef15f3c1c ic_star icon changed. 2020-07-13 18:28:05 +03:00
Benoit Marty
0e3be83da2 Merge branch 'rebranding' of https://gitlab.matrix.org/new-vector/element/element-android into rebranding 2020-07-13 17:21:40 +02:00
Benoit Marty
8b5b7db241 Fix icons alignment issue 2020-07-13 17:21:33 +02:00
Onuray Sahin
1fd8a5fa91 Merge branch 'rebranding' of https://gitlab.matrix.org/new-vector/element/element-android into rebranding
* 'rebranding' of https://gitlab.matrix.org/new-vector/element/element-android:
  Icon: "Modular" -> "Element Matrix Services"
2020-07-13 18:11:45 +03:00
Onuray Sahin
34d7a86175 Update attachment and send icons. 2020-07-13 18:10:49 +03:00
Benoit Marty
21f1f89a4b Merge branch 'rebranding' of https://gitlab.matrix.org/new-vector/element/element-android into rebranding 2020-07-13 16:53:48 +02:00
Benoit Marty
159f286b2c Icon: "Modular" -> "Element Matrix Services" 2020-07-13 16:53:26 +02:00
Onuray Sahin
06454cc3e0 Sticker attachment icon changed. 2020-07-13 17:52:09 +03:00
Onuray Sahin
be27b580d6 ic_fab_add_chat icon changed. 2020-07-13 17:40:16 +03:00
Onuray Sahin
f91b6938f5 Remove stroke from shield icons. 2020-07-13 17:35:58 +03:00
Onuray Sahin
a7fea8d012 Relace eye and eye_closed icons. 2020-07-13 17:26:23 +03:00
Onuray Sahin
18bc40fb66 Design review fixes for login screen. 2020-07-13 17:01:48 +03:00
Benoit Marty
1dec4bc96b Wording: "Modular" -> "Element Matrix Services" 2020-07-13 15:49:46 +02:00
Benoit Marty
0e28214b63 Do not display the name change popup for a new installation 2020-07-13 14:23:06 +02:00
Benoit Marty
ca61751a8b Merge pull request #1678 from vector-im/feature/attachement_pager_fix
Fix / view attachment crash + freeze when offline
2020-07-13 11:33:11 +02:00
Benoit Marty
cce1c2252d Merge pull request #1681 from vector-im/feature/other_fixes
Video calls are shown as a voice ones in the timeline (Fixes #1676)
2020-07-13 11:31:38 +02:00
Benoit Marty
6a4d887941 Merge branch 'develop' into feature/other_fixes 2020-07-13 11:31:25 +02:00
Benoit Marty
4de1759321 Merge pull request #1680 from vector-im/feature/fix_create_room
Fix regression: not able to create a room without IS configured (Fixes #1679)
2020-07-13 11:30:47 +02:00
Benoit Marty
139cd051ab Video calls are shown as a voice ones in the timeline (Fixes #1676) 2020-07-13 10:57:52 +02:00
Benoit Marty
33b2abc3b9 Fix regression: not able to create a room without IS configured (Fixes #1679) 2020-07-13 10:46:51 +02:00
Valere
c63128cfbd Fix / view attachment crash + freeze when offline 2020-07-13 09:15:52 +02:00
Benoit Marty
5063188b25 Version++ 2020-07-11 23:00:16 +02:00
Benoit Marty
b9f0c176d9 Merge branch 'release/0.91.5' 2020-07-11 22:58:48 +02:00
Benoit Marty
d09c03bff3 Merge branch 'release/0.91.5' into develop 2020-07-11 22:58:47 +02:00
Benoit Marty
f444595845 Prepare release 0.91.5 2020-07-11 22:58:34 +02:00
Benoit Marty
eedf545409 Merge pull request #1658 from vector-im/feature/3pid_invite
3pid invite
2020-07-11 22:50:08 +02:00
Benoit Marty
aba8a3fed1 Fix test compilation issue 2020-07-11 22:49:29 +02:00
Benoit Marty
68d475dc55 Fix crash after rebase 2020-07-11 22:45:03 +02:00
Benoit Marty
ece9fbd3bb Add TODO 2020-07-11 22:26:21 +02:00
Benoit Marty
602d67155f Copy Javadoc to the API class 2020-07-11 22:25:21 +02:00
Benoit Marty
75ef491e3e Move internal methods to internal task 2020-07-11 22:22:21 +02:00
Benoit Marty
0f327fc75f Latest renaming 2020-07-11 22:17:55 +02:00
Benoit Marty
a456f4c6a5 Rename CreateRoomParamsInternalBuilder to CreateRoomBodyBuilder for clarity 2020-07-11 22:16:35 +02:00
Benoit Marty
e097bd8117 Rename CreateRoomParamsBuilder to CreateRoomParams for clarity 2020-07-11 22:15:26 +02:00
Benoit Marty
ded8acc836 Rename internal class 2020-07-11 22:13:22 +02:00
Benoit Marty
d8a0a1d38e Expose other objects in the builder to create a room 2020-07-11 22:11:15 +02:00
Benoit Marty
e8f28d7ce4 ktlint 2020-07-11 22:11:15 +02:00
Benoit Marty
a58bb776f3 Display threePid invite along with the other invite (code is a bit dirty) 2020-07-11 22:11:15 +02:00
Benoit Marty
4ba1a34f38 Hide right arrow if threepid invite can not be revoked 2020-07-11 22:11:15 +02:00
Benoit Marty
3d68b15e60 Disable fetching Msisdn, it does not work 2020-07-11 22:11:15 +02:00
Benoit Marty
c78bba803c Revoke ThreePid invitation (#548) 2020-07-11 22:11:15 +02:00
Benoit Marty
863c09142f Display three pid invites in the room members list (#548) 2020-07-11 22:11:15 +02:00
Benoit Marty
3142442e5c Load contacts much faster 2020-07-11 22:11:15 +02:00
Benoit Marty
4c1d50d554 Renames package and some other things 2020-07-11 22:11:15 +02:00
Benoit Marty
25e7bbcd79 Handle contacts permission 2020-07-11 22:10:52 +02:00
Benoit Marty
4b3a6a883d CreateRoomParams has been replaced by CreateRoomParamsBuilder, to be able to invite 3pids 2020-07-11 22:10:52 +02:00
Benoit Marty
6c0bb2a949 Add 3Pid to the list. Not compiling, I have to modify CreateRoomParam 2020-07-11 22:08:02 +02:00
Benoit Marty
f714566200 use projection to gain 25% of time 2020-07-11 22:08:02 +02:00
Benoit Marty
327a596de5 Move classes 2020-07-11 22:08:02 +02:00
Benoit Marty
cc4603b61f Rename classes 2020-07-11 22:08:02 +02:00
Benoit Marty
f51568b331 Fix a crash (#548) 2020-07-11 22:08:02 +02:00
Benoit Marty
6ceac578a3 Add checkbox to filter contacts with MatrixId only 2020-07-11 22:08:02 +02:00
Benoit Marty
1c733e6661 Display Contact list (#548)
WIP (#548)

WIP (#548)

WIP (#548)

WIP (#548)

WIP (#548)
2020-07-11 22:08:02 +02:00
Benoit Marty
3842ec6bb0 Invite by msisdn. Error 500 from matrix.org though (#548) 2020-07-11 22:07:14 +02:00
Benoit Marty
ab1d652f17 Invite by email (msisdn not working), command line (#548) 2020-07-11 22:07:14 +02:00
Benoit Marty
70e90d8542 Render third party invite event (#548) 2020-07-11 22:07:14 +02:00
Benoit Marty
39e185576c Merge pull request #1666 from vector-im/feature/tab_notification_labs
Feature/tab notification labs
2020-07-11 22:05:56 +02:00
Benoit Marty
9c402d4d40 Merge pull request #1665 from vector-im/feature/fix_small_issues
Feature/fix small issues
2020-07-11 21:58:11 +02:00
Benoit Marty
37378ca5a6 typo 2020-07-11 21:57:45 +02:00
Benoit Marty
a35749964c Merge branch 'develop' into feature/fix_small_issues 2020-07-11 21:56:07 +02:00
Valere
bbbd45efcd Fix / missing transparency on waiting view background 2020-07-11 20:46:47 +02:00
Valere
246f6bb0d0 update change log 2020-07-11 18:41:08 +02:00
Valere
a08a1d4f74 Merge pull request #1662 from vector-im/feature/manage_4s_setting
4S settings screen
2020-07-11 18:39:33 +02:00
Valere
7acbd42a45 Propose unread tab as a lab setting 2020-07-11 18:38:03 +02:00
Valere
c6a5d05ffb update change log 2020-07-11 17:29:22 +02:00
Valere
36b17e9b8c Fix / missing tint for recovery icon 2020-07-11 17:29:15 +02:00
ganfra
c2cccd8b11 Some changes after benoit's review 2020-07-11 15:26:54 +02:00
ganfra
e7804af2f7 EventInsertLiveObserver: change of delete method (should be faster) 2020-07-11 13:27:49 +02:00
ganfra
0412fabbd2 Clean comment on EventInsertLiveProcessor 2020-07-11 13:24:32 +02:00
Benoit Marty
22959cddb2 Pref is always visible and enabled 2020-07-11 13:24:10 +02:00
Benoit Marty
7193db8344 Try to improve readability 2020-07-11 13:19:43 +02:00
Benoit Marty
352662d19a Rename param 2020-07-11 13:13:44 +02:00
Benoit Marty
1afabb69c1 Cleanup pref 2020-07-11 13:13:08 +02:00
Benoit Marty
6f4ea83fa9 Create allKnown() fun 2020-07-11 13:03:53 +02:00
ganfra
1c17bd9f5a Clean code 2020-07-11 12:57:49 +02:00
Benoit Marty
de5f182f29 Move SecretsSynchronisationInfo to its file
And do some other cleanup
2020-07-11 12:57:20 +02:00
Benoit Marty
aa1843774a Cleanup 2020-07-11 12:50:16 +02:00
Benoit Marty
9e1c30ec5d No need to return the disposable, it is never used 2020-07-11 12:49:54 +02:00
Benoit Marty
31984a57d6 Subscribe to view model is already disposed 2020-07-11 12:46:10 +02:00
ganfra
2f0645a94e Fix left user has no name in db 2020-07-11 12:39:41 +02:00
Valere
c57d41863f 4S settings screen 2020-07-11 12:37:18 +02:00
Benoit Marty
25bbe9c3d6 Merge pull request #1661 from vector-im/feature/create_file_intent
Feature/create file intent
2020-07-11 12:28:15 +02:00
Benoit Marty
c5c3592a4c Merge branch 'develop' into feature/create_file_intent 2020-07-11 12:28:07 +02:00
Benoit Marty
5a8008a4dc Fix bug when restoring key backup with recovery key 2020-07-11 12:26:52 +02:00
Benoit Marty
2c5d2ea179 Improve wording 2020-07-11 12:26:47 +02:00
Benoit Marty
4387fd3327 We do not need write storage permission to create a Txt file with the intent Intent.ACTION_CREATE_DOCUMENT 2020-07-11 12:26:47 +02:00
ganfra
1f2d5b0d00 KeybackupBanner: remove unnecessary animation 2020-07-11 10:48:45 +02:00
ganfra
253582219c Remove EllipsizingTextView as it provokes more issue than it solves 2020-07-10 22:35:51 +02:00
ganfra
3fc9fe3017 Merge branch 'develop' into feature/fix_small_issues 2020-07-10 20:13:47 +02:00
ganfra
e07a584d66 Revert fixing users as it's not the good catch 2020-07-10 20:09:30 +02:00
ganfra
150d44aafd Improve a bit how joining/leaving are handled 2020-07-10 20:08:51 +02:00
Benoit Marty
179474b975 Cleanup 2020-07-10 17:51:57 +02:00
Benoit Marty
825e21362b Merge pull request #1546 from johnjohndoe/styledattributeset
Use Context#withStyledAttributes extension function.
2020-07-10 17:48:39 +02:00
Onuray Sahin
0bc51b2ed8 Change brand name in all strings for all languages. 2020-07-10 18:28:22 +03:00
Benoit Marty
4741169cc7 Merge pull request #1611 from vector-im/feature/okhttp_for_glide
Feature/okhttp for glide
2020-07-10 15:54:31 +02:00
Benoit Marty
a8ad57a9b0 Merge pull request #1648 from vector-im/feature/server_recovery_banner
Feature/server recovery banner
2020-07-10 15:53:58 +02:00
Valere
8582ad6015 Merge pull request #1636 from vector-im/feature/attachement_pager
Feature/attachement pager
2020-07-10 15:47:32 +02:00
Benoit Marty
51898a8109 Create new strings for change translations 2020-07-10 15:06:34 +02:00
Benoit Marty
d63f00851a Rename parameters 2020-07-10 14:43:14 +02:00
Benoit Marty
f179fc523d Give configured OkHttpClient to Glide and BigImageViewer 2020-07-10 14:43:07 +02:00
Benoit Marty
eda29e3fef Add link for WebRTC 2020-07-10 14:43:07 +02:00
Benoit Marty
633548f190 Create ImageManager to be able to (re-)configure the lib 2020-07-10 14:43:07 +02:00
Benoit Marty
811cbb2e20 ActiveSessionHolder to more things related to other @Singleton, and especially some missing cleanup
Such as calling `removeListener()` and `callSignalingService().removeCallListener()`
`Session.configureAndStart()` do less thing now
2020-07-10 14:43:07 +02:00
Benoit Marty
6569ee5d10 Use Set instead of List 2020-07-10 14:42:30 +02:00
Benoit Marty
5f60d7fd3b Session.configureAndStart now handle registering to webRtcPeerConnectionManager... 2020-07-10 14:42:30 +02:00
Benoit Marty
10f8aebde2 Update comment 2020-07-10 14:42:30 +02:00
Valere
ea771476cc Merge remote-tracking branch 'origin/feature/attachement_pager' into feature/attachement_pager 2020-07-10 14:39:22 +02:00
Valere
08bc487f17 klint 2020-07-10 14:39:08 +02:00
Valere
1b6b71ed98 Debounce clicks 2020-07-10 14:38:31 +02:00
Valere
9f2631110e Missing copyrights 2020-07-10 14:38:23 +02:00
Benoit Marty
e8b1e418fa ktlint 2020-07-10 14:37:57 +02:00
Valere
44563e73e2 Merge pull request #1655 from vector-im/feature/push_verif
Send verification request when the device is not new
2020-07-10 14:18:26 +02:00
Onuray Sahin
d3595173b4 Room notification settings icons changed. 2020-07-10 15:14:06 +03:00
Onuray Sahin
14d4b34cee Change event action icons. 2020-07-10 14:54:15 +03:00
Onuray Sahin
538149233b Change timeline call action icons. 2020-07-10 14:43:19 +03:00
Onuray Sahin
bcb203f8e0 Change settings icons. 2020-07-10 14:24:10 +03:00
Onuray Sahin
3c6937ff5a Change status bar icon. 2020-07-10 14:11:34 +03:00
Benoit Marty
6c0f775c4b Cleanup 2020-07-10 13:07:14 +02:00
Benoit Marty
ea3e467dc4 Format 2020-07-10 12:52:54 +02:00
Benoit Marty
5a65eddf59 Cleanup Navigator 2020-07-10 12:48:35 +02:00
Benoit Marty
e979bee920 Format 2020-07-10 12:38:20 +02:00
Benoit Marty
eff08955f1 Fix a11y 2020-07-10 12:37:48 +02:00
Onuray Sahin
9310073c07 Remove unused splash icons. 2020-07-10 13:21:30 +03:00
Benoit Marty
28869f4382 Small cleanup before merge 2020-07-10 12:19:25 +02:00
Onuray Sahin
cd949e9d38 Fix bottom sheet divider colors. 2020-07-10 13:11:23 +03:00
Onuray Sahin
541e1fc4cc Change file names with the new brand. 2020-07-10 13:11:01 +03:00
Onuray Sahin
93fe00a299 Merge branch 'develop' into rebranding_rebase
* develop: (123 commits)
  Fixes #1647 share not working
  Put xmx to 2048m
  Update changelog after PR merged
  Version++
  Prepare release 0.91.04-beta
  Add the new value to the ViewEvent, because the state is maybe not up to date.
  Fix lint error, following the upgrade of the libs
  Revert to gradle build 3.5.3
  Clean code
  Fix leaving selected group
  QuickFix / crash when  starting in airplane mode
  Group: rework a bit how and when we fetch data about groups
  EventInsert: add InsertType to avoid trying to process events we shouldn't
  Upload device keys only once to the homeserver and fix crash when no network (#1629)
  Upgrade some dependencies
  Add a delay to avoid crash. Sounds like a workaround...
  Handle certificate error in case of Direct Login
  Handle JobCancellationException
  Simplify the server selection screen: remove the "Continue" button
  Re-activate Wellknown support with updated UI (#1614)
  ...

# Conflicts:
#	vector/build.gradle
#	vector/src/main/res/values/strings.xml
2020-07-10 13:05:52 +03:00
ganfra
8814364497 Invite: we shouldn't be able to open room details 2020-07-10 11:32:28 +02:00
Onuray Sahin
0d9ff4bde3 Add branch name to login splash screen. 2020-07-10 12:04:48 +03:00
ganfra
9c595b6c02 Fix "Leave room only leaves the current version" 2020-07-10 08:54:41 +02:00
ganfra
d49d0295a2 Send verification request when the device is not new 2020-07-09 18:31:09 +02:00
ganfra
da7c971927 Fragments: use commitTransaction instead of commitNow 2020-07-09 17:46:59 +02:00
ganfra
548879bd9f Fix encryption enabling visible for all users 2020-07-09 17:20:51 +02:00
Valere
0c2516ccf8 line too long 2020-07-09 15:47:59 +02:00
Valere
332f227bc1 Signout to setup 4S 2020-07-09 15:45:58 +02:00
Valere
a98b2ecce3 Set server backup banner 2020-07-09 15:45:58 +02:00
Valere
195e2703b9 Support open from upload media tab 2020-07-09 15:22:34 +02:00
Onuray Sahin
c1f1620624 Disclaimer dialog is updated. 2020-07-09 15:17:17 +03:00
Onuray Sahin
f5284e8447 previously-riot url added to use in disclaimer dialog. 2020-07-09 15:15:27 +03:00
Onuray Sahin
347cf08861 Update settings urls. 2020-07-09 13:46:27 +03:00
Onuray Sahin
540317639a Change slogan. 2020-07-09 12:51:29 +03:00
Onuray Sahin
bdcd96544e Use bigger logo at loading screen. 2020-07-09 12:48:45 +03:00
Onuray Sahin
8237c949f1 Change logo in login screen. 2020-07-09 12:27:28 +03:00
Valere
e38cb7c1a6 Unwanted logs 2020-07-09 10:16:38 +02:00
Valere
868d9cf55c Cleaning (remove audio and file as not supported yet) 2020-07-09 10:11:10 +02:00
Valere
aa3e68f3fd Refactoring
Remove glide dependency + protect against cell reuse bugs
2020-07-09 10:08:55 +02:00
Valere
bf2d937ad6 Basic video seekTo support 2020-07-09 08:59:06 +02:00
Valere
e24d5b3ca4 Simple play/pause overlay 2020-07-08 22:58:27 +02:00
Valere
e9778d6feb Video stop/resume when paging or bg/fg 2020-07-08 22:41:17 +02:00
Valere
8c4c909f44 share action 2020-07-08 22:27:00 +02:00
Valere
a1db8653ab Basic Video Support 2020-07-08 20:09:55 +02:00
Valere
cc5df1e1d5 Update change log 2020-07-08 20:09:55 +02:00
Valere
87b1394e98 Code cleaning 2020-07-08 20:09:55 +02:00
Valere
e3c2af2c59 Code cleaning 2020-07-08 20:09:55 +02:00
Valere
a618a9214e Show hide overlay on tap 2020-07-08 20:09:55 +02:00
Valere
76133ab55e Simple overlay 2020-07-08 20:09:55 +02:00
Valere
2d4a728af4 Gif support 2020-07-08 20:09:55 +02:00
Valere
4a2a6d34ae Initial commit 2020-07-08 20:09:55 +02:00
ganfra
75c2dfcd48 Fix user data being affected by local room member event changes 2020-07-08 19:16:22 +02:00
ganfra
6ebedaf540 Update CHANGES 2020-07-08 17:40:37 +02:00
ganfra
85e8e652f1 Fix IM terms of review path 2020-07-08 17:32:54 +02:00
Onuray Sahin
f025811025 Change splash screen icons. 2020-07-08 17:54:51 +03:00
ganfra
3aabb17ea5 Fix timeline pagination when no displayable events 2020-07-08 15:51:00 +02:00
ganfra
f1e5129acb Merge pull request #1651 from vector-im/feature/quick_fix_sharing
Fixes #1647 share not working
2020-07-08 14:56:36 +02:00
ganfra
e8dbed1642 Fix relations on encrypted room 2020-07-08 14:51:15 +02:00
Onuray Sahin
6d270dc5f4 Fix background of bottom sheet generic item. 2020-07-08 13:52:56 +03:00
Onuray Sahin
2afe642e8b Use 48px icon instead of 44px. 2020-07-08 13:02:02 +03:00
Onuray Sahin
680e62cb98 Update application icons. 2020-07-08 12:55:15 +03:00
Valere
c5ba746904 Fixes #1647 share not working 2020-07-08 11:00:13 +02:00
Onuray Sahin
702711fc5e Fix drawer layout colors. 2020-07-08 10:58:24 +03:00
ganfra
0855806ae2 Fix edit being stuck 2020-07-07 22:14:11 +02:00
Benoit Marty
a2c75e7c71 Merge pull request #1640 from vector-im/mv/lower-xmx
Put xmx to 2048m
2020-07-07 14:51:38 +02:00
Mathieu Velten
6f996f1f09 Put xmx to 2048m 2020-07-07 14:23:59 +02:00
Onuray Sahin
ac7a929a1a Fix tint color of add icon. 2020-07-07 15:05:47 +03:00
Onuray Sahin
8313e45737 Use material add icon instead of png. 2020-07-07 13:28:06 +03:00
Onuray Sahin
09ca2361d7 Adjust colors and remove divider between notification settings and leave room action. 2020-07-07 13:12:24 +03:00
Benoit Marty
bcfd322b85 Update changelog after PR merged 2020-07-07 12:00:41 +02:00
Benoit Marty
9dc831d8e5 Merge pull request #1634 from vector-im/feature/db_clean_up
Feature/db clean up
2020-07-07 11:59:28 +02:00
Onuray Sahin
9514835232 Fix bottom sheet backgrounds. 2020-07-07 12:52:28 +03:00
Onuray Sahin
e93a2d7c5d UI review fixes. 2020-07-07 10:35:38 +03:00
Benoit Marty
b2f6476f78 Merge pull request #1631 from vector-im/feature/some_upgrade
Upgrade some dependencies
2020-07-06 23:38:48 +02:00
Benoit Marty
b7d86c3fa4 Merge branch 'develop' into feature/some_upgrade 2020-07-06 23:38:26 +02:00
Benoit Marty
89506b9e81 Version++ 2020-07-06 23:36:14 +02:00
Benoit Marty
9e60f73bcf Merge branch 'release/0.91.4' into develop 2020-07-06 23:31:27 +02:00
Benoit Marty
92e809fa6d Fix lint error, following the upgrade of the libs 2020-07-06 22:05:29 +02:00
Benoit Marty
a0998e4aff Revert to gradle build 3.5.3 2020-07-06 21:53:10 +02:00
ganfra
08cda2ee10 Merge develop into feature/db_clean_up 2020-07-06 19:18:42 +02:00
ganfra
bf03b367f1 Clean code 2020-07-06 19:12:24 +02:00
ganfra
c1da4aecd7 Fix leaving selected group 2020-07-06 19:09:08 +02:00
ganfra
9ebf87df62 Group: rework a bit how and when we fetch data about groups 2020-07-06 18:47:59 +02:00
ganfra
32d2cea7f8 EventInsert: add InsertType to avoid trying to process events we shouldn't 2020-07-06 18:38:30 +02:00
Benoit Marty
9d4e903c4a Upgrade some dependencies 2020-07-06 15:59:49 +02:00
Onuray Sahin
b1c088a03b Update new accent color. 2020-07-06 13:08:06 +03:00
Tobias Preuss
04f0146afd Use Context#withStyledAttributes extension function.
+ This function is more concise and ensures "recycle()" is always invoked.
+ Sources: https://android.googlesource.com/platform/frameworks/support/+/refs/heads/androidx-preference-release/core/core-ktx/src/main/java/androidx/core/content/Context.kt#52
2020-07-04 19:36:17 +02:00
ganfra
7434aed43f Use writeAsync for localEcho 2020-07-03 21:12:27 +02:00
ganfra
283f32479d Rebranch timeline + continue clean up strategy 2020-07-03 21:11:54 +02:00
Onuray Sahin
f4057ea3fa Fix background of drawer layout. 2020-07-03 14:50:33 +03:00
Onuray Sahin
a7480c1860 Change colors according to the new color palette. 2020-07-03 13:36:30 +03:00
ganfra
3648d6292a Merge branch 'develop' into feature/db_clean_up 2020-07-03 10:21:48 +02:00
Onuray Sahin
332041e13b Move some of colors from attrs.xml to colors_riotx.xml 2020-07-02 19:29:45 +03:00
ganfra
2f6b38eb39 Introduce EventInsertEntity to handle db updates 2020-07-02 15:33:06 +02:00
Onuray Sahin
74a3d7619b Handle permalink coming from the new domain. 2020-07-01 22:21:59 +03:00
Onuray Sahin
fc88892ee6 Update bottom navigation and room profile icons. 2020-07-01 22:21:06 +03:00
Onuray Sahin
7aa9f88ceb New string resources created by changing brand name. 2020-07-01 14:43:35 +03:00
ganfra
3db26bcae1 Merge develop into db_clean_up 2020-07-01 09:32:25 +02:00
ganfra
f0dbb92d76 Attempt to clean db [WIP] 2020-06-30 19:45:17 +02:00
Onuray Sahin
08710978c5 Change the rageshake tag. 2020-06-30 15:02:37 +03:00
Onuray Sahin
cba9109206 Rename the application. 2020-06-30 14:52:50 +03:00
Onuray Sahin
482621e86f Set versionName to 1.0.0 2020-06-30 14:34:02 +03:00
3048 changed files with 75698 additions and 44334 deletions

34
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@@ -0,0 +1,34 @@
---
name: Bug report
about: Create a report to help us improve Element
title: ''
labels: ''
assignees: ''
---
**Describe the bug**
A clear and concise description of what the bug is.
**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Expected behavior**
A clear and concise description of what you expected to happen.
**Screenshots**
If applicable, add screenshots to help explain your problem.
**Smartphone (please complete the following information):**
- Device: [e.g. Samsung S6]
- OS: [e.g. Android 6.0]
**Additional context**
- App version and store [e.g. 1.0.0 - F-Droid]
- Homeserver: [e.g. matrix.org]
Add any other context about the problem here.

View File

@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: type:suggestion
assignees: ''
---
**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**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.

10
.github/ISSUE_TEMPLATE/matrix-sdk.md vendored Normal file
View File

@@ -0,0 +1,10 @@
---
name: Matrix SDK
about: Report issue or ask for a feature regarding the Android Matrix SDK
title: "[SDK] "
labels: matrix-sdk
assignees: ''
---
<!-- This issue template should be used by third party application maintainers, to report a bug or to request a feature on the SDK module of the application Element Android-->

View File

@@ -1,10 +1,10 @@
### Pull Request Checklist
<!-- Please read [CONTRIBUTING.md](https://github.com/vector-im/riotX-android/blob/develop/CONTRIBUTING.md) before submitting your pull request -->
<!-- Please read [CONTRIBUTING.md](https://github.com/vector-im/element-android/blob/develop/CONTRIBUTING.md) before submitting your pull request -->
- [ ] Changes has been tested on an Android device or Android emulator with API 16
- [ ] 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/riotX-android/blob/develop/CHANGES.md)
- [ ] Pull request updates [CHANGES.md](https://github.com/vector-im/element-android/blob/develop/CHANGES.md)
- [ ] 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)

View File

@@ -0,0 +1,10 @@
name: "Validate Gradle Wrapper"
on: [push, pull_request]
jobs:
validation:
name: "Validation"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: gradle/wrapper-validation-action@v1

View File

@@ -0,0 +1,18 @@
name: Update Gradle Wrapper
on:
schedule:
- cron: "0 0 * * *"
jobs:
update-gradle-wrapper:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Update Gradle Wrapper
uses: gradle-update/update-gradle-wrapper-action@v1
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
target-branch: develop

View File

@@ -4,7 +4,16 @@
<JetCodeStyleSettings>
<option name="PACKAGES_TO_USE_STAR_IMPORTS">
<value>
<package name="kotlinx.android.synthetic" withSubpackages="true" static="false" />
<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" />

View File

@@ -14,6 +14,7 @@
<w>gplay</w>
<w>hmac</w>
<w>homeserver</w>
<w>jitsi</w>
<w>ktlint</w>
<w>linkified</w>
<w>linkify</w>
@@ -28,6 +29,7 @@
<w>signout</w>
<w>signup</w>
<w>ssss</w>
<w>sygnal</w>
<w>threepid</w>
<w>unwedging</w>
</words>

View File

@@ -1,4 +1,4 @@
A full developer contributors list can be found [here](https://github.com/vector-im/riotX-android/graphs/contributors).
A full developer contributors list can be found [here](https://github.com/vector-im/element-android/graphs/contributors).
# Core team:
@@ -28,8 +28,13 @@ Even if we try to be able to work on all the functionalities, we have more knowl
# Other contributors
First of all, we thank all contributors who use RiotX and report problems on this GitHub project or via the integrated rageshake function.
First of all, we thank all contributors who use Element and report problems on this GitHub project or via the integrated rageshake function.
We do not forget all translators, for their work of translating RiotX into many languages. They are also the authors of RiotX.
We do not forget all translators, for their work of translating Element into many languages. They are also the authors of Element.
Feel free to add your name below, when you contribute to the project!
Name | Matrix ID | GitHub
--------|---------------------|--------------------------------------
gjpower | @gjpower:matrix.org | [gjpower](https://github.com/gjpower)

View File

@@ -1,4 +1,333 @@
Changes in Riot.imX 0.91.4 (2020-XX-XX)
Changes in Element 1.0.10 (2020-11-04)
===================================================
Improvements 🙌:
- Rework sending Event management (#154)
- New room creation screen: set topic and avatar in the room creation form (#2078)
- Toggle Low priority tag (#1490)
- Add option to send with enter (#1195)
- Use Hardware keyboard enter to send message (use shift-enter for new line) (#1881, #1440)
- Edit and remove icons are now visible on image attachment preview screen (#2294)
- Room profile: BigImageViewerActivity now only display the image. Use the room setting to change or delete the room Avatar
- Better visibility of text reactions in dark theme (#1118)
- Room member profile: Add action to create (or open) a DM (#2310)
- Prepare changelog for F-Droid (#2296)
- Add graphic resources for F-Droid (#812, #2220)
- Highlight text in the body of the displayed result (#2200)
- Considerably faster QR-code bitmap generation (#2331)
Bugfix 🐛:
- Fixed ringtone handling (#2100 & #2246)
- Messages encrypted with no way to decrypt after SDK update from 0.18 to 1.0.0 (#2252)
- Incoming call continues to ring if call is answered on another device (#1921)
- Search Result | scroll jumps after pagination (#2238)
- Badly formatted mentions in body (#1506)
- KeysBackup: Avoid using `!!` (#2262)
- Two elements in the task switcher (#2299)
Changes in Element 1.0.9 (2020-10-16)
===================================================
Features ✨:
- Search messages in a room - phase 1 (#2110)
- Hide encrypted history (before user is invited). Can be shown if wanted in developer settings
- Changed rainbow algorithm
Improvements 🙌:
- Wording differentiation for direct rooms (#2176)
- PIN code: request PIN code if phone has been locked
- Small optimisation of scrolling experience in timeline (#2114)
- Allow user to reset cross signing if he has no way to recover (#2052)
- Ability to share text
- Create home shortcut for any room (#1525)
- Can't confirm email due to killing by Android (#2021)
- Add a menu item to open the setting in room list and in room (#2171)
- Add a menu item in the timeline as a shortcut to invite user (#2171)
- Drawer: move settings access and add sign out action (#2171)
- Filter room member (and banned users) by name (#2184)
- Implement "Jump to read receipt" and "Mention" actions on the room member profile screen
- Direct share (#2029)
- Add FAB to room members list (#2226)
- Add Sygnal API implementation to test is Push are correctly received
- Add PushGateway API implementation to test if Push are correctly received
- Cross signing: shouldn't offer to verify with other session when there is not. (#2227)
Bugfix 🐛:
- Improve support for image/audio/video/file selection with intent changes (#1376)
- Fix Splash layout on small screens
- Invalid popup when pressing back (#1635)
- Simplifies draft management and should fix bunch of draft issues (#952, #683)
- Very long topic cannot be fully visible (#1957)
- Properly detect cross signing keys reset
- Don't set presence when handling a push notification or polling (#2156)
- Be robust against `StrandHogg` task injection
- Clear alerts if user sign out
- Fix rows are hidden in Textinput (#2234)
- Uploading a file to a room caused it to have a info.size of -1 (#2141)
Translations 🗣:
- Move store data to `/fastlane/metadata/android` (#812)
- Weblate is now hosted at https://translate.element.io
SDK API changes ⚠️:
- Search messages in a room by using Session.searchService() or Room.search()
Build 🧱:
- Use Update Gradle Wrapper Action
- Updates Gradle Wrapper from 5.6.4 to 6.6.1. (#2193)
- Upgrade kotlin version from `1.3.72` to `1.4.10` and kotlin coroutines version from `1.3.8` to `1.3.9`
- Upgrade build tools from `3.5.3` to `4.0.1`, then to `4.1.0`
- Upgrade com.google.gms:google-services from `4.3.2` to `4.3.4`
- Upgrade Moshi to `1.11.0`, Dagger to `2.29.1`, Epoxy to `4.1.0`
Other changes:
- Added registration/verification automated UI tests
- Create a script to help getting public information form any homeserver
Changes in Element 1.0.8 (2020-09-25)
===================================================
Improvements 🙌:
- Add "show password" in import Megolm keys dialog
- Visually disable call buttons in menu and prohibit calling when permissions are insufficient (#2112)
- Better management of requested permissions (#2048)
- Add a setting to show timestamp for all messages (#2123)
- Use cache for user color
- Allow using an outdated homeserver, at user's risk (#1972)
- Restore small logo on login screens and fix scrolling issue on those screens
- PIN Code Improvements: Add more settings: biometrics, grace period, notification content (#1985)
Bugfix 🐛:
- Long message cannot be sent/takes infinite time & blocks other messages (#1397)
- Fix crash when wellknown are malformed, or redirect to some HTML content (reported by rageshakes)
- User Verification in DM not working
- Manual import of Megolm keys does back up the imported keys
- Auto scrolling to the latest message when sending (#2094)
- Fix incorrect permission check when creating widgets (#2137)
- Pin code: user has to enter pin code twice (#2005)
SDK API changes ⚠️:
- Rename `tryThis` to `tryOrNull`
Other changes:
- Add an advanced action to reset an account data entry
Changes in Element 1.0.7 (2020-09-17)
===================================================
Improvements 🙌:
- Handle date formatting properly (show time am/pm if needed, display year when needed)
- Improve F-Droid Notification (#2055)
Bugfix 🐛:
- Clear the notification when the event is read elsewhere (#1822)
- Speakerphone is not used for ringback tone (#1644, #1645)
- Back camera preview is not mirrored anymore (#1776)
- Various report of people that cannot play video (#2107)
- Rooms incorrectly marked as unread (#588)
- Allow users to show/hide room member state events (#1231)
- Fix stuck on loader when launching home
SDK API changes ⚠️:
- Create a new RawService to get plain data from the server.
Other changes:
- Performance: share Realm instance used on UI thread and improve SharedPreferences reading time.
Changes in Element 1.0.6 (2020-09-08)
===================================================
Features ✨:
- List phone numbers and emails added to the Matrix account, and add emails and phone numbers to account (#44, #45)
Improvements 🙌:
- You can now join room through permalink and within room directory search
- Add long click gesture to copy userId, user display name, room name, room topic and room alias (#1774)
- Fix several issues when uploading big files (#1889)
- Do not propose to verify session if there is only one session and 4S is not configured (#1901)
- Call screen does not use proximity sensor (#1735)
Bugfix 🐛:
- Display name not shown under Settings/General (#1926)
- Editing message forgets line breaks and markdown (#1939)
- Words containing my name should not trigger notifications (#1781)
- Fix changing language issue
- Fix FontSize issue (#1483, #1787)
- Fix bad color for settings icon on Android < 24 (#1786)
- Change user or room avatar: when selecting Gallery, I'm not proposed to crop the selected image (#1590)
- Loudspeaker is always used (#1685)
- Fix uploads still don't work with room v6 (#1879)
- Can't handle ongoing call events in background (#1992)
- Handle room, user and group links by the Element app (#1795)
- Update associated site domain (#1833)
- Crash / Attachment viewer: Cannot draw a recycled Bitmap #2034
- Login with Matrix-Id | Autodiscovery fails if identity server is invalid and Homeserver ok (#2027)
- Support for image compression on Android 10
- Verification popup won't show
- Android 6: App crash when read Contact permission is granted (#2064)
- JSON for verification events leaks in to the room list (#1246)
- Replies to poll appears in timeline as unsupported events during sending (#1004)
Translations 🗣:
- The SDK is now using SAS string translations from [Weblate Matrix-doc project](https://translate.element.io/projects/matrix-doc/) (#1909)
- New translation to kabyle
Build 🧱:
- Some dependencies have been upgraded (coroutine, recyclerView, appCompat, core-ktx, firebase-messaging)
- Buildkite:
New pipeline location: https://github.com/matrix-org/pipelines/blob/master/element-android/pipeline.yml
New build location: https://buildkite.com/matrix-dot-org/element-android
Other changes:
- Use File extension functions to make code more concise (#1996)
- Create a script to import SAS strings (#1909)
- Support `data-mx-[bg-]color` attributes on `<font>` tags.
Changes in Element 1.0.5 (2020-08-21)
===================================================
Features :
- Protect access to the app by a pin code (#1700)
- Conference with Jitsi support (#43)
Improvements 🙌:
- Share button in rooms gives room ID link without via parameters (#1927)
- Give user the possibility to prevent accidental call (#1869)
- Display device information (name, id and key) in Cryptography setting screen (#1784)
- Ensure users do not accidentally ignore other users (#1890)
- Better handling DM creation when invitees cannot be inviting due to denied federation
- Support new config.json format and config.domain.json files (#1682)
- Increase Font size on Calling screen (#1643)
- Make the user's Avatar live in the general settings
Bugfix 🐛:
- Fix incorrect date format for some Asian languages (#1928)
- Fix invisible toolbar (Status.im theme) (#1746)
- Fix relative date time formatting (#822)
- Fix crash reported by RageShake
- Fix refreshing of sessions list when another session is logged out
- Fix IllegalArgumentException: Receiver not registered: NetworkInfoReceiver (#1960)
- Failed to build unique file (#1954)
- Highlighted Event when opening a permalink from another room (#1033)
- A Kick appears has "someone has made no change" (#1959)
- Avoid NetworkOnMainThreadException when setting a user avatar
- Renew turnserver credentials when ttl runs out
Translations 🗣:
- Add PlayStore description resources in the Triple-T format, to let Weblate handle them
SDK API changes :
- Rename package `im.vector.matrix.android` to `org.matrix.android.sdk`
- Rename package `im.vector.matrix.rx` to `org.matrix.android.sdk.rx`
Build 🧱:
- Fix RtlHardcoded issues (use `Start` and `End` instead of `Left` and `Right` layout attributes)
Other changes:
- Use `Context#getSystemService` extension function provided by `core-ktx` (#1702)
- Hide Flair settings, this is not implemented yet.
- Rename package `im.vector.riotx.attachmentviewer` to `im.vector.lib.attachmentviewer`
- Rename package `im.vector.riotx.multipicker` to `im.vector.lib.multipicker`
- Rename package `im.vector.riotx` to `im.vector.app`
- Remove old code that was used on devices with api level <21
- Add Official Gradle Wrapper Validation Action
Changes in Element 1.0.4 (2020-08-03)
===================================================
Bugfix 🐛:
- Fix Crash when opening invite to room user screen
Changes in Element 1.0.3 (2020-07-31)
===================================================
Features :
- Support server admin option to disable E2EE for DMs / private rooms [users can still enable] (#1794)
Bugfix 🐛:
- Crash reported on playstore for HomeActivity launch (151 reports)
Changes in Element 1.0.2 (2020-07-29)
===================================================
Improvements 🙌:
- Added Session Database migration to avoid unneeded initial syncs
Changes in Element 1.0.1 (2020-07-28)
===================================================
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
Bugfix 🐛:
- Fix theme issue on Room directory screen (#1613)
- Fix notification not dismissing when entering a room
- Fix uploads don't work with Room v6 (#1558)
- Fix Requesting avatar thumbnails in Element uses wrong http "user-agent" string (#1725)
- Fix 404 on EMS (#1761)
- Fix Infinite loop at startup when migrating account from Riot (#1699)
- Fix Element crashes in loop after initial sync (#1709)
- Remove inner mx-reply tags before replying
- Fix timeline items not loading when there are only filtered events
- Fix "Voice & Video" grayed out in Settings (#1733)
- Fix Allow VOIP call in all rooms with 2 participants (even if not DM)
- Migration from old client does not enable notifications (#1723)
Other changes:
- i18n deactivated account error
Changes in Element 1.0.0 (2020-07-15)
===================================================
Features :
- Re-branding: The app is now called Element. New name, new themes, new icons, etc. More details here: https://element.io/blog/welcome-to-element/ (#1691)
Bugfix 🐛:
- Video calls are shown as a voice ones in the timeline (#1676)
- Fix regression: not able to create a room without IS configured (#1679)
Changes in Riot.imX 0.91.5 (2020-07-11)
===================================================
Features :
- 3pid invite: it is now possible to invite people by email. An Identity Server has to be configured (#548)
Improvements 🙌:
- Cleaning chunks with lots of events as long as a threshold has been exceeded (35_000 events in DB) (#1634)
- Creating and listening to EventInsertEntity. (#1634)
- Handling (almost) properly the groups fetching (#1634)
- Improve fullscreen media display (#327)
- Setup server recovery banner (#1648)
- Set up SSSS from security settings (#1567)
- New lab setting to add 'unread notifications' tab to main screen
- Render third party invite event (#548)
- Display three pid invites in the room members list (#548)
Bugfix 🐛:
- Integration Manager: Wrong URL to review terms if URL in config contains path (#1606)
- Regression Composer does not grow, crops out text (#1650)
- Bug / Unwanted draft (#698)
- All users seems to be able to see the enable encryption option in room settings (#1341)
- Leave room only leaves the current version (#1656)
- Regression | Share action menu do not work (#1647)
- verification issues on transition (#1555)
- Fix issue when restoring keys backup using recovery key
SDK API changes :
- CreateRoomParams has been updated
Build 🧱:
- Upgrade some dependencies
- Revert to build-tools 3.5.3
Other changes:
- Use Intent.ACTION_CREATE_DOCUMENT to save megolm key or recovery key in a txt file
- Use `Context#withStyledAttributes` extension function (#1546)
Changes in Riot.imX 0.91.4 (2020-07-06)
===================================================
Features :
@@ -16,7 +345,7 @@ Bugfix 🐛:
Build 🧱:
- Fix lint false-positive about WorkManager (#1012)
- Upgrade build-tools from 3.5.3 to 3.6.6
- Upgrade build-tools from 3.5.3 to 3.6.3
- Upgrade gradle from 5.4.1 to 5.6.4
Changes in Riot.imX 0.91.3 (2020-07-01)
@@ -658,7 +987,7 @@ Mode details here: https://medium.com/@RiotChat/introducing-the-riotx-beta-for-a
=======================================================
Changes in RiotX 0.X.0 (2020-XX-XX)
Changes in Element 1.X.X (2020-XX-XX)
===================================================
Features ✨:

View File

@@ -2,9 +2,7 @@
Please read https://github.com/matrix-org/synapse/blob/master/CONTRIBUTING.md
Android support can be found in this [![Riot Android Matrix room #riot-android:matrix.org](https://img.shields.io/matrix/riot-android:matrix.org.svg?label=%23riot-android:matrix.org&logo=matrix&server_fqdn=matrix.org)](https://matrix.to/#/#riot-android:matrix.org) room.
Dedicated room for RiotX: [![RiotX Android Matrix room #riot-android:matrix.org](https://img.shields.io/matrix/riotx:matrix.org.svg?label=%23RiotX:matrix.org&logo=matrix&server_fqdn=matrix.org)](https://matrix.to/#/#riotx:matrix.org)
Android support can be found in this [![Element Android Matrix room #element-android:matrix.org](https://img.shields.io/matrix/element-android:matrix.org.svg?label=%23element-android:matrix.org&logo=matrix&server_fqdn=matrix.org)](https://matrix.to/#/#element-android:matrix.org) room.
# Specific rules for Matrix Android projects
@@ -37,14 +35,12 @@ Note that if the templates are modified, the only things to do is to restart And
## Compilation
For now, the Matrix SDK and the RiotX application are in the same project. So there is no specific thing to do, this project should compile without any special action.
For now, the Matrix SDK and the Element application are in the same project. So there is no specific thing to do, this project should compile without any special action.
## I want to help translating RiotX
## I want to help translating Element
If you want to fix an issue with an English string, please submit a PR.
If you want to fix an issue in other languages, or add a missing translation, or even add a new language, please use [Weblate](https://translate.riot.im/projects/riot-android/).
For the moment, Strings from Riot will be used, there is no dedicated project in Weblate for RiotX.
If you want to fix an issue in other languages, or add a missing translation, or even add a new language, please use [Weblate](https://translate.element.io/projects/element-android/).
## I want to submit a PR to fix an issue
@@ -101,7 +97,7 @@ Make sure the following commands execute without any error:
### Tests
RiotX is currently supported on Android KitKat (API 19+): please test your change on an Android device (or Android emulator) running with API 19. Many issues can happen (including crashes) on older devices.
Element is currently supported on Android Lollipop (API 21+): please test your change on an Android device (or Android emulator) running with API 21. Many issues can happen (including crashes) on older devices.
Also, if possible, please test your change on a real device. Testing on Android emulator may not be sufficient.
You should consider adding Unit tests with your PR, and also integration tests (AndroidTest). Please refer to [this document](./docs/integration_tests.md) to install and run the integration test environment.
@@ -120,7 +116,7 @@ Please consider accessibility as an important point. As a minimum requirement, i
When adding or editing layouts, make sure the layout will render correctly if device uses a RTL (Right To Left) language.
You can check this in the layout editor preview by selecting any RTL language (ex: Arabic).
Also please check that the colors are ok for all the current themes of RiotX. Please use `?attr` instead of `@color` to reference colors in the layout. You can check this in the layout editor preview by selecting all the main themes (`AppTheme.Status`, `AppTheme.Dark`, etc.).
Also please check that the colors are ok for all the current themes of Element. Please use `?attr` instead of `@color` to reference colors in the layout. You can check this in the layout editor preview by selecting all the main themes (`AppTheme.Status`, `AppTheme.Dark`, etc.).
### Authors

View File

@@ -1,38 +1,34 @@
[![Buildkite](https://badge.buildkite.com/657d3db27364448d69d54f66c690f7788bc6aa80a7628e37f3.svg?branch=develop)](https://buildkite.com/matrix-dot-org/riotx-android/builds?branch=develop)
[![Weblate](https://translate.riot.im/widgets/riot-android/-/svg-badge.svg)](https://translate.riot.im/engage/riot-android/?utm_source=widget)
[![RiotX Android Matrix room #riot-android:matrix.org](https://img.shields.io/matrix/riotx:matrix.org.svg?label=%23RiotX:matrix.org&logo=matrix&server_fqdn=matrix.org)](https://matrix.to/#/#riotx:matrix.org)
[![Quality Gate](https://sonarcloud.io/api/project_badges/measure?project=vector.android.riotx&metric=alert_status)](https://sonarcloud.io/dashboard?id=vector.android.riotx)
[![Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=vector.android.riotx&metric=vulnerabilities)](https://sonarcloud.io/dashboard?id=vector.android.riotx)
[![Bugs](https://sonarcloud.io/api/project_badges/measure?project=vector.android.riotx&metric=bugs)](https://sonarcloud.io/dashboard?id=vector.android.riotx)
[![Buildkite](https://badge.buildkite.com/ad0065c1b70f557cd3b1d3d68f9c2154010f83c4d6f71706a9.svg?branch=develop)](https://buildkite.com/matrix-dot-org/element-android/builds?branch=develop)
[![Weblate](https://translate.element.io/widgets/element-android/-/svg-badge.svg)](https://translate.element.io/engage/element-android/?utm_source=widget)
[![Element Android Matrix room #element-android:matrix.org](https://img.shields.io/matrix/element-android:matrix.org.svg?label=%23element-android:matrix.org&logo=matrix&server_fqdn=matrix.org)](https://matrix.to/#/#element-android:matrix.org)
[![Quality Gate](https://sonarcloud.io/api/project_badges/measure?project=im.vector.app.android&metric=alert_status)](https://sonarcloud.io/dashboard?id=im.vector.app.android)
[![Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=im.vector.app.android&metric=vulnerabilities)](https://sonarcloud.io/dashboard?id=im.vector.app.android)
[![Bugs](https://sonarcloud.io/api/project_badges/measure?project=im.vector.app.android&metric=bugs)](https://sonarcloud.io/dashboard?id=im.vector.app.android)
# RiotX Android
# Element Android
RiotX is an Android Matrix Client currently in beta but in active development.
Element Android is an Android Matrix Client provided by [Element](https://element.io/).
It is a total rewrite of [Riot-Android](https://github.com/vector-im/riot-android) with a new user experience. RiotX will become the official replacement as soon as all features are implemented.
It is a total rewrite of [Riot-Android](https://github.com/vector-im/riot-android) with a new user experience.
[<img src="resources/img/google-play-badge.png" alt="Get it on Google Play" height="60">](https://play.google.com/store/apps/details?id=im.vector.riotx)
[<img src="resources/img/f-droid-badge.png" alt="Get it on F-Droid" height="60">](https://f-droid.org/app/im.vector.riotx)
[<img src="resources/img/google-play-badge.png" alt="Get it on Google Play" height="60">](https://play.google.com/store/apps/details?id=im.vector.app)
[<img src="resources/img/f-droid-badge.png" alt="Get it on F-Droid" height="60">](https://f-droid.org/app/im.vector.app)
Nightly build: [![Buildkite](https://badge.buildkite.com/657d3db27364448d69d54f66c690f7788bc6aa80a7628e37f3.svg?branch=develop)](https://buildkite.com/matrix-dot-org/riotx-android/builds?branch=develop)
Nightly build: [![Buildkite](https://badge.buildkite.com/ad0065c1b70f557cd3b1d3d68f9c2154010f83c4d6f71706a9.svg?branch=develop)](https://buildkite.com/matrix-dot-org/element-android/builds?branch=develop)
# New Android SDK
RiotX is based on a new Android SDK fully written in Kotlin (like RiotX). In order to make the early development as fast as possible, RiotX and the new SDK currently share the same git repository. We will make separate repos once the SDK is stable enough.
Element is based on a new Android SDK fully written in Kotlin (like Element). In order to make the early development as fast as possible, Element and the new SDK currently share the same git repository.
At each Element release, the SDK module is copied to a dedicated repository: https://github.com/matrix-org/matrix-android-sdk2. That way, third party apps can add a regular gradle dependency to use it. So more details on how to do that here: https://github.com/matrix-org/matrix-android-sdk2.
# Roadmap
The current target is to release an application out of beta with the same level of features (and even more) as Riot.
The roadmap has 3 phases:
- [phase 0](https://github.com/vector-im/riotX-android/labels/phase0): Prototyping / Project setup
- [phase 1](https://github.com/vector-im/riotX-android/labels/phase1): Beta release to the Play Store
- [phase 2](https://github.com/vector-im/riotX-android/labels/phase2): Out of beta
The version 1.0.0 of Element still misses some features which was previously included in Riot-Android.
The team will work to add them on a regular basis.
## Contributing
Please refer to [CONTRIBUTING.md](https://github.com/vector-im/riotX-android/blob/develop/CONTRIBUTING.md) if you want to contribute on Matrix Android projects!
Please refer to [CONTRIBUTING.md](https://github.com/vector-im/element-android/blob/develop/CONTRIBUTING.md) if you want to contribute on Matrix Android projects!
Come chat with the community in the dedicated Matrix [room](https://matrix.to/#/#riotx:matrix.org).
Come chat with the community in the dedicated Matrix [room](https://matrix.to/#/#element-android:matrix.org).

1
attachment-viewer/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
/build

View File

@@ -0,0 +1,73 @@
/*
* Copyright (c) 2020 New Vector Ltd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
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
defaultConfig {
minSdkVersion 21
targetSdkVersion 29
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
}
dependencies {
implementation 'com.github.chrisbanes:PhotoView:2.1.4'
implementation 'io.reactivex.rxjava2:rxkotlin:2.3.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.fragment:fragment:1.3.0-beta01"
implementation "androidx.recyclerview:recyclerview:1.1.0"
implementation 'com.google.android.material:material:1.2.1'
}

View File

21
attachment-viewer/proguard-rules.pro vendored Normal file
View File

@@ -0,0 +1,21 @@
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable
# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile

View File

@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest package="im.vector.lib.attachmentviewer" />

View File

@@ -0,0 +1,35 @@
/*
* Copyright (c) 2020 New Vector Ltd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package im.vector.lib.attachmentviewer
import android.view.View
import android.widget.ImageView
import android.widget.ProgressBar
class AnimatedImageViewHolder constructor(itemView: View) :
BaseViewHolder(itemView) {
val touchImageView: ImageView = itemView.findViewById(R.id.imageView)
val imageLoaderProgress: ProgressBar = itemView.findViewById(R.id.imageLoaderProgress)
internal val target = DefaultImageLoaderTarget(this, this.touchImageView)
override fun onRecycled() {
super.onRecycled()
touchImageView.setImageDrawable(null)
}
}

View File

@@ -0,0 +1,31 @@
/*
* Copyright (c) 2020 New Vector Ltd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package im.vector.lib.attachmentviewer
sealed class AttachmentEvents {
data class VideoEvent(val isPlaying: Boolean, val progress: Int, val duration: Int) : AttachmentEvents()
}
interface AttachmentEventListener {
fun onEvent(event: AttachmentEvents)
}
sealed class AttachmentCommands {
object PauseVideo : AttachmentCommands()
object StartVideo : AttachmentCommands()
data class SeekTo(val percentProgress: Int) : AttachmentCommands()
}

View File

@@ -0,0 +1,45 @@
/*
* Copyright (c) 2020 New Vector Ltd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package im.vector.lib.attachmentviewer
import android.content.Context
import android.view.View
sealed class AttachmentInfo(open val uid: String) {
data class Image(override val uid: String, val url: String, val data: Any?) : AttachmentInfo(uid)
data class AnimatedImage(override val uid: String, val url: String, val data: Any?) : AttachmentInfo(uid)
data class Video(override val uid: String, val url: String, val data: Any, val thumbnail: Image?) : AttachmentInfo(uid)
// data class Audio(override val uid: String, val url: String, val data: Any) : AttachmentInfo(uid)
// data class File(override val uid: String, val url: String, val data: Any) : AttachmentInfo(uid)
}
interface AttachmentSourceProvider {
fun getItemCount(): Int
fun getAttachmentInfoAt(position: Int): AttachmentInfo
fun loadImage(target: ImageLoaderTarget, info: AttachmentInfo.Image)
fun loadImage(target: ImageLoaderTarget, info: AttachmentInfo.AnimatedImage)
fun loadVideo(target: VideoLoaderTarget, info: AttachmentInfo.Video)
fun overlayViewAtPosition(context: Context, position: Int): View?
fun clear(id: String)
}

View File

@@ -0,0 +1,335 @@
/*
* Copyright (c) 2020 New Vector Ltd
* Copyright (C) 2018 stfalcon.com
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package im.vector.lib.attachmentviewer
import android.graphics.Color
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.WindowManager
import android.widget.ImageView
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.GestureDetectorCompat
import androidx.core.view.ViewCompat
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 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
var topInset = 0
var bottomInset = 0
var systemUiVisibility = true
private var overlayView: View? = null
set(value) {
if (value == overlayView) return
overlayView?.let { rootContainer.removeView(it) }
rootContainer.addView(value)
value?.updatePadding(top = topInset, bottom = bottomInset)
field = value
}
private lateinit var swipeDismissHandler: SwipeToDismissHandler
private lateinit var directionDetector: SwipeDirectionDetector
private lateinit var scaleDetector: ScaleGestureDetector
private lateinit var gestureDetector: GestureDetectorCompat
var currentPosition = 0
private var swipeDirection: SwipeDirection? = null
private fun isScaled() = attachmentsAdapter.isScaled(currentPosition)
private var wasScaled: Boolean = false
private var isSwipeToDismissAllowed: Boolean = true
private lateinit var attachmentsAdapter: AttachmentsAdapter
private var isOverlayWasClicked = false
// private val shouldDismissToBottom: Boolean
// get() = e == null
// || !externalTransitionImageView.isRectVisible
// || !isAtStartPosition
private var isImagePagerIdle = true
fun setSourceProvider(sourceProvider: AttachmentSourceProvider) {
attachmentsAdapter.attachmentSourceProvider = sourceProvider
}
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)
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
directionDetector = createSwipeDirectionDetector()
gestureDetector = createGestureDetector()
attachmentPager.registerOnPageChangeCallback(object : ViewPager2.OnPageChangeCallback() {
override fun onPageScrollStateChanged(state: Int) {
isImagePagerIdle = state == ViewPager2.SCROLL_STATE_IDLE
}
override fun onPageSelected(position: Int) {
onSelectedPositionChanged(position)
}
})
swipeDismissHandler = createSwipeToDismissHandler()
rootContainer.setOnTouchListener(swipeDismissHandler)
rootContainer.viewTreeObserver.addOnGlobalLayoutListener { swipeDismissHandler.translationLimit = dismissContainer.height / 4 }
scaleDetector = createScaleGestureDetector()
ViewCompat.setOnApplyWindowInsetsListener(rootContainer) { _, insets ->
overlayView?.updatePadding(top = insets.systemWindowInsetTop, bottom = insets.systemWindowInsetBottom)
topInset = insets.systemWindowInsetTop
bottomInset = insets.systemWindowInsetBottom
insets
}
}
fun onSelectedPositionChanged(position: Int) {
attachmentsAdapter.recyclerView?.findViewHolderForAdapterPosition(currentPosition)?.let {
(it as? BaseViewHolder)?.onSelected(false)
}
attachmentsAdapter.recyclerView?.findViewHolderForAdapterPosition(position)?.let {
(it as? BaseViewHolder)?.onSelected(true)
if (it is VideoViewHolder) {
it.eventListener = WeakReference(this)
}
}
currentPosition = position
overlayView = attachmentsAdapter.attachmentSourceProvider?.overlayViewAtPosition(this@AttachmentViewerActivity, position)
}
override fun onPause() {
attachmentsAdapter.onPause(currentPosition)
super.onPause()
}
override fun onResume() {
super.onResume()
attachmentsAdapter.onResume(currentPosition)
}
override fun dispatchTouchEvent(ev: MotionEvent): Boolean {
// The zoomable view is configured to disallow interception when image is zoomed
// Check if the overlay is visible, and wants to handle the click
if (overlayView?.isVisible == true && overlayView?.dispatchTouchEvent(ev) == true) {
return true
}
// Log.v("ATTACHEMENTS", "================\ndispatchTouchEvent $ev")
handleUpDownEvent(ev)
// Log.v("ATTACHEMENTS", "scaleDetector is in progress ${scaleDetector.isInProgress}")
// Log.v("ATTACHEMENTS", "pointerCount ${ev.pointerCount}")
// Log.v("ATTACHEMENTS", "wasScaled $wasScaled")
if (swipeDirection == null && (scaleDetector.isInProgress || ev.pointerCount > 1 || wasScaled)) {
wasScaled = true
// Log.v("ATTACHEMENTS", "dispatch to pager")
return attachmentPager.dispatchTouchEvent(ev)
}
// Log.v("ATTACHEMENTS", "is current item scaled ${isScaled()}")
return (if (isScaled()) super.dispatchTouchEvent(ev) else handleTouchIfNotScaled(ev)).also {
// Log.v("ATTACHEMENTS", "\n================")
}
}
private fun handleUpDownEvent(event: MotionEvent) {
// Log.v("ATTACHEMENTS", "handleUpDownEvent $event")
if (event.action == MotionEvent.ACTION_UP) {
handleEventActionUp(event)
}
if (event.action == MotionEvent.ACTION_DOWN) {
handleEventActionDown(event)
}
scaleDetector.onTouchEvent(event)
gestureDetector.onTouchEvent(event)
}
private fun handleEventActionDown(event: MotionEvent) {
swipeDirection = null
wasScaled = false
attachmentPager.dispatchTouchEvent(event)
swipeDismissHandler.onTouch(rootContainer, event)
isOverlayWasClicked = dispatchOverlayTouch(event)
}
private fun handleEventActionUp(event: MotionEvent) {
// wasDoubleTapped = false
swipeDismissHandler.onTouch(rootContainer, event)
attachmentPager.dispatchTouchEvent(event)
isOverlayWasClicked = dispatchOverlayTouch(event)
}
private fun handleSingleTap(event: MotionEvent, isOverlayWasClicked: Boolean) {
// TODO if there is no overlay, we should at least toggle system bars?
if (overlayView != null && !isOverlayWasClicked) {
toggleOverlayViewVisibility()
super.dispatchTouchEvent(event)
}
}
private fun toggleOverlayViewVisibility() {
if (systemUiVisibility) {
// we hide
TransitionManager.beginDelayedTransition(rootContainer)
hideSystemUI()
overlayView?.isVisible = false
} else {
// we show
TransitionManager.beginDelayedTransition(rootContainer)
showSystemUI()
overlayView?.isVisible = true
}
}
private fun handleTouchIfNotScaled(event: MotionEvent): Boolean {
// Log.v("ATTACHEMENTS", "handleTouchIfNotScaled $event")
directionDetector.handleTouchEvent(event)
return when (swipeDirection) {
SwipeDirection.Up, SwipeDirection.Down -> {
if (isSwipeToDismissAllowed && !wasScaled && isImagePagerIdle) {
swipeDismissHandler.onTouch(rootContainer, event)
} else true
}
SwipeDirection.Left, SwipeDirection.Right -> {
attachmentPager.dispatchTouchEvent(event)
}
else -> true
}
}
private fun handleSwipeViewMove(translationY: Float, translationLimit: Int) {
val alpha = calculateTranslationAlpha(translationY, translationLimit)
backgroundView.alpha = alpha
dismissContainer.alpha = alpha
overlayView?.alpha = alpha
}
private fun dispatchOverlayTouch(event: MotionEvent): Boolean =
overlayView
?.let { it.isVisible && it.dispatchTouchEvent(event) }
?: false
private fun calculateTranslationAlpha(translationY: Float, translationLimit: Int): Float =
1.0f - 1.0f / translationLimit.toFloat() / 4f * abs(translationY)
private fun createSwipeToDismissHandler()
: SwipeToDismissHandler = SwipeToDismissHandler(
swipeView = dismissContainer,
shouldAnimateDismiss = { shouldAnimateDismiss() },
onDismiss = { animateClose() },
onSwipeViewMove = ::handleSwipeViewMove)
private fun createSwipeDirectionDetector() =
SwipeDirectionDetector(this) { swipeDirection = it }
private fun createScaleGestureDetector() =
ScaleGestureDetector(this, ScaleGestureDetector.SimpleOnScaleGestureListener())
private fun createGestureDetector() =
GestureDetectorCompat(this, object : GestureDetector.SimpleOnGestureListener() {
override fun onSingleTapConfirmed(e: MotionEvent): Boolean {
if (isImagePagerIdle) {
handleSingleTap(e, isOverlayWasClicked)
}
return false
}
override fun onDoubleTap(e: MotionEvent?): Boolean {
return super.onDoubleTap(e)
}
})
override fun onEvent(event: AttachmentEvents) {
if (overlayView is AttachmentEventListener) {
(overlayView as? AttachmentEventListener)?.onEvent(event)
}
}
protected open fun shouldAnimateDismiss(): Boolean = true
protected open fun animateClose() {
window.statusBarColor = Color.TRANSPARENT
finish()
}
fun handle(commands: AttachmentCommands) {
(attachmentsAdapter.recyclerView?.findViewHolderForAdapterPosition(currentPosition) as? BaseViewHolder)
?.handleCommand(commands)
}
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
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.
or View.SYSTEM_UI_FLAG_LAYOUT_STABLE
or View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
// Hide the nav bar and status bar
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.
private fun showSystemUI() {
systemUiVisibility = true
window.decorView.systemUiVisibility = (View.SYSTEM_UI_FLAG_LAYOUT_STABLE
or View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN)
}
}

View File

@@ -0,0 +1,115 @@
/*
* Copyright (c) 2020 New Vector Ltd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package im.vector.lib.attachmentviewer
import android.view.LayoutInflater
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
class AttachmentsAdapter : RecyclerView.Adapter<BaseViewHolder>() {
var attachmentSourceProvider: AttachmentSourceProvider? = null
set(value) {
field = value
notifyDataSetChanged()
}
var recyclerView: RecyclerView? = null
override fun onAttachedToRecyclerView(recyclerView: RecyclerView) {
this.recyclerView = recyclerView
}
override fun onDetachedFromRecyclerView(recyclerView: RecyclerView) {
this.recyclerView = null
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): BaseViewHolder {
val inflater = LayoutInflater.from(parent.context)
val itemView = inflater.inflate(viewType, parent, false)
return when (viewType) {
R.layout.item_image_attachment -> ZoomableImageViewHolder(itemView)
R.layout.item_animated_image_attachment -> AnimatedImageViewHolder(itemView)
R.layout.item_video_attachment -> VideoViewHolder(itemView)
else -> UnsupportedViewHolder(itemView)
}
}
override fun getItemViewType(position: Int): Int {
val info = attachmentSourceProvider!!.getAttachmentInfoAt(position)
return when (info) {
is AttachmentInfo.Image -> R.layout.item_image_attachment
is AttachmentInfo.Video -> R.layout.item_video_attachment
is AttachmentInfo.AnimatedImage -> R.layout.item_animated_image_attachment
// is AttachmentInfo.Audio -> TODO()
// is AttachmentInfo.File -> TODO()
}
}
override fun getItemCount(): Int {
return attachmentSourceProvider?.getItemCount() ?: 0
}
override fun onBindViewHolder(holder: BaseViewHolder, position: Int) {
attachmentSourceProvider?.getAttachmentInfoAt(position)?.let {
holder.bind(it)
when (it) {
is AttachmentInfo.Image -> {
attachmentSourceProvider?.loadImage((holder as ZoomableImageViewHolder).target, it)
}
is AttachmentInfo.AnimatedImage -> {
attachmentSourceProvider?.loadImage((holder as AnimatedImageViewHolder).target, it)
}
is AttachmentInfo.Video -> {
attachmentSourceProvider?.loadVideo((holder as VideoViewHolder).target, it)
}
// else -> {
// // }
}
}
}
override fun onViewAttachedToWindow(holder: BaseViewHolder) {
holder.onAttached()
}
override fun onViewRecycled(holder: BaseViewHolder) {
holder.onRecycled()
}
override fun onViewDetachedFromWindow(holder: BaseViewHolder) {
holder.onDetached()
}
fun isScaled(position: Int): Boolean {
val holder = recyclerView?.findViewHolderForAdapterPosition(position)
if (holder is ZoomableImageViewHolder) {
return holder.touchImageView.attacher.scale > 1f
}
return false
}
fun onPause(position: Int) {
val holder = recyclerView?.findViewHolderForAdapterPosition(position) as? BaseViewHolder
holder?.entersBackground()
}
fun onResume(position: Int) {
val holder = recyclerView?.findViewHolderForAdapterPosition(position) as? BaseViewHolder
holder?.entersForeground()
}
}

View File

@@ -0,0 +1,45 @@
/*
* Copyright (c) 2020 New Vector Ltd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package im.vector.lib.attachmentviewer
import android.view.View
import androidx.recyclerview.widget.RecyclerView
abstract class BaseViewHolder constructor(itemView: View) :
RecyclerView.ViewHolder(itemView) {
open fun onRecycled() {
boundResourceUid = null
}
open fun onAttached() {}
open fun onDetached() {}
open fun entersBackground() {}
open fun entersForeground() {}
open fun onSelected(selected: Boolean) {}
open fun handleCommand(commands: AttachmentCommands) {}
var boundResourceUid: String? = null
open fun bind(attachmentInfo: AttachmentInfo) {
boundResourceUid = attachmentInfo.uid
}
}
class UnsupportedViewHolder constructor(itemView: View) :
BaseViewHolder(itemView)

View File

@@ -0,0 +1,106 @@
/*
* Copyright (c) 2020 New Vector Ltd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package im.vector.lib.attachmentviewer
import android.graphics.drawable.Animatable
import android.graphics.drawable.Drawable
import android.widget.ImageView
import android.widget.LinearLayout
import androidx.core.view.isVisible
import androidx.core.view.updateLayoutParams
interface ImageLoaderTarget {
fun contextView(): ImageView
fun onResourceLoading(uid: String, placeholder: Drawable?)
fun onLoadFailed(uid: String, errorDrawable: Drawable?)
fun onResourceCleared(uid: String, placeholder: Drawable?)
fun onResourceReady(uid: String, resource: Drawable)
}
internal class DefaultImageLoaderTarget(val holder: AnimatedImageViewHolder, private val contextView: ImageView)
: ImageLoaderTarget {
override fun contextView(): ImageView {
return contextView
}
override fun onResourceLoading(uid: String, placeholder: Drawable?) {
if (holder.boundResourceUid != uid) return
holder.imageLoaderProgress.isVisible = true
}
override fun onLoadFailed(uid: String, errorDrawable: Drawable?) {
if (holder.boundResourceUid != uid) return
holder.imageLoaderProgress.isVisible = false
holder.touchImageView.setImageDrawable(errorDrawable)
}
override fun onResourceCleared(uid: String, placeholder: Drawable?) {
if (holder.boundResourceUid != uid) return
holder.touchImageView.setImageDrawable(placeholder)
}
override fun onResourceReady(uid: String, resource: Drawable) {
if (holder.boundResourceUid != uid) return
holder.imageLoaderProgress.isVisible = false
// Glide mess up the view size :/
holder.touchImageView.updateLayoutParams {
width = LinearLayout.LayoutParams.MATCH_PARENT
height = LinearLayout.LayoutParams.MATCH_PARENT
}
holder.touchImageView.setImageDrawable(resource)
if (resource is Animatable) {
resource.start()
}
}
internal class ZoomableImageTarget(val holder: ZoomableImageViewHolder, private val contextView: ImageView) : ImageLoaderTarget {
override fun contextView() = contextView
override fun onResourceLoading(uid: String, placeholder: Drawable?) {
if (holder.boundResourceUid != uid) return
holder.imageLoaderProgress.isVisible = true
holder.touchImageView.setImageDrawable(placeholder)
}
override fun onLoadFailed(uid: String, errorDrawable: Drawable?) {
if (holder.boundResourceUid != uid) return
holder.imageLoaderProgress.isVisible = false
holder.touchImageView.setImageDrawable(errorDrawable)
}
override fun onResourceCleared(uid: String, placeholder: Drawable?) {
if (holder.boundResourceUid != uid) return
holder.touchImageView.setImageDrawable(placeholder)
}
override fun onResourceReady(uid: String, resource: Drawable) {
if (holder.boundResourceUid != uid) return
holder.imageLoaderProgress.isVisible = false
// Glide mess up the view size :/
holder.touchImageView.updateLayoutParams {
width = LinearLayout.LayoutParams.MATCH_PARENT
height = LinearLayout.LayoutParams.MATCH_PARENT
}
holder.touchImageView.setImageDrawable(resource)
}
}
}

View File

@@ -0,0 +1,39 @@
/*
* Copyright (c) 2020 New Vector Ltd
* Copyright (C) 2018 stfalcon.com
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package im.vector.lib.attachmentviewer
sealed class SwipeDirection {
object NotDetected : SwipeDirection()
object Up : SwipeDirection()
object Down : SwipeDirection()
object Left : SwipeDirection()
object Right : SwipeDirection()
companion object {
fun fromAngle(angle: Double): SwipeDirection {
return when (angle) {
in 0.0..45.0 -> Right
in 45.0..135.0 -> Up
in 135.0..225.0 -> Left
in 225.0..315.0 -> Down
in 315.0..360.0 -> Right
else -> NotDetected
}
}
}
}

View File

@@ -0,0 +1,91 @@
/*
* Copyright (c) 2020 New Vector Ltd
* Copyright (C) 2018 stfalcon.com
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package im.vector.lib.attachmentviewer
import android.content.Context
import android.view.MotionEvent
import kotlin.math.sqrt
class SwipeDirectionDetector(
context: Context,
private val onDirectionDetected: (SwipeDirection) -> Unit
) {
private val touchSlop: Int = android.view.ViewConfiguration.get(context).scaledTouchSlop
private var startX: Float = 0f
private var startY: Float = 0f
private var isDetected: Boolean = false
fun handleTouchEvent(event: MotionEvent) {
when (event.action) {
MotionEvent.ACTION_DOWN -> {
startX = event.x
startY = event.y
}
MotionEvent.ACTION_CANCEL, MotionEvent.ACTION_UP -> {
if (!isDetected) {
onDirectionDetected(SwipeDirection.NotDetected)
}
startY = 0.0f
startX = startY
isDetected = false
}
MotionEvent.ACTION_MOVE -> if (!isDetected && getEventDistance(event) > touchSlop) {
isDetected = true
onDirectionDetected(getDirection(startX, startY, event.x, event.y))
}
}
}
/**
* Given two points in the plane p1=(x1, x2) and p2=(y1, y1), this method
* returns the direction that an arrow pointing from p1 to p2 would have.
*
* @param x1 the x position of the first point
* @param y1 the y position of the first point
* @param x2 the x position of the second point
* @param y2 the y position of the second point
* @return the direction
*/
private fun getDirection(x1: Float, y1: Float, x2: Float, y2: Float): SwipeDirection {
val angle = getAngle(x1, y1, x2, y2)
return SwipeDirection.fromAngle(angle)
}
/**
* Finds the angle between two points in the plane (x1,y1) and (x2, y2)
* The angle is measured with 0/360 being the X-axis to the right, angles
* increase counter clockwise.
*
* @param x1 the x position of the first point
* @param y1 the y position of the first point
* @param x2 the x position of the second point
* @param y2 the y position of the second point
* @return the angle between two points
*/
private fun getAngle(x1: Float, y1: Float, x2: Float, y2: Float): Double {
val rad = Math.atan2((y1 - y2).toDouble(), (x2 - x1).toDouble()) + Math.PI
return (rad * 180 / Math.PI + 180) % 360
}
private fun getEventDistance(ev: MotionEvent): Float {
val dx = ev.getX(0) - startX
val dy = ev.getY(0) - startY
return sqrt((dx * dx + dy * dy).toDouble()).toFloat()
}
}

View File

@@ -0,0 +1,126 @@
/*
* Copyright (c) 2020 New Vector Ltd
* Copyright (C) 2018 stfalcon.com
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package im.vector.lib.attachmentviewer
import android.animation.Animator
import android.animation.AnimatorListenerAdapter
import android.annotation.SuppressLint
import android.graphics.Rect
import android.view.MotionEvent
import android.view.View
import android.view.ViewPropertyAnimator
import android.view.animation.AccelerateInterpolator
class SwipeToDismissHandler(
private val swipeView: View,
private val onDismiss: () -> Unit,
private val onSwipeViewMove: (translationY: Float, translationLimit: Int) -> Unit,
private val shouldAnimateDismiss: () -> Boolean
) : View.OnTouchListener {
companion object {
private const val ANIMATION_DURATION = 200L
}
var translationLimit: Int = swipeView.height / 4
private var isTracking = false
private var startY: Float = 0f
@SuppressLint("ClickableViewAccessibility")
override fun onTouch(v: View, event: MotionEvent): Boolean {
when (event.action) {
MotionEvent.ACTION_DOWN -> {
if (swipeView.hitRect.contains(event.x.toInt(), event.y.toInt())) {
isTracking = true
}
startY = event.y
return true
}
MotionEvent.ACTION_UP, MotionEvent.ACTION_CANCEL -> {
if (isTracking) {
isTracking = false
onTrackingEnd(v.height)
}
return true
}
MotionEvent.ACTION_MOVE -> {
if (isTracking) {
val translationY = event.y - startY
swipeView.translationY = translationY
onSwipeViewMove(translationY, translationLimit)
}
return true
}
else -> {
return false
}
}
}
internal fun initiateDismissToBottom() {
animateTranslation(swipeView.height.toFloat())
}
private fun onTrackingEnd(parentHeight: Int) {
val animateTo = when {
swipeView.translationY < -translationLimit -> -parentHeight.toFloat()
swipeView.translationY > translationLimit -> parentHeight.toFloat()
else -> 0f
}
if (animateTo != 0f && !shouldAnimateDismiss()) {
onDismiss()
} else {
animateTranslation(animateTo)
}
}
private fun animateTranslation(translationTo: Float) {
swipeView.animate()
.translationY(translationTo)
.setDuration(ANIMATION_DURATION)
.setInterpolator(AccelerateInterpolator())
.setUpdateListener { onSwipeViewMove(swipeView.translationY, translationLimit) }
.setAnimatorListener(onAnimationEnd = {
if (translationTo != 0f) {
onDismiss()
}
// remove the update listener, otherwise it will be saved on the next animation execution:
swipeView.animate().setUpdateListener(null)
})
.start()
}
}
internal fun ViewPropertyAnimator.setAnimatorListener(
onAnimationEnd: ((Animator?) -> Unit)? = null,
onAnimationStart: ((Animator?) -> Unit)? = null
) = this.setListener(
object : AnimatorListenerAdapter() {
override fun onAnimationEnd(animation: Animator?) {
onAnimationEnd?.invoke(animation)
}
override fun onAnimationStart(animation: Animator?) {
onAnimationStart?.invoke(animation)
}
})
internal val View?.hitRect: Rect
get() = Rect().also { this?.getHitRect(it) }

View File

@@ -0,0 +1,89 @@
/*
* Copyright (c) 2020 New Vector Ltd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package im.vector.lib.attachmentviewer
import android.graphics.drawable.Drawable
import android.widget.ImageView
import androidx.core.view.isVisible
import java.io.File
interface VideoLoaderTarget {
fun contextView(): ImageView
fun onThumbnailResourceLoading(uid: String, placeholder: Drawable?)
fun onThumbnailLoadFailed(uid: String, errorDrawable: Drawable?)
fun onThumbnailResourceCleared(uid: String, placeholder: Drawable?)
fun onThumbnailResourceReady(uid: String, resource: Drawable)
fun onVideoFileLoading(uid: String)
fun onVideoFileLoadFailed(uid: String)
fun onVideoFileReady(uid: String, file: File)
fun onVideoURLReady(uid: String, path: String)
}
internal class DefaultVideoLoaderTarget(val holder: VideoViewHolder, private val contextView: ImageView) : VideoLoaderTarget {
override fun contextView(): ImageView = contextView
override fun onThumbnailResourceLoading(uid: String, placeholder: Drawable?) {
}
override fun onThumbnailLoadFailed(uid: String, errorDrawable: Drawable?) {
}
override fun onThumbnailResourceCleared(uid: String, placeholder: Drawable?) {
if (holder.boundResourceUid != uid) return
holder.thumbnailImage.setImageDrawable(placeholder)
}
override fun onThumbnailResourceReady(uid: String, resource: Drawable) {
if (holder.boundResourceUid != uid) return
holder.thumbnailImage.setImageDrawable(resource)
}
override fun onVideoFileLoading(uid: String) {
if (holder.boundResourceUid != uid) return
holder.thumbnailImage.isVisible = true
holder.loaderProgressBar.isVisible = true
holder.videoView.isVisible = false
}
override fun onVideoFileLoadFailed(uid: String) {
if (holder.boundResourceUid != uid) return
holder.videoFileLoadError()
}
override fun onVideoFileReady(uid: String, file: File) {
if (holder.boundResourceUid != uid) return
arrangeForVideoReady()
holder.videoReady(file)
}
override fun onVideoURLReady(uid: String, path: String) {
if (holder.boundResourceUid != uid) return
arrangeForVideoReady()
holder.videoReady(path)
}
private fun arrangeForVideoReady() {
holder.thumbnailImage.isVisible = false
holder.loaderProgressBar.isVisible = false
holder.videoView.isVisible = true
}
}

View File

@@ -0,0 +1,170 @@
/*
* Copyright (c) 2020 New Vector Ltd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
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 io.reactivex.Observable
import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.disposables.Disposable
import java.io.File
import java.lang.ref.WeakReference
import java.util.concurrent.TimeUnit
// TODO, it would be probably better to use a unique media player
// for better customization and control
// But for now VideoView is enough, it released player when detached, we use a timer to update progress
class VideoViewHolder constructor(itemView: View) :
BaseViewHolder(itemView) {
private var isSelected = false
private var mVideoPath: String? = null
private var progressDisposable: Disposable? = null
private var progress: Int = 0
private var wasPaused = false
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)
internal val target = DefaultVideoLoaderTarget(this, thumbnailImage)
override fun onRecycled() {
super.onRecycled()
progressDisposable?.dispose()
progressDisposable = null
mVideoPath = null
}
fun videoReady(file: File) {
mVideoPath = file.path
if (isSelected) {
startPlaying()
}
}
fun videoReady(path: String) {
mVideoPath = path
if (isSelected) {
startPlaying()
}
}
fun videoFileLoadError() {
}
override fun entersBackground() {
if (videoView.isPlaying) {
progress = videoView.currentPosition
progressDisposable?.dispose()
progressDisposable = null
videoView.stopPlayback()
videoView.pause()
}
}
override fun entersForeground() {
onSelected(isSelected)
}
override fun onSelected(selected: Boolean) {
if (!selected) {
if (videoView.isPlaying) {
progress = videoView.currentPosition
videoView.stopPlayback()
} else {
progress = 0
}
progressDisposable?.dispose()
progressDisposable = null
} else {
if (mVideoPath != null) {
startPlaying()
}
}
isSelected = true
}
private fun startPlaying() {
thumbnailImage.isVisible = false
loaderProgressBar.isVisible = false
videoView.isVisible = true
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
// Log.v("FOO", "isPlaying $isPlaying $progress/$duration")
eventListener?.get()?.onEvent(AttachmentEvents.VideoEvent(isPlaying, progress, duration))
}
}
try {
videoView.setVideoPath(mVideoPath)
} catch (failure: Throwable) {
// Couldn't open
Log.v(VideoViewHolder::class.java.name, "Failed to start video")
}
if (!wasPaused) {
videoView.start()
if (progress > 0) {
videoView.seekTo(progress)
}
}
}
override fun handleCommand(commands: AttachmentCommands) {
if (!isSelected) return
when (commands) {
AttachmentCommands.StartVideo -> {
wasPaused = false
videoView.start()
}
AttachmentCommands.PauseVideo -> {
wasPaused = true
videoView.pause()
}
is AttachmentCommands.SeekTo -> {
val duration = videoView.duration
if (duration > 0) {
val seekDuration = duration * (commands.percentProgress / 100f)
videoView.seekTo(seekDuration.toInt())
}
}
}
}
override fun bind(attachmentInfo: AttachmentInfo) {
super.bind(attachmentInfo)
progress = 0
wasPaused = false
}
}

View File

@@ -0,0 +1,47 @@
/*
* Copyright (c) 2020 New Vector Ltd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package im.vector.lib.attachmentviewer
import android.view.View
import android.widget.ProgressBar
import com.github.chrisbanes.photoview.PhotoView
class ZoomableImageViewHolder constructor(itemView: View) :
BaseViewHolder(itemView) {
val touchImageView: PhotoView = itemView.findViewById(R.id.touchImageView)
val imageLoaderProgress: ProgressBar = itemView.findViewById(R.id.imageLoaderProgress)
init {
touchImageView.setAllowParentInterceptOnEdge(false)
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)
}
touchImageView.setScale(1.0f, true)
touchImageView.setAllowParentInterceptOnEdge(true)
}
internal val target = DefaultImageLoaderTarget.ZoomableImageTarget(this, touchImageView)
override fun onRecycled() {
super.onRecycled()
touchImageView.setImageDrawable(null)
}
}

View File

@@ -0,0 +1,46 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/rootContainer"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".AttachmentViewerActivity">
<View
android:id="@+id/backgroundView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:alpha="1"
android:background="@android:color/black" />
<FrameLayout
android:id="@+id/dismissContainer"
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
android:id="@+id/transitionImageContainer"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:ignore="UselessParent"
tools:visibility="invisible">
<ImageView
android:id="@+id/transitionImageView"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:ignore="ContentDescription" />
</FrameLayout>
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/attachmentPager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent"
android:orientation="horizontal"
android:visibility="visible" />
</FrameLayout>
</FrameLayout>

View File

@@ -0,0 +1,22 @@
<?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">
<ImageView
android:id="@+id/imageView"
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" />
</RelativeLayout>

View File

@@ -0,0 +1,22 @@
<?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">
<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" />
</RelativeLayout>

View File

@@ -0,0 +1,49 @@
<?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">
<ImageView
android:id="@+id/videoThumbnailImage"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:scaleType="centerInside" />
<VideoView
android:id="@+id/videoView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerInParent="true" />
<ImageView
android:id="@+id/videoControlIcon"
android:layout_centerInParent="true"
android:visibility="gone"
tools:visibility="visible"
android:layout_width="44dp"
android:layout_height="44dp"
/>
<ProgressBar
android:layout_centerInParent="true"
android:id="@+id/videoLoaderProgress"
style="?android:attr/progressBarStyle"
android:layout_width="40dp"
android:layout_height="40dp"
android:visibility="invisible"
tools:visibility="visible" />
<TextView
android:id="@+id/videoMediaViewerErrorView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_margin="16dp"
android:textSize="16sp"
android:visibility="gone"
tools:text="Error"
tools:visibility="visible" />
</RelativeLayout>

View File

@@ -0,0 +1,17 @@
<?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>

View File

@@ -1,7 +1,9 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
ext.kotlin_version = '1.3.50'
// Ref: https://kotlinlang.org/releases.html
ext.kotlin_version = '1.4.10'
ext.kotlin_coroutines_version = "1.3.9"
repositories {
google()
jcenter()
@@ -10,12 +12,11 @@ buildscript {
}
}
dependencies {
classpath 'com.android.tools.build:gradle:3.6.3'
classpath 'com.google.gms:google-services:4.3.2'
classpath "com.airbnb.okreplay:gradle-plugin:1.5.0"
classpath 'com.android.tools.build:gradle:4.1.0'
classpath 'com.google.gms:google-services:4.3.4'
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.9.5'
classpath 'com.google.android.gms:oss-licenses-plugin:0.10.2'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
@@ -38,6 +39,10 @@ allprojects {
includeGroupByRegex "com\\.github\\.yalantis"
// JsonViewer
includeGroupByRegex 'com\\.github\\.BillCarsonFr'
// PhotoView
includeGroupByRegex 'com\\.github\\.chrisbanes'
// PFLockScreen-Android
includeGroupByRegex 'com\\.github\\.vector-im'
}
}
maven {
@@ -47,15 +52,21 @@ allprojects {
}
}
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"
// 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"
}
google()
jcenter()
}
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
// Warnings are potential errors, so stop ignoring them
kotlinOptions.allWarningsAsErrors = true
// You can override by passing `-PallWarningsAsErrors=false` in the command line
kotlinOptions.allWarningsAsErrors = project.getProperties().getOrDefault("allWarningsAsErrors", "true").toBoolean()
}
}
task clean(type: Delete) {
@@ -70,15 +81,15 @@ apply plugin: 'org.sonarqube'
sonarqube {
properties {
property "sonar.projectName", "RiotX-Android"
property "sonar.projectKey", "vector.android.riotx"
property "sonar.projectName", "Element-Android"
property "sonar.projectKey", "im.vector.app.android"
property "sonar.host.url", "https://sonarcloud.io"
property "sonar.projectVersion", project(":vector").android.defaultConfig.versionName
property "sonar.sourceEncoding", "UTF-8"
property "sonar.links.homepage", "https://github.com/vector-im/riotX-android/"
property "sonar.links.ci", "https://buildkite.com/matrix-dot-org/riotx-android"
property "sonar.links.scm", "https://github.com/vector-im/riotX-android/"
property "sonar.links.issue", "https://github.com/vector-im/riotX-android/issues"
property "sonar.links.homepage", "https://github.com/vector-im/element-android/"
property "sonar.links.ci", "https://buildkite.com/matrix-dot-org/element-android"
property "sonar.links.scm", "https://github.com/vector-im/element-android/"
property "sonar.links.issue", "https://github.com/vector-im/element-android/issues"
property "sonar.organization", "new_vector_ltd_organization"
property "sonar.login", project.hasProperty("SONAR_LOGIN") ? SONAR_LOGIN : "invalid"
}
@@ -89,11 +100,18 @@ project(":vector") {
properties {
property "sonar.sources", project(":vector").android.sourceSets.main.java.srcDirs
// exclude source code from analyses separated by a colon (:)
// property "sonar.exclusions", "**/*.*"
// Exclude Java source
property "sonar.exclusions", "**/BugReporterMultipartBody.java"
}
}
}
project(":diff-match-patch") {
sonarqube {
skipProject = true
}
}
//project(":matrix-sdk-android") {
// sonarqube {
// properties {

285
docs/add_threePids.md Normal file
View File

@@ -0,0 +1,285 @@
# Adding and removing ThreePids to an account
## Add email
### User enter the email
> POST https://homeserver.org/_matrix/client/r0/account/3pid/email/requestToken
```json
{
"email": "alice@email-provider.org",
"client_secret": "TixzvOnw7nLEUdiQEmkHzkXKrY4HhiGh",
"send_attempt": 1
}
```
#### The email is already added to an account
400
```json
{
"errcode": "M_THREEPID_IN_USE",
"error": "Email is already in use"
}
```
#### The email is free
Wording: "We've sent you an email to verify your address. Please follow the instructions there and then click the button below."
200
```json
{
"sid": "bxyDHuJKsdkjMlTJ"
}
```
## User receive an e-mail
> [homeserver.org] Validate your email
>
> A request to add an email address to your Matrix account has been received. If this was you, please click the link below to confirm adding this email:
https://homeserver.org/_matrix/client/unstable/add_threepid/email/submit_token?token=WUnEhQAmJrXupdEbXgdWvnVIKaGYZFsU&client_secret=TixzvOnw7nLEUdiQEmkHzkXKrY4HhiGh&sid=bxyDHuJKsdkjMlTJ
>
> If this was not you, you can safely ignore this email. Thank you.
### User clicks on the link
The browser displays the following message:
> Your email has now been validated, please return to your client. You may now close this window.
### User returns on Element
User clicks on CONTINUE
> POST https://homeserver.org/_matrix/client/r0/account/3pid/add
```json
{
"sid": "bxyDHuJKsdkjMlTJ",
"client_secret": "TixzvOnw7nLEUdiQEmkHzkXKrY4HhiGh"
}
```
401 User Interactive Authentication
```json
{
"session": "ppvvnozXCQZFaggUBlHJYPjA",
"flows": [
{
"stages": [
"m.login.password"
]
}
],
"params": {
}
}
```
### User enters his password
POST https://homeserver.org/_matrix/client/r0/account/3pid/add
```json
{
"sid": "bxyDHuJKsdkjMlTJ",
"client_secret": "TixzvOnw7nLEUdiQEmkHzkXKrY4HhiGh",
"auth": {
"session": "ppvvnozXCQZFaggUBlHJYPjA",
"type": "m.login.password",
"user": "@benoitx:matrix.org",
"password": "weak_password"
}
}
```
#### The link has not been clicked
400
```json
{
"errcode": "M_THREEPID_AUTH_FAILED",
"error": "No validated 3pid session found"
}
```
#### Wrong password
401
```json
{
"session": "fXHOvoQsPMhEebVqTnIrzZJN",
"flows": [
{
"stages": [
"m.login.password"
]
}
],
"params": {
},
"completed":[
],
"error": "Invalid password",
"errcode": "M_FORBIDDEN"
}
```
#### The link has been clicked and the account password is correct
200
```json
{}
```
## Remove email
### User want to remove an email from his account
> POST https://homeserver.org/_matrix/client/r0/account/3pid/delete
```json
{
"medium": "email",
"address": "alice@email-provider.org"
}
```
#### Email was not bound to an identity server
200
```json
{
"id_server_unbind_result": "no-support"
}
```
#### Email was bound to an identity server
200
```json
{
"id_server_unbind_result": "success"
}
```
## Add phone number
> POST https://homeserver.org/_matrix/client/r0/account/3pid/msisdn/requestToken
```json
{
"country": "FR",
"phone_number": "611223344",
"client_secret": "f1K29wFZBEr4RZYatu7xj8nEbXiVpr7J",
"send_attempt": 1
}
```
Note that the phone number is sent without `+` and without the country code
#### The phone number is already added to an account
400
```json
{
"errcode": "M_THREEPID_IN_USE",
"error": "MSISDN is already in use"
}
```
#### The phone number is free
Wording: "A text message has been sent to +33611223344. Please enter the verification code it contains."
200
```json
{
"msisdn": "33651547677",
"intl_fmt": "+33 6 51 54 76 77",
"success": true,
"sid": "253299954",
"submit_url": "https://homeserver.org/_matrix/client/unstable/add_threepid/msisdn/submit_token"
}
```
## User receive a text message
> Riot
> Your Riot validation code is 892541, please enter this into the app
### User enter the code to the app
#### Wrong code
> POST https://homeserver.org/_matrix/client/unstable/add_threepid/msisdn/submit_token
```json
{
"sid": "253299954",
"client_secret": "f1K29wFZBEr4RZYatu7xj8nEbXiVpr7J",
"token": "111111"
}
```
400
```json
{
"errcode": "M_UNKNOWN",
"error": "Error contacting the identity server"
}
```
This is not an ideal, but the client will display a hint to check the entered code to the user.
#### Correct code
> POST https://homeserver.org/_matrix/client/unstable/add_threepid/msisdn/submit_token
```json
{
"sid": "253299954",
"client_secret": "f1K29wFZBEr4RZYatu7xj8nEbXiVpr7J",
"token": "892541"
}
```
200
```json
{
"success": true
}
```
Then the app call `https://homeserver.org/_matrix/client/r0/account/3pid/add` as per adding an email and follow the same UIS flow
## Remove phone number
### User wants to remove a phone number from his account
This is the same request and response than to remove email, but with this body:
```json
{
"medium": "msisdn",
"address": "33611223344"
}
```
Note that the phone number is provided without `+`, but with the country code.

View File

@@ -14,7 +14,7 @@ Difference though (list not exhaustive):
- Only API v2 is supported (see https://matrix.org/docs/spec/identity_service/latest)
- Homeserver has to be up to date to support binding (Versions.isLoginAndRegistrationSupportedBySdk() has to return true)
- The SDK managed the session and client secret when binding ThreePid. Those data are not exposed to the client.
- The SDK supports incremental sendAttempt (this is not used by RiotX)
- The SDK supports incremental sendAttempt (this is not used by Element)
- The "Continue" button is now under the information, and not as the same place that the checkbox
- The app can cancel a binding. Current data are erased from DB.
- The API (IdentityService) is improved.
@@ -22,7 +22,7 @@ Difference though (list not exhaustive):
Missing features (list not exhaustive):
- Invite by 3Pid (will be in a dedicated PR)
- Add email or phone to account (not P1, can be done on Riot-Web)
- Add email or phone to account (not P1, can be done on Element-Web)
- List email and phone of the account (could be done in a dedicated PR)
- Search contact (not P1)
- Logout from identity server when user sign out or deactivate his account.
@@ -55,7 +55,7 @@ The list can be found here: https://matrix.org/blog/2019/09/27/privacy-improveme
- Default identity server URL, from Wellknown data is proposed to the user.
- Identity server can be set
- Identity server can be changed on another user's device, so when the change is detected (thanks to account data sync) RiotX should properly disconnect from a previous identity server (I think it was not the case in Riot-Android, where we keep the token forever)
- Identity server can be changed on another user's device, so when the change is detected (thanks to account data sync) Element should properly disconnect from a previous identity server (I think it was not the case in Riot-Android, where we keep the token forever)
- Registration to the identity server is managed with an openId token
- Terms of service can be accepted when configuring the identity server.
- Terms of service can be accepted after, if they change.

82
docs/jitsi.md Normal file
View File

@@ -0,0 +1,82 @@
# Jitsi in Element Android
Native Jitsi support has been added to Element Android by the PR [#1914](https://github.com/vector-im/element-android/pull/1914). The description of the PR contains some documentation about the behaviour in each possible room configuration.
Also, ensure to have a look on [the documentation from Element Web](https://github.com/vector-im/element-web/blob/develop/docs/jitsi.md)
The official documentation about how to integrate the Jitsi SDK in an Android app is available here: https://jitsi.github.io/handbook/docs/dev-guide/dev-guide-android-sdk.
# Native Jitsi SDK
The Jitsi SDK is built by ourselves with the flag LIBRE_BUILD, to be able to be integrated on the F-Droid version of Element Android.
The generated maven repository is then host in the project https://github.com/vector-im/jitsi_libre_maven
## How to build the Jitsi Meet SDK
### Jitsi version
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`.
### Run the build script
At the root of the Element Android, run the following script:
```shell script
./tools/jitsi/build_jisti_libs.sh
```
It will build the Jitsi Meet Android library and put every generated files in the folder `/tmp/jitsi`
### Link with the new generated library
- 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"
```
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 }
```
- Perform a gradle sync and build the project
- Perform test
### Sanity tests
In order to validate that the upgrade of the Jitsi and WebRTC dependency does not break anything, the following sanity tests have to be performed, using two devices:
- Make 1-1 audio call (so using WebRTC)
- Make 1-1 video call (so using WebRTC)
- Create and join a conference call with audio only (so using Jitsi library). Leave the conference. Join it again.
- Create and join a conference call with audio and video (so using Jitsi library) Leave the conference. Join it again.
### Export the build library
If all the tests are passed, you can export the generated Jitsi library to our Maven repository.
- Clone the project https://github.com/vector-im/jitsi_libre_maven.
- Create a new folder with the version name.
- Copy every generated files form `/tmp/jitsi` to the folder you have just created.
- Commit and push the change on https://github.com/vector-im/jitsi_libre_maven.
- 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"
```
- 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.

View File

@@ -1,4 +1,4 @@
This document aims to describe how RiotX android displays notifications to the end user. It also clarifies notifications and background settings in the app.
This document aims to describe how Element android displays notifications to the end user. It also clarifies notifications and background settings in the app.
# Table of Contents
1. [Prerequisites Knowledge](#prerequisites-knowledge)
@@ -9,7 +9,7 @@ This document aims to describe how RiotX android displays notifications to the e
* [How does the Home Server knows when to notify a client?](#how-does-the-home-server-knows-when-to-notify-a-client)
* [Push vs privacy, and mitigation](#push-vs-privacy-and-mitigation)
* [Background processing limitations](#background-processing-limitations)
2. [RiotX Notification implementations](#riotx-notification-implementations)
2. [Element Notification implementations](#element-notification-implementations)
* [Requirements](#requirements)
* [Foreground sync mode (Gplay & F-Droid)](#foreground-sync-mode-gplay-f-droid)
* [Push (FCM) received in background](#push-fcm-received-in-background)
@@ -50,7 +50,7 @@ By default, this is 0, so the server will return immediately even if the respons
**delay** is a client preference. When the server responds to a sync request, the client waits for `delay`before calling a new sync.
When the RiotX Android app is open (i.e in foreground state), the default timeout is 30 seconds, and delay is 0.
When the Element Android app is open (i.e in foreground state), the default timeout is 30 seconds, and delay is 0.
## How does a mobile app receives push notification
@@ -86,7 +86,7 @@ This need some disambiguation, because it is the source of common confusion:
In order to send a push to a mobile, App developers need to have a server that will use the FCM APIs, and these APIs requires authentication!
This server is called a **Push Gateway** in the matrix world
That means that RiotX Android, a matrix client created by New Vector, is using a **Push Gateway** with the needed credentials (FCM API secret Key) in order to send push to the New Vector client.
That means that Element Android, a matrix client created by New Vector, is using a **Push Gateway** with the needed credentials (FCM API secret Key) in order to send push to the New Vector client.
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.
@@ -132,7 +132,7 @@ A Home Server can be configured with default rules (for Direct messages, group m
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).
Notifications have 2 'levels' (`highlighted = true/false sound = default/custom`). In RiotX these notifications level are reflected as Noisy/Silent.
Notifications have 2 'levels' (`highlighted = true/false sound = default/custom`). In Element these notifications level are reflected as Noisy/Silent.
**What about encrypted messages?**
@@ -158,7 +158,7 @@ In a nutshell, apps can't do much in background now.
If the devices is not plugged and stays IDLE for a certain amount of time, radio (mobile connectivity) and CPU can/will be turned off.
For an application like RiotX, where users can receive important information at anytime, the best option is to rely on a push system (Google's Firebase Message a.k.a FCM). FCM high priority push can wake up the device and whitelist an application to perform background task (for a limited but unspecified amount of time).
For an application like Element, where users can receive important information at anytime, the best option is to rely on a push system (Google's Firebase Message a.k.a FCM). FCM high priority push can wake up the device and whitelist an application to perform background task (for a limited but unspecified amount of time).
Notice that this is still evolving, and in future versions application that has been 'background restricted' by users won't be able to wake up even when a high priority push is received. Also high priority notifications could be rate limited (not defined anywhere)
@@ -167,41 +167,41 @@ The documentation on this subject is vague, and as per our experiments not alway
It is getting more and more complex to have reliable notifications when FCM is not used.
# RiotX Notification implementations
# Element Notification implementations
## Requirements
RiotX Android must work with and without FCM.
* The RiotX android app published on F-Droid do not rely on FCM (all related dependencies are not present)
* The RiotX android app published on google play rely on FCM, with a fallback mode when FCM registration has failed (e.g outdated or missing Google Play Services)
Element Android must work with and without FCM.
* The Element android app published on F-Droid do not rely on FCM (all related dependencies are not present)
* The Element android app published on google play rely on FCM, with a fallback mode when FCM registration has failed (e.g outdated or missing Google Play Services)
## Foreground sync mode (Gplay & F-Droid)
When in foreground, RiotX performs sync continuously with a timeout value set to 10 seconds (see HttpPooling).
When in foreground, Element performs sync continuously with a timeout value set to 10 seconds (see HttpPooling).
As this mode does not need to live beyond the scope of the application, and as per Google recommendation, RiotX uses the internal app resources (Thread and Timers) to perform the syncs.
As this mode does not need to live beyond the scope of the application, and as per Google recommendation, Element uses the internal app resources (Thread and Timers) to perform the syncs.
This mode is turned on when the app enters foreground, and off when enters background.
In background, and depending on wether push is available or not, RiotX will use different methods to perform the syncs (Workers / Alarms / Service)
In background, and depending on wether push is available or not, Element will use different methods to perform the syncs (Workers / Alarms / Service)
## Push (FCM) received in background
In order to enable Push, RiotX 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 RiotX, that is [sygnal](https://github.com/matrix-org/sygnal) _- The reference implementation for push gateways -_ hosted by matrix.org.
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.
This sygnal instance is configured with the required FCM API authentication token, and will then use the FCM API in order to notify the user's device running riotX.
This sygnal instance is configured with the required FCM API authentication token, and will then use the FCM API in order to notify the user's device running Element.
```
Homeserver ----> Sygnal (configured for RiotX) ----> FCM ----> RiotX
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)).
RiotX 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), RiotX will then use the WorkManager API in order to trigger a background sync.
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.
**Google recommendations:**
> We recommend using FCM messages in combination with the WorkManager 1 or JobScheduler API
@@ -209,7 +209,7 @@ As per [Google recommendation](https://android-developers.googleblog.com/2018/09
> Avoid background services. One common pitfall is using a background service to fetch data in the FCM message handler, since background service will be stopped by the system per recent changes to Google Play Policy
```
Homeserver ----> Sygnal ----> FCM ----> RiotX
Homeserver ----> Sygnal ----> FCM ----> Element
(Sync) ----> Homeserver
<----
Display notification
@@ -217,24 +217,24 @@ Homeserver ----> Sygnal ----> FCM ----> RiotX
**Possible outcomes**
Upon reception of the FCM push, RiotX 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 Home Server, 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)
* The sync takes too long and the process is killed before completion, or network is not reliable and the sync fails.
RiotX implements several strategies in these cases (TODO document)
Element implements several strategies in these cases (TODO document)
## FCM Fallback mode
It is possible that RiotX is not able to get a FCM push token.
It is possible that Element is not able to get a FCM push token.
Common errors (amoung several others) that can cause that:
* Google Play Services is outdated
* Google Play Service fails in someways with FCM servers (infamous `SERVICE_NOT_AVAILABLE`)
If RiotX is able to detect one of this cases, it will notifies it to the users and when possible help him fix it via a dedicated troubleshoot screen.
If Element is able to detect one of this cases, it will notifies it to the users and when possible help him fix it via a dedicated troubleshoot screen.
Meanwhile, in order to offer a minimal service, and as per Google's recommendation for background activities, RiotX will launch periodic background sync in order to stays in sync with servers.
Meanwhile, in order to offer a minimal service, and as per Google's recommendation for background activities, Element will launch periodic background sync in order to stays in sync with servers.
The fallback mode is impacted by all the battery life saving mechanism implemented by android. Meaning that if the app is not used for a certain amount of time (`App-Standby`), or the device stays still and unplugged (`Light Doze`) , the sync will become less frequent.
@@ -248,7 +248,7 @@ The fallback mode is supposed to be a temporary state waiting for the user to fi
## F-Droid background Mode
The F-Droid RiotX flavor has no dependencies to FCM, therefore cannot relies on Push.
The F-Droid Element flavor has no dependencies to FCM, therefore cannot relies on Push.
Also Google's recommended background processing method cannot be applied. This is because all of these methods are affected by IDLE modes, and will result on the user not being notified at all when the app is in a Doze mode (only in maintenance windows that could happens only after hours).
@@ -262,7 +262,7 @@ F-Droid version will schedule alarms that will then trigger a Broadcast Receiver
Depending on the system status (or device make), it is still possible that the app is not given enough time to launch the service, or that the radio is still turned off thus preventing the sync to success (that's why Alarms are not recommended for network related tasks).
That is why on RiotX F-Droid, the broadcast receiver will acquire a temporary WAKE_LOCK for several seconds (thus securing cpu/network), and launch the service in foreground. The service performs the sync.
That is why on Element F-Droid, the broadcast receiver will acquire a temporary WAKE_LOCK for several seconds (thus securing cpu/network), and launch the service in foreground. The service performs the sync.
Note that foreground services require to put a notification informing the user that the app is doing something even if not launched).

View File

@@ -8,7 +8,9 @@ This document describes the flow of signin to a homeserver, and also the flow wh
Client request the sign-in flows, once the homeserver is chosen by the user and its url is known (in the example it's `https://matrix.org`)
> curl -X GET 'https://matrix.org/_matrix/client/r0/login'
```shell script
curl -X GET 'https://matrix.org/_matrix/client/r0/login'
```
200
@@ -26,7 +28,9 @@ Client request the sign-in flows, once the homeserver is chosen by the user and
The user is able to connect using `m.login.password`
> curl -X POST --data $'{"identifier":{"type":"m.id.user","user":"alice"},"password":"weak_password","type":"m.login.password","initial_device_display_name":"Portable"}' 'https://matrix.org/_matrix/client/r0/login'
```shell script
curl -X POST --data $'{"identifier":{"type":"m.id.user","user":"alice"},"password":"weak_password","type":"m.login.password","initial_device_display_name":"Portable"}' 'https://matrix.org/_matrix/client/r0/login'
```
```json
{
@@ -73,14 +77,16 @@ We get credential (200)
If the user has associated an email with its account, he can signin using the email.
> curl -X POST --data $'{"identifier":{"type":"m.id.thirdparty","medium":"email","address":"alice@yopmail.com"},"password":"weak_password","type":"m.login.password","initial_device_display_name":"Portable"}' 'https://matrix.org/_matrix/client/r0/login'
```shell script
curl -X POST --data $'{"identifier":{"type":"m.id.thirdparty","medium":"email","address":"alice@email-provider.org"},"password":"weak_password","type":"m.login.password","initial_device_display_name":"Portable"}' 'https://matrix.org/_matrix/client/r0/login'
```
```json
{
"identifier": {
"type": "m.id.thirdparty",
"medium": "email",
"address": "alice@yopmail.com"
"address": "alice@email-provider.org"
},
"password": "weak_password",
"type": "m.login.password",
@@ -132,11 +138,13 @@ It's worth noting that the response from the homeserver contains the userId of A
### Login with Msisdn
Not supported yet in RiotX
Not supported yet in Element
### Login with SSO
> curl -X GET 'https://homeserver.with.sso/_matrix/client/r0/login'
```shell script
curl -X GET 'https://homeserver.with.sso/_matrix/client/r0/login'
```
200
@@ -155,9 +163,9 @@ Not supported yet in RiotX
In this case, the user can click on "Sign in with SSO" and the native web browser, or a ChromeCustomTab if the device supports it, will be launched on the page
> https://homeserver.with.sso/_matrix/client/r0/login/sso/redirect?redirectUrl=riotx%3A%2F%2Friotx
> https://homeserver.with.sso/_matrix/client/r0/login/sso/redirect?redirectUrl=element%3A%2F%element
The parameter `redirectUrl` is set to `riotx://riotx`.
The parameter `redirectUrl` is set to `element://element`.
ChromeCustomTabs are an intermediate way to display a WebPage, between a WebView and using the external browser. More info can be found [here](https://developer.chrome.com/multidevice/android/customtabs)
@@ -167,11 +175,13 @@ During the process, user may be asked to validate an email by clicking on a link
Once the process is finished, the web page will call the `redirectUrl` with an extra parameter `loginToken`
> riotx://riotx?loginToken=MDAxOWxvY2F0aW9uIG1vemlsbGEub3JnCjAwMTNpZGVudGlmaWVy
> element://element?loginToken=MDAxOWxvY2F0aW9uIG1vemlsbGEub3JnCjAwMTNpZGVudGlmaWVy
This navigation is intercepted by RiotX by the `LoginActivity`, which will then ask the homeserver to convert this `loginToken` to an access token
This navigation is intercepted by Element by the `LoginActivity`, which will then ask the homeserver to convert this `loginToken` to an access token
> curl -X POST --data $'{"type":"m.login.token","token":"MDAxOWxvY2F0aW9uIG1vemlsbGEub3JnCjAwMTNpZGVudGlmaWVy"}' 'https://homeserver.with.sso/_matrix/client/r0/login'
```shell script
curl -X POST --data $'{"type":"m.login.token","token":"MDAxOWxvY2F0aW9uIG1vemlsbGEub3JnCjAwMTNpZGVudGlmaWVy"}' 'https://homeserver.with.sso/_matrix/client/r0/login'
```
```json
{
@@ -214,7 +224,9 @@ We display a warning regarding e2e.
At the first step, we do not send the password, only the email and a client secret, generated by the application
> curl -X POST --data $'{"client_secret":"6c57f284-85e2-421b-8270-fb1795a120a7","send_attempt":0,"email":"user@domain.com"}' 'https://matrix.org/_matrix/client/r0/account/password/email/requestToken'
```shell script
curl -X POST --data $'{"client_secret":"6c57f284-85e2-421b-8270-fb1795a120a7","send_attempt":0,"email":"user@domain.com"}' 'https://matrix.org/_matrix/client/r0/account/password/email/requestToken'
```
```json
{
@@ -251,7 +263,9 @@ During this step, the new password is sent to the homeserver.
If the user confirms before the link is clicked, we get an error:
> curl -X POST --data $'{"auth":{"type":"m.login.email.identity","threepid_creds":{"client_secret":"6c57f284-85e2-421b-8270-fb1795a120a7","sid":"tQNbrREDACTEDldA"}},"new_password":"weak_password"}' 'https://matrix.org/_matrix/client/r0/account/password'
```shell script
curl -X POST --data $'{"auth":{"type":"m.login.email.identity","threepid_creds":{"client_secret":"6c57f284-85e2-421b-8270-fb1795a120a7","sid":"tQNbrREDACTEDldA"}},"new_password":"weak_password"}' 'https://matrix.org/_matrix/client/r0/account/password'
```
```json
{
@@ -285,7 +299,9 @@ It contains the client secret, a token and the sid
When the user click the link, if validate his ownership and the new password can now be ent by the application (on user demand):
> curl -X POST --data $'{"auth":{"type":"m.login.email.identity","threepid_creds":{"client_secret":"6c57f284-85e2-421b-8270-fb1795a120a7","sid":"tQNbrREDACTEDldA"}},"new_password":"weak_password"}' 'https://matrix.org/_matrix/client/r0/account/password'
```shell script
curl -X POST --data $'{"auth":{"type":"m.login.email.identity","threepid_creds":{"client_secret":"6c57f284-85e2-421b-8270-fb1795a120a7","sid":"tQNbrREDACTEDldA"}},"new_password":"weak_password"}' 'https://matrix.org/_matrix/client/r0/account/password'
```
```json
{

View File

@@ -10,7 +10,9 @@ This document describes the flow of registration to a homeserver. Examples come
Client request the sign-up flows, once the homeserver is chosen by the user and its url is known (in the example it's `https://matrix.org`)
> curl -X POST --data $'{}' 'https://matrix.org/_matrix/client/r0/register'
```shell script
curl -X POST --data $'{}' 'https://matrix.org/_matrix/client/r0/register'
```
```json
{
@@ -70,7 +72,9 @@ If the registration is not possible, we get a 403
The app is displaying a form to enter username and password.
> curl -X POST --data $'{"initial_device_display_name":"Mobile device","username":"alice","password": "weak_password"}' 'https://matrix.org/_matrix/client/r0/register'
```shell script
curl -X POST --data $'{"initial_device_display_name":"Mobile device","username":"alice","password": "weak_password"}' 'https://matrix.org/_matrix/client/r0/register'
```
```json
{
@@ -133,9 +137,11 @@ We get a 400:
### Step 2: entering email
User is proposed to enter an email. We skip this step.
User is proposed to enter an email. User skips this step.
> curl -X POST --data $'{"auth":{"session":"xptUYoREDACTEDogOWAGVnbJQ","type":"m.login.dummy"}}' 'https://matrix.org/_matrix/client/r0/register'
```shell script
curl -X POST --data $'{"auth":{"session":"xptUYoREDACTEDogOWAGVnbJQ","type":"m.login.dummy"}}' 'https://matrix.org/_matrix/client/r0/register'
```
```json
{
@@ -189,16 +195,18 @@ User is proposed to enter an email. We skip this step.
}
```
### Step 2 bis: we enter an email
### Step 2 bis: user enters an email
We request a token to the homeserver. The `client_secret` is generated by the application
> curl -X POST --data $'{"client_secret":"53e679ea-oRED-ACTED-92b8-3012c49c6cfa","email":"alice@yopmail.com","send_attempt":0}' 'https://matrix.org/_matrix/client/r0/register/email/requestToken'
```shell script
curl -X POST --data $'{"client_secret":"53e679ea-oRED-ACTED-92b8-3012c49c6cfa","email":"alice@email-provider.org","send_attempt":0}' 'https://matrix.org/_matrix/client/r0/register/email/requestToken'
```
```json
{
"client_secret": "53e679ea-oRED-ACTED-92b8-3012c49c6cfa",
"email": "alice@yopmail.com",
"email": "alice@email-provider.org",
"send_attempt": 0
}
```
@@ -213,7 +221,9 @@ We request a token to the homeserver. The `client_secret` is generated by the ap
And
> curl -X POST --data $'{"auth":{"threepid_creds":{"client_secret":"53e679ea-oRED-ACTED-92b8-3012c49c6cfa","sid":"qlBCREDACTEDEtgxD"},"session":"xptUYoREDACTEDogOWAGVnbJQ","type":"m.login.email.identity"}}' 'https://matrix.org/_matrix/client/r0/register'
```shell script
curl -X POST --data $'{"auth":{"threepid_creds":{"client_secret":"53e679ea-oRED-ACTED-92b8-3012c49c6cfa","sid":"qlBCREDACTEDEtgxD"},"session":"xptUYoREDACTEDogOWAGVnbJQ","type":"m.login.email.identity"}}' 'https://matrix.org/_matrix/client/r0/register'
```
```json
{
@@ -239,7 +249,9 @@ We get 401 since the email is not validated yet:
The app is now polling on
> curl -X POST --data $'{"auth":{"threepid_creds":{"client_secret":"53e679ea-oRED-ACTED-92b8-3012c49c6cfa","sid":"qlBCREDACTEDEtgxD"},"session":"xptUYoREDACTEDogOWAGVnbJQ","type":"m.login.email.identity"}}' 'https://matrix.org/_matrix/client/r0/register'
```shell script
curl -X POST --data $'{"auth":{"threepid_creds":{"client_secret":"53e679ea-oRED-ACTED-92b8-3012c49c6cfa","sid":"qlBCREDACTEDEtgxD"},"session":"xptUYoREDACTEDogOWAGVnbJQ","type":"m.login.email.identity"}}' 'https://matrix.org/_matrix/client/r0/register'
```
```json
{
@@ -254,7 +266,7 @@ The app is now polling on
}
```
We click on the link received by email `https://matrix.org/_matrix/client/unstable/registration/email/submit_token?token=vtQjQIZfwdoREDACTEDozrmKYSWlCXsJ&client_secret=53e679ea-oRED-ACTED-92b8-3012c49c6cfa&sid=qlBCREDACTEDEtgxD` which contains:
User clicks on the link received by email `https://matrix.org/_matrix/client/unstable/registration/email/submit_token?token=vtQjQIZfwdoREDACTEDozrmKYSWlCXsJ&client_secret=53e679ea-oRED-ACTED-92b8-3012c49c6cfa&sid=qlBCREDACTEDEtgxD` which contains:
- A `token` vtQjQIZfwdoREDACTEDozrmKYSWlCXsJ
- The `client_secret`: 53e679ea-oRED-ACTED-92b8-3012c49c6cfa
- A `sid`: qlBCREDACTEDEtgxD
@@ -306,7 +318,9 @@ Once the link is clicked, the registration request (polling) returns a 401 with
User is proposed to accept T&C and he accepts them
> curl -X POST --data $'{"auth":{"session":"xptUYoREDACTEDogOWAGVnbJQ","type":"m.login.terms"}}' 'https://matrix.org/_matrix/client/r0/register'
```shell script
curl -X POST --data $'{"auth":{"session":"xptUYoREDACTEDogOWAGVnbJQ","type":"m.login.terms"}}' 'https://matrix.org/_matrix/client/r0/register'
```
```json
{
@@ -365,7 +379,9 @@ User is proposed to accept T&C and he accepts them
User is proposed to prove he is not a robot and he does it:
> curl -X POST --data $'{"auth":{"response":"03AOLTBLSiGS9GhFDpAMblJ2nlXOmHXqAYJ5OvHCPUjiVLBef3k9snOYI_BDC32-t4D2jv-tpvkaiEI_uloobFd9RUTPpJ7con2hMddbKjSCYqXqcUQFhzhbcX6kw8uBnh2sbwBe80_ihrHGXEoACXQkL0ki1Q0uEtOeW20YBRjbNABsZPpLNZhGIWC0QVXnQ4FouAtZrl3gOAiyM-oG3cgP6M9pcANIAC_7T2P2amAHbtsTlSR9CsazNyS-rtDR9b5MywdtnWN9Aw8fTJb8cXQk_j7nvugMxzofPjSOrPKcr8h5OqPlpUCyxxnFtag6cuaPSUwh43D2L0E-ZX7djzaY2Yh_U2n6HegFNPOQ22CJmfrKwDlodmAfMPvAXyq77n3HpoREDACTEDo3830RHF4BfkGXUaZjctgg-A1mvC17hmQmQpkG7IhDqyw0onU-0vF_-ehCjq_CcQEDpS_O3uiHJaG5xGf-0rhLm57v_wA3deugbsZuO4uTuxZZycN_mKxZ97jlDVBetl9hc_5REPbhcT1w3uzTCSx7Q","session":"xptUYoREDACTEDogOWAGVnbJQ","type":"m.login.recaptcha"}}' 'https://matrix.org/_matrix/client/r0/register'
```shell script
curl -X POST --data $'{"auth":{"response":"03AOLTBLSiGS9GhFDpAMblJ2nlXOmHXqAYJ5OvHCPUjiVLBef3k9snOYI_BDC32-t4D2jv-tpvkaiEI_uloobFd9RUTPpJ7con2hMddbKjSCYqXqcUQFhzhbcX6kw8uBnh2sbwBe80_ihrHGXEoACXQkL0ki1Q0uEtOeW20YBRjbNABsZPpLNZhGIWC0QVXnQ4FouAtZrl3gOAiyM-oG3cgP6M9pcANIAC_7T2P2amAHbtsTlSR9CsazNyS-rtDR9b5MywdtnWN9Aw8fTJb8cXQk_j7nvugMxzofPjSOrPKcr8h5OqPlpUCyxxnFtag6cuaPSUwh43D2L0E-ZX7djzaY2Yh_U2n6HegFNPOQ22CJmfrKwDlodmAfMPvAXyq77n3HpoREDACTEDo3830RHF4BfkGXUaZjctgg-A1mvC17hmQmQpkG7IhDqyw0onU-0vF_-ehCjq_CcQEDpS_O3uiHJaG5xGf-0rhLm57v_wA3deugbsZuO4uTuxZZycN_mKxZ97jlDVBetl9hc_5REPbhcT1w3uzTCSx7Q","session":"xptUYoREDACTEDogOWAGVnbJQ","type":"m.login.recaptcha"}}' 'https://matrix.org/_matrix/client/r0/register'
```
```json
{
@@ -396,9 +412,11 @@ Some homeservers may require the user to enter MSISDN.
On matrix.org, it's not required, and not even optional, but it's still possible for the app to add a MSISDN during the registration.
The user enter a phone number and select a country, the `client_secret` is generated by the application
The user enters a phone number and selects a country, the `client_secret` is generated by the application
> curl -X POST --data $'{"client_secret":"d3e285f6-972a-496c-9a22-7915a2db57c7","send_attempt":1,"country":"FR","phone_number":"+33611223344"}' 'https://matrix.org/_matrix/client/r0/register/msisdn/requestToken'
```shell script
curl -X POST --data $'{"client_secret":"d3e285f6-972a-496c-9a22-7915a2db57c7","send_attempt":1,"country":"FR","phone_number":"+33611223344"}' 'https://matrix.org/_matrix/client/r0/register/msisdn/requestToken'
```
```json
{
@@ -430,10 +448,11 @@ If it is not the case, the homeserver send the SMS and returns some data, especi
}
```
When you execute the register request, with the received `sid`, you get an error since the MSISDN is not validated yet:
> curl -X POST --data $'{"auth":{"type":"m.login.msisdn","session":"xptUYoREDACTEDogOWAGVnbJQ","threepid_creds":{"client_secret":"d3e285f6-972a-496c-9a22-7915a2db57c7","sid":"1678881798"}}}' 'https://matrix.org/_matrix/client/r0/register'
When we execute the register request, with the received `sid`, we get an error since the MSISDN is not validated yet:
```shell script
curl -X POST --data $'{"auth":{"type":"m.login.msisdn","session":"xptUYoREDACTEDogOWAGVnbJQ","threepid_creds":{"client_secret":"d3e285f6-972a-496c-9a22-7915a2db57c7","sid":"1678881798"}}}' 'https://matrix.org/_matrix/client/r0/register'
```
```json
"auth": {
@@ -492,7 +511,9 @@ There is an issue on Synapse, which return a 401, it sends too much data along w
The user receive the SMS, he can enter the SMS code in the app, which is sent using the "submit_url" received ie the response of the `requestToken` request:
> curl -X POST --data $'{"client_secret":"d3e285f6-972a-496c-9a22-7915a2db57c7","sid":"1678881798","token":"123456"}' 'https://matrix.org/_matrix/client/unstable/add_threepid/msisdn/submit_token'
```shell script
curl -X POST --data $'{"client_secret":"d3e285f6-972a-496c-9a22-7915a2db57c7","sid":"1678881798","token":"123456"}' 'https://matrix.org/_matrix/client/unstable/add_threepid/msisdn/submit_token'
```
```json
{
@@ -520,7 +541,9 @@ And if the code is correct we get a 200 with:
We can now execute the registration request, to the homeserver
> curl -X POST --data $'{"auth":{"type":"m.login.msisdn","session":"xptUYoREDACTEDogOWAGVnbJQ","threepid_creds":{"client_secret":"d3e285f6-972a-496c-9a22-7915a2db57c7","sid":"1678881798"}}}' 'https://matrix.org/_matrix/client/r0/register'
```shell script
curl -X POST --data $'{"auth":{"type":"m.login.msisdn","session":"xptUYoREDACTEDogOWAGVnbJQ","threepid_creds":{"client_secret":"d3e285f6-972a-496c-9a22-7915a2db57c7","sid":"1678881798"}}}' 'https://matrix.org/_matrix/client/r0/register'
```
```json
{
@@ -535,7 +558,7 @@ We can now execute the registration request, to the homeserver
}
```
Now the homeserver consider that the `m.login.msisdn` step is completed (401):
Now the homeserver considers that the `m.login.msisdn` step is completed (401):
```json
{

107
docs/ui-tests.md Normal file
View File

@@ -0,0 +1,107 @@
# Automate user interface tests
Element Android ensures that some fundamental flows are properly working by running automated user interface tests.
Ui tests are using the android [Espresso](https://developer.android.com/training/testing/espresso) library.
Tests can be run on a real device, or on a virtual device (such as the emulator in Android Studio).
Currently the test are covering a small set of application flows:
- Registration
- Self verification via emoji
- Self verification via passphrase
## Prerequisites:
Out of the box, the tests use one of the homeservers (located at http://localhost:8080) of the "Demo Federation of Homeservers" (https://github.com/matrix-org/synapse#running-a-demo-federation-of-synapses).
You first need to follow instructions to set up Synapse in development mode at https://github.com/matrix-org/synapse#synapse-development. If you have already installed all dependencies, the steps are:
```shell script
$ git clone https://github.com/matrix-org/synapse.git
$ cd synapse
$ virtualenv -p python3 env
$ source env/bin/activate
(env) $ python -m pip install --no-use-pep517 -e .
```
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
```
**Emulator/Device set up**
When running the test via android studio on a device, you have to disable system animations in order for the test to work properly.
First, ensure developer mode is enabled:
- To enable developer options, tap the **Build Number** option 7 times. You can find this option in one of the following locations, depending on your Android version:
- Android 9 (API level 28) and higher: **Settings > About Phone > Build Number**
- Android 8.0.0 (API level 26) and Android 8.1.0 (API level 26): **Settings > System > About Phone > Build Number**
- Android 7.1 (API level 25) and lower: **Settings > About Phone > Build Number**
On your device, under **Settings > Developer options**, disable the following 3 settings:
- Window animation scale
- Transition animation scale
- Animator duration scale
## Run the tests
Once Synapse is running, and an emulator is running, you can run the UI tests.
### From the source code
Click on the green arrow in front of each test. Clicking on the arrow in front of the test class, or from the package directory does not always work (Tests not found issue).
### From command line
````shell script
./gradlew vector:connectedGplayDebugAndroidTest
````
To run all the tests from the `vector` module.
In case of trouble, you can try to uninstall the previous installed test APK first with this command:
```shell script
adb uninstall im.vector.app.debug.test
```
## Recipes
We added some specific Espresso IdlingResources, and other utilities for matrix related tests
### Wait for initial sync
```kotlin
// Wait for initial sync and check room list is there
withIdlingResource(initialSyncIdlingResource(uiSession)) {
onView(withId(R.id.roomListContainer))
.check(matches(isDisplayed()))
}
```
### Accessing current activity
```kotlin
val activity = EspressoHelper.getCurrentActivity()!!
val uiSession = (activity as HomeActivity).activeSessionHolder.getActiveSession()
```
### Interact with other session
It's possible to create a session via the SDK, and then use this session to interact with the one that the emulator is using (to check verifications for example)
```kotlin
@Before
fun initAccount() {
val context = InstrumentationRegistry.getInstrumentation().targetContext
val matrix = Matrix.getInstance(context)
val userName = "foobar_${System.currentTimeMillis()}"
existingSession = createAccountAndSync(matrix, userName, password, true)
}
```

View File

@@ -1,5 +1,6 @@
Useful links:
- https://codelabs.developers.google.com/codelabs/webrtc-web/#0
- http://webrtc.github.io/webrtc-org/native-code/android/
╔════════════════════════════════════════════════╗
@@ -25,7 +26,7 @@ Useful links:
│ │ │ │ │ mx event │ │ │ │
│ │ │ └────────────────────┘ │ │ │ │
│ │ │ │ │ │ │
Riot.im │ │ │ │ │ Riot.im
Element │ │ │ │ │ Element
┌──│ App │ │ │ │ │ App │
│ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │
@@ -102,7 +103,7 @@ Useful links:
│ │ ┌────┐ │ │ └────────────────────┘ │ │ │
│ │ │ 3 │ │ ┌────────────────────┐ │ │ │ │
│ │──────┴────┴───────┼──────────────────┼─▶│ m.call.candidates │ │ │ │
Riot.im │ │ │ mx event │ │ │ │ Riot.im
Element │ │ │ mx event │ │ │ │ Element
│ App │ │ │ └────────────────────┘ │ │ App │
│ │ │ │ │ │ │
│ │ │ │ │ │ │
@@ -194,9 +195,9 @@ Useful links:
│ │ │ m.call.invite │───┼────────────────────────────┬────┬───▶│ │
┌─────────────────┐ │ │ mx event │ │ │ │ 1 │ │ │
│ │ │ │ └────────────────────┘ │ └────┘ │ │
│ │ │ ┌────────────────────┐ │ │ │ Riot.im
│ │ │ ┌────────────────────┐ │ │ │ Element
│ │ │ │ │ m.call.candidates │ │ │ App │
Riot.im │ │ │ mx event │ │ │ │ │
Element │ │ │ mx event │ │ │ │ │
│ App │ │ │ └────────────────────┘ │ │ │
│ │ │ ┌────────────────────┐◀──┼─────────────────┼───┬────┬───────────┤ │
│ │◀──────────────────┼──────────────────┼──│ m.call.answer │ │ │ 4 │ └──┬──────────────┘
@@ -274,7 +275,7 @@ Useful links:
│ │ │ │ └────────────────────┘ │ │ │
│ │ │ ┌────────────────────┐ │ │ │ │
│ │ │ │ │ m.call.candidates │ │ │ │
Riot.im │ │ │ mx event │ │ │ │ Riot.im
Element │ │ │ mx event │ │ │ │ Element
│ App │ │ │ └────────────────────┘ │ ┌────┐ │ App │
│ │ │ ┌────────────────────┐ │ │ │ 3 │ │ │
│ │◀──────────────────┼┐ │ │ m.call.answer │ │ ┌───────┴────┴────────│ │
@@ -369,7 +370,7 @@ Useful links:
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │
Riot.im │ └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ │ Riot.im
Element │ └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ │ Element
│ App │ │ App │
│ │ │ │
│ │ │ │

View File

@@ -0,0 +1,30 @@
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 or XMPP.
<b>СВРЪХ СИГУРНО</b>: Реално шифроване от край до край (само тези в разговора могат да дешифрират съобщения) и кръстосано подписване за проверка на устройствата на участниците в разговора.
<b>ПЪЛНА КОМУНИКАЦИЯ</b>: Съобщения, гласови и видео разговори, споделяне на файлове, споделяне на екран и цял куп интеграции, ботове и джаджи. Изграждайте стаи, общности, поддържайте връзка и направете нещата завършени.
<b>НАВСЯКЪДЕ КЪДЕТО СТЕ</b>: Поддържайте връзка, където и да сте, с напълно синхронизирана история на съобщенията на всичките ви устройства и чрез web на https://app.element.io.

View File

@@ -0,0 +1 @@
Сигурен децентрализиран чат и VoIP. Пазете данните си от външни лица.

View File

@@ -0,0 +1 @@
Element (предишен Riot.im)

View File

@@ -0,0 +1,30 @@
Element ist eine neuartige Messaging- und Kollaborationsapp:
1. Volle Kontrolle über deine Privatssphäre
2. Kommuniziere mit jedem aus dem Matrix-Netzwerk und mit der Integration von z.B. Slack sogar über Matrix hinaus
3. Schutz vor Werbung, Datamining und geschlossenen Platformen
4. Absicherung durch Ende-zu-Ende-Verschlüsselung, und Cross Signing um andere zu verifizieren
Element unterscheidet sich durch Dezentralität und Open Source deutlich von anderen Messaging- und Kollaborationsapps.
Element ermöglicht es einen eigenen Server zu betreiben - oder einen beliebigen auszuwählen, sodass du nicht nur Privatssphäre gewinnst, sondern auch deine Daten und Konversationen in deiner Hand sind und du sie kontrollieren kannst. Du hast Zugriff auf ein offenes Netzwerk, und kannst daher nicht nur mit Element-Nutzern schreiben. Und es ist sehr sicher.
Element ist zu all diesem in der Lage, weil es Matrix nutzt - einen Standard für offene, dezentrale Kommunikation.
Element gibt dir die Kontrolle, indem es dir die Wahl darüber lässt, wer deine Konversationen hostet. In der Element App kannst du zwischen verschiedenen Möglichkeiten auswählen:
1. Kostenlos auf dem öffentlichen matrix.org Server registrieren, der von den Matrix-Entwicklern gehostet wird, oder wähle aus Tausenden von öffentlichen Servern, die von Freiwilligen gehostet werden
2. Einen Account auf einem eigenen Server auf eigener Hardware betreiben
3. Einen Account auf einem benutzerdefinierten Server erstellen, zum Beispiel durch ein Abonnment bei der Element Matrix Services Hosting-Platform
<b>Wieso Element nutzen?</b>
<b>BESITZE DEINE DATEN</b>: Du entscheidest wo deine Daten und Nachrichten gespeichert werden. Du besitzt und kontrollierst sie, anstatt ein Großkonzern, der deine Daten analysiert und Dritten Zugriff gibt.
<b>OFFENE KOMMUNIKATION UND KOLLABORATION</b>: Du kannst mit jedem im Matrix-Netzwerk schreiben, ob sie nun Element oder eine andere Matrix-App nutzen, oder gar ein anderes Kommunikationssystem wie z.B. Slack, IRC oder XMPP.
<b>SUPER SICHER</b>: Echte Ende-zu-Ende-Verschlüsselung (nur Personen in der Konversation können die Nachrichten entschlüsseln), und Cross Signing um die Geräte der anderen Personen zu verifizieren.
<b>VOLLSTÄNDIGE KOMMUNIKATION</b>: Nachrichten, Telefonate und Videoanrufe, Teilen von Dateien oder dem eigenen Bildschirm und viele andere Integrationen, Bots und Widgets. Erstelle Räume, Communities, bleib in Kontakt und sei produktiv.
<b>ÜBERALL WO DU BIST</b>: Bleib in Kontakt wo auch immer du bist - mit einem vollständig synchronisierten Nachrichtenverlauf über alle Geräte und im Web auf https://app.element.io.

View File

@@ -0,0 +1 @@
Sicherer dezentraler Chat & Telefonie. Schütze deine Daten vor Dritten.

View File

@@ -0,0 +1 @@
Element (zuvor Riot.im)

View File

@@ -0,0 +1,2 @@
This new version mainly contains bug fixes and improvements. Sending a message is now much faster.
Full changelog: https://github.com/vector-im/element-android/releases/tag/v1.0.10

View File

@@ -0,0 +1,30 @@
Element is a new type of messenger and collaboration app that:
1. Puts you in control to preserve your privacy
2. Lets you communicate with anyone in the Matrix network, and even beyond by integrating with apps such as Slack
3. Protects you from advertising, datamining and walled gardens
4. Secures you through end-to-end encryption, with cross-signing to verify others
Element is completely different from other messaging and collaboration apps because it is decentralised and open source.
Element lets you self-host - or choose a host - so that you have privacy, ownership and control of your data and conversations. It gives you access to an open network; so youre not just stuck speaking to other Element users only. And it is very secure.
Element is able to do all this because it operates on Matrix - the standard for open, decentralised communication.
Element puts you in control by letting you choose who hosts your conversations. From the Element app, you can choose to host in different ways:
1. Get a free account on the matrix.org public server hosted by the Matrix developers, or choose from thousands of public servers hosted by volunteers
2. Self-host your account by running a server on your own hardware
3. Sign up for an account on a custom server by simply subscribing to the Element Matrix Services hosting platform
<b>Why choose Element?</b>
<b>OWN YOUR DATA</b>: You decide where to keep your data and messages. You own it and control it, not some MEGACORP that mines your data or gives access to third parties.
<b>OPEN MESSAGING AND COLLABORATION</b>: You can chat with anyone else in the Matrix network, whether theyre using Element or another Matrix app, and even if they are using a different messaging system of the likes of Slack, IRC or XMPP.
<b>SUPER-SECURE</b>: Real end-to-end encryption (only those in the conversation can decrypt messages), and cross-signing to verify the devices of conversation participants.
<b>COMPLETE COMMUNICATION</b>: Messaging, voice and video calls, file sharing, screen sharing and a whole bunch of integrations, bots and widgets. Build rooms, communities, stay in touch and get things done.
<b>EVERYWHERE YOU ARE</b>: Stay in touch wherever you are with fully synchronised message history across all your devices and on the web at https://app.element.io.

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 131 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 316 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 310 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 543 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 341 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 334 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 551 KiB

View File

@@ -0,0 +1 @@
Secure decentralised chat & VoIP. Keep your data safe from third parties.

View File

@@ -0,0 +1 @@
Element (previously Riot.im)

View File

@@ -0,0 +1,30 @@
Element estas nova speco de mesaĝilo kaj kunlaborilo, kiu:
1. Lasas vin regi vian komunikadon por protekti vian privatecon
2. Lasas vin komuniki kun ĉiu ajn en la reto de Matrix, kaj eĉ pliaj, per interkompreno kun aplikaĵoj kiel ekzemple Slack
3. Protektas vin de reklamoj, kolektado de datumoj, kaj muritaj ĝardenoj
4. Sekurigas vian komunikadon per tutvoja ĉifrado, kun la eblo kontroli aliajn per delegaj subskriboj
Element malsamas al aliaj mesaĝiloj kaj kunlaboriloj, ĉar ĝi estas sencentra kaj malfermitkoda.
Element lasas vin gastigi vian propran servilon, aŭ elekti servilon, kiu plaĉas al vi, por ke vi ne perdu privatecon, kaj por ke vi daŭre regu kaj posedu viajn datumojn kaj interparolojn. Ĝi donas al vi aliron al malfermita reto; por ke via interparolado ne estu limigita nur al aliaj uzantoj de Element. Kaj ĝi estas tre sekura.
Element povas fari ĉi ĉion, ĉar ĝi funkcias per Matrix publika normo por malfermita, sencentra komunikado.
Element lasas vi elekti, kiu gastigos viajn interparolojn. Per la aplikaĵo Element, vi povas elekti diversajn specojn de gastigado:
1. Akiri senpagan konton ĉe la publika servilo matrix.org, gastigata de la programistoj de Matrix, aŭ elekti unu el miloj da publikaj serviloj, gastigataj de volontuloj
2. Memgastiĝi per via propra servilo ĉe via propra aparato
3. Registriĝi ĉe propra servilo per simpla pagaliĝo al la gastiga platformo «Element Matrix Services»
<b>Kial Element?</b>
<b>POSEDU VIAJN DATUMOJN</b>: Vi decidu, kie vi tenu viajn datumojn kaj mesaĝojn. Vi posedas kaj regas ilin, ne iu granda komerca firmao, kiu kolektas viajn datumojn aŭ donas aliron al aliuloj.
<b>MALFERMAJ MESAĜADO KAJ KUNLABORADO</b>: Vi povas babili kun ĉiu alia en la reto de Matrix, ĉu ĝi uzas Elementon aŭ alian aplikaĵon de Matrix, kaj eĉ se ĝi uzas tute alian mesaĝilon, kiel ekzemple Slack, IRC, aŭ XMPP.
<b>TRE SEKURA</b>: Vera tutvoja ĉifrado (nur la interparolantoj povas malĉifri siajn mesaĝojn), kaj delegaj subskriboj por kontroli la aparatojn de partoprenantoj.
<b>SENMANKA KOMUNIKADO</b>: Mesaĝoj, voĉvokoj kaj vidvokoj, havigado de dosieroj, ekrano, kaj multaj diversaj kunigoj, robotoj kaj fenestraĵoj. Kreu ĉambrojn, komunumojn, komuniku kaj kunlaboru.
<b>ĈIE KUN VI</b>: Tenu vin ĝisdata per historio de mesaĝoj plene spegulita trans ĉiuj viaj aparatoj, kaj sur la reto per https://app.element.io.

View File

@@ -0,0 +1 @@
Sekura kaj sencentrigita vokado kaj babilado. Tenu viajn datumojn sekuraj.

View File

@@ -0,0 +1 @@
Element (antaŭe Riot.im)

View File

@@ -0,0 +1,30 @@
Element es un nuevo tipo de aplicación de mensajería y colaboración que:
1. Le da el control para preservar su privacidad
2. Le permite comunicarse con cualquier persona en la red Matrix e incluso más allá al integrarse con aplicaciones como Slack.
3. Te protege de la publicidad, la minería de datos y los jardines vallados.
4. Lo protege a través del cifrado de un extremo a otro, con firma cruzada para verificar a otros
Element es completamente diferente de otras aplicaciones de mensajería y colaboración porque es descentralizado y de código abierto.
Element le permite autohospedarse, o elegir un host, para que tenga privacidad, propiedad y control de sus datos y conversaciones. Te da acceso a una red abierta; para que no se quede atascado hablando solo con otros usuarios de Element. Y es muy seguro.
Element puede hacer todo esto porque opera en Matrix, el estándar para la comunicación abierta y descentralizada.
Element te da el control permitiéndote elegir quién aloja tus conversaciones. Desde la aplicación Element, puede elegir hospedar de diferentes maneras:
1. Obtenga una cuenta gratuita en el servidor público de matrix.org alojado por los desarrolladores de Matrix, o elija entre miles de servidores públicos alojados por voluntarios
2. Autohospede su cuenta ejecutando un servidor en su propio hardware
3. Regístrese para obtener una cuenta en un servidor personalizado simplemente suscribiéndose a la plataforma de alojamiento de Element Matrix Services
<b>¿Por qué elegir Element?</b>
<b>POSEE SUS DATOS</b>: Tú decides dónde guardar tus datos y mensajes. Usted es el propietario y lo controla, no algún MEGACORP que extraiga sus datos o dé acceso a terceros.
<b>MENSAJERÍA ABIERTA Y COLABORACIÓN</b>: Puede chatear con cualquier otra persona en la red de Matrix, ya sea que estén usando Element u otra aplicación de Matrix, e incluso si están usando un sistema de mensajería diferente como Slack, IRC o XMPP.
<b>SUPER SEGURO</b>: Cifrado real de extremo a extremo (solo aquellos en la conversación pueden descifrar mensajes) y firma cruzada para verificar los dispositivos de los participantes de la conversación.
<b>COMUNICACIÓN COMPLETA</b>: Mensajería, llamadas de voz y video, uso compartido de archivos, uso compartido de pantalla y un montón de integraciones, bots y widgets. Construya salas, comunidades, manténgase en contacto y haga las cosas.
<b>EN TODAS PARTES</b>: Manténgase en contacto donde quiera que esté con un historial de mensajes totalmente sincronizado en todos sus dispositivos y en la web en https://app.element.io.

View File

@@ -0,0 +1 @@
Chat y VoIP descentralizados seguros. Mantenga sus datos a salvo de terceros.

View File

@@ -0,0 +1 @@
Element (anteriorment Riot.im)

View File

@@ -0,0 +1,30 @@
Element on uut tüüpi suhtlus- ja koostöörakendus, mis:
1. Võimaldab täielikku kontrolli privaatsuse üle
2. Võimaldab suhelda kõigiga Matrixi võrgus ja isegi väljaspool seda, olles integreeritud selliste rakendustega nagu Slack
3. Kaitseb sind reklaamide ja andmekogumise eest
4. Tagab turvalisuse läbiva krüptimise abil, kasutades risttunnustamist vestlejate tuvastamiseks
Element erineb täielikult teistest sõnumside- ja koostöörakendustest, kuna see on detsentraliseeritud ja avatud lähtekoodiga.
Element võimaldab ise hostida - või valida hosti -, et oleks tagatud privaatsus ja kontroll oma andmete ja vestluste üle. Element annab ka juurdepääsu avatud võrgule, nii et te ei pea vaid Elemendi kasutajatega rääkima. Ning kogu süsteem on väga turvaline.
Element töötab Matrixil - avatud, detsentraliseeritud suhtlus-standardil.
Võimaldades valida, kes vestlusi korraldab, annab Element annab kontrolli sinule. Rakendust Element saad kasutada mitmel viisil.
1. Tasuta konto Matrixi arendajate hostitud avalikus serveris matrix.org või vali tuhandete avalike serverite hulgast, mida haldavad vabatahtlikud
2. Hosti oma kontot ise, paigaldades serveri oma riistvarale
3. Registreeruge serveris olevale kontole, tellides Element Matrix Services teenuseplatvormi
<b> Miks valida element? </b>
<b> KONTROLL ANDMETE ÜLE</b>: otsustad ise, kus oma andmeid ja sõnumeid hoida. Need kuuluvad sulle ja sinu käes on kontroll, mitte mõne MEGAFIRMA käes, mis andmeid oma kasuks kaevandab või kolmandatele isikutele juurdepääsu annab.
<b> AVATUD SUHTLUS JA KOOSTÖÖ </b>: saad vestelda kõigi teistega Matrixi võrgus, olenemata sellest, kas nad kasutavad Elementi või mõnda muud Matrixi rakendust, ja isegi kui nad kasutavad teistsugust suhtlussüsteemi nagu Slack, IRC või XMPP.
<b> ÜLITURVALINE </b>: tõeline läbiv krüptimine (ainult vestluses osalejad saavad sõnumeid lugeda) ja risttunnustamine vestluses osalejate tuvastamiseks.
<b> KÕIK SUHTLUSVÕIMALUSED</b>: sõnumid, hääl- ja videokõned, failide jagamine, ekraani jagamine ja terve hulk lõiminguid, roboteid ja vidinaid. Loo tubasid, kogukondi, hoia ühendust ja saa asjad aetud.
<b> KÕIKJAL, KUS VIIBITE</b>: saad suhelda kõigis oma seadmetes ja ka veebis aadressil https://app.element.io ning sealjuures täielikult sünkroonitud sõnumite ajalooga.

View File

@@ -0,0 +1 @@
Turvalised ning hajutatud vestlused ja VoIP-kõned. Sinu suhtlus on üliturvaline.

View File

@@ -0,0 +1 @@
Element (varem Riot.im)

View File

@@ -0,0 +1,30 @@
المنت گونه‌ای جدید از کاره‌های پیام‌رسانی و همکاری است که:
۱. کنترل محرمانگیتان را در دست خودتان می‌گذارد
۲. می‌گذارد با هرکسی در شبکهٔ ماتریکس و حتا فراتر از آن، ارتباط برقرار کنید
۳. از شما در برابر تبلیغات، داده‌کاوری و دیوارهای پرداختی، محافظت می‌کند
۴. با رمزنگاری سرتاسری با ورود چندگانه، امنتان می‌کند
المنت به خاطر نامتمرکز و نرم‌افزار آزاد بودن، کاملاً با دیگر کاره‌های پیام‌رسانی و همکاری، فرق دارد.
المنت می‌گذارد خودمیزبانی کرده یا میزبانی برگزینید که امنیت، مالکیت و واپایش داده‌ها و گفت‌وگوهایتان را در اختیار داشته باشید. این کاره شما را به شبکه‌ای باز و شدیداً امن وصل کرده تا مجبور نباشید فقط با دیگر کاربران المنت صحبت کنید.
المنت می‌تواند همهٔ این کارها را بکند، چرا که روی ماتریکس، استانداردی برای گفت‌وگوی باز و نامتمرکز عمل می‌کند.
المنت با اجازه برای گزینش کسی که گفت‌وگوهایتان را میزبانی می‌کند، کنترل را به شما می‌دهد. با کارهٔ المنت، می‌توانید برگزینید که به روش‌های مختلفی میزبانی شوید:
۱. گرفتن حسابی رایگان روی کارساز عمومی matrix.org که به دست توسعه‌دهندگان ماتریکس میزبانی می‌شود، یا گرینش از میان هزاران کارساز عمومی میزبانی‌شده به دست داوطلبان
۲. خودمیزبانی حسابتان با اجرای کراسازی روی سخت‌افزار خودتان
۳. ثبت‌نام برای حسابی روی یک کارساز سفارشی با اشتراک در بن‌یازهٔ میزبانی خدمات ماتریکس المنت
<b>چرا المنت را برگزینیم؟</b>
<b>مالک داده‌هایتان باشید</b>: خوتان تصمیم می‌گیرید که داده‌ها و پیام‌هایتان را کجا نگه دارید. شما صاحبشان هستید و واپایششان می‌کنید، نه شرکت‌های بزرگی که داده‌هایتان را کاویده و به شرکت‌های دیگر دسترسی می‌دهند.
<b>پیام‌رسانی و همکاری باز</b>: می‌توانید با هرکسی در شبکهٔ ماتریکس گپ بزنید، چه از المنت استفاده کنند و چه از هر کارهٔ ماتریکس دیگری؛ و حتا اگر از سامانهٔ پیام‌رسانی متفاوتی مثل اسلک، آی‌آرسی یا جبر استفاده کنند.
<b>فوق امن</b>: رمزنگاری سرتاسری واقعی (فقط کسانی که در گفت‌وگو هستند،‌می‌توانند پیام‌ها را رمزگشایی کنند) و ورود چندگانه برای تأیید هویت افزاره‌های شرکت‌کنندگان در گفت‌وگو.
<b>ارتباط کامل</b>: پیام‌رسانی، تماس‌های صوتی و تصویری،‌هم‌رسانی پرونده، هم‌رسانی صفحه و یه عالمه یکپارچگی، بات و ابزارک. اتاق و اجتماع ساخته، در دسترس بوده و کارها را انجام دهید.
<b>هرجا که هستید</b>: هر کجا که هستید، با هم‌گام سازی کامل تاریخچهٔ پیام‌ها بین همهٔ افزاره‌هایتان و وب روی https://app.element.io در دسترس باشید.

View File

@@ -0,0 +1 @@
گپ و تماس نامتمرکز امن. داده‌هایتان را از شرکت‌ها امن نگه دارید.

View File

@@ -0,0 +1 @@
المنت (ریوت سابق)

View File

@@ -0,0 +1 @@
Turvallista, hajautettua keskustelua ja VoIP-puheluita. Pidä tietosi turvassa.

View File

@@ -0,0 +1 @@
Element (aiemmin Riot.im)

View File

@@ -0,0 +1,30 @@
Element est une nouvelle application de messagerie et de collaboration qui :
1) Vous place aux commandes de votre vie privée
2) Vous permet de communiquer avec n'importe qui du réseau Matrix, et plus encore par des intégrations d'autres applications comme Slack ou Discord
3) Vous protège de la publicité et de la collecte de données
4) Vous sécurise grâce à du chiffrement bout-à-bout, avec de la signature croisée pour authentifier les autres utilisateurs
Element est complètement différent des autres applications de messagerie et de collaboration puisque l'application est décentralisée et open-source.
Element vous permet d'héberger vous-même -ou de choisir un hôte- vous permettant d'assurer votre vie privée, la propriété et le contrôle de vos données et de vos conversations. Cela vous offre l'accès à un réseau ouvert, vous n'êtes donc pas condamné à parler à d'autres utilisateurs d'Element seulement. Et c'est très sécurisé.
Element peut faire tout ça car il est basé sur Matrix, le protocole standard pour la communication ouverte et décentralisée.
Element vous donne le contrôle en vous laissant choisir qui héberge vos conversations. Depuis l'application Element, vous pouvez choisir votre hôte de différentes manières :
1) Créer un compte gratuit sur le serveur public matrix.org hébergé par les développeurs de Matrix, ou choisir parler les milliers de serveurs public hébergés par des bénévoles
2) Héberger vous-même votre compte en installant un serveur sur votre propre machine
3) Créer un compte sur un serveur personnalisé en souscrivant sur la plateforme d'hébergement « Element Matrix Services » (EMS)
<b>Pourquoi choisir Element ?</b>
<b>POSSÉDEZ VOS DONNÉES</b> : Vous décidez où conserver vos données et vos messages. Vous les possédez et vous les contrôlez, et non une MEGACORP qui mine vos données ou les donnent à des tiers
<b>UNE MESSAGERIE OUVERTE ET COLLABORATIVE</b> : Vous pouvez discuter avec n'importe qui sur le réseau Matrix, qu'ils utilisent Element ou une autre application basée sur Matrix, et même s'ils utilisent un système de messagerie différent comment Slack, Discord, IRC ou XMPP.
<b>SUPER SÉCURISÉ</b> : Un réel chiffrement bout-à-bout (seulement ceux deux la conversation peuvent déchiffrer les messages), et une signature croisée pour vérifier les appareils des participants de la conversation.
<b>COMMUNICATION COMPLÈTE</b> : Messagerie, appels vocaux et vidéo, transfert de fichiers, partage d'écran et un tas d'intégrations, robots et widgets. Construisez des salons, des communautés, restez en contact et accomplissez de grandes choses.
<b>PARTOUT OÙ VOUS ÊTES</b> : Restez connectés peu import où vous êtes avec la synchronisation complète de l'historique des messages sur tous vos appareils et sur le web sur https://app.element.io.

View File

@@ -0,0 +1 @@
Chat & VoIP sûr et décentralisé. Gardez vos données en sécurité.

View File

@@ -0,0 +1 @@
Element (anciennement Riot.im)

View File

@@ -0,0 +1,30 @@
Az Element egy új üzenetküldő, és csapatmunka alkalmazás, amivel
1. A te kezedben van az irányítás a saját adataid fölött, hogy megőrizhesd a magánszférádat
2. Akárkivel beszélgethetsz a Matrix hálózatban, sőt még azon kívül is, például olyan alkalmazások integrálásával, mint a Slack
3. Megvédheted magad a hirdetésektől, adatbányászattól, és a nagy cégek megoldásaiba való bezártságtól
4. Biztonságosan beszélgethetsz, a végpontok közötti titkosításnak köszönhetően, az eszközök megbízhatóságát az eszköz-közti hitelesítéssel garantálva
Az Element teljesen más, mint a többi üzenetküldő és csapatmunka alkalmazás, mert nyílt forráskódú, és decentralizált (nem központilag irányított).
Az Element lehetővé teszi, hogy saját szervert futtass - vagy válassz egy szolgáltatót - így te birtoklod az adataidat, ezáltal megőrizve a magánszférád és a biztonságod. Egy nyitott hálózathoz ad hozzáférést, így nem csak a többi Element felhasználóval tudsz beszélgetni, hanem másokkal is. Ráadásul nagyon biztonságos.
Az Element-tel azért válik mindez lehetővé, mert a Matrix hálózatra épül - egy nyílt, decentralizált kommunikációs szabványra.
Az Element a te kezedbe adja az irányítást azáltal, hogy eldöntheted, ki tárolja a beszélgetéseidet. Az Element alkalmazásból több féle szolgáltatót is választhatsz:
1. Regisztrálhatsz ingyen egy fiókot a matrix.org nyilvános szerveren, amit a Matrix fejlesztői üzemeltetnek, vagy választhatsz a több ezer, ingyenes szerver közül, amit önkéntesek üzemeltetnek
2. A saját számítógépeden is futtathatsz szervert
3. Előfizethetsz egy saját szerverre az Element Matrix Szolgáltatások platformon
<b>Miért válaszd az Element-et?</b>
<b>ADATAID MEGVÉDÉSE</b>: Eldöntheted, hol tárold az adataid és üzeneteid. A te tulajdonodban van, nem valami megacégnél, ami bányássza az adataid, vagy továbbadja másoknak.
<b>NYÍLT BESZÉLGETÉS, ÉS CSAPATMUNKA</b>: Akárkivel cseveghetsz a Matrix hálózatban, akár az Element-et használják, akár valamilyen másik Matrix alkalmazást, de még akkor is, ha egy másik csevegő hálózatot használnak, olyat, mint például a Slack, IRC, vagy az XMPP.
<b>SZUPER-BIZTONSÁGOS</b>: Valódi, végpontok közötti titkosítás (csak a beszélgetés résztvevői tudják elolvasni az üzeneteket), és eszköz-közti hitelesítés, hogy ellenőrizhesd a résztvevők eszközeit.
<b>TELJES KOMMUNIKÁCIÓ</b>: Üzenetküldés, hang- és videóhívások, fájlmegosztás, képernyőmegosztás, és egy rakás integráció, bot, és widget. Hozz létre szobákat, közösségeket, maradj elérhető, és végezzétek el a feladatokat.
<b>AKÁRHOL, AHOL CSAK SZÜKSÉG VAN RÁ</b>: Akárhol is vagy, maradj elérhető, a teljes mértékben szinkronizált beszélgetésekkel az összes eszközödön, és a weben a https://app.element.io oldalon.

View File

@@ -0,0 +1 @@
Biztonságos, decentralizált chat és VoIP. Tartsd az adataid biztonságban.

View File

@@ -0,0 +1 @@
Element (régebben Riot.im)

View File

@@ -0,0 +1,30 @@
Element è un nuovo tipo di app di messaggistica e collaborazione che:
1. Ti mette al controllo per preservare la tua privacy
2. Ti lascia comunicare con chiunque nella rete Matrix e oltre, integrandosi con app come Slack
3. Ti protegge da pubblicità, raccolta di dati e piattaforme chiuse
4. Ti protegge con la crittografia end-to-end, con la firma incrociata per verificare gli altri
Element è completamente diverso dalle altre app di messaggistica e collaborazione perchè è decentralizzato e open source.
Element può essere gestito in locale - o puoi scegliere un host - in modo che tu abbia privacy, possesso e controllo dei tuoi dati e conversazioni. Ti dà accesso ad una rete aperta, quindi non sei limitato a parlare solo con altri utenti Element. Ed è molto sicuro.
Element può fare tutto ciò perchè funziona su Matrix - lo standard per comunicazioni aperte e decentralizzate.
Element ti mette al controllo lasciandoti scegliere chi gestisce il server delle tue conversazioni. Dall'app Element, hai diverse opzioni:
1. Crea un account gratuito sul server pubblico matrix.org gestito dagli sviluppatori di Matrix, o scegli tra migliaia di server pubblici gestiti da volontari
2. Gestisci autonomamente un account installando un server sul tuo hardware
3. Registra un account su un server personalizzato iscrivendoti alla piattaforma Element Matrix Services
<b>Perchè scegliere Element?</b>
<b>POSSIEDI I TUOI DATI</b>: decidi dove tenere i tuoi dati e messaggi. Sono tuoi e li controlli tu, non qualche MEGADITTA che raccoglie i tuoi dati o ne dà l'accesso a terze parti.
<b>MESSAGGISTICA E COLLABORAZIONE APERTE</b>: puoi chattare con chiunque nella rete Matrix, usando Element o un'altra app Matrix, o anche se si sta usando un sistema di messaggistica diverso come Slack, IRC o XMPP.
<b>SUPER SICURO</b>: vera crittografia end-to-end (solo chi è nella conversazione può decifrare i messaggi) e firma incrociata per verificare i dispositivi dei partecipanti.
<b>COMUNICAZIONE COMPLETA</b>: messaggi, chiamate audio e video, condivisione file e schermo, un vasto numero di integrazioni, bot e widget. Crea stanze, comunità, resta in contatto e porta a termine gli impegni.
<b>OVUNQUE TU SIA</b>: resta in contatto ovunque tu sia con la cronologia dei messaggi sincronizzata tra tutti i tuoi dispositivi e in rete su https://app.element.io.

View File

@@ -0,0 +1 @@
Chat e VoIP decentralizzati sicuri. Tieni lontani i tuoi dati dalle terze parti.

View File

@@ -0,0 +1 @@
Element (ex Riot.im)

View File

@@ -0,0 +1,30 @@
Element d anaw amaynut n usnas n tirawt d uttekki ara:
1. Ad ak•am-yefken tazmert n usenqed akken ad tḥerzeḍ tabaḍnit-ik•im
2. Ad k•kem-yeǧǧ ad temmeslayeḍ d yal yiwen deg neɣ akkin i uẓeṭṭa n Matrix s usekcem n yisnasen am Slack
3. Ad k•kem-immesten seg udellel, asekyed n yisefka d tebḥirin tufrigin
4. Ad k•kem-iɣelles s uwgelhen seg yixef ɣer yixef, s uzmal anmidag i usenqed n wiyaḍ
Element yemgarad aṭas ɣef yisnasen-nniḍen n tirawt d uttekki acku mačči d aslammas yerna d aɣbalu yeldin.
Element ad k•kem-yeǧǧ ad tsennefɣeḍ iman-ik•im - neɣ ad tferneḍ asenneftaɣ - akken ad tesɛuḍ tabaḍnit, ad tesneqdeḍ isefka-k•m d yidiwenniyen-ik•im. Ad ak•am-yefk tasiregt ad tkecmeḍ ɣer uẓeṭṭa yeldin, akken ur tettɣimiḍ ara tettmeslayeḍ d yiseqdacen n Element kan. Yerna d aɣellsan nezzeh.
Element yezmer ad yeg akk aya acku yetteddu deg Matrix - alugen i teɣwalt yeldin ur nelli d taslammast.
Element ad ak•am-yefk tazmert ad tferneḍ asenneftaɣ i yidiwenniyen-ik•im. Seg usnas n Element, tzemreḍ ad tferneḍ ad tsennefɣeḍ s yiberdan yemgaraden:
1. Ldi amiḍan baṭel deg uqeddac azayez n Matrix.org
2. Sennefteɣ amiḍan-ik•im s yiman-ik•im s usenker n uqeddac deg warrum-ik•im
3. Jerred i umiḍan deg uqeddac yugnen s umulteɣ ɣer tɣerɣert n usennefteɣ n Element Matrix Services
<b>Iwacu ara tferneḍ Element?</b>
<b>SƐU ISEFKA-INEK•INEM</b>: D kečč/kemm ara ifernen anda ara tḥerzeḍ isefka-k•m d yiznan-ik•im. D ayla-k•m, d kečč/kemm ara t-isneqden, mačči d kra n MEGACORP ara yamden isefka-k•m neɣ ara yefken tasiregt n unekcum i wis tlata.
<b>TIRAWT YELDIN D UTTEKKI</b>: Tzemreḍ ad temmeslayeḍ d yal yiwen deg uẓeṭṭa n Matrix, ɣas seqdacen Element neɣ asnas-nniḍen n Matrix, ulamma daɣen seqdacen anagraw n tirawt yemgaraden am Slack, IRC neɣ XMPP.
<b>D AƔELLSAN NEZZEH</b>: Awgelhen seg yixef ɣer yixef n tidet (anagar wid/tid i yellan deg udiwenni i izemren ad zemken iznan), d uzmal anmidag i usenqed n yibenken n yimettekkiyen deg udiwenni.
<b>TAƔWALT TUMMIDT</b>: Tirawt, isawalen s taɣect neɣ s tvidyut, beṭṭu n yifuyla, beṭṭu n ugdil d waṭas n yimsidaf, ibuṭen d yiwiǧiten. Bnu tixxamin, timezdagnutin, ḍfer amaynut tfakkeḍ timahilin.
<b>ANDA TEBƔUḌ TILIḌ</b>: Ḍfer amaynut anda tebɣuḍ tiliḍ s umazray ummid n yiznan yemtawan deg akk ibenken-ik•im, daɣen deg web deg https://app.element.io.

View File

@@ -0,0 +1 @@
Adiwenni aɣellsan ur nelli aslammas & VoIP. Ḥrez isefra-k•m seg tama tis tlata.

View File

@@ -0,0 +1 @@
Element (Riot.im zik)

View File

@@ -0,0 +1,30 @@
Element é um novo tipo de aplicativo de mensagens e colaboração que:
1. Coloca você no controle de sua privacidade;
2. Permite que você se comunique com qualquer pessoa na rede Matrix e, através de integrações, outros aplicativos como o Slack;
3. Protege você de anúncios, mineração de dados e de ecossistemas fechados;
4. Faz uso da criptografia de ponta a ponta, com autoverificação para confirmar outras pessoas.
Element é completamente diferente de outros aplicativos de mensagem e colaboração porque é descentralizado e código aberto.
É possível hospedar um servidor ou escolher um servidor hospedeiro, para que você tenha privacidade, controle e que você seja o dono de seus dados e conversas. Com o Element, você possui acesso a uma rede aberta; então você não está preso falando somente com outros usuários no Element. O Element também é muito seguro.
Element é capaz de fazer tudo isso porque ele opera no Matrix, o padrão para comunicação aberta e descentralizada.
Element coloca você no controle ao permitir quem hospeda suas conversas. Neste aplicativo, você pode escolher hospedar de maneiras diferentes:
1. Crie uma conta gratuita no servidor público matrix.org;
2. Hospede sua conta no seu servidor;
3. Entre em uma conta em um servidor customizado ao simplesmente se inscrever na plataforma de hospedagem Serviços Matrix Element.
<b>Por que escolher o Element?</b>
<b>SEJA O DONO DE SEUS DADOS</b>: você decide onde manter seus dados e mensagens. Você é o dono deles e também os controla, não alguma mega corporação que minera os seus dados ou compartilha eles com terceiros.
<b>COLABORAÇÃO E MENSAGENS ABERTAS</b>: você pode falar com qualquer outra pessoa na rede Matrix, não importa se ela está usando o Element ou algum outro aplicativo Matrix, ou até mesmo se ela está utilizando um sistema de mensagens diferente como o Slack, IRC ou XMPP.
<b>SUPER-SEGURO</b>: criptografia de ponta a ponta verdadeira (apenas aqueles na conversa podem descriptografar mensagens), e assinatura cruzada para verificar os dispositivos de participantes de conversas.
<b>COMUNICAÇÃO COMPLETA</b>: mensagens, chamadas de voz, chamadas de vídeo, compartilhamento de arquivos, compartilhamento de tela e um monte de integrações, robôs e widgets. Construa salas, comunidades, mantenha contato e faça seus projetos.
<b>NÃO IMPORTA ONDE VOCÊ ESTEJA</b>: mantenha contato não importa onde você esteja com o histórico sincronizado de mensagens em todos os seus dispositivos e no navegador em https://app.element.io.

View File

@@ -0,0 +1 @@
Conversas e chamadas seguras e descentralizadas. Mantenha seus dados protegidos.

View File

@@ -0,0 +1 @@
Element (o novo Riot.im)

View File

@@ -0,0 +1,30 @@
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.

View File

@@ -0,0 +1 @@
Защищённый децентрализованный чат и звонки. Держите ваши данные в безопасности.

View File

@@ -0,0 +1 @@
Element (ранее Riot.im)

View File

@@ -0,0 +1,30 @@
Element je inovatívny kolaboračný komunikátor a messenger ktorý:
1. Ponecháva kontrolu nad vaším súkromím
2. Umožňuje komunikovať s kýmkoľvek v sieti Matrix a vďaka integráciám aj s rôznymi inými aplikáciami ako napríklad Slack
3. Chráni vás pred reklamami, zhromažďovaním údajov a uzavretými platformami
4. Posilňuje vašu bezpečnosť vďaka E2E šifrovaniu a krížovému podpisovaniu určenému na overovanie ostatných
Element sa od ostatných komunikačných a kolaboračných aplikácií odlišuje tým, že je decentralizovaný a open-source.
S Elementom sa môžete pripojiť k vlastnému serveru alebo si môžete vybrať server s dôveryhodným poskytovateľom, čím si zachováte súkromie, vlastníctvo a kontrolu nad vašimi konverzáciami a údajmi. Získate tak prístup do otvorenej siete a teda nie ste limitovaní na komunikáciu len s ostatnými Element používateľmi. A samozrejme je vaša komunikácia dobre zabezpečná.
Element všetko toto dokáže vďaka tomu, že pracuje podľa protokolu Matrix - štandardu na otvorenú, decentralizovanú komunikáciu.
Element vám dáva kontrolu tým, že si samy vyberiete, ako budete spravovať (ang. host) vaše konverzácie. Priamo v aplikácii Element si môžete vybrať z rôznych spôsobov hostovania:
1. Získajte účet zdarma na verejnom servery matrix.org od vývojárov protokolu Matrix alebo si vyberte z tísíce iných serverov hostovaných dobrovoľníkmi
2. Hostujte si účet spustením vlastného servera použitím vlastného hardvéru
3. Prihláste sa k účtu na vlastnom servery objednaním služieb na platforme Element Matrix Services
<b>Prečo si vybrať Element?</b>
<b>PONECHAJTE SI VAŠE ÚDAJE</b>: Len vy rozhodujete o tom, kde si budete uchovávať vaše správy a ostatné údaje. Len vy vlastníte vaše údaje a riadite zaobchádzanie s nimi, nie nejaká megakorporácia, ktorá z nich ťaží alebo ich poskytuje tretím stranám.
<b>OTVORENÁ KOMUNIKÁCIA a KOLABORÁCIA</b>: Konverzovať môžete s kýmkoľvek v otvorenej sieti Matrix nezávisle na tom, či používa Element, inú kompatibilnú aplikáciu, ba dokkonca aj s tými, ktorí používajú úplne inú platformu určenú na okamžitú komunikáciu ako sú Slack, IRC alebo XMPP.
<b>VEĽMI VYSOKÉ ZABEZPEČENIE</b>: Skutočné šifrovanie od zariadenia k zariadeniu (len diskutujúci môžu dešifrovať správy) a krížové podpisovanie určené na overovanie jednotlivých zariadení členov konverzácií.
<b>KOMPLETNÁ KOMUNIKÁCIA</b>: Okamžité správy, telefonáty a video hovory, zdieľanie súborov, zdieľanie obrazovky a veľké množstvo integrácií, botov a widgetov. Vytvorte si vlastné miestnosti, založte komunity, ostante v kontakte a vyriešte problémy.
<b>KDEKOĽVEK SA NACHÁDZATE</b>: Ostante v kontakte kdekoľvek ste s plne synchronizovanou históriou konverzácií naprieč všetkými vašimi zariadeniami a aj cez web na adrese https://app.element.io.

View File

@@ -0,0 +1 @@
Zabezpečené konverzácie a VoIP. Ochráňte vaše údaje pred zhromažďovaním.

View File

@@ -0,0 +1 @@
Element (kedysi Riot.im)

View File

@@ -0,0 +1,30 @@
Element är en ny sorts meddelande- och samarbetsapp som:
1. Sätter dig i kontroll för att kunna säkerställa ditt privatliv
2. Låter dig kommunicera med vem som helst i Matrix-nätverket, och till och med bortom det genom integrationer med appar som Slack
3. Skyddar dig från reklam, datainsamling och inlåsning
4. Säkrar dig genom totalsträckskryptering, med korssingering för att verifiera andra
Element skiljer sig helt från andra meddelande- och samarbetsappar genom att vara decentraliserad och öppen källkod.
Element låter dig driva en egen server - eller välja en värd - så att du har sekretess, ägande och kontroll över din data och dina konversationer. Den ger dig tillgång till ett öppet nätverk; så att du inte kan prata bara med Element-användare. Och den är väldigt säker.
Element kan göra allt detta för att den använder Matrix - standarden för öppen decentraliserad kommunikation.
Element sätter dig i kontroll genom att låta dig välja att vara värd för dina konversationer. Från appen Element kan du välja att ansluta på följande sätt:
1. Skaffa ett gratis konto på den publika servern på matrix.org, vilken drivs av Matrix-utvecklarna, eller välj bland tusentals offentliga servrar som drivs av volontärer
2. Var värd för ditt eget konto genom att driva en server på din egen hårdvara
3. Skapa ett konto på en anpassad server genom att registrera dig på värdplattformen Element Matrix Services
<b>Varför välja Element?</b>
<b>ÄG DIN DATA</b>: Du väljer var du vill ha din data och dina meddelanden. Du äger den och kontrollerar den, inte nåt stort företag som samlar in din data och ger den till tredje parter.
<b>ÖPPEN KOMMUNIKATION OCH ÖPPET SAMARBETE</b>: Du kan chatta med vem som helst på Matrix-nätverket, oavsett om de använder Element eller en annan Matrix-app, och till och med om de använder ett annat meddelandesystem som Slack, IRC eller XMPP.
<b>SUPERSÄKER</b>: Riktig totalsträckskryptering (bara de in konversationen kan avkryptera meddelandena), och korssingering för att verifiera konversationsmedlemmars enheter.
<b>KOMPLETT KOMMUNIKATION</b>: Meddelanden, röst- och videosamtal, fildelning, skärmdelning och massa integrationer, bottar och widgets. Skapa rum och gemenskaper, håll kontakten och få saker gjorda.
<b>ÖVERALLT DÄR DU ÄR</b>: Håll kontakten vart du än befinner dig med fullständigt synkroniserad meddelandehistorik på alla dina enheter och på webben på https://app.element.io.

View File

@@ -0,0 +1 @@
Säker decentraliserad chatt och VoIP. Håll din data säker från tredje parter.

Some files were not shown because too many files have changed in this diff Show More