Commit graph

437 commits

Author SHA1 Message Date
Onuray Sahin
1f04e73fcb Test poll view state with a question and enough number of options. 2022-06-13 17:49:57 +03:00
Onuray Sahin
0bf37abca1 Test poll views state with enough number of options but without a question. 2022-06-13 15:58:13 +03:00
Onuray Sahin
5b35534c3d Test poll view state without enough options. 2022-06-13 15:54:33 +03:00
Onuray Sahin
19de21535b Test initial poll view state. 2022-06-13 15:53:25 +03:00
Onuray Sahin
cffa3270dd Create dummy data for poll view states. 2022-06-13 15:49:54 +03:00
Benoit Marty
c7d021ece6 Extract parser to its own file and add unit test. 2022-06-13 13:59:16 +02:00
Adam Brown
befcfe8c5b renaming success type to something more concrete 2022-06-09 08:52:29 +01:00
Adam Brown
88167a0287 fixing import ordering 2022-06-09 08:52:29 +01:00
Adam Brown
ba18c6f3e2 extracting registration action business logic to the handler abstraction and adding tests
- renames the existing handler to a wizard delegate
2022-06-09 08:52:28 +01:00
ericdecanini
2f9517f69d Merge remote-tracking branch 'origin/develop' into bugfix/eric/fix-upgrade-room 2022-06-08 13:17:58 +02:00
ericdecanini
31b245b8e3 Changes test name 2022-06-08 09:38:30 +02:00
Benoit Marty
c290dd6c1d
Merge branch 'develop' into task/eric/when-arrow-alignment 2022-06-07 23:03:36 +02:00
Adam Brown
edfabb0f26 adding missing loading state when confirming password reset
- adds reset test cases to the onboarding view model
2022-06-06 13:59:34 +01:00
ericdecanini
7d8590d85f Disables when arrow alignment post merge with develop 2022-06-03 12:14:47 +02:00
ericdecanini
f3d7127f17 Fixes lint error 2022-06-03 11:41:47 +02:00
ganfra
c48fd7708c Increase extraBufferCapacity (and allow configuration) and validate behavior with tests 2022-05-31 20:11:54 +02:00
Benoit Marty
884525bef0
Merge pull request #6125 from vector-im/task/eric/code-style-parenthesis
Code Style - New line before and after method parentheses
2022-05-31 18:17:07 +02:00
Johannes Marbach
637b3bb5ba Fix tests 2022-05-31 16:16:54 +02:00
ericdecanini
e6e05317e1 Merge remote-tracking branch 'origin/develop' into task/eric/code-style-parenthesis
# Conflicts:
#	matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/verification/qrcode/VerificationTest.kt
#	matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/keysbackup/DefaultKeysBackupService.kt
#	matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/DefaultRoomService.kt
#	matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/summary/RoomSummaryDataSource.kt
#	vector/src/main/java/im/vector/app/features/home/room/list/RoomSummaryItemFactory.kt
#	vector/src/main/java/im/vector/app/features/media/ImageContentRenderer.kt
2022-05-31 14:21:16 +02:00
Johannes Marbach
7dd5b801bb
Merge pull request #6149 from vector-im/johannes/widget-system-permissions
Make widget web view request system permissions for camera and microphone (PSF-1061)
2022-05-31 10:54:45 +02:00
Adam Brown
7fdf138e5a
Merge pull request #6036 from vector-im/feature/adm/ftue-deeplinks
FTUE - Homeserver sign in/up deeplinks
2022-05-31 09:30:17 +01:00
Johannes Marbach
4ebb26d3d3 Merge branch 'develop' into johannes/widget-system-permissions 2022-05-31 09:53:31 +02:00
Benoit Marty
bd2cd3ad96
Merge pull request #6183 from SpiritCroc/persist-image-notification
Fix some notifications never getting dismissed
2022-05-30 20:24:11 +02:00
Onuray Sahin
4ccd242cbf
Merge pull request #6170 from vector-im/feature/ons/live_location_bottom_sheet
Live Location Sharing - User List Bottom Sheet [PSF-890]
2022-05-30 21:07:25 +03:00
Benoit Marty
ae94f45f34
Merge pull request #5952 from vector-im/feature/bma/sdk_user_story
Sdk user story
2022-05-30 18:30:56 +02:00
Onuray Sahin
353f290f0c Fix unit tests. 2022-05-30 19:21:57 +03:00
Johannes Marbach
75da9887be Move test to the right folder 2022-05-30 17:09:28 +02:00
Onuray Sahin
84b3d5520c Fix unit tests. 2022-05-30 17:41:26 +03:00
SpiritCroc
0670c3c6ee Update unit test for imageUriString 2022-05-30 14:55:08 +02:00
Benoit Marty
ab651cbe50
Merge pull request #6164 from vector-im/bug/adm/link-checking
Ask the user to confirm urls which contain unicode direction overrides
2022-05-30 14:07:23 +02:00
Maxime NATUREL
eeaf9fd616
Merge pull request #6129 from vector-im/feature/mna/PSF-1019-user-pins
[Location sharing] - Show user live location pins in map view (PSF-1019)
2022-05-30 12:32:09 +02:00
Maxime NATUREL
7f2279c8a8 Improving view state mapper 2022-05-30 10:37:58 +02:00
Adam Brown
913c6b0f14 warning the user when urls contain directional overrides and allowing them to confirm the url 2022-05-26 12:32:22 +01:00
ericdecanini
d5432cd0e7 Merge remote-tracking branch 'origin/develop' into task/eric/code-style-parenthesis
# Conflicts:
#	vector/src/main/java/im/vector/app/features/onboarding/DirectLoginUseCase.kt
2022-05-26 10:37:19 +02:00
ericdecanini
8647400dda Merge remote-tracking branch 'origin/develop' into task/eric/code-style-parenthesis
# Conflicts:
#	matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/MXOlmDevice.kt
2022-05-25 17:35:31 +02:00
Adam Brown
86c9e60129 formatting 2022-05-25 13:34:08 +01:00
Adam Brown
f6190b125c removing extra line 2022-05-25 13:34:08 +01:00
Adam Brown
75d038b058 adding test case around invalid deeplinks within the onboarding flow 2022-05-25 13:34:08 +01:00
Adam Brown
797e0ee706 creating a build meta abstraction for allowing testing classes with build version checks 2022-05-25 13:34:08 +01:00
Maxime NATUREL
aa65d82341 Adding unit tests for ViewModel 2022-05-25 14:05:14 +02:00
Maxime NATUREL
65d7ec8696 Adding unit tests for use case to get the list of current running lives 2022-05-25 14:05:14 +02:00
Maxime NATUREL
5efe26c7dd Fix code quality issues 2022-05-25 14:05:14 +02:00
Maxime NATUREL
7ef91ce717 Adding unit tests for view state mapper 2022-05-25 14:05:14 +02:00
Adam Brown
bc2a99c3cf matching variable name with type 2022-05-25 10:22:27 +01:00
Adam Brown
25b81c2952 creating subtype for register/login authentication types 2022-05-25 10:22:26 +01:00
Adam Brown
c3ce887e33 minor refactors
- extracting login fields validation
- renaming xml fields to login
- renaming direct login property to matrixId
2022-05-25 10:17:51 +01:00
Adam Brown
b3bbb0329e directing to the combined login after homeserver check
- also removes the subtitle view which is not needed for login
2022-05-25 10:17:51 +01:00
Adam Brown
a59b8bf50c
Merge pull request #6065 from vector-im/feature/adm/matrix-org-ordering
FTUE - Only override sign up steps for `matrix.org`
2022-05-23 21:24:48 +01:00
ericdecanini
3f3662e605 Changes code style method parameters new line around parentheses to true 2022-05-23 12:30:42 +02:00
Benoit Marty
6e3979a32d Fix test compilation 2022-05-20 21:14:42 +02:00
Benoit Marty
1ab4ae9eac Extract KeyRef to its own file 2022-05-20 21:14:42 +02:00
Adam Brown
c0efd9f1af updating ignored result register action as the one being used is now consumed 2022-05-20 12:11:44 +01:00
Adam Brown
b2d8163aad adding unit test around polling for email verification 2022-05-20 12:11:44 +01:00
Adam Brown
d4a5b71a4d adding email input FTUE screen
- lifts the threepid email error handling to the RegistrationActionHandler rather than having the UI infer success from a 401
2022-05-20 12:11:44 +01:00
Michael Kaye
e66284fbd3 Rename 'getDomain' to 'getServerName'.
In the context of matrix IDs, this removes the leading @name: leaving the hostname or hostname and port.
2022-05-18 15:21:33 +01:00
ericdecanini
b12549831e Merge remote-tracking branch 'origin/develop' into bugfix/eric/softlogout-ux-broken
# Conflicts:
#	matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/db/SessionParamsMapper.kt
#	matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/registration/DefaultRegistrationWizard.kt
#	vector/src/main/java/im/vector/app/features/login/LoginActivity.kt
#	vector/src/main/java/im/vector/app/features/signout/soft/SoftLogoutController.kt
#	vector/src/main/java/im/vector/app/features/signout/soft/SoftLogoutViewModel.kt
2022-05-17 14:24:35 +02:00
Adam Brown
1ec99ee89e renaming comparator to only specify the matrix.org domain 2022-05-17 10:31:32 +01:00
Adam Brown
51ffe26a91 renaming comparator to give more context to its usage 2022-05-16 17:17:15 +01:00
Benoit Marty
4c95aafe10 Detekt: enable and fix EndOfSentenceFormat 2022-05-16 08:54:07 +02:00
Benoit Marty
3bc84f0d38 Detekt: fix MaxLineLength
@ouchadam your test fun names are too long!
2022-05-12 17:38:49 +02:00
Valere
12ab4787f1 Merge branch 'develop' into feature/bca/crypto_better_key_share 2022-05-10 19:30:52 +02:00
ericdecanini
3fb03e2b2c Reformats project based on editorconfig 2022-05-05 19:10:35 +02:00
ClaireG
c9bd1f32b9
Update notifications rules: make a sound for each notification 2022-05-05 14:02:11 +02:00
Benoit Marty
8602cbba7a Fix test 2022-05-03 17:43:00 +02:00
Valere
f57e20c73c make grace period configurable and reduce test duration 2022-05-02 17:19:08 +02:00
Valere
d0bff5000c Fix UISIDetector grace period bug 2022-05-02 10:10:29 +02:00
Adam Brown
cd52df5d2e
Merge pull request #5785 from vector-im/feature/adm/ftue-step-ordering
FTUE - Registration step ordering
2022-04-28 09:33:08 +01:00
Valere
9177cb11d5 Refactor key and secret request managers
use megolm backup before sending key request
2022-04-26 17:27:52 +02:00
Benoit Marty
0092a7057e Access the various services with a getter 2022-04-25 09:49:51 +02:00
ericdecanini
9b479ca8c0 Merge remote-tracking branch 'origin/develop' into bugfix/eric/softlogout-ux-broken 2022-04-20 18:23:27 +02:00
Adam Brown
2d7b71f70d extracting stage ordering to its own class with test 2022-04-19 12:30:33 +01:00
Adam Brown
5001be9f21 adding test around editing error flow and reducing initial test state setup boilerplate 2022-04-14 11:05:02 +01:00
Benoit Marty
0720196ee6 Move CryptoDeviceInfo to api package 2022-04-12 15:38:20 +02:00
Adam Brown
6304d5dc93 creating a common type for the edit/selecting of homeserver urls to avoid duplication in the model 2022-04-08 13:16:29 +01:00
Adam Brown
21102a2f9f renaming homeserver url properties to better define their content 2022-04-08 13:16:29 +01:00
Adam Brown
8b2e2a16e2 adding tests around the editing of the homeserver url 2022-04-08 13:16:29 +01:00
Adam Brown
f34df3997d extracting the authentication start logic to a dedicated use case
- moves some of the homeserver specific state to the selectServer model
2022-04-08 13:16:29 +01:00
Benoit Marty
0fe3cc3acc
Merge pull request #5663 from cketti/fix_openOutputStream
Use truncate mode to replace the contents of existing files

`ContentResolver.openOutputStream(Uri)` does not truncate existing files. If the amount of data written is smaller than the file size, you end up with new data at the beginning of the file followed by old data at the end of the file.
2022-03-31 09:56:32 +02:00
cketti
29c7ea11bd Create extension function Context.safeOpenOutputStream 2022-03-30 15:38:40 +02:00
Adam Brown
9d3d574d28
FTUE - Finalising personalisation journey (#5519)
* enabling the personalisation flow and promoting the strings for translation

* delegating the fake vector features to the static defaults, the fake exists for allowing overrides when needed

* incorporating the personalisation screens into the UI test signup

* adding changelog entry

* removing unused import

* putting the personalisation UI test flow behind the feature flag so that we can keep it disabled

* disabling the personalisation flow, we'll batch enable with other parts of the FTUE flow

* enabling the personalisation feature for registration unit tests which expect it to be enabled
2022-03-30 09:09:46 +01:00
cketti
b9b5cab772 Use truncate mode to replace the contents of existing files
`ContentResolver.openOutputStream(Uri)` does not truncate existing files. If the amount of data written is smaller than the file size, you end up with new data at the beginning of the file followed by old data at the end of the file.
2022-03-29 18:57:22 +02:00
ericdecanini
ce579c1dd3 Merge remote-tracking branch 'origin/develop' into bugfix/eric/softlogout-ux-broken
# Conflicts:
#	vector/src/main/java/im/vector/app/features/login/LoginActivity.kt
#	vector/src/main/java/im/vector/app/features/signout/soft/SoftLogoutController.kt
2022-03-28 15:59:50 +02:00
Adam Brown
cfb3aa8a22 adding direct login error path tests 2022-03-25 11:15:05 +00:00
Adam Brown
230c37597c adding happy path tests for the direct login use case 2022-03-25 11:15:05 +00:00
Adam Brown
88197991e1 extracting the direct login logic to its own use case along with viewmodel test case
- will ensure we emit account sign in when going via direct login flow
2022-03-25 11:15:05 +00:00
Adam Brown
373385b29f moving the not accepting registration error handling to the login fragment 2022-03-23 17:29:06 +00:00
Adam Brown
2227df479c replacing async login/register state with separate failure view event and shared isLoading 2022-03-23 17:20:47 +00:00
Adam Brown
e3df9c4cef using isLoading boolean instead of stateless async result for the display name and profile picture updates 2022-03-23 16:48:07 +00:00
Adam Brown
fdf3cc36ce fixing view model tests not collecting flow results
- the switch from runBlockingTest to runTest means we need to provide a separate scope from the test in order to asynchronously collect the flow results
2022-03-22 17:01:34 +00:00
Benoit Marty
012cdf4b4d runBlocking -> runTest
https://github.com/Kotlin/kotlinx.coroutines/blob/master/kotlinx-coroutines-test/MIGRATION.md
2022-03-22 16:52:18 +01:00
Benoit Marty
86829008c3 runBlockingTest -> runTest
https://github.com/Kotlin/kotlinx.coroutines/blob/master/kotlinx-coroutines-test/MIGRATION.md
2022-03-22 16:39:39 +01:00
Adam Brown
ce2c309d72 including verification to ensure no other methods are being called 2022-03-18 14:00:56 +00:00
Adam Brown
7f943d37fd explicitly declaring the fake registrationb wizard as not relaxed and creating new test instances for each case 2022-03-18 13:15:14 +00:00
Adam Brown
ba76aac965 removing unused fake helper methods 2022-03-17 16:54:51 +00:00
Adam Brown
d514751ffd avoiding shadowed lambda parameters 2022-03-17 16:52:37 +00:00
Adam Brown
5df2ae9ae2 updating with previous state helper and including javadoc to help explain its usage 2022-03-17 16:50:20 +00:00
Adam Brown
3d20d46eb3 enabling the personalize step for the unit tests preemptively for the feature to be enabled 2022-03-15 17:49:44 +00:00
Adam Brown
fe206fe130 fixing wrong action for starting the sign up 2022-03-15 17:49:44 +00:00
Adam Brown
694016fc16 adding test case for the non loading registration steps 2022-03-15 17:49:44 +00:00
Adam Brown
390ae4344d allowing test withPrevious to be supplied a list 2022-03-15 17:49:44 +00:00
Adam Brown
804513c808 adding case for result ignoring register actions 2022-03-15 17:49:44 +00:00
Adam Brown
75cbb727a4 cleaning up test names and bodies to be clearer 2022-03-15 17:49:43 +00:00
Adam Brown
b2a1aa17bd adding commas to separate the test name sections 2022-03-15 17:49:17 +00:00
Adam Brown
3fa415007c extracting registration steps to separate handler to make testing the flow simpler 2022-03-15 17:49:16 +00:00
Adam Brown
4225f62120 adding test helper for asserting states whilst combining previous updates 2022-03-15 17:42:42 +00:00
Maxime Naturel
094e62c95b Adding unit tests for use case 2022-03-15 17:09:31 +01:00
Onuray Sahin
1a76914828
Merge pull request #5345 from vector-im/feature/ons/fix_unstable_prefixes
Support both unstable and stable prefixes
2022-03-15 15:16:16 +03:00
Adam Brown
c84ce5a2e0 making use of the fake overrides for testing 2022-03-14 11:54:42 +00:00
Adam Brown
4b9b177104 forwarding to the profile picture flow when display name changing isn't supported but pictures are when personalising the profile 2022-03-14 11:54:42 +00:00
Adam Brown
b5778bd6c5 formatting 2022-03-14 11:54:42 +00:00
Adam Brown
716928d9d2 dynamically switching the onboarding flow based on the capabilities of the homeserver
- when avatars can't be changed we complete the personlisation flow
2022-03-14 11:54:42 +00:00
Adam Brown
a033243475 adding test around account creation via dummy 2022-03-14 11:54:42 +00:00
Adam Brown
10e4fd1707 updating upstream avatar on profile picture save and continue step
- moves the personalisation state to a dedicated model to allow for back and forth state restoration
2022-03-14 11:54:42 +00:00
Benoit Marty
20c1886fed Support both unstable and stable prefixes.
Author: Onuray
2022-03-09 10:40:43 +01:00
Adam Brown
9a02543afd
FTUE - Choose a display picture (#5323)
* adding tests around the onboarding view model
- cases for the personalisation and display name actions

* adding base choose name fragment with UI

* add click handling for the display name actions

* adding tests around the onboarding view model
- cases for the personalisation and display name actions

* adding barebones profile picture fragment with ability to select a user avatar

* extracting uri filename resolving to a class which can be injected
- includes tests

* updating upstream avatar on profile picture save and continue step
- moves the personalisation state to a dedicated model to allow for back and forth state restoration

* adding test case for skipping profile picture setting

* taking the profile loading into account when rendering the onboarding loading

* extracting method for the handling of the profile picture selection

* adding dedicated camera icon for choosing profile picture

* adding toolbar to back to profile picture page
- this toolbar will fade in with the fragment as it sits at the fragment level, probably worth revisiting once more pages have a toolbar

* changing edit/add picture icon based on if we're already selected an image

* making use of debounced clicks to avoid potential extra clicks

* making the avatar height and camera icon relative percentage based
- also makes the avatar itself clicking, including a foreground ripple

* fixing formatting

* making use of fake session id for user id assertion

* using a real  matrix id syntax for the fake session user id

* removing duplicated dimens

* using self closing imageview tag
2022-03-07 14:07:22 +00:00
ericdecanini
6836a12557 Fixes legal comments 2022-03-07 13:49:23 +01:00
ericdecanini
e1f227a545 Fixes legal comments in matrix sdk files added 2022-03-07 13:14:10 +01:00
Adam Brown
10f480b88d adding missing VectorOverrides param from test instance creation and removing unused VectorDatastore 2022-03-02 18:27:12 +00:00
Adam Brown
99e5a8f2fa
FTUE - Choose a display name (#5211)
* adding base choose name fragment with UI

* add click handling for the display name actions

* updating real account display name

* setting the initial disabled state when the view is created

* adding header padding which would have been a toolbar

* exiting the flow on display name updated or skipped, the next PR will introduce the profile picture screen

* updating view model state testing to take all emissions into account

* adding tests around the onboarding view model
- cases for the personalisation and display name actions

* using colorSecondary instead of accent as per quality script rule

* making use of viewevent delegating action for the back handling

* using debounced clicks

* consuming the back action when existing the display name fragment via viewmodel

* making the keyboard imeDone update the display name
2022-03-02 17:59:40 +00:00
Maxime Naturel
562780a169 Adding a FakeFile class for unit tests 2022-02-28 11:55:14 +01:00
Maxime Naturel
0170171caa Adding missing spaces after comments 2022-02-28 10:28:45 +01:00
Maxime Naturel
56c6301151 Adding unit tests 2022-02-25 16:39:26 +01:00
Adam Brown
d99a2f8d14 creating and passing stored user properties on post hog initialisation
- this allows information captured during the onboarding to be sent once the user has opt'd in
2022-02-15 16:03:21 +00:00
Adam Brown
e36e67c54c adding unit tests around the analytics impl 2022-02-15 15:16:24 +00:00
Adam Brown
580ecc9c44 adding lateinit user property factory for use when calling the initial identify tracking
- this will allow us send the pending onboarding properties once consent is given
2022-02-15 12:19:39 +00:00
Onuray Sahin
c590bbdb9b Code review fixes. 2022-02-03 12:53:59 +03:00
Onuray Sahin
c2daab4211 Code review fixes. 2022-02-02 19:33:34 +03:00
Onuray Sahin
a131d28b3e Merge branch 'develop' into feature/ons/generic_location_pin
* develop: (146 commits)
  exhaustive not needed anymore
  Invert if condition and split long line
  Use kotlin string builder
  Same issue but in the test
  Format
  Fix a crash: java.util.IllegalFormatPrecisionException https://github.com/matrix-org/element-android-rageshakes/issues/33398
  add changelog file for threads feature
  add changelog file for threads feature
  Formatting
  Improve hidden events for threads
  Add TODO for the next Weblate sync
  ktlint format
  PR remarks
  Fix a lint false positive? Anyway this was not used. Restricted API ../../../matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/job/SyncWorker.kt:61: ListenableWorker.getTaskExecutor can only be called from within the same library group (referenced groupId=androidx.work from groupId=element-android)
  It seems that now lint rule `MissingQuantity` is an error and not a warning by default.
  Whitelist group 'org.webjars' on MavenCentral to fix lint execution
  Fix conflicts
  Formating & remove unused comments
  Fix error in unit test
  ktlint format
  ...

# Conflicts:
#	vector/src/main/java/im/vector/app/features/navigation/Navigator.kt
2022-02-02 14:35:30 +03:00
Onuray Sahin
37d35c9a7f Support generic location pin. 2022-02-02 14:25:54 +03:00
ariskotsomitopoulos
d509b3324c Merge branch 'develop' into feature/aris/threads 2022-01-31 15:58:12 +02:00
ariskotsomitopoulos
f07c23fdda Formating & remove unused comments 2022-01-31 14:52:09 +02:00
ariskotsomitopoulos
ec9b6aa993 Fix error in unit test 2022-01-31 14:50:57 +02:00
Benoit Marty
303a858423 Create an extension, improve the parsing algorithm, add robustness and unit test it 2022-01-29 08:13:11 +01:00
Benoit Marty
6710f9320b Add some unit test for the command parser.
Not all commands are covered, could add more tests later.
2022-01-19 20:52:31 +01:00
Adam Brown
f61474cb83 lifting the seenIds cache to the event queue rather than chaining it through, allows us to simplify the state model 2021-11-18 13:39:07 +00:00
Benoit Marty
df60b0c2b7
Merge pull request #4430 from vector-im/feature/adm/feature-notification-images
Notification images
2021-11-15 12:46:51 +01:00
Adam Brown
b90b396753 fixing compilation error in unit test 2021-11-10 09:44:16 +00:00
Adam Brown
145ceacf78 fixing auto merge issues 2021-11-08 15:24:08 +00:00
Adam Brown
57037c9ac6 adding test cases around the mutating of the notification event queue 2021-11-08 15:24:08 +00:00
Adam Brown
6bc121ad4a extracting notifiable event fixtures to their own file 2021-11-08 15:24:08 +00:00
ganfra
bb4a820c31 Flow migration: update after PR reviews 2021-10-28 19:19:59 +02:00
ganfra
da47bfde2b Flow migration: remove Shortcuts process from main thread 2021-10-27 19:26:51 +02:00
ganfra
b93e67ed11 Flow migration: clean up 2021-10-27 16:12:01 +02:00
ganfra
635ca8e276 Merge branch 'develop' into feature/fga/rx_flow_migration 2021-10-27 16:05:43 +02:00
Adam Brown
6d9877d79c filtering out redacted simple message events, we handle them by updating the notifications 2021-10-26 20:03:10 +01:00
Adam Brown
a5fe6f7212 removing redacted events from the room notification message list 2021-10-26 20:03:10 +01:00
Adam Brown
743a71c78d renaming event lists to give more context and remove the list suffix/inconsistencies 2021-10-26 20:03:10 +01:00
Adam Brown
d1f6db4236 using dedicated ProcessedEvent data class instead of type alias for passing around the process notificatiable events
- also includes @JvmName on all conflicting extensions for consistency
2021-10-26 20:03:10 +01:00
Adam Brown
63090ef681 updating tests with shortcut placement changes 2021-10-26 20:03:10 +01:00
Adam Brown
86ce6a404e adding missing fixture parameter from rebase 2021-10-26 20:03:10 +01:00
Adam Brown
c67b9ee81e ensuring that we remove read messages when they come through by respecting the processed type when creating the notifications 2021-10-26 20:03:10 +01:00
Adam Brown
0bdc65b47f diffing the notification events against the currently rendered events allow us to dismiss notifications from removed events 2021-10-26 20:03:10 +01:00
Adam Brown
b27fb264fc using a process state of keep/removed rather than mapping to an ignored event id
- this state will be used to diff the currently rendered events against the new ones
2021-10-26 20:03:10 +01:00
Adam Brown
b7b4c01bde splitting the event processing from the rendering
- this allows us to only synchronise of the event list modifications rather than the entire notification creation/rendering which should in turn reduce some of our ANRs https://github.com/vector-im/element-android/issues/4214
2021-10-26 20:03:10 +01:00
Adam Brown
03fe45da60 ensuring that we removing the summary group before removing individual notifications
- adds some comments to explain the positioning
2021-10-26 20:03:10 +01:00
Adam Brown
a94a1a0523 formatting 2021-10-26 20:03:10 +01:00
Adam Brown
0d316e69de handling creating the summary when notification events are filtered to empty due to only containing removals 2021-10-26 20:03:10 +01:00
Adam Brown
3d567d0dcd removing no longer needed hasBeenDisplayed state, the eventList is our source of truth
- when events have finished being displayed they should be removed from the eventList via notification delete actions
2021-10-26 20:03:10 +01:00
Adam Brown
c85afa96d3 lifting settings change to cancel all notifications out of the renderer
- the renderer's responsibility it handling events
2021-10-26 20:03:10 +01:00
Adam Brown
3023cb4d39 chaining the event process, notification creation and display logic into a NotificationRender
- extract the displaying into its own class to avoid leaking the entire notificationutils
- cancel/display notification actions are completely driven by the event or abscense of event from the eventList
- attempts to avoid redundant render passes by checking if the eventList has changed since the last render
2021-10-26 20:03:10 +01:00
Adam Brown
0f4ec65b7a creating the notifications separate to where they're displayed
- also handles when the event diff means the notifications should be removed
2021-10-26 20:03:10 +01:00
Adam Brown
7b0c483134 creating dedicated class for the processing the serialized events
- updates the logic to track when events are removed as a way for the notifications to remove themselves, null events mean they've been removed
2021-10-26 20:03:10 +01:00
ganfra
a9d192fa39 Flow migration: add back some test 2021-10-26 18:09:07 +02:00
ganfra
c936954119 Flow migration: start replacing Rx by Flow 2021-10-26 14:24:23 +02:00
ganfra
e1f4e4f934 Hilt: fix test 2021-10-22 18:38:48 +02:00
Adam Brown
fc793c442b reverting back to using an array for the circular cache, makes preloading and setting the value simpler
- adds unit tests to show it working
2021-10-14 14:02:23 +01:00
ganfra
a24a9b43fa Mavericks 2: make the UT happy. Let SDK exposes MatrixCoroutineDispatchers. 2021-10-12 13:47:32 +02:00
ganfra
f6b81b36d0 Mavericks 2: switch from MvRxState to MavericksState 2021-10-01 10:08:06 +02:00
Adam Brown
b55e94b938 extracting the rx instant setup to a reuseable test rule 2021-09-29 13:23:40 +01:00
Adam Brown
daa3125e57 adding test cases around the SharedSecureStorageViewModel initial state and back flow
- introduces a temporary workaorund the unit tests Mavericks by including a no op LifecycleRegistry
- manually sets instant rx schedulers via the static helpers, the layers that set the schedulers are not currently injectable
2021-09-29 13:14:22 +01:00
Adam Brown
19d1d981c3 linting 2021-09-27 17:39:21 +01:00
Adam Brown
509c61c1a8 extracting the test fakes to their own package 2021-09-27 17:23:07 +01:00
Adam Brown
ac0c7067e0 updating the keys exporter to validate the generated file size in an attempt to warn the user of malformed outputs
- injects the io dispatcher to allow the testing
- adds unit tests around the different error flows
2021-09-27 17:23:07 +01:00
ganfra
84e6a67a51 Jitsi widget: refact a bit so we use data instead of url when possible 2021-08-27 14:03:52 +02:00
Benoit Marty
047c59eba0 Rework colors management 2021-06-09 15:36:20 +02:00
Constantin Wartenburger
26b8ef8af9
Changed rainbow algorithm 2020-10-05 17:28:05 +02:00
Benoit Marty
31029e90cc Fix test compilation issue (no detected since Olm was not available) 2020-09-24 12:46:14 +02:00
Benoit Marty
a1f90abcd2 Rename package im.vector.riotx to im.vector.app (IDE) 2020-08-03 18:46:29 +02:00
Benoit Marty
27fe4e3680 Fix build and add tests 2020-01-29 09:44:53 +01:00
Benoit Marty
007b0cabf2 Add a few TUs 2020-01-28 22:43:10 +01:00
Benoit Marty
b2338dfcd3 Make the TU passes 2020-01-28 22:35:40 +01:00
Benoit Marty
6d7d4993a6 Add TUs for RainbowGenerator (not all passing) 2020-01-28 21:56:02 +01:00
ganfra
7c0f2d6e32 Test: fix import 2020-01-15 11:48:02 +01:00
Benoit Marty
8fc1400bab Improve user color computation and add unit tests 2019-12-14 10:38:50 +01:00
Benoit Marty
8422c6de17 Remove test sample 2019-10-24 17:21:19 +02:00
Benoit Marty
504009499f Rename im.vector.riotredesign to im.vector.riotx 2019-07-02 17:27:08 +02:00
Benoit Marty
9048a1dbbe Rename app to vector 2019-04-02 11:24:54 +02:00