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

Compare commits

...

972 Commits

Author SHA1 Message Date
ganfra
fc19bf8e5b Realm-kotlin: add name to timeline coroutine scope 2022-10-21 17:13:22 +02:00
ganfra
e1031fab0f Realm-kotlin: introduce queryFirstMapped so we can map on the same dispatcher 2022-10-21 17:13:13 +02:00
Benoit Marty
b806bd59a1 Small cleanup 2022-10-21 10:10:45 +02:00
Benoit Marty
97d82866b6 Make ./gradlew assembleAndroidTest success. Some tests are not passing though, in particular ensureKeysAreNotSharedIfOptionDisabled() 2022-10-21 10:06:28 +02:00
Benoit Marty
974079ff00 delete all objects. 2022-10-20 17:49:05 +02:00
Benoit Marty
9dca4293a1 Restore previous comment 2022-10-20 17:36:12 +02:00
Benoit Marty
47ca9a07af Use updateCryptoMetadata. 2022-10-20 16:44:07 +02:00
ganfra
7527693a05 Realm-kotlin: implements equals where needed as objects are frozen now 2022-10-20 11:57:13 +02:00
ganfra
ca4ed5c822 Realm-kotlin: makes timelineScope child of sessionScope 2022-10-20 11:56:33 +02:00
ganfra
e6f911a64b Realm-kotlin : dispatch map to coroutineDispatcher 2022-10-20 11:54:12 +02:00
Benoit Marty
e7587a6f47 Fix compilation issue and ensure we update existing data. 2022-10-19 15:42:14 +02:00
Benoit Marty
c43b50b675 Import Sort to avoid using long qualifier. 2022-10-19 15:26:20 +02:00
Benoit Marty
054c61d076 Merge branch 'develop' into feature/fga/realm_kotlin_session 2022-10-19 15:24:47 +02:00
Benoit Marty
1210e8c712 Remove unnecessary TypedRealm by realm 2022-10-19 15:01:11 +02:00
Benoit Marty
f27f9f3ae5 Sort classes following the alphabetical order. 2022-10-19 14:54:25 +02:00
Benoit Marty
a5b6a01691 Realm 1.4.0
Should fix this problem: https://github.com/realm/realm-kotlin/issues/1024#issuecomment-1282192523
2022-10-19 14:49:26 +02:00
Benoit Marty
978294cdc0 Merge remote-tracking branch 'origin/feature/fga/realm_kotlin_session' into feature/fga/realm_kotlin_session 2022-10-19 14:38:51 +02:00
Benoit Marty
18481211df Fix all merge conflict and compilation issue after merging develop to this branch. 2022-10-19 14:38:08 +02:00
Benoit Marty
767be72eec Merge pull request #7404 from RiotTranslateBot/weblate-element-android-element-app
Translations update from Weblate
2022-10-19 13:26:19 +02:00
Weblate
0f1e218fa7 Merge branch 'origin/develop' into Weblate. 2022-10-19 10:28:10 +00:00
Benoit Marty
7ca1c4f084 Merge pull request #7401 from vector-im/dependabot/gradle/flipper-0.171.1
Bump flipper from 0.171.0 to 0.171.1
2022-10-19 12:27:47 +02:00
Weblate
ac4c98e688 Merge branch 'origin/develop' into Weblate. 2022-10-19 10:27:18 +00:00
Yaron Shahrabani
4b63f1db82 Translated using Weblate (Hebrew)
Currently translated at 84.7% (2121 of 2503 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/he/
2022-10-19 10:27:15 +00:00
Jeff Huang
b6a33d1b7a Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (2503 of 2503 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/zh_Hant/
2022-10-19 10:27:15 +00:00
phardyle
098aaf9d5c Translated using Weblate (Chinese (Simplified))
Currently translated at 94.7% (2371 of 2503 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/zh_Hans/
2022-10-19 10:27:13 +00:00
Ihor Hordiichuk
c2600dc535 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (2503 of 2503 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/uk/
2022-10-19 10:27:12 +00:00
Jozef Gaal
5869c273bc Translated using Weblate (Slovak)
Currently translated at 100.0% (2503 of 2503 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/sk/
2022-10-19 10:27:10 +00:00
Nui Harime
27b07e8b5c Translated using Weblate (Russian)
Currently translated at 95.7% (2396 of 2503 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/ru/
2022-10-19 10:27:08 +00:00
lvre
225627fbfc Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (2503 of 2503 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/pt_BR/
2022-10-19 10:27:07 +00:00
Suguru Hirahara
19164c2352 Translated using Weblate (Japanese)
Currently translated at 89.2% (2233 of 2503 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/ja/
2022-10-19 10:27:05 +00:00
random
c12b21fb8c Translated using Weblate (Italian)
Currently translated at 100.0% (2503 of 2503 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/it/
2022-10-19 10:26:59 +00:00
Linerly
f1f70c939f Translated using Weblate (Indonesian)
Currently translated at 100.0% (2503 of 2503 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/id/
2022-10-19 10:26:57 +00:00
Szimszon
ee655a3840 Translated using Weblate (Hungarian)
Currently translated at 100.0% (2503 of 2503 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/hu/
2022-10-19 10:26:55 +00:00
Balázs Meskó
ae2793e0c8 Translated using Weblate (Hungarian)
Currently translated at 100.0% (2503 of 2503 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/hu/
2022-10-19 10:26:53 +00:00
Priit Jõerüüt
ef0e2ccaca Translated using Weblate (Estonian)
Currently translated at 99.6% (2495 of 2503 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/et/
2022-10-19 10:26:53 +00:00
Vri
c1470618da Translated using Weblate (German)
Currently translated at 100.0% (2503 of 2503 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/de/
2022-10-19 10:26:49 +00:00
waclaw66
67344ff40e Translated using Weblate (Czech)
Currently translated at 100.0% (2503 of 2503 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/cs/
2022-10-19 10:26:48 +00:00
Auri B. P
48e9066df4 Translated using Weblate (Catalan)
Currently translated at 97.6% (2443 of 2503 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/ca/
2022-10-19 10:26:46 +00:00
Nizami
62d4c811dd Translated using Weblate (Azerbaijani)
Currently translated at 2.4% (62 of 2503 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/az/
2022-10-19 10:26:45 +00:00
ganfra
f7b6ed1963 Realm-kotlin : fix timeline pagination 2022-10-19 11:54:50 +02:00
ganfra
433704191c Realm-kotlin : fix EventInsertLiveObserver 2022-10-19 11:25:28 +02:00
Benoit Marty
ff4ec3f583 Fix typo 2022-10-19 10:00:34 +02:00
Benoit Marty
f5fe5cce62 Merge pull request #7372 from vector-im/feature/bma/fix_getUser_null
Handle properly when getUser returns null - prefer using getUserOrDefault
2022-10-19 08:40:44 +02:00
Florian Renaud
13972661e0 Merge pull request #7397 from vector-im/feature/fre/voice_broadcast_additional_content
Add additional data in voice broadcast events
2022-10-19 07:51:01 +02:00
Florian Renaud
1b9c2ed77c Merge pull request #7393 from vector-im/feature/fre/voice_broadcast_labs_flag
Add voice broadcast labs setting
2022-10-19 07:50:43 +02:00
dependabot[bot]
d0c5c3bc43 Bump flipper from 0.171.0 to 0.171.1
Bumps `flipper` from 0.171.0 to 0.171.1.

Updates `flipper` from 0.171.0 to 0.171.1
- [Release notes](https://github.com/facebook/flipper/releases)
- [Commits](https://github.com/facebook/flipper/compare/v0.171.0...v0.171.1)

Updates `flipper-network-plugin` from 0.171.0 to 0.171.1
- [Release notes](https://github.com/facebook/flipper/releases)
- [Commits](https://github.com/facebook/flipper/compare/v0.171.0...v0.171.1)

---
updated-dependencies:
- dependency-name: com.facebook.flipper:flipper
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: com.facebook.flipper:flipper-network-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-18 23:07:29 +00:00
Florian Renaud
cafbb17caa Change wording to lowercase 2022-10-18 22:37:37 +02:00
Florian Renaud
096b423cc1 Update changelog wording 2022-10-18 22:10:18 +02:00
Florian Renaud
2e4034ffc1 Remove extra character 2022-10-18 22:05:45 +02:00
Florian Renaud
e4a98378a1 Fix unit test 2022-10-18 21:11:03 +02:00
Florian Renaud
0781ee84d9 Reformat file 2022-10-18 21:08:09 +02:00
Florian Renaud
a658e7727a Voice Broadcast - Update chunk length to 120 sec 2022-10-18 21:08:09 +02:00
Florian Renaud
5004db07fb Remove legacy comment 2022-10-18 21:08:09 +02:00
Florian Renaud
5438c7e089 Add changelog 2022-10-18 21:08:09 +02:00
Florian Renaud
64456860e2 Voice Broadcast - Add deviceId in state event content 2022-10-18 21:08:09 +02:00
Florian Renaud
1647fe233f Voice Broadcast - Introduce io.element.voice_broadcast_chunk key in voice messages 2022-10-18 21:08:09 +02:00
Florian Renaud
fbf242756e Allow additional content when sending an event 2022-10-18 21:08:08 +02:00
Florian Renaud
90803be3ee Voice Broadcast - Move Android API check on fragment 2022-10-18 21:07:45 +02:00
Florian Renaud
63c02c6fef Voice Broadcast - Restore feature flag and enable it by default 2022-10-18 21:07:44 +02:00
Florian Renaud
5a749bdccf Voice Broadcast - Update labs description 2022-10-18 21:07:44 +02:00
Florian Renaud
a03be5d02f Add changelog 2022-10-18 21:07:44 +02:00
Florian Renaud
ecc22a1401 Voice Broadcast - Change default chunk duration 2022-10-18 21:07:44 +02:00
Florian Renaud
036511400e Voice Broadcast - Hide labs setting in Android < 10 2022-10-18 21:07:44 +02:00
Florian Renaud
050dff6548 Voice Broadcast - Rename voice message files with sequence number 2022-10-18 21:07:44 +02:00
Florian Renaud
03ac0f1f03 Move Voice Broadcast feature flag to labs settings 2022-10-18 21:07:44 +02:00
ganfra
ad772222d6 Realm-kotlin: fix pagedlist scope 2022-10-18 19:16:20 +02:00
ganfra
ac14c8cd27 Realm-kotlin: fix breadcrump update 2022-10-18 19:16:12 +02:00
ganfra
0b0b2d5d63 Realm-kotlin: fix room order query 2022-10-18 19:16:04 +02:00
ganfra
14099be861 Realm-kotlin : update to 1.3.0 and use provided deleteAll methods 2022-10-18 19:15:50 +02:00
Florian Renaud
0dad78a24a Merge pull request #7387 from vector-im/feature/fre/voice_broadcast_start_listening
Voice Broadcast - Listening
2022-10-18 17:54:07 +02:00
Florian Renaud
b67500515c Merge pull request #7363 from vector-im/feature/fre/voice_broadcast_start_record
Voice Broadcast - Start record
2022-10-18 16:43:18 +02:00
Benoit Marty
47cf9e58bd Merge branch 'develop' into feature/fga/realm_kotlin_session
Will fix all the conflicts in a dedicated commit.
2022-10-18 14:32:59 +02:00
Benoit Marty
fec9b0d83a Prefer using parametrization 2022-10-18 14:07:17 +02:00
Benoit Marty
2db5f5a5f0 Reuse $0 parameter 2022-10-18 14:07:01 +02:00
Florian Renaud
d53ad4328c Voice Broadcast - Pause listening outside of the timeline 2022-10-18 13:41:05 +02:00
Florian Renaud
e75ddf763b Add changelog file 2022-10-18 13:41:05 +02:00
Florian Renaud
4a32ccecfa Voice Broadcast Player - Add missing try catch 2022-10-18 13:41:05 +02:00
Florian Renaud
402224721b Voice Broadcast - Add voice message extensions 2022-10-18 13:41:05 +02:00
Florian Renaud
16c27ba174 Voice Broadcast - Get voice messages events related to a given VB 2022-10-18 13:41:05 +02:00
Florian Renaud
215128c213 Voice Broadcast - Add timeline item listening state 2022-10-18 13:41:04 +02:00
Florian Renaud
2760781f0a Voice Broadcast - Introduce listening actions 2022-10-18 13:41:04 +02:00
Florian Renaud
eb44b02228 Create VoiceBroadcastMediaPlayer 2022-10-18 13:41:04 +02:00
Florian Renaud
032c0152e4 Voice Broadcast - Move timeline item creation to dedicated factory 2022-10-18 13:41:04 +02:00
Florian Renaud
5f35926ce6 Voice Broadcast - Hide related voice message events 2022-10-18 13:41:04 +02:00
Florian Renaud
ce14270fab Introduce MessageAudioEvent 2022-10-18 13:41:04 +02:00
Florian Renaud
b9335c6065 Rename const DEFAULT_CHUNK_LENGTH_IN_SECONDS 2022-10-18 13:33:17 +02:00
Florian Renaud
92bd8cdcfe Voice Broadcast - Remove check on voice message minimum duration 2022-10-18 13:33:17 +02:00
Florian Renaud
def9fc07bb Revert AudioMessageHelper.pauseRecording 2022-10-18 13:33:16 +02:00
Florian Renaud
400118ed3e Remove useless Android API checks 2022-10-18 13:33:16 +02:00
Benoit Marty
27bbd18a74 Run ./gradlew ktlintFormat 2022-10-18 12:54:24 +02:00
Benoit Marty
5b58f6cfe5 Remove unused dependency dk.ilios:realmfieldnameshelper 2022-10-18 12:51:35 +02:00
Benoit Marty
f3309692a4 Merge pull request #7239 from vector-im/feature/bma/arch_fixes
Feature/bma/arch fixes
2022-10-18 11:47:12 +02:00
Benoit Marty
3ccabd647a Merge pull request #7390 from vector-im/dependabot/gradle/flipper-0.171.0
Bump flipper from 0.170.0 to 0.171.0
2022-10-18 11:45:34 +02:00
Benoit Marty
42a073627f Merge pull request #7384 from vector-im/tech/bump-wysiwyg-lib-to-0.2.1
Bump WYSIWYG lib to 0.2.1
2022-10-18 10:33:38 +02:00
Benoit Marty
e8dbdbb15f Merge pull request #7392 from vector-im/feature/bma/fix_post_pr
Fix message sent even if the step `ui-tests` is successful.
2022-10-18 10:28:40 +02:00
Benoit Marty
cf590c1887 Merge pull request #7382 from vector-im/feature/bma/nicer_doctor
Let the doctor be less strict and just warn.
2022-10-18 10:28:25 +02:00
Benoit Marty
6d6d2de08b Fix message send even if the step ui-tests is successful.
Jobs `codecov-units` and `integration-tests` do not exist anymore.
2022-10-18 10:00:18 +02:00
Florian Renaud
1db3d69aeb Change chunk_length type in unit test 2022-10-18 08:58:21 +02:00
Johannes Marbach
ba822d8231 Translated using Weblate (German)
Currently translated at 100.0% (2503 of 2503 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/de/
2022-10-18 03:54:23 +00:00
Eric Decanini
51a1545916 Merge pull request #7350 from vector-im/dependabot/gradle/com.google.firebase-firebase-messaging-23.1.0
Bump firebase-messaging from 23.0.8 to 23.1.0
2022-10-17 20:51:02 -04:00
dependabot[bot]
5c4c3c92d4 Bump flipper from 0.170.0 to 0.171.0
Bumps `flipper` from 0.170.0 to 0.171.0.

Updates `flipper` from 0.170.0 to 0.171.0
- [Release notes](https://github.com/facebook/flipper/releases)
- [Commits](https://github.com/facebook/flipper/compare/v0.170.0...v0.171.0)

Updates `flipper-network-plugin` from 0.170.0 to 0.171.0
- [Release notes](https://github.com/facebook/flipper/releases)
- [Commits](https://github.com/facebook/flipper/compare/v0.170.0...v0.171.0)

---
updated-dependencies:
- dependency-name: com.facebook.flipper:flipper
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: com.facebook.flipper:flipper-network-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-17 23:08:08 +00:00
Florian Renaud
3a951f2076 Add punctuation to kdoc 2022-10-17 22:33:43 +02:00
Florian Renaud
62596b38c7 Pause recording when the composer is not visible anymore 2022-10-17 22:33:43 +02:00
Florian Renaud
9d35e81db7 Compute max file size from chunk length 2022-10-17 22:33:43 +02:00
Florian Renaud
64e6a2bfab Compute file size from chunk length 2022-10-17 22:33:43 +02:00
Florian Renaud
fb9c747a20 Reformat and add trailing commas 2022-10-17 22:33:43 +02:00
Florian Renaud
06bceef7c0 Add changelog 2022-10-17 22:33:43 +02:00
Florian Renaud
c492fda000 Change VoiceBroadcastRecorder as Interface 2022-10-17 22:33:43 +02:00
Florian Renaud
ad730d55c1 Fix tests 2022-10-17 22:33:42 +02:00
Florian Renaud
aecb66015d Move Voice Broadcast constants into dedicated object 2022-10-17 22:33:42 +02:00
Florian Renaud
3ad245db8b Trigger VoiceBroadcast recording actions 2022-10-17 22:33:42 +02:00
Florian Renaud
ad2bf8d1ce Add VoiceBroadcastRecorder 2022-10-17 22:33:42 +02:00
Florian Renaud
e775404e35 Improve VoiceRecorder abstraction 2022-10-17 22:33:42 +02:00
Florian Renaud
33a021c8ed Add sdk entry to attach reference to the outgoing events 2022-10-17 22:33:42 +02:00
Florian Renaud
dbc61971df Reduce duplicated code 2022-10-17 22:33:42 +02:00
Florian Renaud
a88a172f0f Trigger play/pause/resume/stop actions on VoiceRecorder 2022-10-17 22:33:42 +02:00
ganfra
ad0af11358 Realm-kotlin: fix crashes on some event processors 2022-10-17 21:18:09 +02:00
ganfra
e20febb4a0 Realm-kotlin : fix issue on low_priority filter 2022-10-17 21:17:55 +02:00
ganfra
f3d36e4d31 Realm-kotlin: fix some issues on rooms and timeline 2022-10-17 21:08:46 +02:00
Weblate
383ada6304 Merge branch 'origin/develop' into Weblate. 2022-10-17 16:29:46 +00:00
Jeff Huang
fd226b8eab Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (2470 of 2470 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/zh_Hant/
2022-10-17 16:29:45 +00:00
Ihor Hordiichuk
d05ad9425e Translated using Weblate (Ukrainian)
Currently translated at 100.0% (2470 of 2470 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/uk/
2022-10-17 16:29:43 +00:00
LinAGKar
b2e2cbaf47 Translated using Weblate (Swedish)
Currently translated at 98.2% (2426 of 2470 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/sv/
2022-10-17 16:29:41 +00:00
Jozef Gaal
a1a9d8f150 Translated using Weblate (Slovak)
Currently translated at 100.0% (2470 of 2470 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/sk/
2022-10-17 16:29:37 +00:00
Nui Harime
440e3be739 Translated using Weblate (Russian)
Currently translated at 96.7% (2389 of 2470 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/ru/
2022-10-17 16:29:34 +00:00
lvre
b0470dce6a Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (2470 of 2470 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/pt_BR/
2022-10-17 16:29:33 +00:00
random
5a9032b45c Translated using Weblate (Italian)
Currently translated at 100.0% (2470 of 2470 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/it/
2022-10-17 16:29:31 +00:00
Linerly
0551cf9945 Translated using Weblate (Indonesian)
Currently translated at 100.0% (2470 of 2470 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/id/
2022-10-17 16:29:28 +00:00
Szimszon
209ad450c1 Translated using Weblate (Hungarian)
Currently translated at 100.0% (2470 of 2470 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/hu/
2022-10-17 16:29:26 +00:00
Glandos
522dd2744e Translated using Weblate (French)
Currently translated at 100.0% (2470 of 2470 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/fr/
2022-10-17 16:29:21 +00:00
Danial Behzadi
f51b20481d Translated using Weblate (Persian)
Currently translated at 98.7% (2438 of 2470 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/fa/
2022-10-17 16:29:19 +00:00
Priit Jõerüüt
491b5cb537 Translated using Weblate (Estonian)
Currently translated at 98.6% (2437 of 2470 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/et/
2022-10-17 16:29:18 +00:00
Christoph Klassen
9cac1c8cfb Translated using Weblate (German)
Currently translated at 100.0% (2470 of 2470 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/de/
2022-10-17 16:29:17 +00:00
Vri
579eedd050 Translated using Weblate (German)
Currently translated at 100.0% (2470 of 2470 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/de/
2022-10-17 16:29:17 +00:00
jucktnich
edf3f2cd46 Translated using Weblate (German)
Currently translated at 100.0% (2470 of 2470 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/de/
2022-10-17 16:29:15 +00:00
Johannes Marbach
cfd750e5d2 Translated using Weblate (German)
Currently translated at 100.0% (2470 of 2470 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/de/
2022-10-17 16:29:15 +00:00
waclaw66
f686299d34 Translated using Weblate (Czech)
Currently translated at 100.0% (2470 of 2470 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/cs/
2022-10-17 16:29:14 +00:00
Maxime NATUREL
fc58e25af4 Merge pull request #7330 from vector-im/dependabot/gradle/com.likethesalad.android-stem-plugin-2.2.3
Bump stem-plugin from 2.2.2 to 2.2.3
2022-10-17 17:51:05 +02:00
Jorge Martín
7793667970 Update changelog 2022-10-17 17:12:16 +02:00
Jorge Martín
76a11d97dc Bump WYSIWYG lib to 0.2.1 2022-10-17 17:05:36 +02:00
Onuray Sahin
47c87141b2 Merge pull request #7338 from vector-im/feature/ons/qr_code_login_ui
QR Code Login UI
2022-10-17 17:20:07 +03:00
dependabot[bot]
3adc1268a9 Bump stem-plugin from 2.2.2 to 2.2.3
Bumps stem-plugin from 2.2.2 to 2.2.3.

---
updated-dependencies:
- dependency-name: com.likethesalad.android:stem-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-17 13:59:14 +00:00
Benoit Marty
3864d937d9 Set warnWhenNotUsingParallelGC to false, because it fails the build. 2022-10-17 15:52:55 +02:00
Benoit Marty
fa1d2bd8ab Fix compilation issue after rebase. 2022-10-17 15:12:41 +02:00
Benoit Marty
822f06fef4 Fix ktlint issue 2022-10-17 15:07:11 +02:00
Benoit Marty
3bc3da1073 Rename PermalinkUseCase to PermalinkFactory 2022-10-17 15:07:11 +02:00
Benoit Marty
37f34dbdfd Expect the userId from the fakeSession 2022-10-17 15:07:11 +02:00
Benoit Marty
cfca776d01 Create PermalinkUseCase to avoid injecting the Session in the View. 2022-10-17 15:07:11 +02:00
Benoit Marty
aa806ed2c6 More cleanup on @Inject members 2022-10-17 15:07:11 +02:00
Benoit Marty
b3068c017d Inject ErrorFormatter in the parent Activity (often used) 2022-10-17 15:07:11 +02:00
Benoit Marty
cbd0972eca Reuse injected members in parent activity. 2022-10-17 15:06:22 +02:00
Benoit Marty
f95d21ef17 Inject member in VectorBaseActivity instead of using SingletonEntryPoint 2022-10-17 15:06:22 +02:00
Benoit Marty
ae802dea31 Avoid using ActiveSessionHolder in a Fragment. Use the userId from state.personalizationState 2022-10-17 15:06:22 +02:00
Benoit Marty
b5eb15c7e3 Avoid using ActiveSessionHolder in a Fragment. Move the userId to state.personalizationState 2022-10-17 15:06:22 +02:00
Benoit Marty
b6639fcb09 Merge pull request #7368 from vector-im/dependabot/gradle/com.googlecode.libphonenumber-libphonenumber-8.12.57
Bump libphonenumber from 8.12.56 to 8.12.57
2022-10-17 15:02:38 +02:00
Benoit Marty
5214751218 Let the doctor be less strict and just warn.
Keep the useful log "Is CI build: $isCiBuild".
2022-10-17 15:00:39 +02:00
Benoit Marty
997341b962 Merge pull request #7282 from vector-im/feature/bma/remove_original_event
Stop using `original_event` field
2022-10-17 14:43:22 +02:00
Onuray Sahin
d3a24fec9b Lint fix. 2022-10-17 15:35:21 +03:00
Onuray Sahin
91bb86d3c6 Code review fixes. 2022-10-17 14:16:29 +03:00
Onuray Sahin
8547fee562 Enable qr code login by default. 2022-10-17 12:44:25 +03:00
Benoit Marty
36e5166051 Merge pull request #7375 from vector-im/feature/mna/device-manager-go-to-new-screen
[Device Management] Redirect to the new screen everywhere when lab flag is on
2022-10-17 11:44:02 +02:00
Benoit Marty
b7570a3c5e Fix compilation error 2022-10-17 11:31:48 +02:00
Benoit Marty
0cdc21649e Fix unused import 2022-10-17 11:27:40 +02:00
dependabot[bot]
93a346392b Bump gradle from 7.2.2 to 7.3.1 (#7364)
* Bump gradle from 7.2.2 to 7.3.1

Bumps gradle from 7.2.2 to 7.3.1.

---
updated-dependencies:
- dependency-name: com.android.tools.build:gradle
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Try to fix build issue caused by KSP workaround

* Add missing dependency

* Suppress false positive in linter

* Suppress more false positives, fix 2 possible leaks

* Fix tests

* Ignore flaky test

* Use namespaces instead of packagenames in AndroidManifest files

* Reorder dependency groups

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2022-10-17 09:14:28 +02:00
Eric Decanini
75c97bc7c5 Device Manager Notification and Pusher Fixes (#7370)
* Fixes existing pushers being overwritten on app startup

* Refreshes pushers in SessionOverview screen

* Fixes push toggle not working for non pusher sessions

* Various code improvements

* Further code improvements for safety

* Fixes CI errors
2022-10-14 15:02:11 -04:00
Benoit Marty
ba49ee4e13 Remove unused string device_manager_settings_active_sessions_show_all 2022-10-14 18:53:54 +02:00
Benoit Marty
d58b7f1706 Merge pull request #7376 from RiotTranslateBot/weblate-element-android-element-app
Translations update from Weblate
2022-10-14 18:49:50 +02:00
Weblate
7b5610e0cf Merge branch 'origin/develop' into Weblate. 2022-10-14 15:37:18 +00:00
Nui Harime
08ac6493ab Translated using Weblate (Russian)
Currently translated at 97.2% (2378 of 2444 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/ru/
2022-10-14 15:37:02 +00:00
Youngbin Han
5281718d86 Translated using Weblate (Korean)
Currently translated at 36.9% (903 of 2444 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/ko/
2022-10-14 15:37:01 +00:00
Linerly
d52cc2d96d Translated using Weblate (Indonesian)
Currently translated at 100.0% (2444 of 2444 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/id/
2022-10-14 15:36:58 +00:00
Vri
51648e81eb Translated using Weblate (German)
Currently translated at 100.0% (2444 of 2444 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/de/
2022-10-14 15:36:58 +00:00
waclaw66
b28c4c1120 Translated using Weblate (Czech)
Currently translated at 100.0% (2444 of 2444 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/cs/
2022-10-14 15:36:58 +00:00
Jorge Martin Espinosa
f1acb4712c Fix editing formatted messages in plain text editor (#7360)
* Fix editing formatted messages in plain text editor

* Update changelog.d/7359.sdk

Co-authored-by: Benoit Marty <benoitm@matrix.org>

Co-authored-by: Benoit Marty <benoitm@matrix.org>
2022-10-14 15:15:12 +00:00
Onuray Sahin
6c10a9bf2d Code review fixes. 2022-10-14 18:10:18 +03:00
Onuray Sahin
e83bdc3779 Use correct homeserver url to check qr code login support. 2022-10-14 17:46:14 +03:00
Maxime NATUREL
612d2e51e5 Merge pull request #7361 from vector-im/feature/mna/device-manager-unknown-verification-status
[Device management] Update the unknown verification status icon (PSG-824)
2022-10-14 16:22:33 +02:00
Maxime NATUREL
ec5964bc20 Merge pull request #7352 from vector-im/feature/mna/device-manager-lab-flag-account-data
[Device management] Add lab flag for matrix client info account data event (PSG-800)
2022-10-14 16:03:40 +02:00
Maxime NATUREL
81038bdd23 Fixing security section recommendation visibility 2022-10-14 15:19:51 +02:00
Onuray Sahin
b04ad4915f Add changelog. 2022-10-14 15:38:28 +03:00
Maxime NATUREL
111a70f6c1 Checking lab flag to select session manager screen to navigate to 2022-10-14 14:26:21 +02:00
Onuray Sahin
5953346b3d Merge branch 'develop' into feature/ons/qr_code_login_ui
# Conflicts:
#	library/ui-strings/src/main/res/values/strings.xml
#	matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/AuthenticationService.kt
#	matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/DefaultAuthenticationService.kt
#	matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/migration/MigrateSessionTo038.kt
#	vector-app/src/debug/java/im/vector/app/features/debug/features/DebugFeaturesStateFactory.kt
#	vector-app/src/debug/java/im/vector/app/features/debug/features/DebugVectorFeatures.kt
#	vector/src/main/java/im/vector/app/features/VectorFeatures.kt
2022-10-14 15:17:55 +03:00
Maxime NATUREL
1f0028fd7e Adding changelog entry 2022-10-14 14:09:30 +02:00
Maxime NATUREL
cf25b81e9a Adding new shield color into resources 2022-10-14 14:00:01 +02:00
Maxime NATUREL
189e77211e Improving when structure 2022-10-14 13:46:33 +02:00
Maxime NATUREL
86132219d8 Adding settings for visibility of labs flags 2022-10-14 13:45:23 +02:00
Benoit Marty
8bb5dcd553 Changelog 2022-10-14 12:33:27 +02:00
Benoit Marty
7699628959 Fix other potential issue when using Session.getUser() 2022-10-14 12:25:55 +02:00
Benoit Marty
032fa37b64 Create UserDataSource.getUserOrDefault(). 2022-10-14 12:13:21 +02:00
Benoit Marty
5a2d74443d Let GetProfileInfoTask store result into DB, except when we want to do bulk insertion. 2022-10-14 12:07:52 +02:00
ganfra
3aba7803dd realm-kotlin : make app compile! 2022-10-14 12:02:25 +02:00
Benoit Marty
0a6d620f27 getUser() can return null more often than before, since the SDK will retrieve data asynchronously. So ensure that the initial state can always be built. 2022-10-14 11:38:24 +02:00
Benoit Marty
8fc35ef792 Remove unused param 2022-10-14 11:25:41 +02:00
Hugh Nimmo-Smith
626e3dbd10 Merge pull request #7358 from vector-im/feature/hughns/qr_code_login_task 2022-10-14 09:38:07 +01:00
dependabot[bot]
989d4a6ed2 Bump flipper from 0.169.0 to 0.170.0 (#7348)
Bumps `flipper` from 0.169.0 to 0.170.0.

Updates `flipper` from 0.169.0 to 0.170.0
- [Release notes](https://github.com/facebook/flipper/releases)
- [Commits](https://github.com/facebook/flipper/compare/v0.169.0...v0.170.0)

Updates `flipper-network-plugin` from 0.169.0 to 0.170.0
- [Release notes](https://github.com/facebook/flipper/releases)
- [Commits](https://github.com/facebook/flipper/compare/v0.169.0...v0.170.0)

---
updated-dependencies:
- dependency-name: com.facebook.flipper:flipper
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: com.facebook.flipper:flipper-network-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-14 10:37:11 +02:00
Jorge Martin Espinosa
81ef1415dc Apply design changes to WYSIWYG editor (#7354)
* Apply design changes to WYSIWYG editor

* Add changelog

* Remove unneeded attribute in RichTextComposerLayout

* Fix lint issues

* Fix style naming issue.

* Change rich text editor border radius depending on the number of lines.

* Replace standby voice recorder icon.
2022-10-14 09:59:43 +02:00
dependabot[bot]
b679727246 Bump dokka-gradle-plugin from 1.7.10 to 1.7.20 (#7329)
Bumps dokka-gradle-plugin from 1.7.10 to 1.7.20.

---
updated-dependencies:
- dependency-name: org.jetbrains.dokka:dokka-gradle-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-14 09:48:15 +02:00
Hugh Nimmo-Smith
4c7c86100f Fix logic for showing confirm button 2022-10-14 02:04:08 +01:00
Hugh Nimmo-Smith
343cf74871 Add flag to allow QR login on all servers + split flag for showing in device manager 2022-10-14 01:45:03 +01:00
dependabot[bot]
1960dc3e41 Bump libphonenumber from 8.12.56 to 8.12.57
Bumps [libphonenumber](https://github.com/google/libphonenumber) from 8.12.56 to 8.12.57.
- [Release notes](https://github.com/google/libphonenumber/releases)
- [Changelog](https://github.com/google/libphonenumber/blob/master/making-metadata-changes.md)
- [Commits](https://github.com/google/libphonenumber/compare/v8.12.56...v8.12.57)

---
updated-dependencies:
- dependency-name: com.googlecode.libphonenumber:libphonenumber
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-13 23:08:06 +00:00
Hugh Nimmo-Smith
9429a4f22a Revert "Retry scanning if not a QR code"
This reverts commit 87956e9438.
2022-10-13 21:48:33 +01:00
Hugh Nimmo-Smith
489dfd7354 Revert "Implementations of MSC3886 and MSC3903"
This reverts commit 1235db7895.
2022-10-13 21:48:27 +01:00
Hugh Nimmo-Smith
e305478dda Revert "Partial implementation of QR login logic"
This reverts commit 4b14ee4695.
2022-10-13 21:48:25 +01:00
Hugh Nimmo-Smith
90fa5d5345 Revert "Only do completeOnNewDevice if we received a confirmation code"
This reverts commit 6e58f2fa51.
2022-10-13 21:48:21 +01:00
Hugh Nimmo-Smith
e554b43bc6 Merge branch 'feature/ons/qr_code_login_ui' of https://github.com/vector-im/element-android into feature/ons/qr_code_login_ui 2022-10-13 21:27:09 +01:00
Onuray Sahin
fb2776dca4 Cherry pick previous commits. 2022-10-13 20:33:52 +03:00
Hugh Nimmo-Smith
738242c837 Map for soft logout 2022-10-13 16:28:47 +01:00
Hugh Nimmo-Smith
81f2197199 Another default value fix 2022-10-13 16:11:41 +01:00
Hugh Nimmo-Smith
c6e7185f8b Set default value for optional params 2022-10-13 16:08:50 +01:00
Hugh Nimmo-Smith
8c86b3d297 Add missing binding 2022-10-13 16:02:57 +01:00
Hugh Nimmo-Smith
b5b32b7fda Use correct var name 2022-10-13 15:58:19 +01:00
Hugh Nimmo-Smith
5bff9ceec4 Make initialDeviceName optional 2022-10-13 15:35:45 +01:00
Hugh Nimmo-Smith
09da74b029 Linting 2022-10-13 15:19:39 +01:00
Hugh Nimmo-Smith
f13419d696 Changelog 2022-10-13 15:18:31 +01:00
Hugh Nimmo-Smith
8645f74c77 Support for login by m.login.token during QR code sign in 2022-10-13 15:11:15 +01:00
Maxime NATUREL
f72ab9b51e Fixing code style issue 2022-10-13 15:22:50 +02:00
Maxime NATUREL
316f1efe32 Updating unit tests 2022-10-13 15:21:25 +02:00
Maxime NATUREL
28ce915f18 Checking current session status in the filter use case 2022-10-13 15:01:31 +02:00
Benoit Marty
29331ff41b Merge pull request #7345 from vector-im/kittykat-patch-1
Add a link to element-meta for feature requests
2022-10-13 14:00:56 +02:00
Benoit Marty
53655eb37d Fix typo 2022-10-13 14:00:34 +02:00
Benoit Marty
5b56ae1e1c Merge pull request #7319 from ByeongsuPark/feature/bspark/bugfix-wrong-mic-direction-rtl
Fix the wrong mic button direction to cancel on RTL languages
2022-10-13 13:59:09 +02:00
Benoit Marty
ea9874adca Merge pull request #7355 from vector-im/feature/bma/check_script
Fix the check script, some folders have changed.
2022-10-13 13:53:08 +02:00
Benoit Marty
92a2420952 Merge pull request #7293 from vector-im/feature/bma/android13
Android 13
2022-10-13 13:52:52 +02:00
ganfra
6379c199ea Realm-kotlin: handle a bunch of classes on session db (timeline, eventinsertentity and some more tasks) 2022-10-13 12:54:26 +02:00
Benoit Marty
1a9b3941ae Fix the check script, some folders have changed. 2022-10-13 12:51:23 +02:00
Maxime NATUREL
f77bceb918 Hide unverified sessions section when current session is not verified 2022-10-13 11:33:32 +02:00
Benoit Marty
237c18cf5a Merge pull request #7351 from vector-im/dependabot/gradle/app.cash.paparazzi-paparazzi-1.1.0
Bump paparazzi from 1.0.0 to 1.1.0
2022-10-13 11:16:41 +02:00
Benoit Marty
c17b55b874 Remove unused Animator lambda parameter + small cleanup 2022-10-13 11:11:23 +02:00
Maxime NATUREL
7ce56ced4d Replacing error prone takeIf structure 2022-10-13 11:08:57 +02:00
Maxime NATUREL
7be958e6a5 Removing learn more in case of unknown verification status 2022-10-13 11:06:34 +02:00
Maxime NATUREL
a48131baad Removing duplication of rendering session info 2022-10-13 11:05:02 +02:00
Maxime NATUREL
ea0c99011f Updating descriptions when unknown verification status 2022-10-13 10:41:38 +02:00
Maxime NATUREL
f9eb6a64ea Merge pull request #7323 from vector-im/feature/mna/device-manager-parsing-os
[Device management] Improve the parsing for OS of Desktop/Web sessions (PSG-823)
2022-10-13 10:39:38 +02:00
Maxime NATUREL
b18b95d1a7 Adding new unknown shield icon 2022-10-13 10:13:10 +02:00
Maxime NATUREL
893008a93d Adding changelog entry 2022-10-13 10:13:10 +02:00
Maxime NATUREL
1b41b8b538 Revert change of year for the Labs fragment 2022-10-13 09:56:37 +02:00
Maxime NATUREL
b201ef8fbb Fix code styling issues 2022-10-13 09:46:35 +02:00
Maxime NATUREL
0c7f04c4a1 Adding unit tests for DeleteMatrixClientInfoUseCase 2022-10-13 09:43:27 +02:00
Maxime NATUREL
5e87a6936d Adding unit tests for new view model 2022-10-13 09:43:27 +02:00
Maxime NATUREL
8b30ab69c5 Checking lab flag before updating the client info 2022-10-13 09:43:27 +02:00
Maxime NATUREL
f753e475d8 Deleting/Updating the client Info when changing the lab flag 2022-10-13 09:43:27 +02:00
Maxime NATUREL
89e14c915d Moving labs fragment into dedicated package 2022-10-13 09:43:27 +02:00
Maxime NATUREL
4fced5bd3e Adding nex entry in labs settings 2022-10-13 09:43:25 +02:00
Maxime NATUREL
1ede6b32a5 Adding changelog entry 2022-10-13 09:41:53 +02:00
Eric Decanini
963c0e5a50 Local Notification Settings Event (#7300)
* Adds push notifications switch

* Adds functionality to Push notification toggle

* Adds DefaultPushersServiceTest for togglePusher

* Adds DefaultTogglePusherTaskTest

* Adds SessionOverviewViewModelTest for toggling pusher

* Hides pusher toggle if there are no pushers of the device

* Adds changelog file

* Edits changelog file

* Fixes copyrights

* Unregisters checkedChangelistener in onDetachedFromWindow for switch view

* Links notification settings toggle to pusher service

* Adds changelog file

* Adds error handling to VectorSettingsNotificationPreferenceFragment

* Removes comment in FakePushersService

* Adds parsing for LocalNotificationSettings event

* Adds changelog file

* Fixes post merge errors

* Fixes imports and improves string name

* Fixes legal copies

* Fixes kdoc punctuation

* Fixes string error

* Removes unused imports

* Moves LocalNotificationSettingsContent

* Fixes lint errors

* Fixes test errors

* Fixes test errors

* Fixes error

* Fixes error

* Fixes error

* Fixes error

* Fixes error

* Fixes error

* Fixes error

* Adds lost tests

* Adds PusherEntity migration

* Fixes session overview layout overlap

* Fixes switch being enabled by default

* Adds device id and unstable prefix
2022-10-12 23:11:27 -04:00
dependabot[bot]
9c4f3c6e6b Bump paparazzi from 1.0.0 to 1.1.0
Bumps [paparazzi](https://github.com/cashapp/paparazzi) from 1.0.0 to 1.1.0.
- [Release notes](https://github.com/cashapp/paparazzi/releases)
- [Changelog](https://github.com/cashapp/paparazzi/blob/master/CHANGELOG.md)
- [Commits](https://github.com/cashapp/paparazzi/compare/1.0.0...1.1.0)

---
updated-dependencies:
- dependency-name: app.cash.paparazzi:paparazzi
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-12 23:08:45 +00:00
dependabot[bot]
b274bf0760 Bump firebase-messaging from 23.0.8 to 23.1.0
Bumps firebase-messaging from 23.0.8 to 23.1.0.

---
updated-dependencies:
- dependency-name: com.google.firebase:firebase-messaging
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-12 23:07:58 +00:00
Kat Gerasimova
7a905dc2da Update enhancement.yml 2022-10-12 22:45:22 +01:00
Maxime NATUREL
f8f416e979 Merge pull request #7306 from vector-im/feature/mna/device-manager-extended-details
[Device Management] Render extended device info (PSG-773)
2022-10-12 18:09:33 +02:00
Benoit Marty
beb334babe Merge pull request #7335 from vector-im/feature/bma/upgrade_arrow
Remove Arrow-kt dependency
2022-10-12 16:26:02 +02:00
Maxime NATUREL
7877ef92cc Merge pull request #7325 from vector-im/feature/mna/device-manager-hide-ip-current-session
[Device management] Hide the IP address and last activity date on current session (PSG-823)
2022-10-12 15:56:30 +02:00
Maxime NATUREL
6626732b3b Merge pull request #7276 from vector-im/feature/mna/device-manager-account-data
[Device Management] Save matrix_client_information events on login/registration (PSG-769, PSG-771)
2022-10-12 15:41:40 +02:00
Eric Decanini
9857fa6ca4 Makes "Enable Notifications for this session" respond to enabled value in pusher (#7281)
* Adds push notifications switch

* Adds functionality to Push notification toggle

* Adds DefaultPushersServiceTest for togglePusher

* Adds DefaultTogglePusherTaskTest

* Adds SessionOverviewViewModelTest for toggling pusher

* Hides pusher toggle if there are no pushers of the device

* Adds changelog file

* Edits changelog file

* Fixes copyrights

* Unregisters checkedChangelistener in onDetachedFromWindow for switch view

* Links notification settings toggle to pusher service

* Adds changelog file

* Adds error handling to VectorSettingsNotificationPreferenceFragment

* Removes comment in FakePushersService

* Fixes post merge errors

* Fixes imports and improves string name

* Fixes legal copies

* Fixes kdoc punctuation

* Fixes string error

* Removes unused imports

* Fixes lint errors

* Fixes test errors

* Fixes test errors

* Fixes error

* Fixes error

* Fixes error

* Fixes error

* Fixes error

* Adds lost tests

* Adds PusherEntity migration

* Fixes session overview layout overlap

* Fixes switch being enabled by default

* Binds entire view to toggle switch
2022-10-12 09:27:55 -04:00
Maxime NATUREL
cf9f30d95e Merge pull request #7337 from vector-im/feature/mna/device-manager-lab-flag
[Device management] Add lab flag for the feature (PSG-793)
2022-10-12 14:16:53 +02:00
Hugh Nimmo-Smith
6e58f2fa51 Only do completeOnNewDevice if we received a confirmation code 2022-10-12 13:08:01 +01:00
Onuray Sahin
1e1affbb7b Merge branch 'develop' into feature/ons/qr_code_login_ui
# Conflicts:
#	library/ui-strings/src/main/res/values/strings.xml
#	library/ui-styles/src/main/res/values/stylable_sessions_list_header_view.xml
#	vector-app/src/debug/java/im/vector/app/features/debug/features/DebugFeaturesStateFactory.kt
#	vector-app/src/debug/java/im/vector/app/features/debug/features/DebugVectorFeatures.kt
#	vector/src/main/java/im/vector/app/core/di/MavericksViewModelModule.kt
#	vector/src/main/java/im/vector/app/features/VectorFeatures.kt
#	vector/src/main/java/im/vector/app/features/settings/devices/v2/VectorSettingsDevicesFragment.kt
#	vector/src/main/java/im/vector/app/features/settings/devices/v2/list/SessionsListHeaderView.kt
#	vector/src/main/res/layout/fragment_other_sessions.xml
#	vector/src/main/res/layout/fragment_settings_devices.xml
2022-10-12 14:32:09 +03:00
Maxime NATUREL
37271fc8ba Merge pull request #7340 from vector-im/fix/mna/nav-to-session-details
[Device manager] Fixing navigation to session details + layout in session overview screen
2022-10-12 13:24:44 +02:00
Maxime NATUREL
9f006a2940 Fixing navigation to session details + layout in session overview screen 2022-10-12 11:06:59 +02:00
Benoit Marty
1669316682 Remove dependency to arrow. Please use org.matrix.android.sdk.api.util.Optional instead. 2022-10-12 10:20:52 +02:00
Hugh Nimmo-Smith
4b14ee4695 Partial implementation of QR login logic 2022-10-11 23:34:05 +01:00
Hugh Nimmo-Smith
1235db7895 Implementations of MSC3886 and MSC3903 2022-10-11 23:33:30 +01:00
Hugh Nimmo-Smith
87956e9438 Retry scanning if not a QR code 2022-10-11 23:32:49 +01:00
Onuray Sahin
d8ea9c8215 Add flag for qr code login. 2022-10-11 20:04:18 +03:00
Onuray Sahin
f272e566b0 Implement link a device flow. 2022-10-11 19:03:15 +03:00
Maxime NATUREL
7b352b44dc Replacing the feature flag by the new lab flag 2022-10-11 17:48:19 +02:00
Maxime NATUREL
3503c24acc Adding new lab flag for session manager 2022-10-11 17:48:17 +02:00
Maxime NATUREL
052b497ebe Adding new changelog entry 2022-10-11 17:47:24 +02:00
Jorge Martin Espinosa
def67b2e7d Integrate WYSIWYG editor (#7288)
* Add WYSIWYG lib dependency

* Replace EditText with RichTextEditor

* Add bold button, fix sending formatting messages issues

* Add missing inline formatting buttons, make scrollview horizontal

* Disable autocomplete for rich text editor

* Add formatted text to messages sent, replies, quotes and edited messages.

* Several fixes

* Add changelog

* Try to fix lint issues

* Address review comments.

* Exclude Epoxy KSP generated files from ktlint checks
2022-10-11 17:05:47 +02:00
Maxime NATUREL
daa5f88899 Remove parsing of the OS version in case of web/desktop sessions 2022-10-11 15:23:47 +02:00
Maxime NATUREL
8cd8c65442 Adding changelog entry 2022-10-11 15:23:47 +02:00
Maxime NATUREL
13d87471ab Using String const values for browser names 2022-10-11 15:23:47 +02:00
Maxime NATUREL
b4cd72e009 Fixing parsing of operating system info for Desktop/Web user agent 2022-10-11 15:23:47 +02:00
Maxime NATUREL
4e70fcd339 Extracting parsing of operating system for Desktop/Web into dedicated method 2022-10-11 15:23:47 +02:00
Maxime NATUREL
11f816868b Extracting parsing of browser info into dedicated method 2022-10-11 15:23:47 +02:00
Maxime NATUREL
b7190c2bfe Fix after rebase 2022-10-11 15:23:22 +02:00
Maxime NATUREL
0ec4ccf5da Removing a completed TODO 2022-10-11 15:23:22 +02:00
Maxime NATUREL
ef13f6033c Fixing coding style issues 2022-10-11 15:23:22 +02:00
Maxime NATUREL
a5bcbf300b Parsing the full version of browsers for Web device type 2022-10-11 15:23:22 +02:00
Maxime NATUREL
a6289d19f4 Making const for client info event prefix as internal 2022-10-11 15:23:22 +02:00
Maxime NATUREL
fdb61e26ee Rendering Device section with extended info 2022-10-11 15:23:22 +02:00
Maxime NATUREL
25a3d831f1 Adding unit tests for application section visibility use case 2022-10-11 15:23:22 +02:00
Maxime NATUREL
9f9f6e14be Rendering Application section into session details 2022-10-11 15:23:22 +02:00
Maxime NATUREL
acd05a0233 Exposing the matrix client info into the DeviceFullInfo 2022-10-11 15:23:22 +02:00
Maxime NATUREL
93fe22d18e Fixing hidden exception in unit tests of DevicesViewModelTest 2022-10-11 15:23:22 +02:00
Maxime NATUREL
a640c77141 Adding changelog entry 2022-10-11 15:23:22 +02:00
Maxime NATUREL
5cac68d731 Adding unit tests for the get client info use case 2022-10-11 15:23:22 +02:00
Maxime NATUREL
b9f7e9762d Removing code for tests 2022-10-11 15:22:41 +02:00
Maxime NATUREL
4aca1dcb24 Fix after rebase 2022-10-11 14:28:03 +02:00
Maxime NATUREL
3adc5ca430 Using suspend modifier to make use case really testable 2022-10-11 14:03:12 +02:00
Maxime NATUREL
1475655f20 Fix unit tests failing by setting testDispatcher 2022-10-11 14:03:12 +02:00
Maxime NATUREL
5649933b03 Removing some TODOs 2022-10-11 14:03:12 +02:00
Maxime NATUREL
a762fc1d80 Removing unused imports 2022-10-11 14:03:12 +02:00
Maxime NATUREL
e465969e5e Adding unit tests for ConfigureAndStartSessionUseCase 2022-10-11 14:03:10 +02:00
Maxime NATUREL
34e37ea608 Updating unit tests 2022-10-11 14:02:36 +02:00
Maxime NATUREL
c0e9d5124c Update the Matrix client info when configuring the Session 2022-10-11 14:02:36 +02:00
Maxime NATUREL
0c6d49856c Moving matrix client info related component to core package 2022-10-11 14:02:36 +02:00
Maxime NATUREL
1e6fb99e3c Introducing a use case to configure and start a Session 2022-10-11 14:02:36 +02:00
Maxime NATUREL
ce70ab8f0f Adding unit tests for update client info use case 2022-10-11 14:02:36 +02:00
Maxime NATUREL
7d00908f11 Adding unit tests for the set client info use case 2022-10-11 14:02:09 +02:00
Maxime NATUREL
ccc3ac628a Adding unit tests for the get client info use case 2022-10-11 14:02:07 +02:00
Maxime NATUREL
9877e90df6 Adding use cases to get and set the extra matrix client Info 2022-10-11 14:01:43 +02:00
Maxime NATUREL
1e87621e48 Adding changelog entry 2022-10-11 14:01:43 +02:00
Linerly
2efd3b4a33 Translated using Weblate (Indonesian)
Currently translated at 100.0% (78 of 78 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/id/
2022-10-11 11:33:06 +00:00
LinAGKar
6558afea1c Translated using Weblate (Swedish)
Currently translated at 100.0% (78 of 78 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/sv/
2022-10-11 11:33:04 +00:00
lvre
e28f3438ac Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (78 of 78 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/pt_BR/
2022-10-11 11:33:02 +00:00
LinAGKar
05d2f2a857 Translated using Weblate (Swedish)
Currently translated at 97.1% (2375 of 2444 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/sv/
2022-10-11 11:33:00 +00:00
Jozef Gaal
02d6dca96a Translated using Weblate (Slovak)
Currently translated at 100.0% (2444 of 2444 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/sk/
2022-10-11 11:32:58 +00:00
Nui Harime
06664fb15e Translated using Weblate (Russian)
Currently translated at 97.0% (2372 of 2444 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/ru/
2022-10-11 11:32:58 +00:00
lvre
0e8c3e99ec Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (2444 of 2444 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/pt_BR/
2022-10-11 11:32:57 +00:00
Linerly
62522ae9e1 Translated using Weblate (Indonesian)
Currently translated at 100.0% (2444 of 2444 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/id/
2022-10-11 11:32:55 +00:00
Vri
5bea54518f Translated using Weblate (German)
Currently translated at 100.0% (2444 of 2444 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/de/
2022-10-11 11:32:54 +00:00
Auri B. P
0ac7f43438 Translated using Weblate (Catalan)
Currently translated at 100.0% (2444 of 2444 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/ca/
2022-10-11 11:32:54 +00:00
Onuray Sahin
5566300665 Add qr code options to layout. 2022-10-11 14:15:44 +03:00
Onuray Sahin
aacf2ba8a6 Refactor layout. 2022-10-11 13:08:43 +03:00
Eric Decanini
2fe636e93b Adds Push Notification toggle to Device Manager (#7261)
* Adds push notifications switch

* Adds functionality to Push notification toggle

* Adds DefaultPushersServiceTest for togglePusher

* Adds DefaultTogglePusherTaskTest

* Adds SessionOverviewViewModelTest for toggling pusher

* Hides pusher toggle if there are no pushers of the device

* Adds changelog file

* Edits changelog file

* Fixes copyrights

* Unregisters checkedChangelistener in onDetachedFromWindow for switch view

* Fixes post merge errors

* Fixes legal copies

* Removes unused imports

* Fixes lint errors

* Fixes test errors

* Fixes error

* Fixes error

* Fixes error

* Fixes error

* Fixes error
2022-10-10 19:21:34 -04:00
Eric Decanini
a096ff03c8 Merge pull request #7217 from vector-im/feature/eric/msc3881
Implements MSC3881 (enabled and device_id fields for Pusher API)
2022-10-10 12:37:47 -04:00
Benoit Marty
31a79594fb Merge pull request #7301 from vector-im/dependabot/gradle/androidx.sharetarget-sharetarget-1.2.0
Bump sharetarget from 1.1.0 to 1.2.0 - REQUIRE DEVELOPER BRAIN
2022-10-10 18:14:06 +02:00
Benoit Marty
23654a9ff8 Merge pull request #7315 from vector-im/dependabot/gradle/glide-4.14.2
Bump glide from 4.14.1 to 4.14.2
2022-10-10 18:13:36 +02:00
Benoit Marty
7878d6f565 Merge pull request #7316 from vector-im/dependabot/gradle/flipper-0.169.0
Bump flipper from 0.164.0 to 0.169.0
2022-10-10 18:13:12 +02:00
ericdecanini
267431d06e Fixes error 2022-10-10 11:37:39 -04:00
Benoit Marty
ac5a5015ba Merge pull request #7326 from vrifox/patch-1
correct login_set_email_notice
2022-10-10 17:03:57 +02:00
Vri
5430ca2966 correct login_set_email_notice
Corrected the string as noted in this comment by @lvre (https://translate.element.io/translate/element-android/element-app/en/?checksum=8cfc63845b17eca4#comments) over on Weblate.
2022-10-10 16:18:37 +02:00
Maxime NATUREL
f171b8ae68 Hiding last seen details on session info view when it is current session 2022-10-10 15:22:27 +02:00
Maxime NATUREL
6cc6be4d53 Adding changelog entry 2022-10-10 15:21:56 +02:00
Onuray Sahin
ad208a0819 Refactor layout. 2022-10-10 13:48:25 +03:00
Benoit Marty
34cc5e8bd7 Merge pull request #7311 from vector-im/feature/bma/fix_bc
Fix breadcrumbs
2022-10-10 10:08:03 +02:00
ByeongsuPark
e9bde89fec Add changelog.d
Signed-off-by: byeongsu@soongsil.ac.kr <byeongsu@soongsil.ac.kr>
2022-10-10 17:05:12 +09:00
ericdecanini
618cf7ac0e Fixes error 2022-10-09 14:55:43 -04:00
ericdecanini
c94884b9d3 Fixes error 2022-10-09 14:55:25 -04:00
ericdecanini
4af2e62150 Merge branch 'develop' into feature/eric/msc3881 2022-10-09 12:45:19 -04:00
ericdecanini
31d4fc9ab0 Fixes lint error 2022-10-09 12:45:11 -04:00
ericdecanini
78555ec6ba Rearranges imports 2022-10-09 10:59:11 -04:00
ericdecanini
cd2e693f0c Fixes legal copy 2022-10-09 09:48:36 -04:00
ericdecanini
11e251fc1d Fixes legal copy 2022-10-09 09:48:18 -04:00
ericdecanini
d191bfeaf7 Fixes legal copy 2022-10-09 09:46:07 -04:00
random
b30c91a4d7 Translated using Weblate (Italian)
Currently translated at 100.0% (2444 of 2444 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/it/
2022-10-08 19:33:31 +00:00
LinAGKar
c54c3b1a7c Translated using Weblate (Swedish)
Currently translated at 92.3% (72 of 78 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/sv/
2022-10-08 19:33:29 +00:00
waclaw66
9f8f14ce30 Translated using Weblate (Czech)
Currently translated at 100.0% (2444 of 2444 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/cs/
2022-10-08 19:33:27 +00:00
Danial Behzadi
ec72300f49 Translated using Weblate (Persian)
Currently translated at 99.5% (2433 of 2444 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/fa/
2022-10-08 19:33:26 +00:00
Sveinn í Felli
9fe12cfdff Translated using Weblate (Icelandic)
Currently translated at 85.3% (2085 of 2444 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/is/
2022-10-08 19:33:25 +00:00
Jeff Huang
f9ce912c0c Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (2444 of 2444 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/zh_Hant/
2022-10-08 19:33:22 +00:00
LinAGKar
5284312282 Translated using Weblate (Swedish)
Currently translated at 95.0% (2322 of 2444 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/sv/
2022-10-08 19:33:21 +00:00
Jozef Gaal
d903c61223 Translated using Weblate (Slovak)
Currently translated at 100.0% (2444 of 2444 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/sk/
2022-10-08 19:33:18 +00:00
Priit Jõerüüt
7fdfc66804 Translated using Weblate (Estonian)
Currently translated at 99.6% (2436 of 2444 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/et/
2022-10-08 19:33:16 +00:00
Danial Behzadi
d4d9e8d93d Translated using Weblate (Persian)
Currently translated at 100.0% (78 of 78 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/fa/
2022-10-08 19:33:15 +00:00
Jeff Huang
92194892e5 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (78 of 78 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/zh_Hant/
2022-10-08 19:33:13 +00:00
Ihor Hordiichuk
06c8d24c95 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (2444 of 2444 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/uk/
2022-10-08 19:33:11 +00:00
Glandos
bfb80d2083 Translated using Weblate (French)
Currently translated at 100.0% (78 of 78 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/fr/
2022-10-08 19:33:09 +00:00
Ihor Hordiichuk
453b4070ad Translated using Weblate (Ukrainian)
Currently translated at 100.0% (78 of 78 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/uk/
2022-10-08 19:33:08 +00:00
Nui Harime
f522c4ba06 Translated using Weblate (Russian)
Currently translated at 96.7% (2365 of 2444 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/ru/
2022-10-08 19:33:06 +00:00
random
8bff9cc293 Translated using Weblate (Italian)
Currently translated at 100.0% (78 of 78 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/it/
2022-10-08 19:33:05 +00:00
Vri
915489ae1f Translated using Weblate (German)
Currently translated at 100.0% (2444 of 2444 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/de/
2022-10-08 19:33:03 +00:00
Priit Jõerüüt
27d2803244 Translated using Weblate (Estonian)
Currently translated at 100.0% (78 of 78 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/et/
2022-10-08 19:33:02 +00:00
Auri B. P
7ce2ae22c4 Translated using Weblate (Catalan)
Currently translated at 99.7% (2439 of 2444 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/ca/
2022-10-08 19:33:00 +00:00
Glandos
53a0520525 Translated using Weblate (French)
Currently translated at 100.0% (2444 of 2444 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/fr/
2022-10-08 19:32:59 +00:00
Vri
49e7c7be9a Translated using Weblate (German)
Currently translated at 100.0% (78 of 78 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/de/
2022-10-08 19:32:57 +00:00
waclaw66
6a24d34e62 Translated using Weblate (Czech)
Currently translated at 100.0% (78 of 78 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/cs/
2022-10-08 19:32:56 +00:00
Jozef Gaal
9f5a1adafe Translated using Weblate (Slovak)
Currently translated at 100.0% (78 of 78 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/sk/
2022-10-08 19:32:54 +00:00
phardyle
3c11fdd765 Translated using Weblate (Chinese (Simplified))
Currently translated at 97.1% (2374 of 2444 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/zh_Hans/
2022-10-08 19:32:52 +00:00
dependabot[bot]
90afced6aa Bump flipper from 0.164.0 to 0.169.0
Bumps `flipper` from 0.164.0 to 0.169.0.

Updates `flipper` from 0.164.0 to 0.169.0
- [Release notes](https://github.com/facebook/flipper/releases)
- [Commits](https://github.com/facebook/flipper/compare/v0.164.0...v0.169.0)

Updates `flipper-network-plugin` from 0.164.0 to 0.169.0
- [Release notes](https://github.com/facebook/flipper/releases)
- [Commits](https://github.com/facebook/flipper/compare/v0.164.0...v0.169.0)

---
updated-dependencies:
- dependency-name: com.facebook.flipper:flipper
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: com.facebook.flipper:flipper-network-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-07 23:12:38 +00:00
dependabot[bot]
9ec2b6e8d5 Bump glide from 4.14.1 to 4.14.2
Bumps `glide` from 4.14.1 to 4.14.2.

Updates `glide` from 4.14.1 to 4.14.2
- [Release notes](https://github.com/bumptech/glide/releases)
- [Commits](https://github.com/bumptech/glide/compare/v4.14.1...v4.14.2)

Updates `compiler` from 4.14.1 to 4.14.2
- [Release notes](https://github.com/bumptech/glide/releases)
- [Commits](https://github.com/bumptech/glide/compare/v4.14.1...v4.14.2)

---
updated-dependencies:
- dependency-name: com.github.bumptech.glide:glide
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: com.github.bumptech.glide:compiler
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-07 23:11:33 +00:00
Onuray Sahin
236b30367f Fix ui test case. 2022-10-07 19:13:59 +03:00
Onuray Sahin
2b452d6fe5 Implement qr code login failed states. 2022-10-07 19:04:27 +03:00
Onuray Sahin
2527cab73e Fix cancel actions. 2022-10-07 17:48:40 +03:00
Onuray Sahin
04fb31666b Implement show qr code screen. 2022-10-07 17:34:41 +03:00
Maxime NATUREL
9827ffb1e5 Merge pull request #7312 from vector-im/fix/mna/device-manager-long-session-name
[Device Management] Long session names not rendered well (PSG-820)
2022-10-07 15:57:12 +02:00
Florian Renaud
b9f474041f Merge pull request #7283 from vector-im/feature/fre/aggregate_voice_broadcast_state_events
Aggregate voice broadcast state events
2022-10-07 15:54:21 +02:00
ericdecanini
42d0e4f265 Fixes bindings 2022-10-07 09:09:19 -04:00
Florian Renaud
48d2cc4745 Merge pull request #7273 from vector-im/feature/fre/voice_broadcast_state_event
Voice Broadcast - Send state events
2022-10-07 14:53:30 +02:00
Benoit Marty
b1d3cc85c2 Remove the workaround, this is fixed in androidx.sharetarget:sharetarget:1.2.0. (with exported="true" declared in the library)
https://android-review.googlesource.com/c/platform/frameworks/support/+/1742473
2022-10-07 14:31:19 +02:00
Maxime NATUREL
3ceb19486a Adding changelog entry 2022-10-07 11:29:33 +02:00
Maxime NATUREL
bcf315aece Fix UI for long session names in SessionDetailsContentItem 2022-10-07 11:28:05 +02:00
Maxime NATUREL
824752a4ec Fix UI for long session names in SessionInfoView 2022-10-07 11:28:05 +02:00
Benoit Marty
bbc4b35b23 Remove unused val. 2022-10-07 11:27:08 +02:00
Benoit Marty
e08028378b Fix broken Breadcrumbs 2022-10-07 11:26:37 +02:00
Benoit Marty
e9e2e5011b Fix test compilation. 2022-10-07 10:08:33 +02:00
Benoit Marty
d4de559809 Fix lint warning. 2022-10-07 10:06:00 +02:00
Benoit Marty
35dcfdd54b Fix compilation note (by removing unused fun).
`Note: /home/runner/work/element-android/element-android/library/external/dialpad/src/main/java/com/android/dialer/dialpadview/DialpadView.java uses or overrides a deprecated API.`
2022-10-07 10:06:00 +02:00
Benoit Marty
238b41ce55 Revoke notification permission (Android 13+) if user disables session notification. 2022-10-07 09:58:50 +02:00
Benoit Marty
bd36831b31 Merge pull request #7302 from vector-im/dependabot/gradle/io.sentry-sentry-android-6.4.3
Bump sentry-android from 6.4.1 to 6.4.3
2022-10-07 09:47:35 +02:00
Benoit Marty
6086c4de7f Merge pull request #7303 from vector-im/dependabot/gradle/androidx.exifinterface-exifinterface-1.3.4
Bump exifinterface from 1.3.3 to 1.3.4
2022-10-07 09:47:20 +02:00
ganfra
6edea43ab4 Realm-kotlin : continue migrating session db 2022-10-06 19:28:09 +02:00
Benoit Marty
652069d520 Manage new Android 13 notification permission. 2022-10-06 18:56:23 +02:00
Onuray Sahin
1932edad46 Fix instructions view visibility. 2022-10-06 18:48:07 +03:00
Onuray Sahin
a00afa7a30 Simulate qr login states. 2022-10-06 18:17:02 +03:00
ByeongsuPark
4bb60e1628 Fix wrong mic button direction to cancel on RTL languages 2022-10-06 23:45:55 +09:00
Florian Renaud
0a047b6045 Use VoiceBroadcastEvent wrapper 2022-10-06 16:28:38 +02:00
Florian Renaud
8d3d275921 Add changelog file 2022-10-06 16:28:38 +02:00
Florian Renaud
cc1bb23406 Aggregate voice broadcast state events 2022-10-06 16:28:38 +02:00
Florian Renaud
b286a52f5b Catch error and return Result in useCases 2022-10-06 16:27:11 +02:00
Florian Renaud
30f33d36de Use session.getRoom(roomId) 2022-10-06 16:27:11 +02:00
Florian Renaud
521af70988 Pass VoiceBroadcastState in MessageVoiceBroadcastItem 2022-10-06 16:27:11 +02:00
Florian Renaud
05b8f7d375 Create TimelineEvent.getVectorLastMessageContent() in vector module 2022-10-06 16:27:07 +02:00
Florian Renaud
01e0383dd5 Reorder VoiceBroadcastAction switch cases 2022-10-06 16:25:57 +02:00
Florian Renaud
e4e953acf9 Verify that there is no ongoing voice broadcast before starting a new one 2022-10-06 16:25:56 +02:00
Florian Renaud
b9bb7d7892 Add VoiceBroadcastEvent wrapper 2022-10-06 16:25:56 +02:00
Florian Renaud
0c5d4c5f12 Add changelog file 2022-10-06 16:25:56 +02:00
Florian Renaud
faeb078c8b Add voice broadcast state event in timeline displayable events 2022-10-06 16:25:56 +02:00
Florian Renaud
1bc894712e Add unit tests for use cases 2022-10-06 16:25:56 +02:00
Florian Renaud
e4a52e1d5e Add deletion action on voice broadcast event 2022-10-06 16:25:56 +02:00
Florian Renaud
daf4fc0f6d Add basic timeline voice broadcast item 2022-10-06 16:25:56 +02:00
Florian Renaud
bcc84c8025 Add several voice broadcast actions 2022-10-06 16:25:52 +02:00
Florian Renaud
d08cfe1147 Add voice broadcast use cases 2022-10-06 16:23:40 +02:00
Florian Renaud
4091d27311 Add "io.element.voice_broadcast_info" state event 2022-10-06 16:23:40 +02:00
Onuray Sahin
a66b183bf7 Add connection status to the view state. 2022-10-06 15:15:35 +03:00
Onuray Sahin
945fa0a390 Create qr code login status view layout. 2022-10-06 14:55:43 +03:00
Onuray Sahin
9b7f6c9003 Navigate to qr code scanner activity. 2022-10-06 14:55:18 +03:00
Onuray Sahin
5dfaa2527a Remove unused session parameter. 2022-10-06 14:54:09 +03:00
Onuray Sahin
5f6c8eebcf Navigate to the instructions screen. 2022-10-06 12:16:24 +03:00
dependabot[bot]
667bbceebb Bump exifinterface from 1.3.3 to 1.3.4
Bumps exifinterface from 1.3.3 to 1.3.4.

---
updated-dependencies:
- dependency-name: androidx.exifinterface:exifinterface
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-05 23:15:21 +00:00
dependabot[bot]
3e447dff29 Bump sentry-android from 6.4.1 to 6.4.3
Bumps [sentry-android](https://github.com/getsentry/sentry-java) from 6.4.1 to 6.4.3.
- [Release notes](https://github.com/getsentry/sentry-java/releases)
- [Changelog](https://github.com/getsentry/sentry-java/blob/6.4.3/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-java/compare/6.4.1...6.4.3)

---
updated-dependencies:
- dependency-name: io.sentry:sentry-android
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-05 23:14:38 +00:00
dependabot[bot]
ef88386fc1 Bump sharetarget from 1.1.0 to 1.2.0
Bumps sharetarget from 1.1.0 to 1.2.0.

---
updated-dependencies:
- dependency-name: androidx.sharetarget:sharetarget
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-05 23:14:09 +00:00
Onuray Sahin
9859dab3cc Complete qr code login instructions screen. 2022-10-06 00:51:00 +03:00
ganfra
5d73118c8c Realm-kotlin: continue migration of session 2022-10-05 19:42:15 +02:00
Benoit Marty
3952f732dd Paparazzi have some trouble with Android 13, try to workaround it.
OK locally, but on the CI?
2022-10-05 17:35:05 +02:00
Benoit Marty
05a1f17e83 Remove unused import 2022-10-05 17:35:05 +02:00
Benoit Marty
84223a221c Call super method. 2022-10-05 17:35:05 +02:00
Benoit Marty
70383130f5 Fix compilation warning: 'compileDebugJavaWithJavac' task (current target is 1.8) and 'compileDebugKotlin' task (current target is 11) jvm target compatibility should be set to the same Java version. 2022-10-05 17:35:05 +02:00
Benoit Marty
15616ecc7c Fix compilation issue after rebase 2022-10-05 17:35:05 +02:00
Benoit Marty
e76b2d7c61 Suppress deprecation warning for onBackPressed().
The required change are too big, this will be handled separately.
2022-10-05 17:35:05 +02:00
Benoit Marty
f2bbdc3906 API 33: fix compilation warnings 2022-10-05 17:35:05 +02:00
Benoit Marty
61a4dd2128 Avoid using deprecated readList. Serialize and deserialize a String instead of a char array. 2022-10-05 17:35:05 +02:00
Benoit Marty
2d90524763 activity-ktx 2022-10-05 17:35:05 +02:00
Benoit Marty
9d02072ad9 Formatting 2022-10-05 17:35:05 +02:00
Benoit Marty
933d84a230 androidx.activity:activity:1.6.0 2022-10-05 17:35:05 +02:00
Benoit Marty
4677c474eb androidx.core:core-ktx:1.9.0 2022-10-05 17:35:05 +02:00
Benoit Marty
0fee37ced7 API 33 2022-10-05 17:35:05 +02:00
Benoit Marty
9335242ce1 Merge pull request #7285 from vector-im/tech/split-timelinefragment
Refactor: split TimelineFragment into MessageComposerFragment and VoiceRecorderFragment
2022-10-05 17:31:10 +02:00
Benoit Marty
80c210e62d Merge pull request #7292 from vector-im/feature/mna/device-manager-type-icons
[Device Management] Show correct device type icons (PSG-775)
2022-10-05 17:30:42 +02:00
Benoit Marty
6d2caf6210 Merge pull request #7264 from vector-im/dependabot/gradle/epoxy-5.0.0
Bump epoxy from 4.6.2 to 5.0.0
2022-10-05 17:30:29 +02:00
Benoit Marty
27e408fb0c Fix bad merge conflict fix 2022-10-05 17:30:06 +02:00
Benoit Marty
cde088e315 Merge branch 'develop' into dependabot/gradle/epoxy-5.0.0 2022-10-05 17:29:17 +02:00
Benoit Marty
38ca3b6cdb Version++ 2022-10-05 17:20:05 +02:00
Benoit Marty
6e9bc7845d Merge remote-tracking branch 'origin/develop' into develop 2022-10-05 17:18:39 +02:00
Benoit Marty
d4f7b7bea4 Merge branch 'release/1.5.2' into develop 2022-10-05 17:17:25 +02:00
Benoit Marty
b49585bde3 Fastlane 2022-10-05 17:17:08 +02:00
Benoit Marty
a6cb936ae6 Reorder changes 2022-10-05 17:08:19 +02:00
Benoit Marty
94fa3343b4 Run towncrier 2022-10-05 17:06:58 +02:00
Benoit Marty
c76945f9c6 Fix tests, there is a new item in the list 2022-10-05 16:46:15 +02:00
Benoit Marty
8934eabc99 Remove TODO, the string a11y_create_room is actually used. 2022-10-05 16:33:05 +02:00
Benoit Marty
47457b39d0 Fix typo 2022-10-05 16:03:26 +02:00
Benoit Marty
3f27df81bd Merge pull request #7298 from RiotTranslateBot/weblate-element-android-element-app
Translations update from Weblate
2022-10-05 15:57:19 +02:00
Florian Renaud
33c31fb2a0 Merge pull request #7268 from vector-im/dependabot/gradle/mavericks-3.0.1
Bump mavericks from 2.7.0 to 3.0.1
2022-10-05 15:55:04 +02:00
Weblate
5d8a8545f4 Merge branch 'origin/develop' into Weblate. 2022-10-05 13:54:54 +00:00
Florian Renaud
010f2c458c Replace deprecated MvRxTestRule with MavericksTestRule 2022-10-05 14:48:59 +02:00
Valere
502b12a07e Merge pull request #7290 from vector-im/feature/bca/hinder_verification
E2ee dos not hinder verification
2022-10-05 14:34:34 +02:00
Weblate
672ad3a5e5 Merge branch 'origin/develop' into Weblate. 2022-10-05 12:32:46 +00:00
Valere
ec7c8c8b31 Merge pull request #6726 from vector-im/feature/bca/block_unverified
Per room block unverified devices
2022-10-05 14:29:59 +02:00
Weblate
d13606bdcc Merge branch 'origin/develop' into Weblate. 2022-10-05 12:28:06 +00:00
Nui Harime
111f77b017 Translated using Weblate (Russian)
Currently translated at 98.3% (2380 of 2419 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/ru/
2022-10-05 12:27:54 +00:00
lvre
4de0f0a1e8 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (2419 of 2419 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/pt_BR/
2022-10-05 12:27:53 +00:00
Sveinn í Felli
c39e64dfc7 Translated using Weblate (Icelandic)
Currently translated at 84.5% (2046 of 2419 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/is/
2022-10-05 12:27:53 +00:00
Vri
d5f542095c Translated using Weblate (German)
Currently translated at 100.0% (2419 of 2419 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/de/
2022-10-05 12:27:39 +00:00
dependabot[bot]
8c35a8cf6b Bump mavericks from 2.7.0 to 3.0.1
Bumps `mavericks` from 2.7.0 to 3.0.1.

Updates `mavericks` from 2.7.0 to 3.0.1
- [Release notes](https://github.com/airbnb/mavericks/releases)
- [Changelog](https://github.com/airbnb/mavericks/blob/main/CHANGELOG.md)
- [Commits](https://github.com/airbnb/mavericks/compare/2.7.0...v3.0.1)

Updates `mavericks-testing` from 2.7.0 to 3.0.1
- [Release notes](https://github.com/airbnb/mavericks/releases)
- [Changelog](https://github.com/airbnb/mavericks/blob/main/CHANGELOG.md)
- [Commits](https://github.com/airbnb/mavericks/compare/2.7.0...v3.0.1)

---
updated-dependencies:
- dependency-name: com.airbnb.android:mavericks
  dependency-type: direct:production
  update-type: version-update:semver-major
- dependency-name: com.airbnb.android:mavericks-testing
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-05 12:23:36 +00:00
Amit Kumar
aad2eed396 Add initial Sentry setup for crashes and perf tracking (#7141)
* Add initial Sentry setup for crashes and perf tracking

* Fix failing analytics tests

* Reformat code to fix style issue

* Close sentry when user signs out

* Add initial unit tests for Sentry

* Remove unused import

* Exclude amitkma from signoff requirements for PRs
2022-10-05 16:49:14 +05:30
Jorge Martín
e6a2d50b92 Add changelog, address review comments. 2022-10-05 12:55:46 +02:00
Onuray Sahin
4fdb4e8c79 Create custom view for instructions section. 2022-10-05 13:23:39 +03:00
Jorge Martín
e1cad01d54 Fix lint issues 2022-10-05 11:16:55 +02:00
Jorge Martín
321fddf5f6 Remove TODO 2022-10-05 11:16:55 +02:00
Jorge Martín
3c2e2552ec Simplify child fragment replacement logic 2022-10-05 11:16:55 +02:00
Jorge Martín
0d97fa201e Try to centralise the usage of fragment args 2022-10-05 11:16:55 +02:00
Jorge Martín
2c9526543b Remove coordinator, fix minor issues 2022-10-05 11:16:55 +02:00
Jorge Martín
baf527ec9d Extract MessageComposerFragment and VoiceRecorderFragment from TimelineFragment 2022-10-05 11:16:55 +02:00
Benoit Marty
70976c355a Merge pull request #7291 from vector-im/tech/fix-room-member-list-controller-test
Try to fix flaky RoomMemberListControllerTest
2022-10-05 11:04:00 +02:00
Benoit Marty
a036cc6d75 Merge pull request #7287 from vector-im/feature/bma/en-us
Use American English by default.
2022-10-05 11:02:58 +02:00
Benoit Marty
2cd78282d9 Fix typo
Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
2022-10-05 11:02:33 +02:00
Valere
fddeddacc7 fix outdated doc 2022-10-05 10:42:29 +02:00
Valere
37458d41f2 E2ee dos not hinder verification 2022-10-05 10:42:29 +02:00
Valere
b567fc5be6 remove commented code 2022-10-05 10:27:12 +02:00
Valere
68d4ac34c7 Move setting to room profile 2022-10-05 10:27:12 +02:00
Valere
8de2fe8917 Update library/ui-strings/src/main/res/values/strings.xml
Co-authored-by: Benoit Marty <benoitm@matrix.org>
2022-10-05 10:27:12 +02:00
Valere
8c7e7a8f35 open global settings from room settings 2022-10-05 10:27:12 +02:00
Valere
f7d8356327 post rebase fix & cleaning 2022-10-05 10:27:12 +02:00
Valere
92a72cb1e9 cleaning 2022-10-05 10:27:12 +02:00
Valere
e9b33f6234 Per room block unverified devices 2022-10-05 10:27:12 +02:00
Maxime NATUREL
f02b689ce0 Adding unit tests for mapper 2022-10-05 10:14:05 +02:00
Maxime NATUREL
b23520ea40 Adding new field for last seen user agent in DB with migration 2022-10-05 10:14:04 +02:00
Maxime NATUREL
3be1513e0f Adding unit tests 2022-10-05 10:14:04 +02:00
Maxime NATUREL
bf502f4f3d Set the corresponding deviceType icon in list item and in overview view 2022-10-05 10:14:03 +02:00
Maxime NATUREL
5c95cee1c6 Adding changelog entry 2022-10-05 10:13:14 +02:00
Jorge Martín
ed545c7e2b Try to fix flaky RoomMemberListControllerTest 2022-10-05 08:50:12 +02:00
Jorge Martín
0b7e52e60b Fix EventHtmlRendererTest 2022-10-05 07:46:05 +02:00
ericdecanini
034046701d Merge remote-tracking branch 'origin/develop' into feature/eric/msc3881
# Conflicts:
#	vector/src/test/java/im/vector/app/test/fakes/FakeCryptoService.kt
2022-10-04 14:05:23 -04:00
ganfra
a93bba88ac Realm-kotlin: continue to migrate session... 2022-10-04 19:24:52 +02:00
Benoit Marty
4974fdf905 Merge pull request #6633 from Benjiko99/feature/incognito-keyboard
Add privacy setting to disable personalized learning by the keyboard
2022-10-04 18:22:22 +02:00
SpiritCroc
af9548dfdd Support inline images in the timeline (#5877)
* Support inline images in the timeline

Co-authored-by: Benoit Marty <benoitm@matrix.org>
2022-10-04 17:59:52 +02:00
Benoit Marty
2cb16d9f11 Merge pull request #6215 from networkException/fix-animated-only-fetching-thumbnail
Fix animated images only autoplaying sometimes
2022-10-04 17:44:25 +02:00
Benoit Marty
ca6813b5d8 Merge pull request #6906 from bwi-de/develop
Clean up pin code key and biometrics key on logout
2022-10-04 16:19:03 +02:00
Benoit Marty
304fb09f57 Merge pull request #6757 from eidonia/bugfix/#5029-disbale-emoji-keyboard-not-applies-reply
[Bugfix #5029] disable emoji keyboard not applies to reply
2022-10-04 16:16:36 +02:00
Benoit Marty
8311138bf1 Merge pull request #6762 from rudmannn/develop
replace android:gravity for backward compatibility
2022-10-04 16:14:41 +02:00
Benoit Marty
00248404c0 Merge pull request #7188 from vector-im/dependabot/gradle/org.owasp-dependency-check-gradle-7.2.1
Bump dependency-check-gradle from 7.2.0 to 7.2.1
2022-10-04 16:11:52 +02:00
Benoit Marty
5a7483eb38 Merge pull request #7203 from vector-im/dependabot/gradle/dagger-2.44
Bump dagger from 2.42 to 2.44
2022-10-04 16:09:12 +02:00
Benoit Marty
984995dcb9 Merge pull request #7265 from vector-im/dependabot/gradle/org.jetbrains.kotlin-kotlin-gradle-plugin-1.7.20
Bump kotlin-gradle-plugin from 1.7.10 to 1.7.20
2022-10-04 16:06:58 +02:00
Benoit Marty
17cd2a3302 Merge pull request #7266 from vector-im/dependabot/gradle/org.jetbrains.kotlin-kotlin-reflect-1.7.20
Bump kotlin-reflect from 1.7.10 to 1.7.20
2022-10-04 16:06:25 +02:00
Onuray Sahin
6fbdd87dcf Create custom view for header section. 2022-10-04 17:05:42 +03:00
Benoit Marty
90643510f2 Merge pull request #7269 from vector-im/dependabot/gradle/glide-4.14.1
Bump glide from 4.13.2 to 4.14.1
2022-10-04 15:53:26 +02:00
Benoit Marty
caffdbd8a5 Merge pull request #7286 from vector-im/tech/remove-robolectric-dependency
Remove Robolectric, make previous Robolectric test an instrumentation test
2022-10-04 15:52:49 +02:00
Benoit Marty
fe3540f6eb Changelog 2022-10-04 15:51:29 +02:00
Benoit Marty
c35fa978a7 Use American English by default. 2022-10-04 15:49:23 +02:00
Benoit Marty
4f61585ce5 Merge pull request #7279 from vector-im/dependabot/github_actions/danger/danger-js-11.1.3
Bump danger/danger-js from 11.1.2 to 11.1.3
2022-10-04 15:37:32 +02:00
Paul
d205202e52 [Bugfix] Fix crash on previewing image to upload on Android P (#7184)
* Fix crash on image upload preview on Android P

Using hardware bitmap allocation on Android framework versions prior to
Android Q causes a crash when decoding a bitmap if GL context wasn't
initialised. The issue is not documented in ImageDecoder reference but
it is mentioned in the comments of glide[1] with a link to internal
google discussion.

[1] f83cc274b4/library/src/main/java/com/bumptech/glide/load/resource/bitmap/HardwareConfigState.java (L22)

Signed-off-by: Paweł Matuszewski <pamat@protonmail.com>
2022-10-04 15:34:13 +02:00
Benoit Marty
81b5fcdc7d Merge pull request #5716 from thefirstofthe300/styling-tweaks
Styling tweaks
2022-10-04 15:32:32 +02:00
Jorge Martín
8d54a0d759 Remove Robolectric, make Robolectric test an instrumentation test 2022-10-04 14:15:54 +02:00
Yoan Pintas
ef82cc6aa7 Merge pull request #7225 from vector-im/yostyle/fix_strandhogg_detection
Add Activities of android permission controller in the whitelist
2022-10-04 11:51:06 +02:00
Nikita Fedrunov
8eea2ef923 fixing bug when room list is not updated being on background (#7278) 2022-10-04 11:29:34 +02:00
Florian Renaud
8e3b9735c1 Merge pull request #7258 from vector-im/feature/fre/voice_broadcast_feature_flag
Voice Broadcast - Add a feature flag with the composer action
2022-10-04 11:25:33 +02:00
Benoit Marty
d7f66d993f Changelog 2022-10-04 09:55:05 +02:00
Benoit Marty
fdcc7506de Homeservers will not return RelationsResponse.original_event in the future. 2022-10-04 09:28:44 +02:00
dependabot[bot]
3bd3283d43 Bump danger/danger-js from 11.1.2 to 11.1.3
Bumps [danger/danger-js](https://github.com/danger/danger-js) from 11.1.2 to 11.1.3.
- [Release notes](https://github.com/danger/danger-js/releases)
- [Changelog](https://github.com/danger/danger-js/blob/main/CHANGELOG.md)
- [Commits](https://github.com/danger/danger-js/compare/11.1.2...11.1.3)

---
updated-dependencies:
- dependency-name: danger/danger-js
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-03 23:15:43 +00:00
ericdecanini
f4dc435a97 Adds bindings to fdroid variant 2022-10-03 17:54:06 -04:00
ericdecanini
d14570dbea Replaces AppBuildConfig 2022-10-03 17:52:59 -04:00
Maxime NATUREL
07a2e3254a Merge pull request #7110 from vector-im/feature/mna/devices-learn-more-bottom-sheet
[Device Management] Learn more bottom sheets (PSG-715)
2022-10-03 17:39:41 +02:00
Benoit Marty
8653b74964 Prefer to add explicit group. 2022-10-03 17:00:04 +02:00
Benoit Marty
e282380ab8 Naming convention: Epoxy item classes have Itemsuffix 2022-10-03 16:48:34 +02:00
Benoit Marty
24fe677e50 Remove usage of @JvmField in Epoxy Items.
Fix error `error: annotation type not applicable to this kind of declaration`
2022-10-03 16:48:34 +02:00
Benoit Marty
8e375a7fb2 Fix issue with expected types. 2022-10-03 16:45:23 +02:00
Benoit Marty
9f68d9d803 Workaround to have KSP generated Kotlin code available in the IDE (for code completion)
Ref: https://github.com/airbnb/epoxy/releases/tag/5.0.0beta02
2022-10-03 16:45:23 +02:00
Benoit Marty
cba920f3e5 Enable Ksp for Epoxy Processor 2022-10-03 16:45:23 +02:00
Onuray Sahin
06c0d615a2 Create base classes. 2022-10-03 13:55:46 +03:00
Nikita Fedrunov
9f8c7688bf added analytics for app layout (#7242) 2022-10-03 11:47:58 +02:00
Benoit Marty
8fd0107d84 Merge pull request #7256 from vector-im/feature/bma/fix_manifest_warning
Fix compilation warning when manifest are merged.
2022-10-03 11:16:25 +02:00
Valere
005e712396 Merge pull request #6703 from vector-im/feature/bca/crosssigning_reset_warning
warn on cross signing reset
2022-10-03 09:25:52 +02:00
Florian Renaud
2812b16cad Add changelog file 2022-10-03 09:25:03 +02:00
Florian Renaud
2bc08069cc Add Voice Broadcast action in the composer 2022-10-03 09:25:03 +02:00
Florian Renaud
0b0ea64a4b Add Voice Broadcast feature flag 2022-10-03 09:25:02 +02:00
Szimszon
d8b3c66c62 Translated using Weblate (Hungarian)
Currently translated at 100.0% (76 of 76 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/hu/
2022-10-02 19:32:54 +00:00
Priit Jõerüüt
28af6bb208 Translated using Weblate (Estonian)
Currently translated at 99.6% (2411 of 2419 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/et/
2022-10-02 19:32:53 +00:00
Priit Jõerüüt
73997d4569 Translated using Weblate (Estonian)
Currently translated at 100.0% (76 of 76 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/et/
2022-10-01 14:33:42 +00:00
phardyle
5566901b71 Translated using Weblate (Chinese (Simplified))
Currently translated at 96.0% (73 of 76 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/zh_Hans/
2022-10-01 14:33:39 +00:00
Nui Harime
feff368f85 Translated using Weblate (Russian)
Currently translated at 98.3% (2380 of 2419 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/ru/
2022-10-01 14:33:37 +00:00
Przemysław Romanik
fa66ce1833 Translated using Weblate (Polish)
Currently translated at 97.8% (2367 of 2419 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/pl/
2022-10-01 14:33:36 +00:00
Anonimas
a2ad855ce2 Translated using Weblate (Lithuanian)
Currently translated at 80.1% (1940 of 2419 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/lt/
2022-10-01 14:33:35 +00:00
Linerly
366d273fc0 Translated using Weblate (Indonesian)
Currently translated at 100.0% (2419 of 2419 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/id/
2022-10-01 14:32:51 +00:00
Lamdarer
f9d9a0c178 Translated using Weblate (German)
Currently translated at 100.0% (2419 of 2419 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/de/
2022-10-01 14:32:50 +00:00
Vri
fef2c8519a Translated using Weblate (German)
Currently translated at 100.0% (2419 of 2419 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/de/
2022-10-01 14:32:50 +00:00
dependabot[bot]
9cb7051694 Bump glide from 4.13.2 to 4.14.1
Bumps `glide` from 4.13.2 to 4.14.1.

Updates `glide` from 4.13.2 to 4.14.1
- [Release notes](https://github.com/bumptech/glide/releases)
- [Commits](https://github.com/bumptech/glide/compare/v4.13.2...v4.14.1)

Updates `compiler` from 4.13.2 to 4.14.1
- [Release notes](https://github.com/bumptech/glide/releases)
- [Commits](https://github.com/bumptech/glide/compare/v4.13.2...v4.14.1)

---
updated-dependencies:
- dependency-name: com.github.bumptech.glide:glide
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: com.github.bumptech.glide:compiler
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-30 23:09:33 +00:00
Onuray Sahin
d0dd446af8 Merge pull request #7247 from vector-im/feature/ons/parse_user_agent
[Device Manager] Parse user agents (PSG-762)
2022-09-30 18:36:33 +03:00
Valere
384e829d42 Update changelog.d/6702.bugfix
Co-authored-by: Benoit Marty <benoitm@matrix.org>
2022-09-30 17:16:49 +02:00
Onuray Sahin
ea8dc45796 Parse browser version. 2022-09-30 17:08:35 +03:00
Valere
b4f7e1381d fix test post rebase 2022-09-30 16:00:34 +02:00
Valere
59afe434f8 more tests 2022-09-30 16:00:34 +02:00
Valere
ac0e5e9dec fix broken test, userId confustion
cleaning


cleaning


add tests


cleaning
2022-09-30 16:00:34 +02:00
Valere
c8f0792997 warn on cross signing reset 2022-09-30 16:00:34 +02:00
Onuray Sahin
bf4576d155 Code review fixes. 2022-09-30 13:21:44 +03:00
Valere
dc9451aeba Merge pull request #7246 from vector-im/feature/adm/autocomplete-crash
[Crash] Autocomplete crashes on open
2022-09-30 10:43:23 +02:00
Jorge Martín
570bc57cc6 Restore validateEpoxyModelUsage annotation processing arg 2022-09-30 09:44:23 +02:00
Jorge Martín
f5cb980020 Fix dependencies and code issues 2022-09-30 09:39:01 +02:00
dependabot[bot]
1db669d1c2 Bump kotlin-reflect from 1.7.10 to 1.7.20
Bumps [kotlin-reflect](https://github.com/JetBrains/kotlin) from 1.7.10 to 1.7.20.
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/v1.7.20/ChangeLog.md)
- [Commits](https://github.com/JetBrains/kotlin/compare/v1.7.10...v1.7.20)

---
updated-dependencies:
- dependency-name: org.jetbrains.kotlin:kotlin-reflect
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-29 23:21:58 +00:00
dependabot[bot]
169170d398 Bump kotlin-gradle-plugin from 1.7.10 to 1.7.20
Bumps [kotlin-gradle-plugin](https://github.com/JetBrains/kotlin) from 1.7.10 to 1.7.20.
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/v1.7.20/ChangeLog.md)
- [Commits](https://github.com/JetBrains/kotlin/compare/v1.7.10...v1.7.20)

---
updated-dependencies:
- dependency-name: org.jetbrains.kotlin:kotlin-gradle-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-29 23:15:14 +00:00
dependabot[bot]
bd6b441b2a Bump epoxy from 4.6.2 to 5.0.0
Bumps `epoxy` from 4.6.2 to 5.0.0.

Updates `epoxy` from 4.6.2 to 5.0.0
- [Release notes](https://github.com/airbnb/epoxy/releases)
- [Changelog](https://github.com/airbnb/epoxy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/airbnb/epoxy/compare/4.6.2...5.0.0)

Updates `epoxy-glide-preloading` from 4.6.2 to 5.0.0
- [Release notes](https://github.com/airbnb/epoxy/releases)
- [Changelog](https://github.com/airbnb/epoxy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/airbnb/epoxy/compare/4.6.2...5.0.0)

Updates `epoxy-processor` from 4.6.2 to 5.0.0
- [Release notes](https://github.com/airbnb/epoxy/releases)
- [Changelog](https://github.com/airbnb/epoxy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/airbnb/epoxy/compare/4.6.2...5.0.0)

Updates `epoxy-paging` from 4.6.2 to 5.0.0
- [Release notes](https://github.com/airbnb/epoxy/releases)
- [Changelog](https://github.com/airbnb/epoxy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/airbnb/epoxy/compare/4.6.2...5.0.0)

---
updated-dependencies:
- dependency-name: com.airbnb.android:epoxy
  dependency-type: direct:production
  update-type: version-update:semver-major
- dependency-name: com.airbnb.android:epoxy-glide-preloading
  dependency-type: direct:production
  update-type: version-update:semver-major
- dependency-name: com.airbnb.android:epoxy-processor
  dependency-type: direct:production
  update-type: version-update:semver-major
- dependency-name: com.airbnb.android:epoxy-paging
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-29 23:13:01 +00:00
ganfra
85969f3d81 Realm kotlin: migrate a bunch of tasks 2022-09-29 20:04:36 +02:00
ganfra
5b0f7b7b7c Realm kotlin: migrate UserAccountDataDataSource 2022-09-29 18:44:36 +02:00
ganfra
981ab5bc87 Realm kotlin: migrate ScalarTokenStore 2022-09-29 18:42:41 +02:00
ganfra
baa854e5f2 Realm kotlin: migrate FilterRepository 2022-09-29 18:39:54 +02:00
ganfra
6b3ce7872e Realm kotlin: migrate localecho 2022-09-29 18:09:19 +02:00
ganfra
87a3362e62 Realm kotlin : continue to migrate session 2022-09-29 17:48:10 +02:00
Onuray Sahin
0f8637bc7a Lint fix. 2022-09-29 17:57:22 +03:00
Onuray Sahin
81e8ddf832 Code review fixes. 2022-09-29 17:40:26 +03:00
Onuray Sahin
6d459a0bc9 Code review fixes. 2022-09-29 17:35:47 +03:00
Maxime NATUREL
48439f9071 Reverting remove of end of line from translations 2022-09-29 14:06:45 +02:00
Maxime NATUREL
28dee84aee Rename sessions screen learn more 2022-09-29 14:06:45 +02:00
Maxime NATUREL
20a24162f4 Updating texts + other sessions list screen learn more 2022-09-29 14:06:45 +02:00
Maxime NATUREL
c356c8090b Removing other sessions section learn more 2022-09-29 14:06:45 +02:00
Maxime NATUREL
acba3f2aa4 Updating learn more strings 2022-09-29 14:06:45 +02:00
Maxime NATUREL
5704dd4f43 Fix wrong import order 2022-09-29 14:06:44 +02:00
Maxime NATUREL
28b30e4e4f Fix after rebase issue 2022-09-29 14:06:44 +02:00
Maxime NATUREL
e986d7805e Fixing after rebase issues 2022-09-29 14:06:44 +02:00
Maxime NATUREL
d1bc7d591f Revert changes to translations 2022-09-29 14:06:44 +02:00
Maxime NATUREL
87e1b53c6e Fix coding style 2022-09-29 14:06:44 +02:00
Maxime NATUREL
51532687b9 Learn more in session overview screen 2022-09-29 14:06:44 +02:00
Maxime NATUREL
400b1b0697 Adding handle at top 2022-09-29 14:06:44 +02:00
Maxime NATUREL
97cdda45d6 Adding close button 2022-09-29 14:06:44 +02:00
Maxime NATUREL
648311e2b1 Show basic bottom sheet when pressing learn more link from other sessions section 2022-09-29 14:06:44 +02:00
Maxime NATUREL
1d11eae0cc Removing learn more link from security header 2022-09-29 14:06:44 +02:00
Maxime NATUREL
70a5093e3d Adding string resources 2022-09-29 14:06:44 +02:00
Maxime NATUREL
6eb5d98180 Add changelog entry 2022-09-29 14:06:43 +02:00
Onuray Sahin
38cd2be332 Fix broken tests. 2022-09-29 13:28:46 +03:00
Onuray Sahin
1238f31cdf Merge pull request #7209 from vector-im/feature/ons/extend_user_agent
[Device Manager] Extend user agent to include device information (PSG-755)
2022-09-29 13:11:20 +03:00
Benoit Marty
214867ad0e Merge pull request #7248 from vector-im/feature/bca/hotfix_1.5.1_merge
Feature/bca/hotfix 1.5.1 merge back from main
2022-09-29 11:58:36 +02:00
Maxime NATUREL
75a381ea0d Merge pull request #7243 from vector-im/feature/mna/device-manager-signout-session
[Device management] Sign out a session (PSG-742)
2022-09-29 11:43:56 +02:00
Benoit Marty
11cdf8ea9c Merge pull request #7223 from vector-im/feature/bca/fix_new_layout_list_flickering
Fix new layout flicker/leaks
2022-09-29 11:39:34 +02:00
Onuray Sahin
8663fe8c74 Add tests for unknown user agents. 2022-09-29 12:35:15 +03:00
Onuray Sahin
0f0ec54ed1 Code review fixes. 2022-09-29 12:20:01 +03:00
Onuray Sahin
4c173a79ae Lint fixes. 2022-09-29 11:40:15 +03:00
Onuray Sahin
c16b5d674c Add more user agent support. 2022-09-29 11:36:38 +03:00
Maxime NATUREL
082fa1e69e Adding confirmation dialog for all type of sessions 2022-09-29 10:27:13 +02:00
Valere
803eff9ad1 Fix not exhaustive when 2022-09-29 09:45:18 +02:00
Benoit Marty
f4674b17d6 Fix compilation warning. The Jitsi library does not include these permissions anymore. 2022-09-29 09:44:46 +02:00
Valere
8132a7902b post merge code quality 2022-09-29 09:21:06 +02:00
ganfra
d7e93e8229 Realm session: more queries 2022-09-28 21:08:29 +02:00
Valere
ce86e29122 Merge branch 'main' into develop 2022-09-28 18:16:39 +02:00
Onuray Sahin
7a36b10d40 Add changelog. 2022-09-28 18:22:24 +03:00
Onuray Sahin
5666383134 Add unit test for desktop and web user agents. 2022-09-28 18:19:25 +03:00
ganfra
184edd9398 Realm kotlin session: continue on RoomSummary 2022-09-28 16:50:34 +02:00
Maxime NATUREL
e47bf2b200 Adding unit tests for reAuth needed case 2022-09-28 16:45:06 +02:00
Valere
aa42746034 version 1.5.1 2022-09-28 16:28:43 +02:00
Valere
5c442296ef Security fix CVE-2022-39246 CVE-2022-39248 2022-09-28 16:26:47 +02:00
Onuray Sahin
41643ffb53 Add unit test for iOS user agents. 2022-09-28 15:00:16 +03:00
Onuray Sahin
2bcf0c307d Add unit test for Android user agents. 2022-09-28 14:59:56 +03:00
Onuray Sahin
04a305b403 Refactor user agent parsing. 2022-09-28 14:32:20 +03:00
Adam Brown
5f778fff01 re-enabling the jetifier, it's required by the autocomplete library
- the upstream library source doesn't require the jetifier however it hasn't been released
2022-09-28 10:09:13 +01:00
Benoit Marty
0c4510250b Merge pull request #7241 from vector-im/feature/bma/gradle_doctor
Set up Gradle doctor
2022-09-27 18:48:05 +02:00
dependabot[bot]
0d6cbbdb5d Bump dependency-check-gradle from 7.2.0 to 7.2.1
Bumps dependency-check-gradle from 7.2.0 to 7.2.1.

---
updated-dependencies:
- dependency-name: org.owasp:dependency-check-gradle
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-27 16:41:13 +00:00
dependabot[bot]
8ca390a2a8 Bump google-services from 4.3.13 to 4.3.14 (#7150)
Bumps google-services from 4.3.13 to 4.3.14.

---
updated-dependencies:
- dependency-name: com.google.gms:google-services
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-27 17:40:13 +01:00
Benoit Marty
a381f9fc52 Merge pull request #7216 from vector-im/dependabot/gradle/com.googlecode.libphonenumber-libphonenumber-8.12.56
Bump libphonenumber from 8.12.55 to 8.12.56
2022-09-27 18:10:14 +02:00
Nikita Fedrunov
337dce7d9e tests workflow will now update gradle cache when run against develop (#7238) 2022-09-27 17:45:50 +02:00
dependabot[bot]
d44ad6c351 Bump libphonenumber from 8.12.55 to 8.12.56
Bumps [libphonenumber](https://github.com/google/libphonenumber) from 8.12.55 to 8.12.56.
- [Release notes](https://github.com/google/libphonenumber/releases)
- [Changelog](https://github.com/google/libphonenumber/blob/master/making-metadata-changes.md)
- [Commits](https://github.com/google/libphonenumber/compare/v8.12.55...v8.12.56)

---
updated-dependencies:
- dependency-name: com.googlecode.libphonenumber:libphonenumber
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-27 14:25:35 +00:00
Maxime NATUREL
68d9f672c5 Unit tests for after reAuth 2022-09-27 15:04:34 +02:00
Maxime NATUREL
dafa98eb77 Unit tests for signout error cases 2022-09-27 15:04:34 +02:00
Maxime NATUREL
89cf8ee8ec Unit test for signout success 2022-09-27 15:04:34 +02:00
Maxime NATUREL
da3d3308b4 Fix unit tests in ViewModel 2022-09-27 15:04:34 +02:00
Maxime NATUREL
68bee65e97 Confirm signout when it is current session 2022-09-27 15:04:34 +02:00
Maxime NATUREL
0fe5ee68f2 Unit tests for interception of signout process result 2022-09-27 15:04:34 +02:00
Maxime NATUREL
8d870b8220 Replace IsCurrentSessionUseCase by using DeviceFullInfo field 2022-09-27 15:04:34 +02:00
Maxime NATUREL
04ad2daa80 Unit tests for signout use case 2022-09-27 15:04:34 +02:00
Maxime NATUREL
bf42220422 Unit tests for view navigator 2022-09-27 15:04:34 +02:00
Maxime NATUREL
0c708c0ad4 Fix after rebase property qualifier 2022-09-27 15:04:34 +02:00
Maxime NATUREL
d6bb6efb1d Loading dialog during signout process 2022-09-27 15:04:34 +02:00
Maxime NATUREL
b2b3ee1fe5 Adding button to trigger sign out 2022-09-27 15:04:33 +02:00
Maxime NATUREL
7e81aa6193 ReAuth process 2022-09-27 15:04:33 +02:00
Maxime NATUREL
5380c30780 Adding signout action and corresponding use cases 2022-09-27 15:04:33 +02:00
Maxime NATUREL
320e9eac39 Adding changelog entry 2022-09-27 15:04:33 +02:00
Onuray Sahin
3e66a6538e Implement use case to parse user agent. 2022-09-27 15:45:34 +03:00
Adam Brown
fad02062d8 Instrumentation test coroutines (#7207)
Converting SDK instrumentation tests from CountdownLatch to suspending functions
2022-09-27 13:37:23 +01:00
Benoit Marty
67d899dce4 Deactivate some gradle doctor checks on the CI. 2022-09-27 14:34:51 +02:00
Adam Brown
a422361872 Merge pull request #7073 from vector-im/dependabot/gradle/moshi-1.14.0
Bump moshi from 1.13.0 to 1.14.0
2022-09-27 13:07:08 +01:00
dependabot[bot]
5666786635 Bump moshi from 1.13.0 to 1.14.0
Bumps `moshi` from 1.13.0 to 1.14.0.

Updates `moshi` from 1.13.0 to 1.14.0
- [Release notes](https://github.com/square/moshi/releases)
- [Changelog](https://github.com/square/moshi/blob/master/CHANGELOG.md)
- [Commits](https://github.com/square/moshi/compare/moshi-parent-1.13.0...1.14.0)

Updates `moshi-kotlin` from 1.13.0 to 1.14.0
- [Release notes](https://github.com/square/moshi/releases)
- [Changelog](https://github.com/square/moshi/blob/master/CHANGELOG.md)
- [Commits](https://github.com/square/moshi/compare/moshi-parent-1.13.0...1.14.0)

Updates `moshi-kotlin-codegen` from 1.13.0 to 1.14.0
- [Release notes](https://github.com/square/moshi/releases)
- [Changelog](https://github.com/square/moshi/blob/master/CHANGELOG.md)
- [Commits](https://github.com/square/moshi/compare/moshi-parent-1.13.0...1.14.0)

Updates `moshi-adapters` from 1.13.0 to 1.14.0
- [Release notes](https://github.com/square/moshi/releases)
- [Changelog](https://github.com/square/moshi/blob/master/CHANGELOG.md)
- [Commits](https://github.com/square/moshi/compare/moshi-parent-1.13.0...1.14.0)

---
updated-dependencies:
- dependency-name: com.squareup.moshi:moshi
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: com.squareup.moshi:moshi-kotlin
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: com.squareup.moshi:moshi-kotlin-codegen
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: com.squareup.moshi:moshi-adapters
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-27 11:04:30 +00:00
Adam Brown
d308b72868 Merge pull request #7129 from vector-im/feature/adm/screenshot-testing-example-test
Example screenshot test
2022-09-27 12:02:38 +01:00
Adam Brown
2d2b2e9218 using latest upload-artifact action (should fix missing glob) 2022-09-27 11:03:44 +01:00
Adam Brown
28f4e79b43 attempting to use 0% difference for screenshot verification
- this may cause false errors with the navigation/status bar https://github.com/cashapp/paparazzi/issues/453#issuecomment-1254001714
2022-09-27 10:16:45 +01:00
Benoit Marty
4d09f0888d Merge pull request #7231 from pt2121/pt/12-flip-table
Add support for `/tableflip` command (#12)
2022-09-27 11:11:08 +02:00
Benoit Marty
df0ce31f8f Merge pull request #7240 from vector-im/dependabot/gradle/org.json-json-20220924
Bump json from 20220320 to 20220924
2022-09-27 10:52:10 +02:00
Adam Brown
189369da71 Merge pull request #6249 from vector-im/dependabot/bundler/jmespath-1.6.1
Update Fastlane dependencies
2022-09-27 09:29:38 +01:00
Benoit Marty
974ac49594 Add default configuration of Gradle Doctor to the project.
Will allow to tweak the configuration if necessary.
2022-09-27 10:20:02 +02:00
Benoit Marty
c6e1154744 Set up gradle doctor plugin 2022-09-27 10:20:02 +02:00
Nikita Fedrunov
e9d1a9e04e app layout labs flag is enabled by default (#7237) 2022-09-27 09:54:24 +02:00
dependabot[bot]
5246035163 Bump json from 20220320 to 20220924
Bumps [json](https://github.com/douglascrockford/JSON-java) from 20220320 to 20220924.
- [Release notes](https://github.com/douglascrockford/JSON-java/releases)
- [Changelog](https://github.com/stleary/JSON-java/blob/master/docs/RELEASES.md)
- [Commits](https://github.com/douglascrockford/JSON-java/commits)

---
updated-dependencies:
- dependency-name: org.json:json
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-26 23:10:18 +00:00
yostyle
8dc71e07ed Add activities from Android API 33. 2022-09-27 00:24:33 +02:00
yostyle
bd64749b48 Add changelog 2022-09-27 00:24:33 +02:00
yostyle
dc1abb7978 Add Activities of android permission controller in the whitelist 2022-09-27 00:24:33 +02:00
ganfra
bf405394d8 Home room list: make some clean up 2022-09-26 19:36:50 +02:00
Adam Brown
08c79a798e Merge pull request #7115 from vector-im/docs/unit-testing
[docs] Unit testing documentation
2022-09-26 16:51:42 +01:00
ericdecanini
4cebfa13e8 Adds missing bindings 2022-09-26 11:39:40 -04:00
Prat T
3f9b9827bd Add support for /tableflip command (#12)
Signed-off-by: Prat T <pt2121@users.noreply.github.com>
2022-09-26 07:25:34 -07:00
Adam Brown
4a81ee25ac manually including the paparazzi jar as the plugin is only applied when executing the screenshot tasks (which automatically included the jar previously) 2022-09-26 15:13:37 +01:00
Adam Brown
be1e8a8ef8 adding and recording example paparazzi test 2022-09-26 14:14:03 +01:00
Adam Brown
df752b9e58 Merge pull request #7210 from vector-im/feature/adm/emulator-network-access
Missing buildjet Emulator network
2022-09-26 13:39:12 +01:00
Onuray Sahin
c70b6206d0 Add user agent into device info. 2022-09-26 14:39:23 +03:00
Adam Brown
2e4ca1d6d9 ensuring build flags are applied to all test steps 2022-09-26 12:29:28 +01:00
Adam Brown
ac9333312a switching emulator image to the playstore variant to fix no network on the buildjet runner
- updates max workers to match available resources
- re-enables previously failing test
2022-09-26 12:28:50 +01:00
Adam Brown
59e7b70b03 Merge pull request #7128 from vector-im/feature/adm/screenshot-testing-setup
Paparazzi screenshot testing setup
2022-09-26 12:01:01 +01:00
Jorge Martín
90e4760ee7 Fix VoiceRecorderLTests by faking OggOpusEncoder 2022-09-26 11:32:29 +02:00
Adam Brown
c0baa2e8fd making use of the lazy task registration to allow only applying the paparazzi plugin when needed 2022-09-26 10:26:39 +01:00
Adam Brown
dc0599f966 removing jetifier screenshot config as the jetifier is no longer needed 2022-09-26 10:26:39 +01:00
Adam Brown
7d18d89a61 adding missing colon to yml run param 2022-09-26 10:26:39 +01:00
Adam Brown
7740404b14 using ## heading for the examples block 2022-09-26 10:26:39 +01:00
Adam Brown
469dd46a45 adding changelog entry 2022-09-26 10:26:39 +01:00
Adam Brown
1fab6e69c5 adding origin of bash script url 2022-09-26 10:26:39 +01:00
Adam Brown
c19b359f43 adding docs for creating, recording and verifying screenshot tests 2022-09-26 10:26:39 +01:00
Adam Brown
243ca01924 including lfs files when checking out during tests workflow 2022-09-26 10:26:39 +01:00
Adam Brown
b0e2596b58 including screenshot verification and error result uploads as part of the test step 2022-09-26 10:26:38 +01:00
Adam Brown
7f8cb4b1a1 ignoring the screenshot failure results from git 2022-09-26 10:26:38 +01:00
Adam Brown
0f19726fe2 creating custom tasks to record and verify screenshot
- introduces a 'screenshot' flag to include/exclude the screenshot tests from the default test runs
2022-09-26 10:26:38 +01:00
Adam Brown
9ef4975025 adding github action to validate screenshot files are commited with git lfs 2022-09-26 10:26:38 +01:00
Adam Brown
9fd77044a9 including git lfs config for picking up screenshot test recordings 2022-09-26 10:26:38 +01:00
Adam Brown
c66a38057e adding paparazzi screenshot testing lib setup 2022-09-26 10:26:38 +01:00
Adam Brown
2c1eef7a59 Merge pull request #7142 from vector-im/feature/adm/dialpad-lib
Manually including `im.dlg:android-dialer:1.2.5`
2022-09-26 10:14:56 +01:00
Maxime NATUREL
223149805b Merge pull request #7189 from vector-im/feature/mna/device-manager-rename-session
[Device management] Rename a session (PSG-747)
2022-09-26 10:35:15 +02:00
Maxime NATUREL
7a4bf83da0 Fix lint issue 2022-09-26 09:46:58 +02:00
Maxime NATUREL
fd85ad0f1b Add Init action + corresponding initialized event 2022-09-26 09:46:58 +02:00
Maxime NATUREL
e437c9e131 Updating info icon tint color 2022-09-26 09:46:58 +02:00
Maxime NATUREL
f0fe636654 Fix file name for styles of session warning info view 2022-09-26 09:46:58 +02:00
Maxime NATUREL
5de097e251 Adding warning info view 2022-09-26 09:46:58 +02:00
Maxime NATUREL
bd9b843df7 Focus on edit text + open keyboard when landing on screen 2022-09-26 09:46:58 +02:00
Maxime NATUREL
5498a7e96e Adding unit tests for view model 2022-09-26 09:46:58 +02:00
Maxime NATUREL
c96d671e6b Adding unit tests for navigator 2022-09-26 09:46:58 +02:00
Maxime NATUREL
4a3966d4f5 Improve rename session use case and add tests 2022-09-26 09:46:58 +02:00
Maxime NATUREL
d7afea7b3a Rename session use case 2022-09-26 09:46:58 +02:00
Maxime NATUREL
b134d35dd6 Adding save button and view actions 2022-09-26 09:46:58 +02:00
Maxime NATUREL
33cf3d3032 Setup a custom toolbar 2022-09-26 09:46:58 +02:00
Maxime NATUREL
7eab37e9d1 Small renaming of navigator method 2022-09-26 09:46:58 +02:00
Maxime NATUREL
c3d359e58f Adding edit text into the screen 2022-09-26 09:46:58 +02:00
Maxime NATUREL
54aec63f6c Small improvement in code readability 2022-09-26 09:46:58 +02:00
Maxime NATUREL
82fabf4a85 Adding menu with rename action in session overview screen 2022-09-26 09:46:58 +02:00
Maxime NATUREL
3de96a3a0c Adding new method into navigator 2022-09-26 09:46:58 +02:00
Maxime NATUREL
1091ae41ad Default structure for the new code 2022-09-26 09:46:58 +02:00
Maxime NATUREL
45b72483fe Adding changelog entry 2022-09-26 09:46:58 +02:00
Maxime NATUREL
a83be29dbe Merge pull request #7206 from vector-im/feature/mna/mutualize-pending-auth
Mutualize the pending auth handling (PSG-742)
2022-09-26 09:45:52 +02:00
Artjom König
2dda8af776 Merge branch 'vector-im:develop' into develop 2022-09-26 08:52:08 +02:00
ericdecanini
40c2e95a54 Adds PushersManagerTest 2022-09-25 11:58:02 -04:00
ericdecanini
1f28a2acae Adds PushersMapperTest 2022-09-25 10:45:59 -04:00
Tomáš Beňo
079a2f5351 Hide Incognito Keyboard setting on unsupported devices 2022-09-25 14:56:20 +02:00
Tomáš Beňo
e5cf431cc7 Apply imeOptions to ComposerEditText without overriding previously set options 2022-09-25 14:42:07 +02:00
Tomáš Beňo
d2f9ca4cbc Improve summary text of Incognito Keyboard setting 2022-09-25 13:56:59 +02:00
Tomáš Beňo
79e4a435da Add privacy setting to disable personalized learning by the keyboard 2022-09-25 13:23:32 +02:00
Ihor Hordiichuk
30628217ae Translated using Weblate (Ukrainian)
Currently translated at 100.0% (76 of 76 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/uk/
2022-09-25 00:33:03 +00:00
lvre
ef344236cd Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (76 of 76 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/pt_BR/
2022-09-25 00:33:01 +00:00
Vri
94b2026056 Translated using Weblate (German)
Currently translated at 100.0% (76 of 76 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/de/
2022-09-25 00:33:00 +00:00
phardyle
d7ce983ef4 Translated using Weblate (Chinese (Simplified))
Currently translated at 98.8% (2392 of 2419 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/zh_Hans/
2022-09-25 00:32:58 +00:00
Ihor Hordiichuk
e315db3c8e Translated using Weblate (Ukrainian)
Currently translated at 100.0% (2419 of 2419 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/uk/
2022-09-25 00:32:57 +00:00
Nui Harime
d86594099c Translated using Weblate (Russian)
Currently translated at 97.9% (2370 of 2419 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/ru/
2022-09-25 00:32:56 +00:00
lvre
312111c35a Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (2419 of 2419 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/pt_BR/
2022-09-25 00:32:55 +00:00
Szimszon
2a5a85af1f Translated using Weblate (Hungarian)
Currently translated at 100.0% (2419 of 2419 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/hu/
2022-09-25 00:32:53 +00:00
Vri
b356ac799a Translated using Weblate (German)
Currently translated at 100.0% (2419 of 2419 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/de/
2022-09-25 00:32:51 +00:00
ericdecanini
f724751c86 Adds new pusher fields to Notification Targets screen 2022-09-23 11:03:56 -04:00
Adam Brown
d0bff7495d Merge pull request #7205 from vector-im/dependabot/gradle/fragment-1.5.3
Bump fragment from 1.5.2 to 1.5.3
2022-09-23 15:56:51 +01:00
Maxime NATUREL
c9eaf30057 Updating the log in ssoAuthDone method to improve privacy 2022-09-23 16:39:41 +02:00
Maxime NATUREL
854a604fbe Fix missing loading ViewEvent 2022-09-23 16:39:41 +02:00
Maxime NATUREL
99c2088d0e Using UiaCancelledException on reAuth cancellation 2022-09-23 16:39:41 +02:00
Maxime NATUREL
0d7d841d73 Adding unit tests 2022-09-23 16:39:41 +02:00
Maxime NATUREL
0cd352ccba Adding changelog entry 2022-09-23 16:39:41 +02:00
Maxime NATUREL
892fd4445c Mutualize pending auth handling 2022-09-23 16:39:41 +02:00
Onuray Sahin
6c79aae3aa Merge pull request #7171 from vector-im/feature/ons/device_manager_security_sessions
[Device Manager] Unverified and inactive sessions list (PSG-698, PSG-696)
2022-09-23 17:22:44 +03:00
ericdecanini
52171ef748 Changes deviceDisplayName on pusher to use device model name 2022-09-23 09:36:53 -04:00
ericdecanini
65c89638ab Fixes lint error with comments 2022-09-23 09:24:20 -04:00
Onuray Sahin
33eeb721bf Merge branch 'develop' into feature/ons/extend_user_agent 2022-09-23 16:17:06 +03:00
Onuray Sahin
7cd30a1ed4 Merge branch 'develop' into feature/ons/device_manager_security_sessions 2022-09-23 16:16:49 +03:00
Benoit Marty
4fb7154f2b Merge pull request #7187 from vector-im/dependabot/gradle/com.github.UnifiedPush-android-connector-2.1.0
Bump android-connector from 2.0.1 to 2.1.0
2022-09-23 15:13:59 +02:00
Benoit Marty
46311356b7 Merge pull request #7222 from vector-im/feature/bma/ignore_flaky_test
Ignore flaky test "CantVerifyTest" and "fix" VoiceRecorderLTests
2022-09-23 15:10:30 +02:00
ganfra
6cba51eff3 Update changelog 1.5.0 for fastlane 2022-09-23 15:09:17 +02:00
Onuray Sahin
42983f5ce4 Write unit test for computing user agent user case. 2022-09-23 15:55:02 +03:00
Linerly
13bca69ae4 Translated using Weblate (Indonesian)
Currently translated at 100.0% (76 of 76 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/id/
2022-09-23 12:44:43 +00:00
waclaw66
a71cc768f5 Translated using Weblate (Czech)
Currently translated at 100.0% (76 of 76 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/cs/
2022-09-23 12:44:40 +00:00
Jeff Huang
dc9c0ce573 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (76 of 76 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/zh_Hant/
2022-09-23 12:44:38 +00:00
Danial Behzadi
f45209d197 Translated using Weblate (Persian)
Currently translated at 100.0% (76 of 76 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/fa/
2022-09-23 12:44:36 +00:00
random
e749831ad1 Translated using Weblate (Italian)
Currently translated at 100.0% (76 of 76 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/it/
2022-09-23 12:44:34 +00:00
Ihor Hordiichuk
4a752f7f43 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (76 of 76 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/uk/
2022-09-23 12:44:31 +00:00
Jozef Gaal
9a438204c4 Translated using Weblate (Slovak)
Currently translated at 100.0% (76 of 76 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/sk/
2022-09-23 12:44:29 +00:00
Glandos
15a027d7fd Translated using Weblate (French)
Currently translated at 100.0% (76 of 76 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/fr/
2022-09-23 12:44:27 +00:00
Vri
ab7dc527fa Translated using Weblate (German)
Currently translated at 100.0% (76 of 76 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/de/
2022-09-23 12:44:25 +00:00
Jeff Huang
c0504a2002 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (2419 of 2419 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/zh_Hant/
2022-09-23 12:44:23 +00:00
phardyle
f415a7f5db Translated using Weblate (Chinese (Simplified))
Currently translated at 98.1% (2375 of 2419 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/zh_Hans/
2022-09-23 12:44:19 +00:00
Ihor Hordiichuk
2a8dfc2a59 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (2419 of 2419 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/uk/
2022-09-23 12:44:19 +00:00
Jozef Gaal
c0b854f54f Translated using Weblate (Slovak)
Currently translated at 100.0% (2419 of 2419 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/sk/
2022-09-23 12:44:16 +00:00
Nui Harime
2228ece79a Translated using Weblate (Russian)
Currently translated at 97.3% (2356 of 2419 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/ru/
2022-09-23 12:44:13 +00:00
Didek
06286e6a7a Translated using Weblate (Polish)
Currently translated at 97.8% (2367 of 2419 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/pl/
2022-09-23 12:44:11 +00:00
random
063b080d2c Translated using Weblate (Italian)
Currently translated at 100.0% (2419 of 2419 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/it/
2022-09-23 12:44:10 +00:00
Linerly
0366205926 Translated using Weblate (Indonesian)
Currently translated at 100.0% (2419 of 2419 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/id/
2022-09-23 12:44:07 +00:00
Glandos
ffa3e4b842 Translated using Weblate (French)
Currently translated at 100.0% (2419 of 2419 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/fr/
2022-09-23 12:44:05 +00:00
Danial Behzadi
589ccc142e Translated using Weblate (Persian)
Currently translated at 99.9% (2417 of 2419 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/fa/
2022-09-23 12:44:02 +00:00
waclaw66
204f36dc3d Translated using Weblate (Czech)
Currently translated at 100.0% (2419 of 2419 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/cs/
2022-09-23 12:44:01 +00:00
Auri B. P
b60bb295ad Translated using Weblate (Catalan)
Currently translated at 100.0% (2419 of 2419 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/ca/
2022-09-23 12:43:58 +00:00
Benoit Marty
97b3b2363b Disable not passing VoiceRecorderLTests, for the time we are investigating the issue. 2022-09-23 14:09:44 +02:00
ganfra
8d112a47d7 Merge branch 'hotfix/1.5.0_disable_applayout' into main 2022-09-23 12:20:00 +02:00
ganfra
92be6d1b49 Merge branch 'main' into develop 2022-09-23 12:20:00 +02:00
Valere
2ea357ddc0 Fix new layout flicker/leaks 2022-09-23 12:12:14 +02:00
Onuray Sahin
c7108f3ac3 Create use case to compute user agent. 2022-09-23 13:05:16 +03:00
Benoit Marty
56f3ecc4af Disable flaky CantVerifyTest, for the time we are investigating the issue. 2022-09-23 11:46:40 +02:00
ganfra
f8ed3520f5 Applayout: disable applayout by default 2022-09-23 11:45:34 +02:00
Benoit Marty
56189a2d5d Merge pull request #7211 from vector-im/feature/bma/prevent_modification_of_translations
Prevent modification of translations
2022-09-23 10:46:38 +02:00
ericdecanini
8c7901177e Adds comments to new fields in HttpPusher 2022-09-22 20:44:46 -04:00
ericdecanini
5c27f65d3e Adds changelog file 2022-09-22 20:43:37 -04:00
ericdecanini
75935c824b Implements MSC3881 (enabled and device_id fields for Pusher API) 2022-09-22 20:35:04 -04:00
ganfra
cb6d0a66cb Merge branch 'hotfix/1.5.0_v2' into main 2022-09-22 18:18:26 +02:00
ganfra
40e304a4ff Merge branch 'main' into develop 2022-09-22 18:18:26 +02:00
ganfra
8d94643ff7 RoomList: revert changes on LiveData and fix previous issues (not updated list) 2022-09-22 18:17:55 +02:00
Benoit Marty
a5ab942097 Add TOC to CONTRIBUTING.md 2022-09-22 17:52:52 +02:00
Benoit Marty
a07761dedb Fix issue with knit. 2022-09-22 17:48:38 +02:00
Benoit Marty
c56f33a939 Add changelog 2022-09-22 17:36:08 +02:00
Benoit Marty
60bfd0dd42 Merge pull request #7159 from vector-im/feature/bma/fix_new_lint_warning
Fix lint warning
2022-09-22 17:35:10 +02:00
Benoit Marty
6e2ce10f65 Add a note for string reordering 2022-09-22 17:22:58 +02:00
Benoit Marty
97c3623f89 Add a note for plurals 2022-09-22 17:22:58 +02:00
Benoit Marty
729eba750b Add link to the file values/strings.xml, and fix typo in the path. 2022-09-22 17:22:58 +02:00
Benoit Marty
a7856db218 Add a section about renaming id of String resource 2022-09-22 17:10:46 +02:00
Benoit Marty
cefe2e9ef4 Add a rule to Danger to check that translation files are not modified by developers. 2022-09-22 17:03:45 +02:00
Benoit Marty
f4c5cba020 Merge pull request #7126 from vector-im/feature/bma/arch_doc
Architecture doc
2022-09-22 16:41:17 +02:00
Adam Brown
65156a8ece Merge pull request #7198 from vector-im/feature/adm/configurable-sync-timeout
Allow configurable sync timeout
2022-09-22 15:40:58 +01:00
Benoit Marty
828413c2c5 Fix some typo 2022-09-22 16:40:34 +02:00
Benoit Marty
086a6ee9a1 Update after Ganfra's review 2022-09-22 16:39:35 +02:00
Benoit Marty
3600e374f2 Avoid code duplication 2022-09-22 16:34:07 +02:00
Benoit Marty
0559911f39 Fix non passing tests 2022-09-22 16:34:07 +02:00
Benoit Marty
7f5c712e88 No need to use @SuppressLint("NewApi") when @ChecksSdkIntAtLeast is used - more cleanup 2022-09-22 16:34:07 +02:00
Benoit Marty
658a09ea6a No need to use @SuppressLint("NewApi") when @ChecksSdkIntAtLeast is used. 2022-09-22 16:32:14 +02:00
Benoit Marty
5886245bbf Reverse condition for code clarity with ChecksSdkIntAtLeast 2022-09-22 16:32:14 +02:00
Benoit Marty
0910b118ff Changelog 2022-09-22 16:32:14 +02:00
Benoit Marty
2bda97224c Cleanup 2022-09-22 16:32:14 +02:00
Benoit Marty
2266723789 Remove DefaultSharedPreferences since we now have @DefaultPreferences which provide a singleton. 2022-09-22 16:32:14 +02:00
Benoit Marty
c735ea5e3d Remove duplication between KeysBackupBanner.State and ServerBackupStatusViewModel.BannerState and move the some logic to the ViewModel 2022-09-22 16:32:14 +02:00
Benoit Marty
b4494ee8ea Remove DefaultSharedPreferences since we now have @DefaultPreferences which provide a singleton.
Some fun has been moved to injectable classes due to this change. Not compiling, still work to do, but I prefer to split into 2 separate commits.
2022-09-22 16:32:14 +02:00
Benoit Marty
5736c8f648 Remove DefaultSharedPreferences since we now have @DefaultPreferences which provide a singleton.
Some fun has been moved to injectable classes due to this change. Not compiling, still work to do, but I prefer to split into 2 separate commits.
2022-09-22 16:32:14 +02:00
Benoit Marty
0324927b04 Create VectorLocaleProvider, to just read the current Locale from the SharedPreference 2022-09-22 16:32:14 +02:00
Benoit Marty
d8436874e2 Fix StaticFieldLeak issue (context).
Make VectorLocal an injectable class.
2022-09-22 16:32:14 +02:00
Benoit Marty
7e8a39e6de Suppress LaunchActivityFromNotification. This is fine here, this is the notification for the diagnostic, we do not want to start an Activity. 2022-09-22 16:32:14 +02:00
Benoit Marty
832a472b57 Add @ChecksSdkIntAtLeast annotation, to be able to remove AndroidVersionTestOverrider 2022-09-22 16:32:14 +02:00
Benoit Marty
bb2eb56ee6 Add @ChecksSdkIntAtLeast annotation. 2022-09-22 16:32:14 +02:00
Benoit Marty
1ff4a5f212 Ignore AlwaysShowAction lint issue. Also make it an error, so that developer has to explicitly disable the warning. 2022-09-22 16:32:14 +02:00
dependabot[bot]
33e613fe96 Bump dagger from 2.42 to 2.44
Bumps `dagger` from 2.42 to 2.44.

Updates `hilt-android-gradle-plugin` from 2.42 to 2.44
- [Release notes](https://github.com/google/dagger/releases)
- [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md)
- [Commits](https://github.com/google/dagger/compare/dagger-2.42...dagger-2.44)

Updates `dagger` from 2.42 to 2.44
- [Release notes](https://github.com/google/dagger/releases)
- [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md)
- [Commits](https://github.com/google/dagger/compare/dagger-2.42...dagger-2.44)

Updates `dagger-compiler` from 2.42 to 2.44
- [Release notes](https://github.com/google/dagger/releases)
- [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md)
- [Commits](https://github.com/google/dagger/compare/dagger-2.42...dagger-2.44)

Updates `hilt-android` from 2.42 to 2.44
- [Release notes](https://github.com/google/dagger/releases)
- [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md)
- [Commits](https://github.com/google/dagger/compare/dagger-2.42...dagger-2.44)

Updates `hilt-android-testing` from 2.42 to 2.44
- [Release notes](https://github.com/google/dagger/releases)
- [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md)
- [Commits](https://github.com/google/dagger/compare/dagger-2.42...dagger-2.44)

Updates `hilt-compiler` from 2.42 to 2.44
- [Release notes](https://github.com/google/dagger/releases)
- [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md)
- [Commits](https://github.com/google/dagger/compare/dagger-2.42...dagger-2.44)

---
updated-dependencies:
- dependency-name: com.google.dagger:hilt-android-gradle-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: com.google.dagger:dagger
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: com.google.dagger:dagger-compiler
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: com.google.dagger:hilt-android
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: com.google.dagger:hilt-android-testing
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: com.google.dagger:hilt-compiler
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-22 14:31:31 +00:00
dependabot[bot]
2aa9382fba Bump android-connector from 2.0.1 to 2.1.0
Bumps [android-connector](https://github.com/UnifiedPush/android-connector) from 2.0.1 to 2.1.0.
- [Release notes](https://github.com/UnifiedPush/android-connector/releases)
- [Commits](https://github.com/UnifiedPush/android-connector/compare/2.0.1...2.1.0)

---
updated-dependencies:
- dependency-name: com.github.UnifiedPush:android-connector
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-22 14:31:16 +00:00
Benoit Marty
151f6245db Merge pull request #6929 from vector-im/feature/bma/android12
Target API 32 (Android 12)
2022-09-22 16:30:04 +02:00
Onuray Sahin
c37a6842fe Update format to be consistent with Element iOS. 2022-09-22 15:53:29 +03:00
Onuray Sahin
ea78f504d7 Small refactoring. 2022-09-22 15:28:26 +03:00
Onuray Sahin
8b3eaf10e1 Add changelog. 2022-09-22 15:25:31 +03:00
Onuray Sahin
b2e7cc2208 Extend user agent by adding device manufacturer and model to the beginning. 2022-09-22 15:18:20 +03:00
Benoit Marty
e98bfe5c9b Merge pull request #7156 from vector-im/feature/mna/device-manager-verify-other-session
[Device management] Verify another session (PSG-722)
2022-09-22 11:46:28 +02:00
Benoit Marty
4e30bc86b8 Merge pull request #7139 from vector-im/feature/mna/device-manager-verify-current-session
[Device management] Verify current session (PSG-722)
2022-09-22 11:46:07 +02:00
ganfra
fabfe36ede Update versions to 1.5.2 2022-09-22 10:31:31 +02:00
ganfra
21806efaa5 Merge branch 'release/1.5.0' into main 2022-09-22 10:28:04 +02:00
ganfra
2a9cf32829 Merge branch 'main' into develop 2022-09-22 10:28:04 +02:00
ganfra
14e7c913df Release 1.5.0: update CHANGES 2022-09-22 09:50:50 +02:00
ganfra
d08b33ec07 Translations: fix some mispells 2022-09-22 09:45:06 +02:00
dependabot[bot]
44f6e66efb Bump fragment from 1.5.2 to 1.5.3
Bumps `fragment` from 1.5.2 to 1.5.3.

Updates `fragment-ktx` from 1.5.2 to 1.5.3

Updates `fragment-testing` from 1.5.2 to 1.5.3

---
updated-dependencies:
- dependency-name: androidx.fragment:fragment-ktx
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: androidx.fragment:fragment-testing
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-21 23:10:46 +00:00
ganfra
619791d24f Merge pull request #7201 from RiotTranslateBot/weblate-element-android-element-app
Translations update from Weblate
2022-09-21 21:40:06 +02:00
Danial Behzadi
1446e8f50b Translated using Weblate (Persian)
Currently translated at 99.8% (2415 of 2419 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/fa/
2022-09-21 19:16:35 +00:00
Auri B. P
401ce61930 Translated using Weblate (Catalan)
Currently translated at 98.7% (2389 of 2419 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/ca/
2022-09-21 19:16:32 +00:00
ganfra
feb33ce32b Translation: cleanup remaining TODOs 2022-09-21 19:43:47 +02:00
ganfra
03d843ac51 Rename device_manager strings 2022-09-21 18:04:32 +02:00
Adam Brown
600588dbbb adding trailing commas 2022-09-21 16:37:31 +01:00
ganfra
658a8dfd04 Merge pull request #7199 from RiotTranslateBot/weblate-element-android-element-app
Translations update from Weblate
2022-09-21 17:09:32 +02:00
Weblate
12e0e263fa Merge branch 'origin/develop' into Weblate. 2022-09-21 14:40:42 +00:00
ganfra
0a8e6c1758 Weblate: fix conflict 2022-09-21 16:39:56 +02:00
Adam Brown
d75e37966c adding changelog entry 2022-09-21 15:39:13 +01:00
Adam Brown
9ab78c93e2 reducing sync timeout for instrumentation tests to speed them up 2022-09-21 15:39:13 +01:00
Adam Brown
7f31098ba1 lifting the sync timeout to the matrix configuration 2022-09-21 15:39:09 +01:00
Benoit Marty
b9c28ba4ce Merge branch 'develop' into feature/bma/android12 2022-09-21 16:24:30 +02:00
ganfra
c05cbb4eed Merge pull request #7196 from vector-im/feature/ons/revert_string_key_changes
Revert changes of string keys
2022-09-21 16:02:18 +02:00
Onuray Sahin
793138bf1b Revert changes of string keys. 2022-09-21 16:44:47 +03:00
Nui Harime
d9faad6364 Translated using Weblate (Russian)
Currently translated at 98.0% (2339 of 2386 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/ru/
2022-09-21 12:45:19 +00:00
Michael Weimann
b82b5a6979 Translated using Weblate (German)
Currently translated at 98.9% (2362 of 2386 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/de/
2022-09-21 12:45:18 +00:00
Onuray Sahin
8de9ef8c7d Code review fixes. 2022-09-21 14:30:24 +03:00
Onuray Sahin
4ab798f88d Code review fixes. 2022-09-21 14:16:51 +03:00
Benoit Marty
d31d833959 Merge pull request #7180 from vector-im/feature/fre/deferred_dm_labs_flag
Deferred DMs - Add and enable the feature by default in the labs settings
2022-09-21 12:17:19 +02:00
Benoit Marty
52d7369ac3 Merge pull request #7186 from vector-im/bugfix/eric/fixes-room-list-updates
Fixes Room List not getting updated when fragment is not in focus
2022-09-21 12:14:20 +02:00
NIkita Fedrunov
d8060a7922 review fixes 2022-09-21 11:28:21 +02:00
NIkita Fedrunov
602b378b65 cancel flow when order is changed 2022-09-21 10:43:08 +02:00
ganfra
bf19ef81d0 Merge pull request #7185 from vector-im/bugfix/nfe/app_layout_all_screens_test_fix
fixed all screens test to follow latest changes
2022-09-21 10:28:22 +02:00
Florian Renaud
c252f6eb70 Update lab setting wording following design review 2022-09-21 09:50:05 +02:00
Florian Renaud
fa8b56b1ad Restore tracking for deferred DMs 2022-09-21 09:36:07 +02:00
Florian Renaud
dd92bb756a Add visibility setting field for lab setting 2022-09-21 09:36:07 +02:00
Florian Renaud
3786bd9c65 changelog 2022-09-21 09:36:07 +02:00
Florian Renaud
e9d809d9c3 Move and enable deferred DMs into labs settings 2022-09-21 09:36:07 +02:00
ericdecanini
821636bcb2 Adds changelog file 2022-09-20 18:36:25 -04:00
ericdecanini
1a93bbf92f Renames roomsPagedList 2022-09-20 18:32:59 -04:00
ericdecanini
fe1e74fa06 Fixes room list not getting updated when not in focus 2022-09-20 18:22:39 -04:00
NIkita Fedrunov
f6dfd64326 fixed all screens test to follow latest changes 2022-09-20 23:27:00 +02:00
Nui Harime
32536a4009 Translated using Weblate (Russian)
Currently translated at 97.9% (2338 of 2386 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/ru/
2022-09-20 14:32:47 +00:00
Onuray Sahin
45cf7dcd63 Merge branch 'develop' into feature/ons/device_manager_security_sessions 2022-09-20 17:11:51 +03:00
Onuray Sahin
3ea054f8e1 Fix unit test. 2022-09-20 15:06:52 +03:00
Adam Brown
2168362a8b including appcompat (instead of the support library) to fix colorPrimary attribute compiliation issues 2022-09-20 10:06:21 +01:00
Maxime NATUREL
943ec7ee75 Reducing argument number in session info view update method 2022-09-20 10:46:10 +02:00
Maxime NATUREL
72637b465f Using viewState value to check if it is current session 2022-09-20 10:46:10 +02:00
Maxime NATUREL
aa7f7d7111 Fix after rebase 2022-09-20 10:46:10 +02:00
Maxime NATUREL
17bb14c1dc Fixing coding style issues 2022-09-20 10:46:10 +02:00
Maxime NATUREL
921533e4b2 Getting the current session verification status to change verify button visibility 2022-09-20 10:46:10 +02:00
Maxime NATUREL
95d133e0e2 Moving some components inside the verification package 2022-09-20 10:46:10 +02:00
Maxime NATUREL
a6cb25d0c3 Verification of another session 2022-09-20 10:46:10 +02:00
Maxime NATUREL
c16e1ca291 Adding changelog entry 2022-09-20 10:46:10 +02:00
Maxime NATUREL
54a4dc7e9a Inverting some arguments to ease readability 2022-09-20 10:45:47 +02:00
Maxime NATUREL
cf6b8d76a8 Removing non necessary session id arg from ViewAction 2022-09-20 10:45:46 +02:00
Maxime NATUREL
e0c4706cf9 Removing non necessary session arg from ViewEvent 2022-09-20 10:45:46 +02:00
Maxime NATUREL
584c699409 Verify current session in Session overview screen 2022-09-20 10:45:46 +02:00
Maxime NATUREL
fa990351af Editing changelog entry 2022-09-20 10:45:46 +02:00
Maxime NATUREL
32b5606498 Fixing missing event to start verification process 2022-09-20 10:45:46 +02:00
Maxime NATUREL
35db958279 Adding unit tests for new action in DevicesViewModel 2022-09-20 10:45:46 +02:00
Maxime NATUREL
d826327773 Adding unit tests for CheckIfCurrentSessionCanBeVerifiedUseCase 2022-09-20 10:45:46 +02:00
Maxime NATUREL
8cd7b0744a Verification process for the current Session 2022-09-20 10:45:46 +02:00
Maxime NATUREL
5759a0f7da Adding click listeners on verify button 2022-09-20 10:45:46 +02:00
Maxime NATUREL
81beccdd8e Adding changelog entry 2022-09-20 10:45:46 +02:00
Onuray Sahin
72cc0deda2 Add changelog. 2022-09-19 16:45:52 +03:00
Onuray Sahin
2ad0cd46bb Fix unit tests. 2022-09-19 16:18:30 +03:00
Onuray Sahin
ec9843fb53 Fix unverified session detection logic. 2022-09-19 15:38:02 +03:00
Onuray Sahin
7db222af0c Render security recommendation sessions. 2022-09-19 15:37:13 +03:00
Onuray Sahin
740b69d48c Make other sessions view dynamic. 2022-09-19 13:42:30 +03:00
Benoit Marty
e2d131fc4f Move xml resource in the module where they are used to avoid lint false positive UnusedResources issues. 2022-09-19 11:56:40 +02:00
Benoit Marty
c91ba06285 Fix lint warnings, some code has vanished dur to the rebasing of the branch... 2022-09-19 10:50:15 +02:00
Szimszon
af7938432b Translated using Weblate (Hungarian)
Currently translated at 100.0% (2386 of 2386 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/hu/
2022-09-19 07:32:46 +00:00
Anonimas
733add8d61 Translated using Weblate (Lithuanian)
Currently translated at 4.0% (3 of 75 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/lt/
2022-09-17 19:33:29 +00:00
phardyle
a6dc219e28 Translated using Weblate (Chinese (Simplified))
Currently translated at 99.5% (2375 of 2386 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/zh_Hans/
2022-09-17 19:33:28 +00:00
Gérson
a783bef1e1 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (2386 of 2386 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/pt_BR/
2022-09-17 19:33:27 +00:00
lvre
16443f957b Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (2386 of 2386 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/pt_BR/
2022-09-17 19:33:27 +00:00
Przemysław Romanik
77fa7aea56 Translated using Weblate (Polish)
Currently translated at 98.8% (2358 of 2386 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/pl/
2022-09-17 19:33:27 +00:00
Anonimas
b82b47b50b Translated using Weblate (Lithuanian)
Currently translated at 51.5% (1229 of 2386 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/lt/
2022-09-17 19:33:26 +00:00
Linerly
934a6026b2 Translated using Weblate (Indonesian)
Currently translated at 100.0% (2386 of 2386 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/id/
2022-09-17 19:32:48 +00:00
Glandos
61289666bd Translated using Weblate (French)
Currently translated at 100.0% (2386 of 2386 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/fr/
2022-09-17 19:32:48 +00:00
Priit Jõerüüt
6bb0e68e78 Translated using Weblate (Estonian)
Currently translated at 99.6% (2378 of 2386 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/et/
2022-09-17 19:32:46 +00:00
Benoit Marty
d4eb619d40 Changelog 2022-09-16 23:30:20 +02:00
Benoit Marty
a1f4ffbf17 Use vanniktechEmoji "0.16.0-SNAPSHOT" 2022-09-16 23:12:48 +02:00
Benoit Marty
84afa4714a App compat 1.5.1 2022-09-16 23:01:56 +02:00
Benoit Marty
892484a1b3 Upgrade kotlin from 1.6.21 to 1.7.10 and dagger (+hilt) from 2.42 to 2.43.2 2022-09-16 23:01:56 +02:00
Benoit Marty
57db43c80a Fix gradle warning:
WARNING:API 'ApkVariantOutput.getVersionCodeOverride()' is obsolete and has been replaced with 'VariantOutput.versionCode()'.
2022-09-16 23:01:29 +02:00
Benoit Marty
c5571c06ed Upgrade gradle plugin from 7.1.3 to 7.2.2 2022-09-16 23:01:29 +02:00
Benoit Marty
842a9bbd55 Add dataExtractionRules, applicable to Android 12. Exclude everything from being backed up. Also properly support Android 11. 2022-09-16 23:01:29 +02:00
Benoit Marty
88482c9b2e Reduce level API check, this seems not necessary. 2022-09-16 23:00:39 +02:00
Benoit Marty
cde7096928 Restore this annotation 2022-09-16 23:00:39 +02:00
Benoit Marty
518ec738f3 Reduce level API check, this seems not necessary. 2022-09-16 23:00:39 +02:00
Benoit Marty
e17f009566 Reduce level API check, this seems not necessary. 2022-09-16 23:00:39 +02:00
Benoit Marty
536b9cf926 Move @Suppress("DEPRECATION") closer to the deprecated usage. Will help to detect other deprecated API usage. 2022-09-16 23:00:39 +02:00
Benoit Marty
24e4f94e61 Stop using deprecated method. 2022-09-16 23:00:39 +02:00
Benoit Marty
3f3c83a43d Remove deprecated internal class. 2022-09-16 23:00:39 +02:00
Benoit Marty
8b64bd38b7 'compileSdk': 32, 'targetSdk': 32 2022-09-16 23:00:39 +02:00
dependabot[bot]
d9ee51a212 Bump emoji2 from 1.1.0 to 1.2.0
Bumps emoji2 from 1.1.0 to 1.2.0.

---
updated-dependencies:
- dependency-name: androidx.emoji2:emoji2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-16 23:00:39 +02:00
dependabot[bot]
ea274c4df6 Bump appcompat from 1.4.2 to 1.5.0
Bumps appcompat from 1.4.2 to 1.5.0.

---
updated-dependencies:
- dependency-name: androidx.appcompat:appcompat
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-16 23:00:39 +02:00
ganfra
a4a4bac75b Realm kotlin: continue migrating queries (some are blocked by lack of backlink) 2022-09-16 19:24:23 +02:00
Adam Brown
0385f387d9 using value notion instead of key for the elements in the circular cache 2022-09-16 16:34:42 +01:00
Adam Brown
4a0cda3268 formatting tweaks 2022-09-16 16:34:38 +01:00
Adam Brown
739a513f89 moving external library modules to an external directory 2022-09-16 15:15:32 +01:00
Adam Brown
e83fa9c81f removing dialpad reliance on the legacy support library 2022-09-16 15:15:32 +01:00
Adam Brown
abd70d953b disabling lint for the pulled in module 2022-09-16 15:15:32 +01:00
Adam Brown
5058f942af manually including the im.dlg:android-dialer:1.2.5
- avoids using appcompat
- avoids using an artifact without a source repository
2022-09-16 15:15:32 +01:00
Benoit Marty
bdda8dbc48 Changelogs 2022-09-14 18:19:57 +02:00
Benoit Marty
7341a65410 Run knit. 2022-09-14 18:17:15 +02:00
Benoit Marty
b9294381b8 Add a paragraph about test. 2022-09-14 17:52:11 +02:00
Benoit Marty
8623b85ac8 Add support to /devtools command 2022-09-14 17:49:55 +02:00
Benoit Marty
f67cf0d591 Reduce link size. 2022-09-14 17:38:50 +02:00
Benoit Marty
c72ab3d187 Add link to the new doc to the README file. 2022-09-14 17:38:28 +02:00
Benoit Marty
64fb985d3b First draft of documentation to onboard new developers. 2022-09-14 17:36:59 +02:00
Benoit Marty
970abb4dde Rename file. 2022-09-14 16:53:38 +02:00
Adam Brown
1b3e099d7c adding first pass at unit testing documentation 2022-09-14 10:21:34 +01:00
Philip Goto
7afd49b7d8 Translated using Weblate (Dutch)
Currently translated at 25.3% (19 of 75 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/nl/
2022-09-11 09:33:12 +00:00
Jeff Huang
44b6563376 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (2386 of 2386 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/zh_Hant/
2022-09-11 09:33:11 +00:00
Ihor Hordiichuk
aa4e830cb5 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (2386 of 2386 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/uk/
2022-09-11 09:33:10 +00:00
Jozef Gaal
84eb71d63f Translated using Weblate (Slovak)
Currently translated at 100.0% (2386 of 2386 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/sk/
2022-09-11 09:33:08 +00:00
lvre
05483d9ca0 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (2386 of 2386 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/pt_BR/
2022-09-11 09:33:06 +00:00
Philip Goto
4b980e85f4 Translated using Weblate (Dutch)
Currently translated at 100.0% (2386 of 2386 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/nl/
2022-09-11 09:33:05 +00:00
random
2f94162236 Translated using Weblate (Italian)
Currently translated at 100.0% (2386 of 2386 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/it/
2022-09-11 09:33:02 +00:00
Linerly
596f2d993d Translated using Weblate (Indonesian)
Currently translated at 100.0% (2386 of 2386 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/id/
2022-09-11 09:33:00 +00:00
Szimszon
7645992cf1 Translated using Weblate (Hungarian)
Currently translated at 99.8% (2382 of 2386 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/hu/
2022-09-11 09:32:58 +00:00
Danial Behzadi
c858d31761 Translated using Weblate (Persian)
Currently translated at 100.0% (2386 of 2386 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/fa/
2022-09-11 09:32:57 +00:00
Priit Jõerüüt
fd76bdfa4d Translated using Weblate (Estonian)
Currently translated at 98.7% (2355 of 2386 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/et/
2022-09-11 09:32:55 +00:00
Deleted User
118fc2ffc1 Translated using Weblate (Spanish)
Currently translated at 97.3% (2322 of 2386 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/es/
2022-09-11 09:32:54 +00:00
Vri
904c4e44b2 Translated using Weblate (German)
Currently translated at 98.9% (2362 of 2386 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/de/
2022-09-11 09:32:47 +00:00
waclaw66
f53cdbb167 Translated using Weblate (Czech)
Currently translated at 100.0% (2386 of 2386 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/cs/
2022-09-11 09:32:46 +00:00
Auri B. P
2f6f52c25a Translated using Weblate (Catalan)
Currently translated at 100.0% (2386 of 2386 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/ca/
2022-09-11 09:32:45 +00:00
Benoit Marty
6cada8f6a3 Merge branch 'release/1.4.36' into main 2022-09-10 08:13:58 +02:00
Artjom König
098fac635d Merge branch 'vector-im:develop' into develop 2022-09-05 12:06:19 +02:00
Artjom König
7991684fc8 Merge branch 'vector-im:develop' into develop 2022-09-02 16:05:45 +02:00
ganfra
aeaf4389a8 Realm kotlin session: loop through entities 2022-08-24 19:56:50 +02:00
ganfra
7ea73d3ad0 Merge branch 'develop' into feature/fga/realm_kotlin 2022-08-24 16:29:34 +02:00
ganfra
4bdc880eb6 Merge pull request #6775 from vector-im/feature/fga/realm_kotlin_crypto
Feature/fga/realm kotlin crypto
2022-08-24 13:20:50 +02:00
ganfra
913d430d1e Realm kotlin : fix warnings 2022-08-24 12:41:08 +02:00
Benoit Marty
ba6f7c4288 Merge branch 'release/v1.4.34' into main 2022-08-23 17:00:11 +02:00
Artjom König
6452a95e0a clean up pin code and biometrics on logout 2022-08-22 14:08:29 +02:00
networkException
2bca94d92b Changelog: Add .bugfix entry for pull request #6215
Signed-off-by: networkException <git@nwex.de>
2022-08-21 12:07:55 +02:00
networkException
5fede491ee ImageContentRenderer: Only animate images using ANIMATED_THUMBNAIL mode
This patch removes the dependency on `VectorSettings` as well as only
enable animated rendering if the image is actually playable.

Signed-off-by: networkException <git@nwex.de>
2022-08-21 12:07:55 +02:00
networkException
dccc64384c Implement Mode.ANIMATED_THUMBNAIL used for autoplaying animated images
This patch introduces a new `ImageContentRenderer` mode used for
autoplaying animated images. The mode shares url resolving semantics
with `FULL_SIZE` and `STICKER`, as such not just fetching thumbnail data
but shares sizing semantics with `THUMBNAIL` (scaling by image height).

This change fixes animated images not playing in cases in which only a
static thumbnail would be loaded.

This new mode will only be chosen if the message content is actually a
playable image, as such limiting bandwith usage to the required amount
by avoiding to load normal images fully (still fetching animated images
will increase bandwith usage as a whole of course).

Signed-off-by: networkException <git@nwex.de>
2022-08-21 12:07:54 +02:00
Benoit Marty
b52171c1dc Run bundle update again. 2022-08-17 16:55:33 +02:00
Benoit Marty
84aed0a5d5 Merge branch 'develop' into dependabot/bundler/jmespath-1.6.1 2022-08-17 16:51:58 +02:00
eidonia
cd71abeb9f [Bugfix #5029] disable emoji keyboard not applies to reply
Signed-off-by: eidonia <bastien_rambeaud@hotmail.com>
2022-08-16 19:29:14 +02:00
Adam Brown
ce28d7f8a5 Merge branch 'release/v1.4.32' 2022-08-10 09:47:50 +01:00
ganfra
81629b81f1 Realm kotlin: format code 2022-08-08 15:31:40 +02:00
rudmannn
a97addfa3b replace android:gravity for backward compatibility 2022-08-07 11:14:10 +08:00
ganfra
def2b0067f Coroutine scope: update some coroutine scopes 2022-08-05 20:33:57 +02:00
ganfra
948e24065f Realm: fix realm instance close too soon 2022-08-05 20:33:45 +02:00
ganfra
d0cb078f18 Coroutine: use SessionCoroutineScope and update MatrixCoroutineScope 2022-08-05 19:29:54 +02:00
ganfra
f25764d09a Realm crypto: update test 2022-08-05 19:29:10 +02:00
ganfra
2cdd05072b Realm: fix upsert on other dbs 2022-08-05 19:28:31 +02:00
ganfra
5b91c14e71 Realm crypto: migrate RealmCryptoStore 2022-08-05 19:27:49 +02:00
ganfra
7717637e57 Realm crypto: Update migration classes 2022-08-05 19:23:50 +02:00
ganfra
6cfac4526e Realm: update some methods use on RealmInstance 2022-08-05 19:20:34 +02:00
ganfra
462d1bce68 Realm crypto: migrate entity classes 2022-08-05 19:16:53 +02:00
Adam Brown
dbb999d4b9 Merge branch 'hotfix/v1.4.31' 2022-08-01 17:52:34 +01:00
ganfra
4040593608 Merge branch 'feature/fga/realm_kotlin_content_scanner' into feature/fga/realm_kotlin 2022-07-29 17:59:09 +02:00
ganfra
a60f42fc00 Merge branch 'develop' into feature/fga/realm_kotlin 2022-07-29 17:43:31 +02:00
ganfra
af5bbe12f5 Realm: convert ContentScannerDatabase to realm-kotlin 2022-07-29 17:35:53 +02:00
ganfra
c5883b3e7c RealmQueryBuilder: use TypedRealm instead of Realm 2022-07-29 17:35:29 +02:00
ganfra
7e2f821287 Realm: fix small identity mistakes 2022-07-29 17:35:07 +02:00
ganfra
ed135bc4fc Realm: migrate identity db to realm-kotlin 2022-07-28 12:16:05 +02:00
ganfra
0fe189b3dd Coroutine: use MatrixCoroutineScope as parent for SessionCoroutineScope and inject it 2022-07-28 12:15:37 +02:00
ganfra
4b2043b64a Realm: use '==' instead of '=' on query language. 2022-07-26 19:18:41 +02:00
ganfra
58788e27d5 Merge branch 'develop' into feature/fga/realm_kotlin 2022-07-26 19:09:54 +02:00
ganfra
6fb5d7fc30 Realm : update copyright 2022-07-26 19:09:24 +02:00
ganfra
736bc3064f Realm: use realm-kotlin for GlobalDatabase 2022-07-26 18:58:25 +02:00
ganfra
e8f2ceaed4 Realm: introduce MatrixAutomaticSchemaMigration 2022-07-26 18:58:00 +02:00
ganfra
9bb53da626 Merge branch 'develop' into feature/fga/realm_kotlin 2022-07-25 18:46:44 +02:00
ganfra
1380c60d10 Realm : migrate Auth database to realm-kotlin 2022-07-22 19:49:40 +02:00
ganfra
4a68412777 Add MatrixCoroutineScope (configurable through MatrixConfiguration) 2022-07-22 19:43:36 +02:00
ganfra
dee0b824e9 Realm: use RealmModel instead of RealmObject so we can enable realm-kotlin plugin. 2022-07-22 12:27:29 +02:00
ganfra
186753f691 Realm: add RealmInstance class 2022-07-21 17:07:44 +02:00
ganfra
82180304ef Realm: add PagedList implementation 2022-07-21 17:07:33 +02:00
ganfra
52ebe74302 Realm : add realm-kotlin dependencies 2022-07-21 17:07:19 +02:00
Adam Brown
4d8f24b73c updating fastlane dependencies 2022-06-23 11:11:33 +01:00
dependabot[bot]
31c962567f Bump jmespath from 1.4.0 to 1.6.1
Bumps [jmespath](https://github.com/trevorrowe/jmespath.rb) from 1.4.0 to 1.6.1.
- [Release notes](https://github.com/trevorrowe/jmespath.rb/releases)
- [Changelog](https://github.com/jmespath/jmespath.rb/blob/main/CHANGELOG.md)
- [Commits](https://github.com/trevorrowe/jmespath.rb/compare/v1.4.0...v1.6.1)

---
updated-dependencies:
- dependency-name: jmespath
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-07 22:00:23 +00:00
Danny Seymour
3267a0410a fix: tweak styling of message bubbles
* Decreases the size of rounded corners
* Increases the maximum width of message bubbles to help avoid unnecessary unused space on screen

Signed-off-by: Danny Seymour <danny@seymour.family>
2022-04-07 02:36:07 -07:00
1754 changed files with 36739 additions and 15779 deletions

1
.gitattributes vendored Normal file
View File

@@ -0,0 +1 @@
**/snapshots/**/*.png filter=lfs diff=lfs merge=lfs -text

View File

@@ -5,7 +5,7 @@ body:
- type: markdown
attributes:
value: |
Thank you for taking the time to propose a new feature or make a suggestion.
Thank you for taking the time to propose an enhancement to an existing feature. If you would like to propose a new feature or a major cross-platform change, please [start a discussion here](https://github.com/vector-im/element-meta/discussions/new?category=ideas).
- type: textarea
id: usecase
attributes:

View File

@@ -11,7 +11,7 @@ jobs:
- run: |
npm install --save-dev @babel/plugin-transform-flow-strip-types
- name: Danger
uses: danger/danger-js@11.1.2
uses: danger/danger-js@11.1.3
with:
args: "--dangerfile tools/danger/dangerfile.js"
env:

View File

@@ -94,7 +94,7 @@ jobs:
needs:
- should-i-run
- ui-tests
if: always() && (needs.should-i-run.result == 'success' ) && ((needs.codecov-units.result != 'success' ) || (needs.ui-tests.result != 'success') || (needs.integration-tests.result != 'success'))
if: always() && (needs.should-i-run.result == 'success' ) && (needs.ui-tests.result != 'success')
# No concurrency required, runs every time on a schedule.
steps:
- uses: michaelkaye/matrix-hookshot-action@v1.0.0

View File

@@ -66,7 +66,7 @@ jobs:
yarn add danger-plugin-lint-report --dev
- name: Danger lint
if: always()
uses: danger/danger-js@11.1.2
uses: danger/danger-js@11.1.3
with:
args: "--dangerfile tools/danger/dangerfile-lint.js"
env:

View File

@@ -8,7 +8,7 @@ on:
# Enrich gradle.properties for CI/CD
env:
GRADLE_OPTS: -Dorg.gradle.jvmargs="-Xmx3072m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError" -Dkotlin.daemon.jvm.options="-Xmx2560m" -Dkotlin.incremental=false
CI_GRADLE_ARG_PROPERTIES: --stacktrace -PpreDexEnable=false --max-workers 2 --no-daemon
CI_GRADLE_ARG_PROPERTIES: --stacktrace -PpreDexEnable=false --max-workers 4 --no-daemon
jobs:
tests:
@@ -24,12 +24,29 @@ jobs:
steps:
- uses: actions/checkout@v3
with:
lfs: true
fetch-depth: 0
- uses: actions/setup-java@v3
with:
distribution: 'adopt'
java-version: '11'
- uses: gradle/gradle-build-action@v2
with:
cache-read-only: ${{ github.ref != 'refs/heads/develop' }}
gradle-home-cache-cleanup: ${{ github.ref == 'refs/heads/develop' }}
- name: Run screenshot tests
run: ./gradlew verifyScreenshots $CI_GRADLE_ARG_PROPERTIES
- name: Archive Screenshot Results on Error
if: failure()
uses: actions/upload-artifact@v3
with:
name: screenshot-results
path: |
**/out/failures/
**/build/reports/tests/*UnitTest/
- uses: actions/setup-python@v4
with:
python-version: 3.8
@@ -40,27 +57,6 @@ jobs:
disableRateLimiting: true
public_baseurl: "http://10.0.2.2:8080/"
- name: AVD cache
uses: actions/cache@v3
id: avd-cache
with:
path: |
~/.android/avd/*
~/.android/adb*
key: avd-${{ matrix.api-level }}
- name: create AVD and generate snapshot for caching
if: steps.avd-cache.outputs.cache-hit != 'true'
uses: reactivecircus/android-emulator-runner@v2
with:
api-level: ${{ matrix.api-level }}
arch: x86
profile: Nexus 5X
force-avd-creation: true # Is set to false in the doc https://github.com/ReactiveCircus/android-emulator-runner
emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
disable-animations: true
script: echo "Generated AVD snapshot for caching."
- name: Run all the codecoverage tests at once
uses: reactivecircus/android-emulator-runner@v2
# continue-on-error: true
@@ -68,6 +64,7 @@ jobs:
api-level: ${{ matrix.api-level }}
arch: x86
profile: Nexus 5X
target: playstore
force-avd-creation: false
emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
disable-animations: true

15
.github/workflows/validate-lfs.yml vendored Normal file
View File

@@ -0,0 +1,15 @@
name: Validate Git LFS
on: [pull_request]
jobs:
build:
runs-on: ubuntu-latest
name: Validate
steps:
- uses: actions/checkout@v3
with:
lfs: 'true'
- run: |
./tools/validate_lfs.sh

1
.gitignore vendored
View File

@@ -22,3 +22,4 @@
/package.json
/yarn.lock
/node_modules
**/out/failures

View File

@@ -1,3 +1,104 @@
Changes in Element v1.5.2 (2022-10-05)
======================================
Features ✨
----------
- New App Layout is now enabled by default! Go to the Settings > Labs to toggle this ([#7166](https://github.com/vector-im/element-android/issues/7166))
- Render inline images in the timeline ([#351](https://github.com/vector-im/element-android/issues/351))
- Add privacy setting to disable personalized learning by the keyboard ([#6633](https://github.com/vector-im/element-android/issues/6633))
Bugfixes 🐛
----------
- Disable emoji keyboard not applies in reply ([#5029](https://github.com/vector-im/element-android/issues/5029))
- Fix animated images not autoplaying sometimes if only a thumbnail was fetched from the server ([#6215](https://github.com/vector-im/element-android/issues/6215))
- Add Warning shield when a user previously verified rotated their cross signing keys ([#6702](https://github.com/vector-im/element-android/issues/6702))
- Can't verify user when option to send keys to verified devices only is selected ([#6723](https://github.com/vector-im/element-android/issues/6723))
- Add option to only send to verified devices per room (web parity) ([#6725](https://github.com/vector-im/element-android/issues/6725))
- Delete pin code key and the key used for biometrics authentication on logout ([#6906](https://github.com/vector-im/element-android/issues/6906))
- Fix crash on previewing images to upload on Android Pie. ([#7184](https://github.com/vector-im/element-android/issues/7184))
- Fix app restarts in loop on Android 13 on the first run of the app. ([#7224](https://github.com/vector-im/element-android/issues/7224))
In development 🚧
----------------
- [Device Management] Learn more bottom sheets ([#7100](https://github.com/vector-im/element-android/issues/7100))
- [Device management] Verify current session ([#7114](https://github.com/vector-im/element-android/issues/7114))
- [Device management] Verify another session ([#7143](https://github.com/vector-im/element-android/issues/7143))
- [Device management] Rename a session ([#7158](https://github.com/vector-im/element-android/issues/7158))
- [Device Manager] Unverified and inactive sessions list ([#7170](https://github.com/vector-im/element-android/issues/7170))
- [Device management] Sign out a session ([#7190](https://github.com/vector-im/element-android/issues/7190))
- [Device Manager] Parse user agents ([#7247](https://github.com/vector-im/element-android/issues/7247))
- [Voice Broadcast] Add a feature flag with the composer action ([#7258](https://github.com/vector-im/element-android/issues/7258))
Improved Documentation 📚
------------------------
- Draft onboarding documentation of the project at `./docs/_developer_onboarding.md` ([#7126](https://github.com/vector-im/element-android/issues/7126))
SDK API changes ⚠️
------------------
- Allow the sync timeout to be configured (mainly useful for testing) ([#7198](https://github.com/vector-im/element-android/issues/7198))
- Ports SDK instrumentation tests to use suspending functions instead of countdown latches ([#7207](https://github.com/vector-im/element-android/issues/7207))
- [Device Manager] Extend user agent to include device information ([#7209](https://github.com/vector-im/element-android/issues/7209))
Other changes
-------------
- Add support for `/tableflip` command ([#12](https://github.com/vector-im/element-android/issues/12))
- Decreases the size of rounded corners and increases the maximum width of message bubbles to help avoid unnecessary unused space on screen ([#5712](https://github.com/vector-im/element-android/issues/5712))
- Adds screenshot testing tooling ([#5798](https://github.com/vector-im/element-android/issues/5798))
- [AppLayout]: added tracking of new analytics events ([#6508](https://github.com/vector-im/element-android/issues/6508))
- Target API 12 and compile with Android SDK 32. ([#6929](https://github.com/vector-im/element-android/issues/6929))
- Add basic integration of Sentry to capture errors and crashes if user has given consent. ([#7076](https://github.com/vector-im/element-android/issues/7076))
- Add support to `/devtools` command. ([#7126](https://github.com/vector-im/element-android/issues/7126))
- Fix lint warning, and cleanup the code ([#7159](https://github.com/vector-im/element-android/issues/7159))
- Mutualize the pending auth handling ([#7193](https://github.com/vector-im/element-android/issues/7193))
- CI: Prevent modification of translations by developer. ([#7211](https://github.com/vector-im/element-android/issues/7211))
- Fix typo in strings.xml and make sure this is American English. ([#7287](https://github.com/vector-im/element-android/issues/7287))
Changes in Element v1.5.1 (2022-09-28)
======================================
Security ⚠️
----------
This update provides important security fixes, update now.
Ref: CVE-2022-39246 CVE-2022-39248
Changes in Element v1.5.0 (2022-09-23)
======================================
Features ✨
----------
- Deferred DMs - Enable and move the feature to labs settings ([#7180](https://github.com/vector-im/element-android/issues/7180))
Bugfixes 🐛
----------
- Fix text margin in QR code view when no display name is set ([#5424](https://github.com/vector-im/element-android/issues/5424))
- [App Layout] Recents carousel now scrolled to first position when new item added to or moved to this position ([#6776](https://github.com/vector-im/element-android/issues/6776))
- Fixed problem when room list's scroll did jump after rooms placeholders were replaced with rooms summary items ([#7079](https://github.com/vector-im/element-android/issues/7079))
- Fixes crash when quickly double clicking FABs in the new app layout ([#7102](https://github.com/vector-im/element-android/issues/7102))
- Fixes space list and new chat bottom sheets showing too small in New App Layout (especially evident in landscape) ([#7103](https://github.com/vector-im/element-android/issues/7103))
- [App Layout] Room leaving prompt dialog now waits user to confirm leaving before do so ([#7122](https://github.com/vector-im/element-android/issues/7122))
- Fix empty verification bottom sheet. ([#7130](https://github.com/vector-im/element-android/issues/7130))
- [New Layout] Fixes new chat dialog not getting dismissed after selecting its actions ([#7132](https://github.com/vector-im/element-android/issues/7132))
- Fixes Room List not getting updated when fragment is not in focus ([#7186](https://github.com/vector-im/element-android/issues/7186))
In development 🚧
----------------
- Create DM room only on first message - Add a spinner when sending the first message ([#6970](https://github.com/vector-im/element-android/issues/6970))
- [Device Manager] Filter Other Sessions ([#7045](https://github.com/vector-im/element-android/issues/7045))
- [Device management] Session details screen ([#7077](https://github.com/vector-im/element-android/issues/7077))
- Create DM room only on first message - Fix glitch in the room list ([#7121](https://github.com/vector-im/element-android/issues/7121))
- Create DM room only on first message - Handle the local rooms within the new AppLayout ([#7153](https://github.com/vector-im/element-android/issues/7153))
Other changes
-------------
- [Modules] Lifts the application variants to the app module ([#6779](https://github.com/vector-im/element-android/issues/6779))
- Ensure that we do not expect all the Event fields when requesting `rooms/{roomId}/hierarchy` endpoint. ([#7035](https://github.com/vector-im/element-android/issues/7035))
- Move some GitHub actions to buildjet runners, and remove the second attempt to run integration tests. ([#7108](https://github.com/vector-im/element-android/issues/7108))
- Exclude legacy android support annotation library ([#7140](https://github.com/vector-im/element-android/issues/7140))
- Pulling no longer hosted im.dlg:android-dialer directly into the repository and removing legacy support library usages ([#7142](https://github.com/vector-im/element-android/issues/7142))
- Fixing build cache misses when compiling the vector module ([#7157](https://github.com/vector-im/element-android/issues/7157))
Changes in Element v1.4.36 (2022-09-10)
=======================================

View File

@@ -1,10 +1,42 @@
# Contributing code to Matrix
# Contributing to Element Android
<!--- TOC -->
* [Contributing code to Matrix](#contributing-code-to-matrix)
* [Android Studio settings](#android-studio-settings)
* [Template](#template)
* [Compilation](#compilation)
* [I want to help translating Element](#i-want-to-help-translating-element)
* [I want to submit a PR to fix an issue](#i-want-to-submit-a-pr-to-fix-an-issue)
* [Kotlin](#kotlin)
* [Changelog](#changelog)
* [Code quality](#code-quality)
* [Internal tool](#internal-tool)
* [ktlint](#ktlint)
* [lint](#lint)
* [Unit tests](#unit-tests)
* [Tests](#tests)
* [Internationalisation](#internationalisation)
* [Adding new string](#adding-new-string)
* [Plurals](#plurals)
* [Editing existing strings](#editing-existing-strings)
* [Removing existing strings](#removing-existing-strings)
* [Renaming string ids](#renaming-string-ids)
* [Reordering strings](#reordering-strings)
* [Accessibility](#accessibility)
* [Layout](#layout)
* [Authors](#authors)
* [Thanks](#thanks)
<!--- END -->
## Contributing code to Matrix
Please read https://github.com/matrix-org/synapse/blob/master/CONTRIBUTING.md
Element Android support can be found in this room: [![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).
# Specific rules for Matrix Android projects
The rest of the document contains specific rules for Matrix Android projects
## Android Studio settings
@@ -120,17 +152,21 @@ You should consider adding Unit tests with your PR, and also integration tests (
Translations are handled using an external tool: [Weblate](https://translate.element.io/projects/element-android/)
As a general rule, please never edit or add or remove translations to the project in a Pull Request. It can lead to merge conflict if the translations are also modified in Weblate side.
**As a general rule, please never edit or add or remove translations to the project in a Pull Request**. It can lead to merge conflict if the translations are also modified in Weblate side. Pull Request containing change(s) on the translation files cannot be merged.
#### Adding new string
When adding new string resources, please only add new entries in the file `value/strings.xml`. Translations will be added later by the community of translators using Weblate.
When adding new string resources, please only add new entries in the file `values/strings.xml` ([this file](./library/ui-strings/src/main/res/values/strings.xml)). Translations will be added later by the community of translators using Weblate.
The file `value/strings.xml` must only contain American English (U. S. English) values, as this is the default language of the Android operating system. So for instance, please use "color" instead of "colour". Element Android will still use the language set on the system by the user, like any other Android applications which provide translations. The system language can be any other English language variants, or any other languages. Note that this is also possible to override the system language using the Element Android in-app language settings.
The file `values/strings.xml` must only contain American English (U. S. English) values, as this is the default language of the Android operating system. So for instance, please use "color" instead of "colour". Element Android will still use the language set on the system by the user, like any other Android applications which provide translations. The system language can be any other English language variants, or any other languages. Note that this is also possible to override the system language using the Element Android in-app language settings.
New strings can be added anywhere in the file `value/strings.xml`, not necessarily at the end of the file. Generally, it's even better to add the new strings in some dedicated section per feature, and not at the end of the file, to avoid merge conflict between 2 PR adding strings at the end of the same file.
New strings can be added anywhere in the file `values/strings.xml`, not necessarily at the end of the file. Generally, it's even better to add the new strings in some dedicated section per feature, and not at the end of the file, to avoid merge conflict between 2 PR adding strings at the end of the same file.
Do not hesitate to use plurals when appropriate.
##### Plurals
Please use `plurals` resources when appropriate, and note that some languages have specific rules for `plurals`, so even if the string will always be at the plural form for English, please always create a `plurals` resource.
Specific plural forms can be found [here](https://unicode-org.github.io/cldr-staging/charts/37/supplemental/language_plural_rules.html).
#### Editing existing strings
@@ -150,6 +186,23 @@ And add `tools:ignore="UnusedResources"` to the string, to let lint ignore that
The string will be removed during the next sync with Weblate.
#### Renaming string ids
This is possible to rename ids of the String resources, but since translation files cannot be edited, add TODO in the main strings.xml file above the strings you want to rename.
```xml
<!-- TODO Rename id to put_new_id_here -->
<string name="current_id">Hello Matrix world!</string>
```
The string id(s) will be renamed during the next Weblate sync.
#### Reordering strings
To group strings per feature, or for any other reasons, it is possible to reorder string resources, but only in the [main strings.xml file](./library/ui-strings/src/main/res/values/strings.xml). ). We do not mind about ordering in the translation files, and anyway this is forbidden to edit manually the translation files.
It is also possible to add empty lines between string resources, and to add XML comments. Please note that the XML comment just above a String resource will also appear on Weblate and be visible to the translators.
### Accessibility
Please consider accessibility as an important point. As a minimum requirement, in layout XML files please use attributes such as `android:contentDescription` and `android:importantForAccessibility`, and test with a screen reader if it's working well. You can add new string resources, dedicated to accessibility, in this case, please prefix theirs id with `a11y_`.

View File

@@ -1,29 +1,30 @@
GEM
remote: https://rubygems.org/
specs:
CFPropertyList (3.0.3)
CFPropertyList (3.0.5)
rexml
addressable (2.8.0)
public_suffix (>= 2.0.2, < 5.0)
artifactory (3.0.15)
atomos (0.1.3)
aws-eventstream (1.1.1)
aws-partitions (1.479.0)
aws-sdk-core (3.117.0)
aws-eventstream (1.2.0)
aws-partitions (1.619.0)
aws-sdk-core (3.132.0)
aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.239.0)
aws-partitions (~> 1, >= 1.525.0)
aws-sigv4 (~> 1.1)
jmespath (~> 1.0)
aws-sdk-kms (1.44.0)
aws-sdk-core (~> 3, >= 3.112.0)
jmespath (~> 1, >= 1.6.1)
aws-sdk-kms (1.58.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.96.1)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sdk-s3 (1.114.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.1)
aws-sigv4 (1.2.4)
aws-sigv4 (~> 1.4)
aws-sigv4 (1.5.1)
aws-eventstream (~> 1, >= 1.0.2)
babosa (1.0.4)
claide (1.0.3)
claide (1.1.0)
claide-plugins (0.9.2)
cork
nap
@@ -48,22 +49,24 @@ GEM
octokit (~> 4.7)
terminal-table (>= 1, < 4)
declarative (0.0.20)
digest-crc (0.6.3)
digest-crc (0.6.4)
rake (>= 12.0.0, < 14.0.0)
domain_name (0.5.20190701)
unf (>= 0.0.5, < 1.0.0)
dotenv (2.7.6)
emoji_regex (3.2.2)
excon (0.85.0)
faraday (1.5.1)
dotenv (2.8.1)
emoji_regex (3.2.3)
excon (0.92.4)
faraday (1.10.1)
faraday-em_http (~> 1.0)
faraday-em_synchrony (~> 1.0)
faraday-excon (~> 1.1)
faraday-httpclient (~> 1.0.1)
faraday-httpclient (~> 1.0)
faraday-multipart (~> 1.0)
faraday-net_http (~> 1.0)
faraday-net_http_persistent (~> 1.1)
faraday-net_http_persistent (~> 1.0)
faraday-patron (~> 1.0)
multipart-post (>= 1.2, < 3)
faraday-rack (~> 1.0)
faraday-retry (~> 1.0)
ruby2_keywords (>= 0.0.4)
faraday-cookie_jar (0.0.7)
faraday (>= 0.8.0)
@@ -71,18 +74,22 @@ GEM
faraday-em_http (1.0.0)
faraday-em_synchrony (1.0.0)
faraday-excon (1.1.0)
faraday-http-cache (2.4.0)
faraday-http-cache (2.4.1)
faraday (>= 0.8)
faraday-httpclient (1.0.1)
faraday-multipart (1.0.4)
multipart-post (~> 2)
faraday-net_http (1.0.1)
faraday-net_http_persistent (1.2.0)
faraday-patron (1.0.0)
faraday_middleware (1.0.0)
faraday-rack (1.0.0)
faraday-retry (1.0.3)
faraday_middleware (1.2.0)
faraday (~> 1.0)
fastimage (2.2.4)
fastlane (2.187.0)
fastimage (2.2.6)
fastlane (2.209.0)
CFPropertyList (>= 2.3, < 4.0.0)
addressable (>= 2.3, < 3.0.0)
addressable (>= 2.8, < 3.0.0)
artifactory (~> 3.0)
aws-sdk-s3 (~> 1.0)
babosa (>= 1.0.3, < 2.0.0)
@@ -97,7 +104,7 @@ GEM
faraday_middleware (~> 1.0)
fastimage (>= 2.1.0, < 3.0.0)
gh_inspector (>= 1.1.2, < 2.0.0)
google-apis-androidpublisher_v3 (~> 0.1)
google-apis-androidpublisher_v3 (~> 0.3)
google-apis-playcustomapp_v1 (~> 0.1)
google-cloud-storage (~> 1.31)
highline (~> 2.0)
@@ -106,6 +113,7 @@ GEM
mini_magick (>= 4.9.4, < 5.0.0)
multipart-post (~> 2.0.0)
naturally (~> 2.2)
optparse (~> 0.1.1)
plist (>= 3.1.0, < 4.0.0)
rubyzip (>= 2.0.0, < 3.0.0)
security (= 0.1.3)
@@ -121,9 +129,9 @@ GEM
gh_inspector (1.1.3)
git (1.11.0)
rchardet (~> 1.8)
google-apis-androidpublisher_v3 (0.8.0)
google-apis-core (>= 0.4, < 2.a)
google-apis-core (0.4.0)
google-apis-androidpublisher_v3 (0.25.0)
google-apis-core (>= 0.7, < 2.a)
google-apis-core (0.7.0)
addressable (~> 2.5, >= 2.5.1)
googleauth (>= 0.16.2, < 2.a)
httpclient (>= 2.8.1, < 3.a)
@@ -132,47 +140,47 @@ GEM
retriable (>= 2.0, < 4.a)
rexml
webrick
google-apis-iamcredentials_v1 (0.6.0)
google-apis-core (>= 0.4, < 2.a)
google-apis-playcustomapp_v1 (0.5.0)
google-apis-core (>= 0.4, < 2.a)
google-apis-storage_v1 (0.6.0)
google-apis-core (>= 0.4, < 2.a)
google-apis-iamcredentials_v1 (0.13.0)
google-apis-core (>= 0.7, < 2.a)
google-apis-playcustomapp_v1 (0.10.0)
google-apis-core (>= 0.7, < 2.a)
google-apis-storage_v1 (0.17.0)
google-apis-core (>= 0.7, < 2.a)
google-cloud-core (1.6.0)
google-cloud-env (~> 1.0)
google-cloud-errors (~> 1.0)
google-cloud-env (1.5.0)
faraday (>= 0.17.3, < 2.0)
google-cloud-errors (1.1.0)
google-cloud-storage (1.34.1)
addressable (~> 2.5)
google-cloud-env (1.6.0)
faraday (>= 0.17.3, < 3.0)
google-cloud-errors (1.2.0)
google-cloud-storage (1.38.0)
addressable (~> 2.8)
digest-crc (~> 0.4)
google-apis-iamcredentials_v1 (~> 0.1)
google-apis-storage_v1 (~> 0.1)
google-apis-storage_v1 (~> 0.17.0)
google-cloud-core (~> 1.6)
googleauth (>= 0.16.2, < 2.a)
mini_mime (~> 1.0)
googleauth (0.16.2)
faraday (>= 0.17.3, < 2.0)
googleauth (1.2.0)
faraday (>= 0.17.3, < 3.a)
jwt (>= 1.4, < 3.0)
memoist (~> 0.16)
multi_json (~> 1.11)
os (>= 0.9, < 2.0)
signet (~> 0.14)
signet (>= 0.16, < 2.a)
highline (2.0.3)
http-cookie (1.0.4)
http-cookie (1.0.5)
domain_name (~> 0.5)
httpclient (2.8.3)
jmespath (1.4.0)
json (2.5.1)
jwt (2.2.3)
jmespath (1.6.1)
json (2.6.2)
jwt (2.4.1)
kramdown (2.4.0)
rexml
kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0)
memoist (0.16.2)
mini_magick (4.11.0)
mini_mime (1.1.0)
mini_mime (1.1.2)
multi_json (1.15.0)
multipart-post (2.0.0)
nanaimo (0.3.0)
@@ -183,12 +191,13 @@ GEM
faraday (>= 1, < 3)
sawyer (~> 0.9)
open4 (1.3.4)
os (1.1.1)
optparse (0.1.1)
os (1.1.4)
plist (3.6.0)
public_suffix (4.0.6)
public_suffix (4.0.7)
rake (13.0.6)
rchardet (1.8.0)
representable (3.1.1)
representable (3.2.0)
declarative (< 0.1.0)
trailblazer-option (>= 0.1.1, < 0.2.0)
uber (< 0.2.0)
@@ -201,9 +210,9 @@ GEM
addressable (>= 2.3.5)
faraday (>= 0.17.3, < 3)
security (0.1.3)
signet (0.15.0)
addressable (~> 2.3)
faraday (>= 0.17.3, < 2.0)
signet (0.17.0)
addressable (~> 2.8)
faraday (>= 0.17.5, < 3.a)
jwt (>= 1.5, < 3.0)
multi_json (~> 1.10)
simctl (1.6.8)
@@ -212,7 +221,7 @@ GEM
terminal-notifier (2.0.0)
terminal-table (1.8.0)
unicode-display_width (~> 1.1, >= 1.1.1)
trailblazer-option (0.1.1)
trailblazer-option (0.1.2)
tty-cursor (0.7.1)
tty-screen (0.8.1)
tty-spinner (0.9.3)
@@ -220,11 +229,11 @@ GEM
uber (0.1.0)
unf (0.1.4)
unf_ext
unf_ext (0.0.7.7)
unicode-display_width (1.7.0)
unf_ext (0.0.8.2)
unicode-display_width (1.8.0)
webrick (1.7.0)
word_wrap (1.0.0)
xcodeproj (1.20.0)
xcodeproj (1.22.0)
CFPropertyList (>= 2.3.3, < 4.0)
atomos (~> 0.1.3)
claide (>= 1.0.2, < 2.0)
@@ -239,6 +248,7 @@ GEM
PLATFORMS
universal-darwin-21
x86_64-darwin-20
x86_64-linux
DEPENDENCIES
danger

View File

@@ -44,10 +44,12 @@ If you would like to receive releases more quickly (bearing in mind that they ma
## Contributing
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!
Please refer to [CONTRIBUTING.md](./CONTRIBUTING.md) if you want to contribute on Matrix Android projects!
Come chat with the community in the dedicated Matrix [room](https://matrix.to/#/#element-android:matrix.org).
Also [this documentation](./docs/_developer_onboarding.md) can hopefully help developers to start working on the project.
## Triaging issues
Issues are triaged by community members and the Android App Team, following the [triage process](https://github.com/vector-im/element-meta/wiki/Triage-process).

View File

@@ -25,14 +25,15 @@ buildscript {
classpath libs.gradle.kotlinPlugin
classpath libs.gradle.hiltPlugin
classpath 'com.google.firebase:firebase-appdistribution-gradle:3.0.3'
classpath 'com.google.gms:google-services:4.3.13'
classpath 'com.google.gms:google-services:4.3.14'
classpath 'org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:3.4.0.2513'
classpath 'com.google.android.gms:oss-licenses-plugin:0.10.5'
classpath "com.likethesalad.android:stem-plugin:2.2.2"
classpath 'org.owasp:dependency-check-gradle:7.2.0'
classpath "org.jetbrains.dokka:dokka-gradle-plugin:1.7.10"
classpath "com.likethesalad.android:stem-plugin:2.2.3"
classpath 'org.owasp:dependency-check-gradle:7.2.1'
classpath "org.jetbrains.dokka:dokka-gradle-plugin:1.7.20"
classpath "org.jetbrains.kotlinx:kotlinx-knit:0.4.0"
classpath 'com.jakewharton:butterknife-gradle-plugin:10.2.3'
classpath 'app.cash.paparazzi:paparazzi-gradle-plugin:1.1.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
@@ -43,9 +44,13 @@ plugins {
id "org.jlleitschuh.gradle.ktlint" version "11.0.0"
// Detekt
id "io.gitlab.arturbosch.detekt" version "1.21.0"
// Ksp
id "com.google.devtools.ksp" version "1.7.20-1.0.6"
// Dependency Analysis
id 'com.autonomousapps.dependency-analysis' version "1.13.1"
// Gradle doctor
id "com.osacky.doctor" version "0.8.1"
}
// https://github.com/jeremylong/DependencyCheck
@@ -58,6 +63,9 @@ dependencyCheck {
]
}
// Gradle doctor configuration
apply from: './tools/gradle/doctor.gradle'
allprojects {
apply plugin: "org.jlleitschuh.gradle.ktlint"
apply plugin: "io.gitlab.arturbosch.detekt"
@@ -71,6 +79,14 @@ allprojects {
groups.mavenCentral.group.each { includeGroup it }
}
}
// snapshots repository
maven {
url "https://oss.sonatype.org/content/repositories/snapshots"
content {
groups.snapshot.regex.each { includeGroupByRegex it }
groups.snapshot.group.each { includeGroup it }
}
}
maven {
url 'https://jitpack.io'
content {
@@ -132,6 +148,9 @@ allprojects {
// To have XML report for Danger
reporter(org.jlleitschuh.gradle.ktlint.reporter.ReporterType.CHECKSTYLE)
}
filter {
exclude { element -> element.file.path.contains("$buildDir/generated/") }
}
disabledRules = [
// TODO Re-enable these 4 rules after reformatting project
"indent",
@@ -216,7 +235,7 @@ project(":vector") {
}
}
project(":library:diff-match-patch") {
project(":library:external:diff-match-patch") {
sonarqube {
skipProject = true
}
@@ -287,3 +306,61 @@ dependencyAnalysis {
}
}
}
tasks.register("recordScreenshots", GradleBuild) {
startParameter.projectProperties.screenshot = ""
tasks = [':vector:recordPaparazziDebug']
}
tasks.register("verifyScreenshots", GradleBuild) {
startParameter.projectProperties.screenshot = ""
tasks = [':vector:verifyPaparazziDebug']
}
ext.initScreenshotTests = { project ->
def hasScreenshots = project.hasProperty("screenshot")
if (hasScreenshots) {
project.apply plugin: 'app.cash.paparazzi'
}
project.dependencies { testCompileOnly "app.cash.paparazzi:paparazzi:1.0.0" }
project.android.testOptions.unitTests.all {
def screenshotTestCapture = "**/*ScreenshotTest*"
if (hasScreenshots) {
include screenshotTestCapture
} else {
exclude screenshotTestCapture
}
}
}
// Workaround to have KSP generated Kotlin code available in the IDE (for code completion)
// Ref: https://github.com/airbnb/epoxy/releases/tag/5.0.0beta02
subprojects { project ->
afterEvaluate {
if (project.hasProperty("android")) {
android {
if (it instanceof com.android.build.gradle.LibraryExtension) {
libraryVariants.all { variant ->
def outputFolder = new File("build/generated/ksp/${variant.name}/kotlin")
if (outputFolder.exists()) {
variant.addJavaSourceFoldersToModel(outputFolder)
android.sourceSets.getAt(variant.name).java {
srcDir(outputFolder)
}
}
}
} else if (it instanceof com.android.build.gradle.AppExtension) {
applicationVariants.all { variant ->
def outputFolder = new File("build/generated/ksp/${variant.name}/kotlin")
if (outputFolder.exists()) {
variant.addJavaSourceFoldersToModel(outputFolder)
android.sourceSets.getAt(variant.name).java {
srcDir(outputFolder)
}
}
}
}
}
}
}
}

View File

@@ -1 +0,0 @@
Fix text margin in QR code view when no display name is set

1
changelog.d/5968.bugfix Normal file
View File

@@ -0,0 +1 @@
Fix wrong mic button direction to cancel on RTL languages

View File

@@ -1 +0,0 @@
[App Layout] Recents carousel now scrolled to first position when new item added to or moved to this position

View File

@@ -1 +0,0 @@
[Modules] Lifts the application variants to the app module

View File

@@ -1 +0,0 @@
Create DM room only on first message - Add a spinner when sending the first message

View File

@@ -1 +0,0 @@
Ensure that we do not expect all the Event fields when requesting `rooms/{roomId}/hierarchy` endpoint.

View File

@@ -1 +0,0 @@
[Device Manager] Filter Other Sessions

View File

@@ -1 +0,0 @@
[Device management] Session details screen

View File

@@ -1 +0,0 @@
Fixed problem when room list's scroll did jump after rooms placeholders were replaced with rooms summary items

View File

@@ -1 +0,0 @@
Fixes crash when quickly double clicking FABs in the new app layout

View File

@@ -1 +0,0 @@
Fixes space list and new chat bottom sheets showing too small in New App Layout (especially evident in landscape)

View File

@@ -1 +0,0 @@
Move some GitHub actions to buildjet runners, and remove the second attempt to run integration tests.

View File

@@ -1 +0,0 @@
Create DM room only on first message - Fix glitch in the room list

View File

@@ -1 +0,0 @@
[App Layout] Room leaving prompt dialog now waits user to confirm leaving before do so

View File

@@ -1 +0,0 @@
Fix empty verification bottom sheet.

View File

@@ -1 +0,0 @@
[New Layout] Fixes new chat dialog not getting dismissed after selecting its actions

View File

@@ -1 +0,0 @@
Exclude legacy android support annotation library

View File

@@ -1 +0,0 @@
Pulling no longer hosted im.dlg:android-dialer directly into the repository and removing legacy support library usages

View File

@@ -1 +0,0 @@
Create DM room only on first message - Handle the local rooms within the new AppLayout

View File

@@ -1 +0,0 @@
Fixing build cache misses when compiling the vector module

View File

@@ -1 +0,0 @@
New App Layout is now enabled by default! Go to the Settings > Labs to toggle this

1
changelog.d/7217.wip Normal file
View File

@@ -0,0 +1 @@
Implements MSC3881: Parses `enabled` and `device_id` fields from updated Pusher API

1
changelog.d/7257.wip Normal file
View File

@@ -0,0 +1 @@
[Device Management] Save "matrix_client_information" events on login/registration

1
changelog.d/7261.wip Normal file
View File

@@ -0,0 +1 @@
Adds pusher toggle setting to device manager v2

1
changelog.d/7273.wip Normal file
View File

@@ -0,0 +1 @@
[Voice Broadcast] Add the "io.element.voice_broadcast_info" state event with a minimalist timeline widget

1
changelog.d/7277.wip Normal file
View File

@@ -0,0 +1 @@
[Device Management] Show correct device type icons

1
changelog.d/7281.wip Normal file
View File

@@ -0,0 +1 @@
Links "Enable Notifications for this session" setting to enabled value in pusher

1
changelog.d/7282.sdk Normal file
View File

@@ -0,0 +1 @@
Stop using `original_event` field from `/relations` endpoint

1
changelog.d/7283.wip Normal file
View File

@@ -0,0 +1 @@
[Voice Broadcast] Aggregate state events in the timeline

1
changelog.d/7285.misc Normal file
View File

@@ -0,0 +1 @@
Refactor TimelineFragment, split it into MessageComposerFragment and VoiceRecorderFragment.

1
changelog.d/7288.feature Normal file
View File

@@ -0,0 +1 @@
Add WYSIWYG editor.

10
changelog.d/7288.sdk Normal file
View File

@@ -0,0 +1,10 @@
Add `formattedText` or similar optional parameters in several methods:
* RelationService:
* editTextMessage
* editReply
* replyToMessage
* SendService:
* sendQuotedTextMessage
This allows us to send any HTML formatted text message without needing to rely on automatic Markdown > HTML translation. All these new parameters have a `null` value by default, so previous calls to these API methods remain compatible.

1
changelog.d/7294.wip Normal file
View File

@@ -0,0 +1 @@
[Device Management] Render extended device info

1
changelog.d/7300.wip Normal file
View File

@@ -0,0 +1 @@
Implements client-side of local notification settings event

1
changelog.d/7310.bugfix Normal file
View File

@@ -0,0 +1 @@
[Device Management] Long session names not handled well

1
changelog.d/7321.wip Normal file
View File

@@ -0,0 +1 @@
[Device management] Improve the parsing for OS of Desktop/Web sessions

1
changelog.d/7324.wip Normal file
View File

@@ -0,0 +1 @@
[Device management] Hide the IP address and last activity date on current session

1
changelog.d/7327.wip Normal file
View File

@@ -0,0 +1 @@
[Device management] Update the unknown verification status icon

1
changelog.d/7335.misc Normal file
View File

@@ -0,0 +1 @@
Dependency to arrow has been removed. Please use `org.matrix.android.sdk.api.util.Optional` instead.

1
changelog.d/7336.feature Normal file
View File

@@ -0,0 +1 @@
[Device management] Add lab flag for the feature

1
changelog.d/7338.wip Normal file
View File

@@ -0,0 +1 @@
Implement QR Code Login UI

1
changelog.d/7344.feature Normal file
View File

@@ -0,0 +1 @@
[Device management] Add lab flag for matrix client info account data event

1
changelog.d/7354.misc Normal file
View File

@@ -0,0 +1 @@
Update WYSIWYG editor designs.

1
changelog.d/7358.sdk Normal file
View File

@@ -0,0 +1 @@
Add support for `m.login.token` auth during QR code based sign in

1
changelog.d/7359.bugfix Normal file
View File

@@ -0,0 +1 @@
Fix editing formatted messages with plain text editor

1
changelog.d/7359.sdk Normal file
View File

@@ -0,0 +1 @@
Allow getting the formatted or plain text body of a message for the fun `TimelineEvent.getTextEditableContent()`.

1
changelog.d/7363.wip Normal file
View File

@@ -0,0 +1 @@
[Voice Broadcast] Record and send non aggregated voice messages to the room

1
changelog.d/7372.bugfix Normal file
View File

@@ -0,0 +1 @@
Handle properly when getUser returns null - prefer using getUserOrDefault

1
changelog.d/7374.feature Normal file
View File

@@ -0,0 +1 @@
[Device Management] Redirect to the new screen everywhere when lab flag is on

1
changelog.d/7384.misc Normal file
View File

@@ -0,0 +1 @@
Update WYSIWYG library to v0.2.1.

1
changelog.d/7387.wip Normal file
View File

@@ -0,0 +1 @@
[Voice Broadcast] Start listening to a voice broadcast

1
changelog.d/7393.wip Normal file
View File

@@ -0,0 +1 @@
[Voice Broadcast] Enable the feature (behind a lab flag and only for Android 10 and up)

1
changelog.d/7397.wip Normal file
View File

@@ -0,0 +1 @@
[Voice Broadcast] Add additional data in events

View File

@@ -1,36 +1,36 @@
ext.versions = [
'minSdk' : 21,
'compileSdk' : 31,
'targetSdk' : 31,
'compileSdk' : 33,
'targetSdk' : 33,
'sourceCompat' : JavaVersion.VERSION_11,
'targetCompat' : JavaVersion.VERSION_11,
]
// Pinned to 7.1.3 because of https://github.com/vector-im/element-android/issues/6142
// Please test carefully before upgrading again.
def gradle = "7.1.3"
def gradle = "7.3.1"
// Ref: https://kotlinlang.org/releases.html
def kotlin = "1.6.21"
def kotlin = "1.7.20"
def kotlinCoroutines = "1.6.4"
def dagger = "2.42"
def dagger = "2.44"
def appDistribution = "16.0.0-beta04"
def retrofit = "2.9.0"
def arrow = "0.8.2"
def markwon = "4.6.2"
def moshi = "1.13.0"
def moshi = "1.14.0"
def lifecycle = "2.5.1"
def flowBinding = "1.2.0"
def flipper = "0.164.0"
def epoxy = "4.6.2"
def mavericks = "2.7.0"
def glide = "4.13.2"
def flipper = "0.171.1"
def epoxy = "5.0.0"
def mavericks = "3.0.1"
def glide = "4.14.2"
def bigImageViewer = "1.8.1"
def jjwt = "0.11.5"
def vanniktechEmoji = "0.15.0"
// Temporary version to unblock #6929. Once 0.16.0 is released we should use it, and revert
// the whole commit which set version 0.16.0-SNAPSHOT
def vanniktechEmoji = "0.16.0-SNAPSHOT"
def fragment = "1.5.2"
def sentry = "6.4.3"
def fragment = "1.5.3"
// Testing
def mockk = "1.12.3" // We need to use 1.12.3 to have mocking in androidTest until a new version is released: https://github.com/mockk/mockk/issues/819
@@ -50,12 +50,12 @@ ext.libs = [
'coroutinesTest' : "org.jetbrains.kotlinx:kotlinx-coroutines-test:$kotlinCoroutines"
],
androidx : [
'activity' : "androidx.activity:activity:1.5.1",
'appCompat' : "androidx.appcompat:appcompat:1.4.2",
'activity' : "androidx.activity:activity-ktx:1.6.0",
'appCompat' : "androidx.appcompat:appcompat:1.5.1",
'biometric' : "androidx.biometric:biometric:1.1.0",
'core' : "androidx.core:core-ktx:1.8.0",
'core' : "androidx.core:core-ktx:1.9.0",
'recyclerview' : "androidx.recyclerview:recyclerview:1.2.1",
'exifinterface' : "androidx.exifinterface:exifinterface:1.3.3",
'exifinterface' : "androidx.exifinterface:exifinterface:1.3.4",
'fragmentKtx' : "androidx.fragment:fragment-ktx:$fragment",
'fragmentTesting' : "androidx.fragment:fragment-testing:$fragment",
'constraintLayout' : "androidx.constraintlayout:constraintlayout:2.1.4",
@@ -86,7 +86,7 @@ ext.libs = [
'appdistributionApi' : "com.google.firebase:firebase-appdistribution-api-ktx:$appDistribution",
'appdistribution' : "com.google.firebase:firebase-appdistribution:$appDistribution",
// Phone number https://github.com/google/libphonenumber
'phonenumber' : "com.googlecode.libphonenumber:libphonenumber:8.12.55"
'phonenumber' : "com.googlecode.libphonenumber:libphonenumber:8.12.57"
],
dagger : [
'dagger' : "com.google.dagger:dagger:$dagger",
@@ -100,7 +100,8 @@ ext.libs = [
'flipperNetworkPlugin' : "com.facebook.flipper:flipper-network-plugin:$flipper",
],
element : [
'opusencoder' : "io.element.android:opusencoder:1.0.4",
'opusencoder' : "io.element.android:opusencoder:1.1.0",
'wysiwyg' : "io.element.android:wysiwyg:0.2.1"
],
squareup : [
'moshi' : "com.squareup.moshi:moshi:$moshi",
@@ -113,13 +114,10 @@ ext.libs = [
rx : [
'rxKotlin' : "io.reactivex.rxjava2:rxkotlin:2.4.0"
],
arrow : [
'core' : "io.arrow-kt:arrow-core:$arrow",
'instances' : "io.arrow-kt:arrow-instances-core:$arrow"
],
markwon : [
'core' : "io.noties.markwon:core:$markwon",
'extLatex' : "io.noties.markwon:ext-latex:$markwon",
'imageGlide' : "io.noties.markwon:image-glide:$markwon",
'inlineParser' : "io.noties.markwon:inline-parser:$markwon",
'html' : "io.noties.markwon:html:$markwon"
],
@@ -165,10 +163,16 @@ ext.libs = [
apache : [
'commonsImaging' : "org.apache.sanselan:sanselan:0.97-incubator"
],
realm : [
'base' : "io.realm.kotlin:library-base:${realmKotlinVersion}"
],
sentry: [
'sentryAndroid' : "io.sentry:sentry-android:$sentry"
],
tests : [
'kluent' : "org.amshove.kluent:kluent-android:1.68",
'timberJunitRule' : "net.lachlanmckee:timber-junit-rule:1.0.1",
'junit' : "junit:junit:4.13.2"
'junit' : "junit:junit:4.13.2",
]
]

View File

@@ -38,10 +38,18 @@ ext.groups = [
'com.google.testing.platform',
]
],
snapshot: [
regex: [
],
group: [
'com.vanniktech',
]
],
mavenCentral: [
regex: [
],
group: [
'app.cash.paparazzi',
'ch.qos.logback',
'com.adevinta.android',
'com.airbnb.android',
@@ -76,6 +84,7 @@ ext.groups = [
'com.google',
'com.google.android',
'com.google.api.grpc',
'com.google.auto',
'com.google.auto.service',
'com.google.auto.value',
'com.google.code.findbugs',
@@ -93,6 +102,7 @@ ext.groups = [
'com.googlecode.json-simple',
'com.googlecode.libphonenumber',
'com.ibm.icu',
'com.intellij',
'com.jakewharton.android.repackaged',
'com.jakewharton.timber',
'com.kgurgul.flipper',
@@ -118,13 +128,12 @@ ext.groups = [
'com.sun.xml.bind.mvn',
'com.sun.xml.fastinfoset',
'com.thoughtworks.qdox',
'com.vanniktech',
// 'com.vanniktech',
'commons-cli',
'commons-codec',
'commons-io',
'commons-logging',
'info.picocli',
'io.arrow-kt',
'io.element.android',
'io.github.davidburstrom.contester',
'io.github.detekt.sarif4k',
@@ -138,16 +147,22 @@ ext.groups = [
'io.netty',
'io.noties.markwon',
'io.opencensus',
'io.perfmark',
'io.reactivex.rxjava2',
'io.realm',
'io.realm.kotlin',
'io.sentry',
'it.unimi.dsi',
'jakarta.activation',
'jakarta.xml.bind',
'javax.activation',
'javax.annotation',
'javax.inject',
'javax.xml.bind',
'jline',
'jp.wasabeef',
'junit',
'kxml2',
'me.saket',
'net.bytebuddy',
'net.java',
@@ -164,6 +179,7 @@ ext.groups = [
'org.apache.httpcomponents',
'org.apache.sanselan',
'org.bouncycastle',
'org.ccil.cowan.tagsoup',
'org.checkerframework',
'org.codehaus',
'org.codehaus.groovy',
@@ -176,11 +192,13 @@ ext.groups = [
'org.hamcrest',
'org.jacoco',
'org.java-websocket',
'org.jcodec',
'org.jetbrains',
'org.jetbrains.dokka',
'org.jetbrains.intellij.deps',
'org.jetbrains.kotlin',
'org.jetbrains.kotlinx',
'org.jetbrains.trove4j',
'org.json',
'org.jsoup',
'org.junit',
@@ -197,7 +215,6 @@ ext.groups = [
'org.ow2.asm',
'org.ow2.asm',
'org.reactivestreams',
'org.robolectric',
'org.slf4j',
'org.sonatype.oss',
'org.testng',
@@ -216,8 +233,6 @@ ext.groups = [
'com.amulyakhare',
'com.otaliastudios',
'com.yqritc',
// https://github.com/cmelchior/realmfieldnameshelper/issues/42
'dk.ilios',
'im.dlg',
'me.dm7.barcodescanner',
'me.gujun.android',

View File

@@ -0,0 +1,259 @@
# Developer on boarding
<!--- TOC -->
* [Introduction](#introduction)
* [Quick introduction to Matrix](#quick-introduction-to-matrix)
* [Matrix data](#matrix-data)
* [Room](#room)
* [Event](#event)
* [Sync](#sync)
* [Glossary about syncs](#glossary-about-syncs)
* [The Android project](#the-android-project)
* [Matrix SDK](#matrix-sdk)
* [Application](#application)
* [MvRx](#mvrx)
* [Behavior](#behavior)
* [Epoxy](#epoxy)
* [Other frameworks](#other-frameworks)
* [Push](#push)
* [Dependencies management](#dependencies-management)
* [Test](#test)
* [Other points](#other-points)
* [Logging](#logging)
* [Rageshake](#rageshake)
* [Tips](#tips)
* [Happy coding!](#happy-coding)
<!--- END -->
## Introduction
This doc is a quick introduction about the project and its architecture.
It's aim is to help new developers to understand the overall project and where to start developing.
Other useful documentation:
- all the docs in this folder!
- the [contributing doc](../CONTRIBUTING.md), that you should also read carefully.
### Quick introduction to Matrix
Matrix website: [matrix.org](https://matrix.org), [discover page](https://matrix.org/discover).
*Note*: Matrix.org is also hosting a homeserver ([.well-known file](https://matrix.org/.well-known/matrix/client)).
The reference homeserver (this is how Matrix servers are called) implementation is [Synapse](https://github.com/matrix-org/synapse/). But other implementations exist. The Matrix specification is here to ensure that any Matrix client, such as Element Android and its SDK can talk to any Matrix server.
Have a quick look to the client-server API documentation: [Client-server documentation](https://spec.matrix.org/v1.3/client-server-api/). Other network API exist, the list is here: (https://spec.matrix.org/latest/)
Matrix is an open source protocol. Change are possible and are tracked using [this GitHub repository](https://github.com/matrix-org/matrix-doc/). Changes to the protocol are called MSC: Matrix Spec Change. These are PullRequest to this project.
Matrix object are Json data. Unstable prefixes must be used for Json keys when the MSC is not merged (i.e. accepted).
#### Matrix data
There are many object and data in the Matrix worlds. Let's focus on the most important and used, `Room` and `Event`
##### Room
`Room` is a place which contains ordered `Event`s. They are identified with their `room_id`. Nearly all the data are stored in rooms, and shared using homeserver to all the Room Member.
*Note*: Spaces are also Rooms with a different `type`.
##### Event
`Events` are items of a Room, where data is embedded.
There are 2 types of Room Event:
- Regular Events: contain useful content for the user (message, image, etc.), but are not necessarily displayed as this in the timeline (reaction, message edition, call signaling).
- State Events: contain the state of the Room (name, topic, etc.). They have a non null value for the key `state_key`.
Also all the Room Member details are in State Events: one State Event per member. In this case, the `state_key` is the matrixId (= userId).
Important Fields of an Event:
- `event_id`: unique across the Matrix universe;
- `room_id`: the room the Event belongs to;
- `type`: describe what the Event contain, especially in the `content` section, and how the SDK should handle this Event;
- `content`: dynamic Event data; depends on the `type`.
So we have a triple `event_id`, `type`, `state_key` which uniquely defines an Event.
#### Sync
The `Sync` is a way for the Matrix client to be up to date regarding the user data hosted by the server. All the Events are coming through the sync response. More details can be found here: [spec.matrix.org/v1.3/client-server-api/#syncing](https://spec.matrix.org/v1.3/client-server-api/#syncing)
When the application is in foreground, this is a looping request. We are using Https requests, which offer the advantage to be compatible with any homeserver. A sync token is used as request parameter, to let the server know what the client knows.
The `SyncThread` is responsible to manage the sync request loop.
When the application is in background, a Push will trigger a sync request.
##### Glossary about syncs
- **initial sync**: a sync request without a token. This is the first request a client perform after login or after a clear cache. The server will include in the response all your rooms with the full state (all the room membership Event will not be present), with the latest messages for each room. We are in the process to replace this by version 3: sliding sync. All data are inserted to the Database (currently [Realm](https://www.mongodb.com/docs/realm/sdk/java/)).
- **incremental sync**: sync request with a token.
- **gappy sync**: sync request where all the new Events are not returned for one or several Rooms. Also called `limited sync`. It can be limited per Room. To get all the missing Events, a Room pagination API has to be called.
- **sync token**: `next_batch` value in the previous sync response. Will be provided as the `since` parameter for the next sync request.
### The Android project
The project should compile out of the box.
The project is split into several modules. The main ones are:
For the app
- `vector-app`: application entry point;
- `vector`: legacy application, but now a library. In the process of being split into several modules;
- `vector-config`: this is where all the configuration of the application should occurs. Should because we are in the process of migrating all the configuration here;
- `library/ui-strings`: this is where all the string resources are stored. Please refer to [contributing doc](../CONTRIBUTING.md) to know how to make change on this module;
- `library/ui-styles`: this is where the Android styles are defined.
For the SDK
- `matrix-sdk-android`: the main SDK module. The sources are in this project, but are also exported to [its own project](https://github.com/matrix-org/matrix-android-sdk2). All the PRs and issues related to the SDK take place in the Element Android project;
- `matrix-sdk-android-flow`: contains some wrapper to expose `Flow` to the application.
### Matrix SDK
SDK exposes `Services` to the client application. `Services` are public interface, and are defined in this parent package: `org.matrix.android.sdk.api`. Default implementation are internal to the SDK, in this parent package: `org.matrix.android.sdk.internal`. Note that you also have to declare the classes as `internal` when adding classes to the `org.matrix.android.sdk.internal` package.
Interface allows us to replace the implementation for testing purpose.
A generated documentation of the SDK is available [here](https://matrix-org.github.io/matrix-android-sdk2/). Updated after each release. Please ensure that the documentation (KDoc) of all the SDK Services is up to date, and is clear for a SDK user.
The SDK generated documentation also contains information about the entry points of the SDK.
[Dagger](https://dagger.dev/) is used to inject all the dependencies to the SDK classes.
SDK is exposing data as `LiveData`, but we are progressively migrating to `Flow`. Database is the source of truth.
Example:
- Client send an Event using the `SendService`;
- At the end a `SendEvent` task is used;
- Retrofit API is used to send data to the server;
- Goes to the server, which returns only the `event_id`;
- The `Event` is coming back from the `sync` response with eventually extra added data.
### Application
This is the UI part of the project.
There are two variants of the application: `Gplay` and `Fdroid`.
The main difference is about using Firebase on `Gplay` variant, to have Push from Google Services. `FDroid` variant cannot contain closed source dependency.
`Fdroid` is using background polling to lack the missing of Pushed. Now a solution using UnifiedPush has ben added to the project. See refer to [the dedicated documentation](./unifiedpush.md) for more details.
#### MvRx
[Maverick](https://airbnb.io/mavericks/#/README) (or MvRx) is an Android MVI framework that helps to develop Reactive application on Android.
- Activity: holder for Fragment. See the parent [VectorBaseActivity](../vector/src/main/java/im/vector/app/core/platform/VectorBaseActivity.kt);
- Fragment: manage screen of the application. See the parent [VectorBaseFragment](../vector/src/main/java/im/vector/app/core/platform/VectorBaseFragment.kt);
- BottomSheet: see the parent [VectorBaseBottomSheetDialogFragment](../vector/src/main/java/im/vector/app/core/platform/VectorBaseBottomSheetDialogFragment.kt);
- ViewModel: this is where the logic is placed. All our ViewModel has a `handle()` which takes action as parameter. See the parent [VectorViewModel](../vector/src/main/java/im/vector/app/core/platform/VectorViewModel.kt);
- VectorSharedActionViewModel: Specific ViewModel that can be used to communicate between Fragment(s) and the host Activity. See the parent [VectorSharedActionViewModel](../vector/src/main/java/im/vector/app/core/platform/VectorSharedActionViewModel.kt);
- ViewState: this are `data class`, and this represent the state of the View. Has to be copied and set to be updated. Fragment will update the UI regarding the current state (`invalidate()` method). `Async` class from MvRx can be used in the ViewState, especially for asynchronous data loading. Nullability can also be used for optional data. ViewStates have to implement `MavericksState`;
- ViewEvents: useful when the ViewModel asks the View to trigger a specific action: navigation, show dialog, etc. See the parent [VectorViewEvents](../vector/src/main/java/im/vector/app/core/platform/VectorViewEvents.kt);
- ViewAction (`VectorViewModelAction`): useful when the UI (generally the Fragment) asks the ViewModel to do something. See the parent [VectorViewModelAction](../vector/src/main/java/im/vector/app/core/platform/VectorViewModelAction.kt);
- Controller: see the `Epoxy` section just below.
##### Behavior
Fragment asks the ViewModel to perform an action (coming from the user, but not necessarily. ViewModel can then talk to the SDK, updates the state once or several times. Fragment update the UI regarding the new state.
When ViewModel is instantiated, it can subscribe using the SDK Services to get live state of the data.
`invalidate()` has to be used by default, but it's possible to listen to specific member(s) of the `ViewState` using `onEach`. TODO Add an example.
`awaitState()` method
#### Epoxy
[Epoxy](https://github.com/airbnb/epoxy) is an Android library for building complex screens in a RecyclerView. Please read [the introduction](https://github.com/airbnb/epoxy#epoxy).
- Controller declares items of the RecyclerView. Controller is injected in the Fragment. Controller extends `EpoxyController`, or one of its subclass, especially `TypedEpoxyController`;
- Fragment gives the state to the controller using `setData`;
- `buildModels` will be called by the framework;
- Controller will create ordered Items.
Epoxy does the diffing, and handle many other thing for us, like handling item type, etc.
See for instance the controller [AccountDataEpoxyController](../vector/src/main/java/im/vector/app/features/settings/devtools/AccountDataEpoxyController.kt)) for a simple example.
Warning: do not use twice the same item `id` or it will crash.
#### Other frameworks
- Dependency injection is managed by [Dagger](https://dagger.dev/) (SDK) and [Hilt](https://developer.android.com/training/dependency-injection/hilt-android) (App);
- [Retrofit](https://square.github.io/retrofit/) and [OkHttp3](https://square.github.io/okhttp/): network requests;
- [Moshi](https://github.com/square/moshi) is used to parse and serialize Json object;
### Push
Please see the dedicated documentation for more details.
This is the classical scenario:
- App receives a Push. Note: Push is ignored if app is in foreground;
- App asks the SDK to load Event data (fastlane mode). We have a change to get the data faster and display the notification faster;
- App asks the SDK to perform a sync request.
### Dependencies management
All the dependencies are declared in `build.gradle` files. But some versions are declared in [this dedicated file](../dependencies.gradle).
When adding a new dependency, you will have to update the file [dependencies_groups.gradle](../dependencies_groups.gradle) to allow the dependency to be downloaded from the artifact repository. Sometimes sub-dependencies need to be added too, until the project can compile.
[Dependabot](https://github.com/dependabot) is set up on the project. This tool will automatically create Pull Request to upgrade our dependencies one by one.
dependencies_group, gradle files, Dependabot, etc.
### Test
Please refer to [this dedicated document](./ui-tests.md).
TODO add link to the dedicated screenshot test documentation
### Other points
#### Logging
**Important warning: ** NEVER log private user data, or use the flag `LOG_PRIVATE_DATA`. Be very careful when logging `data class`, all the content will be output!
[Timber](https://github.com/JakeWharton/timber) is used to log data to logcat. We do not use directly the `Log` class. If possible please use a tag, as per
````kotlin
Timber.tag(loggerTag.value).d("my log")
````
because automatic tag (= class name) will not be available on the release version.
Also generally it is recommended to provide the `Throwable` to the Timber log functions.
Last point, not that `Timber.v` function may have no effect on some devices. Prefer using `Timber.d` and up.
#### Rageshake
Rageshake is a feature to send bug report directly from the application. Just shake your phone and you will be prompted to send a bug report.
Bug report can contain:
- a screenshot of the current application state
- the application logs from up to 15 application starts
- the logcat logs
- the key share history (crypto data)
The data will be sent to an internal server, which is not publicly accessible. A GitHub issue will also be created to a private GitHub repository.
Rageshake can be very useful to get logs from a release version of the application.
### Tips
- Element Android has a `developer mode` in the `Settings/Advanced settings`. Other useful options are available here;
- Show hidden Events can also help to debug feature. When developer mode is enabled, it is possible to view the source (= the Json content) of any Events;
- Type `/devtools` in a Room composer to access a developer menu. There are some other entry points. Developer mode has to be enabled;
- Hidden debug menu: when developer mode is enabled and on debug build, there are some extra screens that can be accessible using the green wheel. In those screens, it will be possible to toggle some feature flags;
- Using logcat, filtering with `onResume` can help you to understand what screen are currently displayed on your device. Searching for string displayed on the screen can also help to find the running code in the codebase.
- When this is possible, prefer using `sealed interface` instead of `sealed class`;
- When writing temporary code, using the string "DO NOT COMMIT" in a comment can help to avoid committing things by mistake. If committed and pushed, the CI will detect this String and will warn the user about it.
## Happy coding!
The team is here to support you, feel free to ask anything to other developers.
Also please feel to update this documentation, if incomplete/wrong/obsolete/etc.
**Thanks!**

View File

@@ -28,6 +28,7 @@ Here are the checks that Danger does so far:
- PR with change on layout should include screenshot in the description
- PR which adds png file warn about the usage of vector drawables
- non draft PR should have a reviewer
- files containing translations are not modified by developers
### Quality check

View File

@@ -0,0 +1,72 @@
# Screenshot testing
<!--- TOC -->
* [Overview](#overview)
* [Setup](#setup)
* [Recording](#recording)
* [Verifying](#verifying)
* [Contributing](#contributing)
* [Example](#example)
<!--- END -->
## Overview
- Screenshot tests are tests which record the content of a rendered screen and verify subsequent runs to check if the screen renders differently.
- Element uses [Paparazzi](https://github.com/cashapp/paparazzi) to render, record and verify android layouts.
- The screenshot verification occurs on every pull request as part of the `tests.yml` workflow.
## Setup
- Install Git LFS through your package manager of choice (`brew install git-lfs` | `yay -S git-lfs`).
- Install the Git LFS hooks into the project.
```bash
# with element-android as the current working directory
git lfs install --local
```
- If installed correctly, `git push` and `git pull` will now include LFS content.
## Recording
- `./gradlew recordScreenshots`
- Paparazzi will generate images in `${module}/src/test/snapshots`, which will need to be committed to the repository using Git LFS.
## Verifying
- `./gradlew verifyScreenshots`
- In the case of failure, Paparazzi will generate images in `${module}/out/failure`. The images will show the expected and actual screenshots along with a delta of the two images.
## Contributing
- When creating a test, the file (and class) name names must include `ScreenshotTest`, eg `ItemScreenshotTest`.
- After creating the new test, record and commit the newly rendered screens.
- `./tools/validate_lfs` can be ran to ensure everything is working correctly with Git LFS, the CI also runs this check.
## Example
```kotlin
class PaparazziExampleScreenshotTest {
@get:Rule
val paparazzi = Paparazzi(
deviceConfig = PIXEL_3,
theme = "Theme.Vector.Light",
)
@Test
fun `example paparazzi test`() {
// Inflate the layout
val view = paparazzi.inflate<ConstraintLayout>(R.layout.item_radio)
// Bind data to the view
view.findViewById<TextView>(R.id.actionTitle).text = paparazzi.resources.getString(R.string.room_settings_all_messages)
view.findViewById<ImageView>(R.id.radioIcon).setImageResource(R.drawable.ic_radio_on)
// Record the bound view
paparazzi.snapshot(view)
}
}
```

351
docs/unit_testing.md Normal file
View File

@@ -0,0 +1,351 @@
# Table of Contents
<!--- TOC -->
* [Overview](#overview)
* [Best Practices](#best-practices)
* [Project Conventions](#project-conventions)
* [Setup](#setup)
* [Naming](#naming)
* [Format](#format)
* [Assertions](#assertions)
* [Constants](#constants)
* [Mocking](#mocking)
* [Fakes](#fakes)
* [Fixtures](#fixtures)
* [Examples](#examples)
* [Extensions used to streamline the test setup](#extensions-used-to-streamline-the-test-setup)
* [Fakes and Fixtures](#fakes-and-fixtures)
<!--- END -->
## Overview
Unit tests are a mechanism to validate our code executes the way we expect. They help to inform the design of our systems by requiring testability and
understanding, they describe the inner workings without relying on inline comments and protect from unexpected regressions.
However, unit tests are not a magical solution to solve all our problems and come at a cost. Unreliable and hard to maintain tests often end up ignored, deleted
or worse, provide a false sense of security.
### Best Practices
Tests can be written in many ways, the main rule is to keep them simple and maintainable. Some ways to help achieve this are...
- Break out logic into single units (following the Single Responsibility Principle) to reduce test complexity.
- Favour pure functions, avoiding mutable state.
- Prefer dependency injection to static calls to allow for simpler test setup.
- Write concise tests with a single function under test, clearly showing the inputs and expected output.
- Create separate test cases instead of changing parameters and grouping multiple assertions within a single test to help trace back failure causes (with the
exception of parameterised tests).
- Assert against entire models instead of subsets of properties to capture any possible changes within the test scope.
- Avoid invoking logic from production instances other than the class under test to guard from unrelated changes.
- Always inject `Dispatchers` and `Clock` instances and provide fake implementations for tests to avoid non deterministic results.
## Project Conventions
#### Setup
- Test file and class name should be the class under test with the Test suffix, created in a `test` sourceset, with the same package name as the class under
test.
- Dependencies of the class are instantiated inline, junit will recreate the test class for each test run.
- A line break between the dependencies and class under test helps clarify the instance being tested.
```kotlin
class MyClassTest {
private val fakeUppercaser = FakeUppercaser()
// line break between the class under test and its dependencies
private val myClass = MyClass(fakeUppercaser.instance)
}
```
#### Naming
- Test names use the `Gherkin` format, `given, when, then` mapping to the input, logic under test and expected result.
- `given` - Uniqueness about the environment or dependencies in which the test case is running. _"given device is android 12 and supports dark mode"_
- `when` - The action/function under test. _"when reading dark mode status"_
- `then` - The expected result from the combination of _given_ and _when_. _"then returns dark mode enabled"_
- Test names are written using kotlin back ticks to enable sentences _ish_.
```kotlin
@Test
fun `given a lowercase label, when uppercasing, then returns label uppercased`
```
When the input is given directly to the _when_, this can also be represented as...
```kotlin
@Test
fun `when uppercasing a lowercase label, then returns label uppercased`
```
Multiple given or returns statements can be used in the name although it could be a sign that the logic being tested does too much.
---
#### Format
- Test bodies are broken into sections through the use of blank lines where the sections correspond to the test name.
- Sections can span multiple lines.
```kotlin
// comments are for illustrative purposes
/* given */ val lowercaseLabel = "hello world"
/* when */ val result = textUppercaser.uppercase(lowercaseLabel)
/* then */ result shouldBeEqualTo "HELLO WORLD"
```
- Functions extracted from test bodies are placed beneath all the unit tests.
---
#### Assertions
- Assertions against test results are made using [Kluent's](https://github.com/MarkusAmshove/Kluent) _fluent_ api.
- Typically `shouldBeEqualTo`is the main assertion to use for asserting function return values as by project convention we assert against entire objects or
lists.
```kotlin
val result = listOf("hello", "world")
// Fail
result shouldBeEqualTo listOf("hello")
```
```kotlin
data class Person(val age: Int, val name: String)
val result = Person(age = 100, name = "Gandalf")
// Avoid
result.age shouldBeEqualTo 100
// Prefer
result shouldBeEqualTo Person(age = 100, "Gandalf")
```
- Exception throwing can be asserted against using `assertFailsWith<T : Throwable>`.
- When asserting reusable exceptions, include the message to distinguish between them.
```kotlin
assertFailsWith<ConcreteException>(message = "Details about error") {
// when section of the test
codeUnderTest()
}
```
---
#### Constants
- Reusable values are extracted to file level immutable properties or constants.
- These can be parameters or expected results.
- The naming convention is to prefix with `A` or `AN` for better matching with the test name.
```kotlin
private const val A_LOWERCASE_LABEL = "hello"
class MyTest {
@Test
fun `when uppercasing a lowercase label, then returns label uppercased`() {
val result = TextUppercaser().uppercase(A_LOWERCASE_LABEL)
...
}
}
```
---
#### Mocking
- In order to provide different behaviour for dependencies within tests our main method is through mocking, using [Mockk](https://mockk.io/).
- We avoid using relaxed mocks in favour of explicitly declaring mock behaviour through the _Fake_ convention. There are exceptions when mocking framework
classes which would require a lot of boilerplate.
- Using `Spy` is discouraged as it inherently requires real instances, which we are avoiding in our tests. There are exceptions such as `VectorFeatures` which
acts like a `Fixture` in release builds.
---
#### Fakes
- Fakes are reusable instances of classes purely for testing purposes. They provide functions to replace the functions of the interface/class they're faking
with test specific values.
- When faking an interface, the _Fake_ can be written using delegation or by stubbing
- All Fakes currently reside in the same package `${package}.test.fakes`
```kotlin
// Delegating to a mock
class FakeClock : Clock by mockk() {
fun givenEpoch(epoch: Long) {
every { epochMillis() } returns epoch
}
}
// Stubbing the interface
class FakeClock(private val epoch: Long) : Clock {
override fun epochMillis() = epoch
}
```
It's currently more common for fakes to fake class behaviour, we achieve this by wrapping and exposing a mock instance.
```kotlin
class FakeCursor {
val instance = mockk<Cursor>()
fun givenEmpty() {
every { instance.count } returns 0
every { instance.moveToFirst() } returns false
}
}
val fakeCursor = FakeCursor().apply { givenEmpty() }
```
#### Fixtures
- Fixtures are a reusable wrappers around data models. They provide default values to make creating instances as easy as possible, with the option to override
specific parameters when needed.
- Are namespaced within an `object`.
- Reduces the _find usages_ noise when searching for usages of the origin class construction.
- All Fixtures currently reside in the same package `${package}.test.fixtures`.
```kotlin
object ContentAttachmentDataFixture {
fun aContentAttachmentData(
type: ContentAttachmentData.Type.TEXT,
mimeType: String? = null
) = ContentAttachmentData(type, mimeType)
}
```
- Fixtures can also be used to manage specific combinations of parameters
```kotlin
fun aContentAttachmentAudioData() = aContentAttachmentData(
type = ContentAttachmentData.Type.AUDIO,
mimeType = "audio/mp3",
)
```
---
### Examples
##### Extensions used to streamline the test setup
```kotlin
class CircularCacheTest {
@Test
fun `when putting more than cache size then cache is limited to cache size`() {
val (cache, internalData) = createIntCache(cacheSize = 3)
cache.putInOrder(1, 1, 1, 1, 1, 1)
internalData shouldBeEqualTo arrayOf(1, 1, 1)
}
}
private fun createIntCache(cacheSize: Int): Pair<CircularCache<Int>, Array<Int?>> {
var internalData: Array<Int?>? = null
val factory: (Int) -> Array<Int?> = {
Array<Int?>(it) { null }.also { array -> internalData = array }
}
return CircularCache(cacheSize, factory) to internalData!!
}
private fun CircularCache<Int>.putInOrder(vararg values: Int) {
values.forEach { put(it) }
}
```
##### Fakes and Fixtures
```kotlin
class LateInitUserPropertiesFactoryTest {
private val fakeActiveSessionDataSource = FakeActiveSessionDataSource()
private val fakeVectorStore = FakeVectorStore()
private val fakeContext = FakeContext()
private val fakeSession = FakeSession().also {
it.givenVectorStore(fakeVectorStore.instance)
}
private val lateInitUserProperties = LateInitUserPropertiesFactory(
fakeActiveSessionDataSource.instance,
fakeContext.instance
)
@Test
fun `given no active session, when creating properties, then returns null`() {
val result = lateInitUserProperties.createUserProperties()
result shouldBeEqualTo null
}
@Test
fun `given a teams use case set on an active session, when creating properties, then includes the remapped WorkMessaging selection`() {
fakeVectorStore.givenUseCase(FtueUseCase.TEAMS)
fakeActiveSessionDataSource.setActiveSession(fakeSession)
val result = lateInitUserProperties.createUserProperties()
result shouldBeEqualTo UserProperties(
ftueUseCaseSelection = UserProperties.FtueUseCaseSelection.WorkMessaging
)
}
}
```
##### ViewModel
- `ViewModels` tend to be one of the most complex areas to unit test due to their position as a coordinator of data flows and bridge between domains.
- As the project uses a slightly tweaked`MvRx`, our API for the `ViewModel` is simplified down to `input - ViewModel.handle(Action)`
and `output Flows - ViewModel.viewEvents & ViewModel.stateFlow`. A `ViewModel` test asserter has been created to further simplify the process.
```kotlin
class ViewModelTest {
private var initialState = ViewState.Empty
@get:Rule
val mavericksTestRule = MavericksTestRule(testDispatcher = UnconfinedTestDispatcher())
@Test
fun `when handling MyAction, then emits Loading and Content states`() {
val viewModel = ViewModel<State>(initialState)
val test = viewModel.test() // must be invoked before interacting with the VM
viewModel.handle(MyAction)
test
.assertViewStates(initialState, State.Loading, State.Content())
.assertNoEvents()
.finish()
}
}
```
- `ViewModels` often emit multiple states which are copies of the previous state, the `test` extension `assertStatesChanges` allows only the difference to be
supplied.
```kotlin
data class ViewState(val name: String? = null, val age: Int? = null)
val initialState = ViewState()
val viewModel = ViewModel<State>(initialState)
val test = viewModel.test()
viewModel.handle(ChangeNameAction("Gandalf"))
test
.assertStatesChanges(
initialState,
{ copy(name = "Gandalf") },
)
.finish()
```

View File

@@ -0,0 +1,3 @@
Nový vzhled aplikace lze povolit v Experimentálních funkcích. Prosíme, vyzkoušejte ho!
Oprava problémů s chybějícími oznámeními a dlouhou přírůstkovou synchronizací.
Úplný seznam změn: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Hlavní změny v této verzi: Odložené přímé zprávy jsou ve výchozím nastavení povoleny.
Úplný seznam změn: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Hlavní změny v této verzi: Nové rozvržení aplikace je povoleno ve výchozím nastavení!
Úplný seznam změn: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,3 @@
Das neue App-Layout kann in den experimentellen Einstellungen aktiviert werden. Probier es gerne aus!
Fehler bzgl. ausbleibender Benachrichtigungen und langwierigem inkrementellem Synchronisieren behoben.
Vollständiges Änderungsprotokoll: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Die wichtigste Änderung in dieser Version: Verzögerte Direktnachrichten standardmäßig aktiviert!
Vollständiges Änderungsprotokoll: https://github.com/vector-im/element-android/releases/tag/v1.2.0

View File

@@ -0,0 +1,2 @@
Die wichtigste Änderung in dieser Version: Neues App-Layout standardmäßig aktiviert!
Vollständiges Änderungsprotokoll: https://github.com/vector-im/element-android/releases/tag/v1.2.0

View File

@@ -1 +1 @@
Gruppen-Messenger - verschlüsselte Kommunikation, Gruppenchat und Videoanrufe
Gruppen-Messenger verschlüsselte Kommunikation, Gruppen und Videoanrufe

View File

@@ -1 +1 @@
Element - Sicherer Messenger
Element Sicher kommunizieren

View File

@@ -0,0 +1,2 @@
Main changes in this version: Deferred DM enabled by default.
Full changelog: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Main changes in this version: New app layout enabled by default!
Full changelog: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,3 @@
Testide alt saad sisse lülitada uue kujunduse - palun proovi seda!
Parandasime teavitustega seotud vigu ning andmete sünkroniseerimist pika viitega.
Kogu ingliskeelne muudatuste logi: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Põhilised muutused selles versioonis: ajastatud otsesõnumite saatmine on nüüd vaikimisi kasutusel.
Kogu ingliskeelne muudatuste logi: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Põhilised muutused selles versioonis: rakenduse uus kujundus on nüüd vaikimisi kasutusel.
Kogu ingliskeelne muudatuste logi: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,3 @@
چینش کارهٔ جدید می‌تواند در تنظیمات آزمایشگاه‌ها به کار بیفتند. لطفاً بیازماییدش!
رفع مشکلات مربوط به آگاهی غایب و همگام‌سازی تجمعّی طولانی.
گزارش دگرگونی کامل: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
تغییرات عمده در این نگارش: پیام‌های مستقیم تعویقی به کار افتاده به صورت پیش‌گزیده!
گزارش دگرگونی کامل: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
تغییرات عمده در این نگارش: چینش کارهٔ جدید به کار افتاده به صورت پیش‌گزیده!
گزارش دگرگونی کامل: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,3 @@
La nouvelle présentation de lapplication est disponibles dans les paramètres expérimentaux. Essayez-là !
Correction de problèmes sur les notifications manquantes, et la synchronisation incrémentale lente.
Intégralité des changements : https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Principaux changements pour cette version : Création des conversations privées différée activée par défaut.
Intégralité des changements : https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Principaux changements pour cette version : Nouvelle disposition de lapplication activée par défaut !
Intégralité des changements : https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,3 @@
Az új alkalmazás megjelenés a Laborokban bekapcsolható. Próbáld ki!
Hiányzó értesítések és hosszú inkrementális szinkronizáció javítása.
Teljes változásnapló: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,3 @@
Tata Letak Aplikasi Baru dapat diaktifkan di pengaturan Uji Coba. Cobalah!
Perbariki masalah tentang notifikasi hilang, dan penyinkronan inkremental panjang.
Catatan perubahan lanjutan: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Perubahan utama dalam versi ini: Pesan langsung yang ditangguhkan diaktifkan secara bawaan.
Catatan perubahan lanjutan: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Perubahan utama dalam versi ini: Tata letak aplikasi baru diaktifkan secara bawaan!
Catatan perubahan lanjutan: https://github.com/vector-im/element-android/releases

View File

@@ -1,4 +1,4 @@
Element adalah perpesanan yang aman dan aplikasi kolaborasi tim produktivitas yang ideal untuk obrolan grup saat bekerja jarak jauh. Aplikasi perpesanan ini menggunakan enkripsi ujung-ke-ujung untuk menyediakan konferensi video, pembagian berkas, dan panggilan suara yang aman.
Element adalah perpesanan yang aman dan aplikasi kolaborasi tim produktivitas yang ideal untuk obrolan grup saat bekerja jarak jauh. Aplikasi perpesanan ini menggunakan enkripsi ujung ke ujung untuk menyediakan konferensi video, pembagian berkas, dan panggilan suara yang aman.
<b>Fitur Element termasuk:</b>
- Alat komunikasi daring yang canggih
@@ -11,7 +11,7 @@ Element adalah perpesanan yang aman dan aplikasi kolaborasi tim produktivitas ya
Element benar-benar berbeda dari aplikasi perpesanan dan aplikasi kolaborasi lainnya. Element beroperasi pada Matrix, jaringan terbuka untuk pengiriman pesan yang aman dan komunikasi yang terdesentralisasi.
<b>Perpesanan dengan privasi dan enkripsi</b>
Element melindungi Anda dari iklan yang tidak diinginkan, penambangan data, dan taman berdinding. Element juga mengamankan semua data Anda, komunikasi video dan suara satu-ke-satu dengan enkripsi ujung-ke-ujung, dan verifikasi perangkat menggunakan penandatanganan silang.
Element melindungi Anda dari iklan yang tidak diinginkan, penambangan data, dan taman berdinding. Element juga mengamankan semua data Anda, komunikasi video dan suara satu-ke-satu dengan enkripsi ujung ke ujung, dan verifikasi perangkat menggunakan penandatanganan silang.
Element memberikan Anda kendali atas privasi Anda sambil memungkinkan Anda untuk berkomunikasi dengan siapa saja secara aman di jaringan Matrix, atau alat kolaborasi bisnis lainnya dengan mengintegrasikan aplikasi seperti Slack.
@@ -30,7 +30,7 @@ Element menempatkan Anda dalam kendali dengan cara yang berbeda:
Anda dapat mengobrol dengan siapa saja di jaringan Matrix, jika mereka menggunakan Element, aplikasi Matrix lain, atau bahkan menggunakan aplikasi perpesanan yang berbeda.
<b>Sangat aman</b>
Enkripsi ujung-ke-ujung yang nyata (hanya mereka yang di dalam obrolan dapat mendekripsikan pesan), dan verifikasi perangkat menggunakan penandatanganan silang.
Enkripsi ujung ke ujung yang nyata (hanya mereka yang di dalam obrolan dapat mendekripsikan pesan), dan verifikasi perangkat menggunakan penandatanganan silang.
<b>Komunikasi dan integrasi lengkap</b>
Perpesanan, panggilan suara dan video, pembagian berkas, pembagian layar dan banyak integrasi bot dan widget. Buat ruangan dan komunitas, tetap terhubung, dan selesaikan hal-hal penting.

View File

@@ -0,0 +1,3 @@
Nuova disposizione dell'app attivabile nelle impostazioni Laboratori. Provala!
Corretti problemi su notifiche mancanti e sincronizzazioni incrementali lunghe.
Cronologia completa: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Modifiche principali in questa versione: messaggi diretti differiti attivati in modo predefinito.
Cronologia completa: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Modifiche principali in questa versione: nuova interfaccia dell'app attivata in modo predefinito!
Cronologia completa: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,42 @@
Element yra ir saugaus žinučių siuntimo, ir produktyvaus komandinio bendradarbiavimo programėlė, puikiai tinkanti grupiniams pokalbiams dirbant nuotoliniu būdu. Ši pokalbių programa naudoja visapusį šifravimą, kad užtikrintų galingas vaizdo konferencijas, dalijimąsi failais ir balso skambučius.
<b>Element funkcijos turi:</b>
- Išplėstinės bendravimo internetu priemonės
- Visiškai užšifruotos žinutės, kad būtų galima saugiau bendrauti su įmone, net ir su nuotoliniais darbuotojais
- Decentralizuoti pokalbiai, pagrįsti atvirojo kodo sistema Matrix
- Saugus dalijimasis failais su šifruotais duomenimis valdant projektus
- Vaizdo pokalbiai su IP balso perdavimu ir ekrano bendrinimu
- Lengva integracija su mėgstamiausiomis internetinėmis bendradarbiavimo priemonėmis, projektų valdymo įrankiais, VoIP paslaugomis ir kitomis komandinių pokalbių programomis
Element visiškai skiriasi nuo kitų žinučių siuntimo ir bendradarbiavimo programėlių. Ji veikia Matrix - atvirame tinkle, skirtame saugiam žinučių siuntimui ir decentralizuotam bendravimui. Jame galima savarankiškai talpinti duomenis ir žinutes savo serveryje, kad naudotojai galėtų maksimaliai valdyti ir kontroliuoti savo duomenis ir žinutes.
<b>Privatumas ir šifruotos žinutės</b>
Element apsaugo jus nuo nepageidaujamų reklamų, duomenų gavybos ir uždarų sodų. Jis taip pat apsaugo visus jūsų duomenis, "vienas su vienu" vaizdo ir balso ryšį, naudodamas visapusį šifravimą ir kryžmiškai pasirašytą įrenginių patvirtinimą.
Element suteikia galimybę kontroliuoti savo privatumą ir kartu saugiai bendrauti su visais, esančiais Matrix tinkle, arba kitais verslo bendradarbiavimo įrankiais integruojantis su tokiomis programėlėmis kaip Slack.
<b>Element gali būti savarankiškai talpinamas</b>
Kad galėtumėte geriau kontroliuoti savo slaptus duomenis ir pokalbius, Element gali būti savarankiškai talpinamas arba galite pasirinkti bet kurį Matrix pagrindu veikiantį serverį - atvirojo kodo decentralizuoto bendravimo standartu. Element suteikia privatumą, saugumo atititikimą ir integracijos lankstumą.
<b>Jūsų duomenys priklauso jums</b>
Jūs nusprendžiate, kur laikyti savo duomenis ir žinutes. Be duomenų gavybos ar trečiųjų šalių prieigos rizikos.
Element suteikia jums kontrolę įvairiais būdais:
1. Gaukite nemokamą paskyrą viešajame serveryje matrix.org, kurį talpina Matrix kūrėjai, arba rinkitės iš tūkstančių viešųjų serverių, kurių talpinimą teikia savanoriai
2. Savarankiškai talpinkite savo paskyrą, naudodami serverį savo IT infrastruktūroje
3. Užsisakykite paskyrą nuosavame serveryje tiesiog užsisakydami "Element Matrix Services" talpinimo paslaugą
<b>Atviras žinučių siuntimas ir bendradarbiavimas</b>
Galite bendrauti su bet kuriuo Matrix tinklo nariu, nesvarbu, ar jis naudojasi Element, kita Matrix programėle, ar net jei naudoja kitą žinučių siuntimo programėlę.
<b>Super saugus</b>
Tikras visapusis šifravimas (žinutes gali iššifruoti tik pokalbio dalyviai) ir kryžminiu parašu patvirtintas įrenginių patvirtinimas.
<b>Pilnas bendravimas ir integracija</b>
Žinučių siuntimas, balso ir vaizdo skambučiai, failų ir ekrano bendrinimas ir daugybė integracijų, robotų ir valdiklių. Kurkite kambarius, bendruomenes, palaikykite ryšį ir atlikite darbus.
<b>Tęskite darbą ten, kur baigėte</b>
Palaikykite ryšį, kad ir kur būtumėte, naudodami visiškai sinchronizuotą žinučių istoriją visuose įrenginiuose ir internete adresu https://app.element.io
<b>Atviras kodas</b>
Element Android yra atvirojo kodo projektas, kurį talpina GitHub. Praneškite apie klaidas ir (arba) prisidėkite prie jo kūrimo adresu https://github.com/vector-im/element-android

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