* Make sure we ignore notifications for open rooms
- Listen to process lifecycle changes in `AppForegroundStateService`. Use initializers to reliable create it.
- Merge `AppNavigationState` with `AppForegroundState`. Renamed the previous `AppNavigationState` to `NavigationState`, created a new `AppNavigationState` which contains both the navigation state and the foreground state.
* Notifications: Add some extra mappings so we keep the original contents and can pass it later to an UI layer
* Fix notifications not appearing for a room if the app was on that room when it went to background.
* Modernize how we create spannable strings for notifications, remove unneeded dependency
* Remove actions from invite notifications temporarily
* Add `NotificationDrawerManager` interface to be able to clear membership notifications when accepting or rejecting a room invite
* Fix tests
* Add comment to clarify some weird behaviours
* Address review comments
* Set circle shape for `largeBitmap` in message notifications
* Fix no avatar in DM rooms
* Fix rebase issues
* Add invite list pending intent:
- Refactor pending intents.
- Make `DeepLinkData` a sealed interface.
- Fix and add tests.
* Rename `navigate__` functions to `attach__`
* Add an extra test case for the `InviteList` deep link
* Address most review comments.
* Fix rebase issue
* Add fallback notification type, allow dismissing invite notifications.
Fallback notifications have a different underlying type and can be dismissed at will.
* Fix tests
With this change, composable previews and screenshots should be created with just:
```
@ElementPreviews@Composable
fun MyViewPreview() {
ElementPreview {
MyView()
}
}
```
- Adds `@ElementPreviews` which is a shorthand for:
```
@Preview(name = "D")
@Preview(name = "N", uiMode = Configuration.UI_MODE_NIGHT_YES)
```
Should be used in connection with the now public `fun ElementPreview()` composable.
- Adds ElementPreviews to previewAnnotations in dangerfile
- Screenshots of night mode previews are now rendered with night mode
- Replaces `ElementPreviewLight` and `ElementThemedPreview` with `ElementPreview`
- Deprecates `ElementPreviewDark` which should be removed.
- Remaining usages of `ElementPreviewDark` are now ignored during screenshot tests
* Added tokens.
* Apply color to MaterialTheme, also add typography.
* Map colors to the right ones in the themes.
* Create and improve previews of some components
* More preview improvements
* Add `tertiary` and `onTertiary` colors, remove some unused ones.
* Fix usage of deleted color token
* Fix bug in Switch previews
* Create a separate `:libraries:theme` module to keep everything related to colors, typography and Compound in general.
* Fix `DatePickerPreview`
* Add missing Compound generated files by fixing their package name
* Move `ElementTheme` to the `:libraries:theme` module, make some variables internal.
---------
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
* Add `PickerLauncher` wrapper for media/file pickers.
* Add FileProvider path, handle Camera picker and add NoOp implementation to fix tests.
* Move media pickers to their own module.
* Add missing media pickers
* Add feature flag and some extra tests
* Fix dark theme
* First attempt at replicating iOS' UI & flows.
* Try to fix Maestro tests
* Add error dialogs and tests
* Remove unused modifiers
* Try to fix detekt issues
* Tidy up maestro login flow a bit
* Add `CompoundColorPalette` with some needed colors
* Fixes to designs
* Fix detekt issues
* More design fixes
* Some other minor design fixes
* Add changelog
* Minor tweaks.
* Remove legacy dark material theme as it's no longer needed.
* Move sliding sync 'learn more' url to constants object
* Remove unused focusManager
* Change how the displayed homeserver works
* Keep user input as homeserver if it's valid
* Remove `CompoundColorPalette`, try to fix issue when toggling dark mode.
* Add `@Stable` to the theme, adjust how it toggles in dark mode
* Remove unused strings
* Update screenshots
* Re-organize components in LoginRootScreen
* Bump min coverage to 55, max to 60
* Always replace the snapshots contents when running `recordPaparazzi`
* Fix dark theme preview of components using content colors
* Add `BackButton` component
* Handle errors with dialogs in a generic way
* Align our Dialog components with the designs, use them were needed
* Use a `MatrixHomeserverDetails` data class instead of just an URL.
* `AuthenticationService.getHomeserverDetails()` now returns a `StateFlow`.
Also, try to fix coverage issues in tests.