* `isInDebug` as `ThreadLocal<Boolean>`
* Use a simple var for `isInDebug` and add a helper method to test release mode, when running the debug test.
* Add some more docs
---------
Co-authored-by: Benoit Marty <benoit@matrix.org>
* Integrate Element Call with widget API.
- Add `appconfig` module and extract constants that can be overridden in forks there.
- Add an Element Call feature flag, disabled by default.
- Refactor the whole `ElementCallActivity`, move most logic out of it.
- Integrate with the Rust Widget Driver API (note the Rust SDK version used in this PR lacks some needed changes to make the calls actually work).
- Handle calls differently based on `CallType`.
- Add UI to create/join a call.
---------
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
* Update AGP to 8.0.0.
* Set JAVA_HOME to JDK17
* Update lint version.
* Use right JDK for dependency analysis, replace deprecated env var.
* Upgrade to Gradle 8.1.
* Remove `@Supress(DSL_SCOPE_VIOLATION)` as it's no longer needed.
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Update dependency gradle to v8
* Handle upgrading Gradle to v8.0.2
* Update AGP to 8.0.0-RC01
* Try to set JAVA_HOME to JDK17
* Update lint version.
* Use right JDK for dependency analysis, replace deprecated env var
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Use user friendly error messages in login following iOS logic, fix dialog colors.
* Use `AlertDialogDefaults` for the default properties of dialogs
* Improve Maestro tests with wrong password dialog
* Add tests for error messages
* 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.