Commit graph

9440 commits

Author SHA1 Message Date
networkException
f86362f065
VectorPreferences: Add switch for autoplaying animated images
This patch adds a new switch to VectorPreferences, the vector settings
preferences view and various classes propergating the set value of the
switch into parts of the application touched by the following patches.

Signed-off-by: networkException <git@nwex.de>
2022-05-30 20:05:26 +02: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
Johannes Marbach
769b217c7e Remove unused imports 2022-05-30 16:53:59 +02:00
Johannes Marbach
d757914225 Unsuppress lint rule 2022-05-30 16:35:44 +02:00
Auri B. P
a10e67c594 Translated using Weblate (Catalan)
Currently translated at 100.0% (2225 of 2225 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/ca/
2022-05-30 14:32:30 +00:00
Mr.Narsus
1e5b378fbf Translated using Weblate (Arabic)
Currently translated at 44.0% (979 of 2225 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/ar/
2022-05-30 14:32:10 +00:00
Onuray Sahin
04679ea21d Merge branch 'develop' into feature/ons/live_location_bottom_sheet
* develop: (114 commits)
  Docs: Fix various formatting and spelling issues in notifications.md
  Fixing non necessary breaking line
  continuing to the originally supplied url when a rtl override character is detected
  splitting url detection condition into separate branches
  Cleaner code
  Create extension `String?.toActiveSpaceOrOrphanRooms()` to reduce noise.
  Add changelog
  Fix test compilation
  Add some Kdoc
  Add some Kdoc
  Create SpaceFilter.OrphanRooms to improve the API. Not 100% of the side effect. There is probably some (fixed?) bugs here.
  Rename ActiveSpaceFilter to SpaceFilter
  Remove `ActiveSpaceFilter.None` Prefer nullability for API coherency of `RoomSummaryQueryParams`
  Add some Kdoc
  Remove duplicated lines of code (the same code is done a few lines later)
  Remove `RoomCategoryFilter.ALL` Prefer nullability for API coherency of `RoomSummaryQueryParams`
  `displayName` default value is now `QueryStringValue.NoCondition`. It was working fine since in the DB we always have a name using `RoomDisplayNameFallbackProvider`, which in our current implementation always return a non empty String.
  Small rework for nicer code
  Remove duplicated code lines
  Remove `roomId` from `RoomSummaryQueryParams.Builder()`. Create a new API in RoomService to observe a room summary from a roomId.
  ...

# Conflicts:
#	vector/src/main/java/im/vector/app/features/location/live/map/LocationLiveMapViewFragment.kt
2022-05-30 16:27:11 +03:00
Aris Kotsomitopoulos
9a756f2b7a
Merge pull request #6168 from vector-im/feature/aris/threads_update_icons
Fix wrong rendered vector icon
2022-05-30 15:59:18 +03:00
Onuray Sahin
21abc3fa77 Code review fixes. 2022-05-30 15:40:36 +03: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
SpiritCroc
292020e95d Fix some notifications never getting dismissed
Persisting notification info fails for non-null Uris:

E NotificationEventPersistence: ## Failed to save cached notification info
E NotificationEventPersistence: java.io.NotSerializableException: android.net.Uri$HierarchicalUri
E NotificationEventPersistence: 	at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1240)
E NotificationEventPersistence: 	at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1604)
E NotificationEventPersistence: 	at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1565)
E NotificationEventPersistence: 	at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1488)
E NotificationEventPersistence: 	at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1234)
E NotificationEventPersistence: 	at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:354)
E NotificationEventPersistence: 	at java.util.ArrayList.writeObject(ArrayList.java:762)
E NotificationEventPersistence: 	at java.lang.reflect.Method.invoke(Native Method)
E NotificationEventPersistence: 	at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1036)
E NotificationEventPersistence: 	at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1552)
E NotificationEventPersistence: 	at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1488)
E NotificationEventPersistence: 	at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1234)
E NotificationEventPersistence: 	at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:354)
E NotificationEventPersistence: 	at org.matrix.android.sdk.internal.session.securestorage.SecretStoringUtils.saveSecureObjectM(SecretStoringUtils.kt:283)
E NotificationEventPersistence: 	at org.matrix.android.sdk.internal.session.securestorage.SecretStoringUtils.securelyStoreObject(SecretStoringUtils.kt:150)
E NotificationEventPersistence: 	at org.matrix.android.sdk.internal.session.securestorage.DefaultSecureStorageService.securelyStoreObject(DefaultSecureStorageService.kt:27)
E NotificationEventPersistence: 	at im.vector.app.features.notifications.NotificationEventPersistence.persistEvents(NotificationEventPersistence.kt:58)
E NotificationEventPersistence: 	at im.vector.app.features.notifications.NotificationDrawerManager$persistEvents$1.invoke(NotificationDrawerManager.kt:183)
E NotificationEventPersistence: 	at im.vector.app.features.notifications.NotificationDrawerManager$persistEvents$1.invoke(NotificationDrawerManager.kt:182)
E NotificationEventPersistence: 	at im.vector.app.features.notifications.NotificationState.queuedEvents(NotificationState.kt:55)
E NotificationEventPersistence: 	at im.vector.app.features.notifications.NotificationDrawerManager.persistEvents(NotificationDrawerManager.kt:182)
E NotificationEventPersistence: 	at im.vector.app.features.notifications.NotificationDrawerManager.refreshNotificationDrawerBg(NotificationDrawerManager.kt:177)

Accordingly, if a notification for an image is shown, and the
notification state is loaded from storage later, none of the previously
shown notifications will get dismissed once read.

Likely addresses https://github.com/vector-im/element-android/issues/4862.

Change-Id: I2d6be497e8b92e770b680e16e42b3610add57323
2022-05-30 13:06:09 +02:00
Onuray Sahin
aa344b1ecd Code documentation. 2022-05-30 13:56:17 +03: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
Onuray Sahin
b262aad3a8 Remove unused layout. 2022-05-30 13:24:31 +03:00
Maxime NATUREL
538c099913 Fixing non necessary breaking line 2022-05-30 11:44:03 +02:00
Adam Brown
67f1929784 continuing to the originally supplied url when a rtl override character is detected 2022-05-30 10:42:42 +01:00
Adam Brown
e6198d7bf6 splitting url detection condition into separate branches 2022-05-30 10:38:42 +01:00
Benoit Marty
ec498cf054 Cleaner code 2022-05-30 11:38:31 +02:00
Benoit Marty
c071dc502e Create extension String?.toActiveSpaceOrOrphanRooms() to reduce noise. 2022-05-30 11:38:31 +02:00
Benoit Marty
0b6f35b256 Create SpaceFilter.OrphanRooms to improve the API.
Not 100% of the side effect. There is probably some (fixed?) bugs here.
2022-05-30 11:34:55 +02:00
Benoit Marty
c7997edf9a Rename ActiveSpaceFilter to SpaceFilter 2022-05-30 11:34:55 +02:00
Benoit Marty
00809027c1 Remove ActiveSpaceFilter.None
Prefer nullability for API coherency of `RoomSummaryQueryParams`
2022-05-30 11:34:55 +02:00
Benoit Marty
8843fe0a54 Remove RoomCategoryFilter.ALL
Prefer nullability for API coherency of `RoomSummaryQueryParams`
2022-05-30 11:34:55 +02:00
Benoit Marty
6a728e3851 Remove duplicated code lines 2022-05-30 11:34:55 +02:00
Benoit Marty
bfdc885d7f Remove roomId from RoomSummaryQueryParams.Builder().
Create a new API in RoomService to observe a room summary from a roomId.
2022-05-30 11:34:55 +02:00
Benoit Marty
12b3afbc50 Always use roomSummaryQueryParams, and not directly a RoomSummaryQueryParams.Builder()
Also format and add some Kdoc
2022-05-30 11:34:55 +02:00
Maxime NATUREL
1756fa26e1 Using @AndroidEntryPoint for map fragment 2022-05-30 11:21:23 +02:00
Eric Decanini
eeb7d60e59
Merge pull request #5860 from vector-im/feature/eric/replace-search-room-subheader
Replaces subtitle in Search Rooms with room context rather than last event
2022-05-30 11:13:10 +02:00
Eric Decanini
b8c0c61a4c
Merge pull request #6073 from vector-im/feature/eric/improve-back-navigation
Adds up navigation in spaces
2022-05-30 10:38:28 +02:00
ericdecanini
90ab67e1fc Removes unused string 2022-05-27 16:38:33 +02:00
Onuray Sahin
8018ba3213 Zoom to selected user from bottom sheet. 2022-05-27 17:21:49 +03:00
Onuray Sahin
2eaf843031 Implement stop sharing function from bottom sheet. 2022-05-27 16:52:20 +03:00
Onuray Sahin
83e79207c1 Implement stop sharing button visibility. 2022-05-27 16:33:55 +03:00
ericdecanini
e54a82f658 Deletes ic_arrow_back 2022-05-27 15:09:50 +02:00
ericdecanini
a5dc8ec181 Only gets flattenParents if specifically requested 2022-05-27 15:05:39 +02:00
Onuray Sahin
daa0734e5b Implement user list bottom sheet. 2022-05-27 15:34:42 +03:00
Onuray Sahin
8247b1dd7a Add location update timestamp live location view state mapper. 2022-05-27 15:33:57 +03:00
Onuray Sahin
924d7e10a1 Implement bottom sheet controller. 2022-05-27 15:28:18 +03:00
Onuray Sahin
44b2a7fb72 Refactor duration formatter to be able to user StringProvider. 2022-05-27 15:27:38 +03:00
Onuray Sahin
88de113a4e Add bottom sheet layout. 2022-05-27 15:26:40 +03:00
Onuray Sahin
453aa28380 Add required resources. 2022-05-27 15:25:59 +03:00
ariskotsomitopoulos
21225b8a28 Replace old drawable from 2022-05-27 13:56:52 +03:00
ariskotsomitopoulos
1d36269b03 Fix wrong rendered vector icon 2022-05-27 13:40:53 +03:00
Anderson Ivanovich
bbef119f62 Translated using Weblate (Tamil)
Currently translated at 3.3% (75 of 2225 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/ta/
2022-05-27 08:32:07 +00:00
Onuray Sahin
03a8289a13 Code review fixes. 2022-05-26 15:45:53 +03: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
kingoflove819
6a52ff4da2 Translated using Weblate (Tamil)
Currently translated at 3.2% (72 of 2225 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/ta/
2022-05-26 07:32:17 +00:00
Anderson Ivanovich
c6e5a75448 Translated using Weblate (Tamil)
Currently translated at 3.2% (72 of 2225 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/ta/
2022-05-26 07:32:16 +00:00
homocomputeris
fc3ebca273 Translated using Weblate (Russian)
Currently translated at 97.6% (2172 of 2225 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/ru/
2022-05-26 07:32:12 +00:00
Didek
7a9b931a36 Translated using Weblate (Polish)
Currently translated at 100.0% (2225 of 2225 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/pl/
2022-05-26 07:32:11 +00:00
Johan Smits
fef3cdaeb1 Translated using Weblate (Dutch)
Currently translated at 100.0% (2225 of 2225 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/nl/
2022-05-26 07:32:11 +00:00
Sveinn í Felli
e6614fc4fc Translated using Weblate (Icelandic)
Currently translated at 84.0% (1870 of 2225 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/is/
2022-05-26 07:32:11 +00:00
Szimszon
bc8432418d Translated using Weblate (Hungarian)
Currently translated at 100.0% (2225 of 2225 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/hu/
2022-05-26 07:32:08 +00:00
Vancha
24dc5b10e8 Translated using Weblate (Frisian)
Currently translated at 40.6% (905 of 2225 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/fy/
2022-05-26 07:32:08 +00:00
Glandos
e1285aa50b Translated using Weblate (French)
Currently translated at 100.0% (2225 of 2225 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/fr/
2022-05-26 07:32:08 +00:00
Auri B. P
3336249b00 Translated using Weblate (Catalan)
Currently translated at 84.2% (1874 of 2225 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/ca/
2022-05-26 07:32:07 +00:00
Johannes Marbach
92a140b504 Add unit tests for filter/map logic 2022-05-25 20:50:58 +02:00
Adam Brown
096db6c35d giving arugment a proper name 2022-05-25 17:34:00 +01:00
Adam Brown
0675b7c16c
Merge pull request #5995 from vector-im/feature/adm/ftue-sign-in
FTUE - Sign in
2022-05-25 17:30:03 +01: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
Johannes Marbach
9e084ec372 Inject permission utils 2022-05-25 16:22:16 +02:00
Johannes Marbach
6ec6d41aa9 Make permission utils instantiable and throw when permission request is null 2022-05-25 15:53:58 +02:00
Benoit Marty
8f06415744 Fix compilation issue after rebase 2022-05-25 15:08:13 +02:00
Maxime NATUREL
c8fb034c57
Merge pull request #6128 from vector-im/feature/mna/PSF-999-auto-refresh-db
[Location sharing] - Update DB entity when a live is timed out (PSF-999)
2022-05-25 14:59:54 +02:00
Adam Brown
86c9e60129 formatting 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
Adam Brown
ea7df9b673 lifting unavailable homeserver rendering to the activity/ftuevariant
- the viewmodel is now responsible for inferring connectivity errors and providing a retry action
2022-05-25 13:34:08 +01:00
Adam Brown
100aa24021 adding helper for inferring if the device has connectivity, this helps with breaking down UnknownHost exceptioncauses and shouldn't be used for checking offline status 2022-05-25 13:34:07 +01:00
Adam Brown
59afb5cf4c downscoping the possible action types when selecting homeservers 2022-05-25 13:34:07 +01:00
Adam Brown
b8418f97dc extracting server selection branches to their own functions 2022-05-25 13:34:07 +01:00
Adam Brown
690fda180c providing dedicated reset action for resetting invalid deeplink homeserver
- also fixes the usecase screen becoming stuck with an invalid homeserver deeplink
2022-05-25 13:34:07 +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
8145049315 Fix potential access to null value 2022-05-25 14:05:14 +02:00
Maxime NATUREL
401027e919 Adding end of live timestamp into view state 2022-05-25 14:05:14 +02:00
Maxime NATUREL
bd473375a1 Fix no text visible if using direct pin drawable 2022-05-25 14:05:14 +02:00
Maxime NATUREL
40d8d5c605 Updating user pins on location update 2022-05-25 14:04:22 +02:00
Maxime NATUREL
81b90df909 Observe the current live location shares in a room 2022-05-25 14:04:22 +02:00
Maxime NATUREL
5410b61ae3 Show user pins with correct zoom when map is first opened 2022-05-25 14:03:37 +02:00
Maxime NATUREL
d6029210d0 Adding use case to get live location of users 2022-05-25 14:03:37 +02:00
Maxime NATUREL
44ca82bbef Adding ViewModel to Activity 2022-05-25 14:03:37 +02:00
Johannes Marbach
f5a621a6d5
Merge pull request #6140 from vector-im/johannes/widget-screen-rotation
Prevent widget web view from reloading on screen / orientation change (PSF-1034)
2022-05-25 13:42:24 +02:00
Johannes Marbach
580bbd60e7 Appease the linter 2022-05-25 13:01:42 +02:00
Johannes Marbach
59c13bf8c1 Make widget web view request system permissions for camera and microphone
Previously the widget web view prompted to grant the widget permissions but it didn't
actually request those permissions from the system. So if the web view requested, e.g.
the camera permission but the app hadn't previously been granted that permission, the
web view wouldn't get camera access even when the widget permission request had been
confirmed.

With this commit, the app will also request camera and microphone permissions from the
system when needed.

Signed-off-by: Johannes Marbach <johannesm@element.io>
2022-05-25 12:35:43 +02:00
Adam Brown
8c44c9828c fixing listener import 2022-05-25 10:22:27 +01:00
Adam Brown
8b2132c6dd fixing detekt/formatting issues 2022-05-25 10:22:27 +01:00
Adam Brown
137fe89938 hiding username/password fields when the homeserver doesn't support them and showing SSO options when available 2022-05-25 10:22:27 +01:00
Adam Brown
610c1d1150 extracting sso buttons render method to reduce duplication 2022-05-25 10:22:27 +01:00
Adam Brown
d86c12dc7a extracting duplicated field resetting logic 2022-05-25 10:22:27 +01:00
Adam Brown
fb1a686f90 extracting the login error handling to its own class 2022-05-25 10:22:27 +01:00
Adam Brown
d1bafc531e removing input footer fields, they're only needed for sign up, not login 2022-05-25 10:22:27 +01:00
Adam Brown
b2af918969 using correct copy for the login validation errors
- extracts helpers to make the logic more declarative
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
4b6f74364d adding dedicated login action 2022-05-25 10:17:51 +01:00
Adam Brown
34e97112a4 adding feature flag and redirecting the sign in flow
- temporarily to the combined register fragment
2022-05-25 10:17:51 +01:00