Commit graph

8533 commits

Author SHA1 Message Date
Weblate
095f06bd89 Merge branch 'origin/develop' into Weblate. 2022-03-22 15:59:34 +00:00
iaiz
8550db9f23 Translated using Weblate (Spanish)
Currently translated at 95.7% (2065 of 2157 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/es/
2022-03-22 15:58:54 +00:00
Benoit Marty
f791ddb7bb Small cleanup 2022-03-22 16:14:15 +01:00
Benoit Marty
03fee2a131 The .exhaustive trick is not needed anymore in Kotlin 1.6.0
https://kotlinlang.org/docs/whatsnew16.html#stable-exhaustive-when-statements-for-enum-sealed-and-boolean-subjects
2022-03-22 16:14:15 +01:00
Benoit Marty
57bee40211 Fix compilation warning (exhaustive when) 2022-03-22 16:13:06 +01:00
ganfra
67804da205
Merge pull request #5604 from vector-im/feature/adm/toolbar-icon-positions
Fixing presence icon anchoring to the middle of the room icon
2022-03-22 15:16:17 +01:00
Onuray Sahin
24bdad3ae1 Code review fixes. 2022-03-22 17:04:35 +03:00
ganfra
a2f64e7f3c
Merge pull request #5576 from vector-im/feature/aris/thread_labs_notice_users
Threads Migration
2022-03-22 14:57:07 +01:00
Adam Brown
1e6e8b546d fixing presence icon anchoring to the middle of the room icon
- creates a secondary verification shield and aligns to the start of the room title when presence is present
2022-03-22 13:43:43 +00:00
ericdecanini
7449d15d2f Merge remote-tracking branch 'origin/develop' into bugfix/eric/voting-ended-poll
# Conflicts:
#	vector/src/main/java/im/vector/app/features/home/room/detail/timeline/factory/MessageItemFactory.kt
2022-03-22 14:15:29 +01:00
Onuray Sahin
70c8a8bf34 Support sharing live location in multiple rooms. 2022-03-22 16:01:51 +03:00
ariskotsomitopoulos
c6593f0cee PR remarks 2022-03-22 13:57:20 +02:00
Benoit Marty
835497682f
Merge pull request #5572 from p1gp1g/play-sticker
Show stickers on click
2022-03-21 15:51:36 +01:00
Benoit Marty
579e6164d6
Merge pull request #5550 from vector-im/feature/adm/presence-theme-patch
Presence indicator theme attribute
2022-03-21 15:45:36 +01:00
Onuray Sahin
7e5c293ebc Use primary color for location notification item. 2022-03-21 17:27:14 +03:00
Onuray Sahin
334368083e Track location in foreground service. 2022-03-21 16:46:40 +03:00
ariskotsomitopoulos
ed2cb5f0fe Enhance text constants 2022-03-21 15:45:08 +02:00
Onuray Sahin
c63fc3d6c2 Start the foreground service when users start live location sharing. 2022-03-21 14:27:15 +03:00
Linerly
75fe14561e Translated using Weblate (Indonesian)
Currently translated at 100.0% (2157 of 2157 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/id/
2022-03-21 08:38:31 +00:00
bmarty
ffb007e96d Sync Emojis 2022-03-21 00:03:12 +00:00
notramo
06af5a8017 Translated using Weblate (Hungarian)
Currently translated at 99.8% (2154 of 2157 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/hu/
2022-03-19 21:38:31 +00:00
Jeanne Lavoie
8a783a7a0b Translated using Weblate (French (Canada))
Currently translated at 83.9% (1811 of 2157 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/fr_CA/
2022-03-19 21:38:31 +00:00
libexus
7910b4cd35 Translated using Weblate (German)
Currently translated at 99.9% (2155 of 2157 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/de/
2022-03-19 21:38:31 +00:00
ravit
cb290550a9 Translated using Weblate (Hebrew)
Currently translated at 94.5% (2039 of 2157 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/he/
2022-03-18 18:38:46 +00:00
Эдуард Гера
db828152a6 Translated using Weblate (Hebrew)
Currently translated at 94.5% (2039 of 2157 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/he/
2022-03-18 18:38:39 +00:00
Modificator
20d9f68679 Translated using Weblate (Chinese (Simplified))
Currently translated at 95.7% (2065 of 2157 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/zh_Hans/
2022-03-18 18:38:35 +00:00
Besnik Bleta
1ecbe41529 Translated using Weblate (Albanian)
Currently translated at 99.4% (2145 of 2157 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/sq/
2022-03-18 18:38:35 +00:00
Jeanne Lavoie
d24f01c001 Translated using Weblate (French)
Currently translated at 100.0% (2157 of 2157 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/fr/
2022-03-18 18:38:35 +00:00
Jeanne Lavoie
4b6c8b8980 Translated using Weblate (French (Canada))
Currently translated at 83.7% (1806 of 2157 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/fr_CA/
2022-03-18 18:38:35 +00:00
Theo
96904d0fd7 Translated using Weblate (Greek)
Currently translated at 16.0% (347 of 2157 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/el/
2022-03-18 18:38:34 +00:00
waclaw66
805666b2f5 Translated using Weblate (Czech)
Currently translated at 100.0% (2157 of 2157 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/cs/
2022-03-18 18:38:33 +00:00
Zet
df717dd82d Translated using Weblate (Arabic)
Currently translated at 32.7% (706 of 2157 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/ar/
2022-03-18 18:38:33 +00:00
Adam Brown
ea9c9ae490
Merge pull request #5408 from vector-im/feature/adm/onboarding-tests
FTUE - Onboarding registration steps unit tests
2022-03-18 15:57:38 +00:00
Maxime Naturel
d1aba46b52 Using one line per parameter for the custom view 2022-03-18 15:58:42 +01:00
Maxime Naturel
840a224c9f Fixing coding style issue 2022-03-18 15:01:44 +01:00
ariskotsomitopoulos
06db7e2374 Enhance migration logic & PR remarks 2022-03-18 14:51:06 +01:00
Maxime Naturel
526d11e912 Removing TODO 2022-03-18 14:12:55 +01:00
Maxime Naturel
56bffb2657 Adding stop button 2022-03-18 14:11:16 +01:00
Maxime Naturel
67297bbdef Custom View in timeline screen without stop button 2022-03-18 14:11:08 +01:00
Maxime Naturel
70ab5354c3 Adding strings of the view 2022-03-18 14:10:57 +01:00
Onuray Sahin
a1d27940cd Create a foreground service. 2022-03-18 15:26:11 +03:00
Maxime NATUREL
3547c5acba
Merge pull request #5565 from vector-im/feature/mna/PSF-664-5536-permissions
Live Location Sharing - Background permission
2022-03-18 12:06:30 +01:00
ariskotsomitopoulos
2e5d45ec6e Format code 2022-03-18 12:03:17 +01:00
ariskotsomitopoulos
f00b1f29bf Enhance text context for thread migration notice 2022-03-18 11:58:29 +01:00
ariskotsomitopoulos
a0e6dd5f6c Merge branch 'develop' into feature/aris/thread_labs_notice_users
# Conflicts:
#	matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/MatrixConfiguration.kt
#	vector/src/main/java/im/vector/app/core/di/SingletonModule.kt
2022-03-18 11:28:21 +01:00
sim
e5c04d9cc8 Show stickers on click
Play animated stickers

Signed-off-by: sim <git@sgougeon.fr>
2022-03-18 01:03:34 +01:00
ariskotsomitopoulos
61cb7a6ffb Prepare next RC threads migration to all users 2022-03-17 19:09:09 +01:00
ariskotsomitopoulos
2ca3387ab3 Migrate Threads and notify user 2022-03-17 18:51:54 +01:00
Adam Brown
abf62aff47 extracting named function out for cancelling the email validation job, giving more context to the currentjob=null 2022-03-17 17:51:01 +00:00
Adam Brown
192d1c4f2d converting open class to sealed interface for extra type safety 2022-03-17 17:01:16 +00:00
Adam Brown
d77061b229 removing fully qualified import 2022-03-17 16:38:42 +00:00
Arnaud Ringenbach
7593f7a2c6 Fix lint issues 2022-03-17 17:15:16 +01:00
Onuray Sahin
a13ba13fb5 Code review fixes. 2022-03-17 18:30:39 +03:00
Arnaud Ringenbach
d3459d1d3d Use MatrixConfiguration & move presence sync enabled checks out of view 2022-03-17 14:50:15 +01:00
ericdecanini
d11fc060ee Fixes crash due to empty constructor in CreatePollViewState 2022-03-17 13:46:16 +01:00
Eric Decanini
9c8f29e853 Merge branch 'develop' into bugfix/eric/voting-ended-poll 2022-03-17 12:07:45 +01:00
Arnaud Ringenbach
4bcf31e0c2 Add a presence sync enabling build config 2022-03-17 11:43:07 +01:00
Onuray Sahin
33e5a206bd Fix background location permission for Android > 10. 2022-03-17 12:29:46 +03:00
Adam Brown
4154f036db fixing crash when tapping verification item
- caused by the setArguments being called on the TimelineFragment not the bottomsheet we've just created
2022-03-16 16:19:39 +00:00
Aris Kotsomitopoulos
d1a77d2eca
Merge pull request #5378 from vector-im/feature/aris/threads_analytics
Feature/aris/threads analytics
2022-03-16 15:51:24 +01:00
ClaireG
d1bca78083
[Notification mode] Wrong mode is displayed when the mention only is selected on the web client 2022-03-16 14:51:10 +01:00
ariskotsomitopoulos
bcf3f1e302 Format code 2022-03-16 14:49:40 +01:00
Onuray Sahin
575d62a354 Naming convention fix. 2022-03-16 16:34:48 +03:00
ariskotsomitopoulos
eee1ec1423 Merge branch 'develop' into feature/aris/threads_analytics 2022-03-16 13:19:08 +01:00
Adam Brown
99b43fd771
Merge pull request #5433 from vector-im/sync-analytics-plan
Sync analytics plan
2022-03-16 12:04:59 +00:00
ericdecanini
f722b2eb85 Removes unused import 2022-03-15 19:16:22 +01:00
ericdecanini
82ead4f3f5 Replaces call option condition with isDirect 2022-03-15 19:09:19 +01:00
Adam Brown
c257488ca8
Merge pull request #5513 from chagai95/add-presence-indicator-online
add  presence indicator online
2022-03-15 17:58:02 +00:00
Adam Brown
fe206fe130 fixing wrong action for starting the sign up 2022-03-15 17:49:44 +00:00
Adam Brown
434ee67982 ensure the pid add/resend methods do not trigger the next registration steps
- keeps the previous behaviour
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
c15e908a15 converting onboarding action to sealed interface 2022-03-15 17:42:42 +00:00
Adam Brown
17d363cf9a
Merge pull request #5389 from vector-im/feature/adm/personalisation-complete
FTUE - Personalisation complete
2022-03-15 17:33:29 +00:00
ericdecanini
d74d569f4b Adds back default to true on isWebRTCCallOptionAvailable 2022-03-15 18:15:46 +01:00
ericdecanini
a46901ad6c Makes PollState a sealed interface 2022-03-15 18:10:47 +01:00
ericdecanini
a2d18d460a Fixes PollMode import error in TimelineFragment 2022-03-15 18:10:05 +01:00
Maxime Naturel
d776f0c09c Check permission for background location (OS version <= Android 10 case) 2022-03-15 17:50:58 +01:00
Maxime Naturel
6f6bb3dbfe Adding method to show dialog when permission is missing 2022-03-15 17:45:36 +01:00
Maxime Naturel
9c6cd9f630 Adding build config field 2022-03-15 17:45:26 +01:00
Maxime Naturel
b72c87da44 Renaming "btn" into "button" 2022-03-15 17:09:31 +01:00
Maxime Naturel
9ecf12a7ba Using extensions for Boolean? type 2022-03-15 17:09:31 +01:00
Maxime Naturel
abd25c2292 Removing Action suffix in ViewAction types 2022-03-15 17:09:31 +01:00
Maxime Naturel
6779fa1175 Change naming for initLocateButton() method 2022-03-15 17:09:31 +01:00
Maxime Naturel
094e62c95b Adding unit tests for use case 2022-03-15 17:09:31 +01:00
Maxime Naturel
04405c7970 Distinguish user location and pinned location sharing 2022-03-15 17:09:30 +01:00
Maxime Naturel
8d1822da96 Recompute location comparison on new user location 2022-03-15 17:09:30 +01:00
Maxime Naturel
125b8d2058 Zoom to user location action 2022-03-15 17:09:30 +01:00
Maxime Naturel
01aff36597 Using style attibute for locate button visibility 2022-03-15 17:09:30 +01:00
Maxime Naturel
40e92842ea Show icon to reset map to user location 2022-03-15 17:09:30 +01:00
Maxime Naturel
57fcfeb1c1 Show dot pin for user location 2022-03-15 17:09:30 +01:00
Maxime Naturel
93c397d492 Updating location target drawable dynamically 2022-03-15 17:09:30 +01:00
Maxime Naturel
6fc6bf1c7d Compare locations use case implementation 2022-03-15 17:09:30 +01:00
Maxime Naturel
01879e252d Comparing target and user location using Flow in ViewModel 2022-03-15 17:09:29 +01:00
Maxime Naturel
dec075faf3 Handling press on pinned location option 2022-03-15 17:09:29 +01:00
Maxime Naturel
a1d155df71 Adding static pin at the center of the map 2022-03-15 17:09:29 +01:00
Maxime Naturel
9256b5671b Show options menu on top of the map 2022-03-15 17:09:29 +01:00
ariskotsomitopoulos
c3f1b748a3 Fix thread deleted root message summary 2022-03-15 16:34:17 +01:00
Onuray Sahin
db0cfd4704
Merge pull request #5455 from vector-im/feature/ons/fix_poll_start_notifications
Show notification for poll start events but not for responses
2022-03-15 18:34:03 +03:00
Adam Brown
9d49ef5f3a removing unused drawable 2022-03-15 15:12:51 +00:00
ericdecanini
98b7d194eb Adds getBestX following merge from develop 2022-03-15 15:54:30 +01:00
Onuray Sahin
a47b589e72 Code review fixes. 2022-03-15 17:51:02 +03:00
Onuray Sahin
7fa43f0d1b Merge branch 'develop' into feature/ons/fix_poll_start_notifications
* develop: (163 commits)
  Fix lint error.
  Removes changelog file
  Fix PR comment
  Adds changelog file
  Refactors MessageBubbleView
  Updating changelog copy
  making use of the fake overrides for testing
  extracting the personalization complete emitting to a dedicated function
  making use of binding api instead of manual findviewbyid
  using consistent method naming for setting the capabilities override
  taking the personalization feature flag into account when calculating if personalization is supported - also removes a legacy loading workaround for the account creation step, we're navigating to a new screen AccountCreated so we have to stop the loading
  adding changelog entry
  using correct label for the avatar capability debug override
  forwarding to the profile picture flow when display name changing isn't supported but pictures are when personalising the profile
  formatting
  dynamically switching the onboarding flow based on the capabilities of the homeserver - when avatars can't be changed we complete the personlisation flow
  hiding the toolbar back button and handling system back as take the user home if the display name personalisation is not supported
  adding test around account creation via dummy
  dynamically changing the account created layout based on if the homeserver supports personalisation
  adding entry points for injecting and overriding the homeserver capabilities
  ...
2022-03-15 17:49:53 +03:00
ericdecanini
9806f1bf8f Merge remote-tracking branch 'origin/develop' into bugfix/eric/voting-ended-poll
# Conflicts:
#	vector/src/main/java/im/vector/app/features/home/room/detail/TimelineFragment.kt
#	vector/src/main/java/im/vector/app/features/home/room/detail/timeline/factory/MessageItemFactory.kt
#	vector/src/main/java/im/vector/app/features/poll/create/CreatePollViewState.kt
2022-03-15 15:48:17 +01:00
ericdecanini
38f3b88395 Adds debug test to check roomSummary for voice call button 2022-03-15 15:30:02 +01:00
ariskotsomitopoulos
7db2ff2cfd Merge branch 'feature/aris/thread_live_thread_list' into feature/aris/threads_analytics 2022-03-15 14:35:31 +01:00
ariskotsomitopoulos
4d76c0d822 Fix build error 2022-03-15 14:34:53 +01:00
ariskotsomitopoulos
07eabf110d Merge branch 'feature/aris/thread_live_thread_list' into feature/aris/threads_analytics
# Conflicts:
#	vector/src/main/java/im/vector/app/features/analytics/plan/Interaction.kt
2022-03-15 14:23:48 +01:00
ariskotsomitopoulos
8a862d006e Merge branch 'develop' into feature/aris/thread_live_thread_list
# Conflicts:
#	vector/src/main/java/im/vector/app/features/home/room/detail/timeline/format/DisplayableEventFormatter.kt
2022-03-15 14:21:04 +01:00
Adam Brown
1c63789cd0 removing unused import 2022-03-15 13:12:28 +00:00
Adam Brown
161cd3f9ec replacing the ftue icons with only the foreground asset to allow for tinting
- making use of the generic circle shape the background, this allows the foreground and background layers to be tintable separately
2022-03-15 13:07:22 +00:00
Adam Brown
049ae4a22a making the profile screen toolbar transparent, matches the designs for dark mode 2022-03-15 13:07:22 +00:00
Adam Brown
8d0435db77 updating all confetti usages to use design palette colours 2022-03-15 13:07:22 +00:00
Adam Brown
9575cb5de7 removing unneeded button background colour
- causes the rounded corners and highlight to stop working
2022-03-15 13:07:22 +00:00
Adam Brown
e3c3db2964 adding personalization complete screen 2022-03-15 13:07:22 +00:00
Adam Brown
9f6d3ec380 playing confetti effect when unable to personalise account on account creation
- extracts the logic to an extension for reuse from the timeline
2022-03-15 13:07:22 +00:00
Danial Behzadi
3130e67edb Translated using Weblate (Persian)
Currently translated at 100.0% (2157 of 2157 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/fa/
2022-03-15 12:27:00 +00:00
Jozef Gaal
ae5f09922a Translated using Weblate (Slovak)
Currently translated at 100.0% (2157 of 2157 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/sk/
2022-03-15 12:26:58 +00:00
Jeanne Lavoie
c2fa67ea22 Translated using Weblate (French)
Currently translated at 100.0% (2157 of 2157 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/fr/
2022-03-15 12:26:57 +00:00
Edward Gera
0013d08ac7 Translated using Weblate (Hebrew)
Currently translated at 89.1% (1923 of 2157 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/he/
2022-03-15 12:26:57 +00: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
ariskotsomitopoulos
c9f07061ef Revert temporary fix for develop crash 2022-03-15 11:26:00 +01:00
Eric Decanini
de14e10a45
Merge pull request #5534 from vector-im/bugfix/eric/top-space-crash
Fixes timeline crash due to additionalTopSpace
2022-03-15 09:59:09 +01:00
ClaireG
5de7873755
Merge pull request #5532 from vector-im/cgizard/ISSSUE-5514
Read receipt in wrong order
2022-03-14 17:39:30 +01:00
Claire G
6c7b4d4256 Fix PR comment 2022-03-14 17:10:58 +01:00
ariskotsomitopoulos
d7c486c55e Add fallback support rendering proposed in MSC3676 2022-03-14 16:04:08 +01:00
Adam Brown
82e1afdb72
Merge pull request #5375 from vector-im/feature/adm/display-personalisation-based-on-capabilities
FTUE - Capability based personalisation flow
2022-03-14 13:34:21 +00:00
ericdecanini
d35c1e833d Refactors MessageBubbleView 2022-03-14 13:05:35 +01:00
Adam Brown
c2fe669670 extracting the personalization complete emitting to a dedicated function 2022-03-14 11:54:42 +00:00
Adam Brown
bdedffbb4f taking the personalization feature flag into account when calculating if personalization is supported
- also removes a legacy loading workaround for the account creation step, we're navigating to a new screen AccountCreated so we have to stop the loading
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
46be481eda hiding the toolbar back button and handling system back as take the user home if the display name personalisation is not supported 2022-03-14 11:54:42 +00:00
Adam Brown
537c2f56a1 dynamically changing the account created layout based on if the homeserver supports personalisation 2022-03-14 11:54:42 +00:00
Adam Brown
3df4f1e099 adding entry points for injecting and overriding the homeserver capabilities 2022-03-14 11:54:42 +00:00
Adam Brown
50740b1449 extracting method for the handling of the profile picture selection 2022-03-14 11:54:42 +00:00
Adam Brown
7ded9007db add click handling for the display name actions 2022-03-14 11:54:42 +00:00
Adam Brown
0685b57720 add click handling for the display name actions 2022-03-14 11:54:42 +00:00
Adam Brown
6c4381fda5 adding dedicated camera icon for choosing profile picture 2022-03-14 11:54:42 +00:00
Adam Brown
567fd9a13d extracting method for the handling of the profile picture selection 2022-03-14 11:54:42 +00:00
Adam Brown
232524ddc3 adding barebones profile picture fragment with ability to select a user avatar 2022-03-14 11:54:42 +00:00
Adam Brown
1c80914832 adding tests around the onboarding view model
- cases for the personalisation and display name actions
2022-03-14 11:54:42 +00:00
Adam Brown
074cde4519 add click handling for the display name actions 2022-03-14 11:54:41 +00:00
Adam Brown
4a1bf11168 adding base choose name fragment with UI 2022-03-14 11:54:41 +00:00
ariskotsomitopoulos
fef36d9334 Temporarily fix develop crash 2022-03-14 12:25:11 +01:00
ariskotsomitopoulos
d215f03798 Merge branch 'develop' into feature/aris/thread_live_thread_list 2022-03-14 12:02:04 +01:00
ericdecanini
2176129b11 Moves additional top space usage to bubble view 2022-03-14 11:46:48 +01:00
Maxime Naturel
8bb0a5cb4c Fixing wrong remove of import 2022-03-14 11:15:19 +01:00
Maxime Naturel
0942c6d648 Removing some with() code pattern 2022-03-14 11:15:19 +01:00
Maxime Naturel
a826a50c10 Renaming observe item count method 2022-03-14 11:15:19 +01:00