Commit Graph

261 Commits

Author SHA1 Message Date
enki 9d14530660 Blap Android port: branding, ntfy push, spoilers, Discord-style home, EC fork
Sonar / Sonar Quality Checks (push) Has been cancelled
Code Quality Checks / Search for forbidden patterns (push) Has been cancelled
Code Quality Checks / Search for invalid screenshot files (push) Has been cancelled
Code Quality Checks / Search for invalid dependencies (push) Has been cancelled
Code Quality Checks / Konsist tests (push) Has been cancelled
Code Quality Checks / Compose tests (push) Has been cancelled
Code Quality Checks / Android lint check (push) Has been cancelled
Code Quality Checks / Detekt checks (push) Has been cancelled
Code Quality Checks / Ktlint checks (push) Has been cancelled
Code Quality Checks / Doc checks (push) Has been cancelled
Code Quality Checks / Check shell scripts (push) Has been cancelled
Code Quality Checks / Run zizmor (push) Has been cancelled
Code Quality Checks / Project Check Suite (push) Has been cancelled
Create release App Bundle and APKs / Create App Bundle (Gplay) (push) Has been cancelled
Create release App Bundle and APKs / Create App Bundle Enterprise (push) Has been cancelled
Create release App Bundle and APKs / Create APKs (FDroid) (push) Has been cancelled
Test / Runs unit tests (push) Has been cancelled
Post-release / post-release (push) Has been cancelled
Everything from port rounds 1-5 plus today's fixes, on top of upstream develop:

- Branding: Blap name/id (lol.utn.blap), purple #7c66e0 accent (both colorGreen*
  and colorAlphaGreen* Compound ramps remapped), Hanken Grotesk, squircle
  avatars, five-dot notification icon, de-branded strings across all locales
- Push: new libraries/pushproviders/ntfy module — FGS websocket to an ntfy
  server's Matrix gateway, no Google. Includes base64 payload decode, restart
  on boot/update/app-open, background-FGS-start crash guard, and a proactive
  battery-optimization banner (Doze kills the socket without the exemption)
- Spoilers (MSC2010, interops with Blap desktop 1.0.3): render + tap-to-reveal,
  Discord ||text|| send syntax, SPOILER_ filename convention for media both ways
- Home: Discord-style space rail, client-side room-list sections, DM-first sort
- Calls: embedded Element Call fork 0.20.3 assets (camera-off joins, bottom strip)
- Threads on by default; RTC ping timeline items hidden; reply-quote restyle
- URLs now point at git.utn.lol/enki/blap (was codeberg); version 26.07.2

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-25 12:56:15 -07:00
Timo 3bb7fe97e6 Default to dark theme for EC (#7162)
* Default to dark theme for EC
(this is the intended design on light and dark system configuration)

* Use `theme=dark` url param for element call

* Update CallScreenPresenter.kt
2026-07-14 17:49:40 +02:00
Benoit Marty 28abf3049e Cleanup AndroidManifest.xml files. 2026-07-08 11:55:50 +02:00
ElementBot 46460e1c27 Sync Strings (#7115)
* Sync Strings from Localazy

* Update screenshots

---------

Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2026-06-29 14:09:36 +02:00
Benoit Marty c430877d87 Ensure Robolectric test are run using API 36 until the library support API 37. 2026-06-18 12:18:32 +02:00
Benoit Marty e54d93cd50 Compile with SDK 37 2026-06-18 12:18:31 +02:00
Benoit Marty 70433b283e call: Remove deprecated web<->EX api calls, use the new ones (#6628)
* call: Remove deprecated web<->EX api calls, use the new ones

* ktlint format
2026-06-17 16:01:25 +02:00
renovate[bot] f0a6cba6db fix(deps): update android.gradle.plugin to v9 (major) (#6021)
* Update android.gradle.plugin to v9

* Separate extensions between app and library ones

`CommonExtension` has been split and its properties are now duplicated in `ApplicationExtension` and `LibraryExtension` without a shared interface, so we now need to duplicate the helper extension functions

* Bump Gradle wrapper to `9.3.1`

* Remove `kotlin-android` plugin usage: it's no longer needed

* Enable `resValues` build feature for the modules that have resources in custom variants like gplay, debug, etc.

Otherwise this now fails saying the resources are there but the feature is disabled

* Remove `retrofit` dependency from `:features:call:impl`

It wasn't in use and the build was failing

* Update kotlin to v2.4.0

* Update plugin paparazzi to v2.0.0-alpha05

* Update gradle wrapper to 9.5.1

./gradlew wrapper --gradle-version 9.5.1 --gradle-distribution-sha256-sum bafc141b619ad6350fd975fc903156dd5c151998cc8b058e8c1044ab5f7b031f

* Update com.android.tools.build:gradle to 9.2.1

* Update plugin sonarqube to v7.3.1.8318

* Kotlin 2.4.0

* Context parameters are enabled by default in Kotlin 2.4.0

* Fix code issue

* Fix record screenshot issue

* Workaround for https://github.com/cashapp/paparazzi/issues/2342

* Workaround for another issue with Paparazzi

* Remove unused import

* Update screenshots

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
Co-authored-by: Benoit Marty <benoitm@element.io>
Co-authored-by: Benoit Marty <benoit@matrix.org>
Co-authored-by: ElementBot <android@element.io>
2026-06-11 09:51:47 +02:00
ElementBot 0aaa80cbdc Sync Strings from Localazy (#6856)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2026-05-26 08:05:07 +00:00
Jorge Martin Espinosa 42566b4b1f Release proximity wakelock on Element Call when call ends (#6825)
The `CoroutineScope` that launched this logic was cancelled by that point, so the wakelock was never released.
2026-05-20 15:23:03 +02:00
bmarty dcc67f9fc6 Sync Strings from Localazy 2026-05-18 00:57:56 +00:00
Timo c959f50d53 Back button web view to esc (revive fixed version of: https://github.com/element-hq/element-x-android/pull/6724) (#6725)
* Change native back button behavior in EC view:
 - inject escape into webview instead of going back.
 - the webview will call back when no other modal is open.

* call down and up in the webview + make sure that we fall back to close
pip in case the webview did not handle the esc action.

* Tests and refactor to CallScreenBackPressPolicy

---------

Co-authored-by: Jorge Martín <jorgem@element.io>
2026-05-13 10:17:23 +02:00
Jorge Martin Espinosa e8f1bf0085 Make Element Call screen work edge-to-edge (#6634)
* Update dependency io.element.android:element-call-embedded to v0.19.3

* Remove `Scaffold` component from CallScreenView

* Add immersive mode to calls in landscape orientation

* Add `consumeWindowInsets`, which fixes the webview not displaying any insets for the bottom nav bar

* Update screenshots

* Ignore compact height in PiP mode

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: ElementBot <android@element.io>
2026-05-12 17:33:02 +00:00
Jorge Martin Espinosa 11476c73cf Adapt to new DM definition changes in the SDK (#6748)
* Set `DmRoomDefinition.TwoPeople` in `ClientBuilder`. This applies the 'direct and with at most 2 non-service members' rule to what the SDK should consider a DM.

* Map `RoomInfo.isDm` from the SDK

* Map `NotificationData.isDm` from `NotificationInfo.roomInfo.isDm`

* Remove `RoomIsDmCheck` file as its extension functions are now redundant. Move `Room.isDm` helper function to `BaseRoom`.

* Map `isDm` in `SpaceRoom` from the SDK too

* Replace `isDirect` with `isDm` where possible

* Map `RoomMember.isServiceMember` from the SDK and use it to tell apart normal members of a room from service members (i.e. `RoomMembersState.getDirectRoomMember`)
2026-05-11 17:22:16 +02:00
Benoit Marty 2a694f6dfd Create PreviewData with sample of UGC used for preview.
Fix preview issue where username was used for room/avatar name.
2026-05-06 17:45:50 +02:00
Jorge Martin Espinosa 2d203e83b9 Revert PR #6642 (#6724)
* Revert "Change native back button behavior in EC view (close settings in EC with os native back) (#6642)"

This reverts commit 6ba4679908.

* Fix API breaks from revert
2026-05-05 15:24:27 +02:00
Hi Dude! 27869c0e04 Fix calls on Huawei devices: skip addWebMessageListener on Chromium < 119 (#6640)
* Fix calls on Huawei: skip addWebMessageListener on Chromium < 119

* Fix lint issues, log webview version

---------

Co-authored-by: manfrommedan <manfrommedan@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2026-05-04 08:30:05 +02:00
Benoit Marty 6c7c48da69 Fix compilation issue 2026-04-30 16:59:14 +02:00
Benoit Marty e21276f323 Merge branch 'develop' into feature/bma/removeExternalCallSupport 2026-04-30 16:58:11 +02:00
Benoit Marty 11b9efa2c9 Migrate to v2 testing APIs 2026-04-30 16:04:07 +02:00
Benoit Marty f4b3ddfa0b Merge branch 'develop' into feature/bma/removeExternalCallSupport 2026-04-30 11:50:35 +02:00
Timo 6ba4679908 Change native back button behavior in EC view (close settings in EC with os native back) (#6642)
* Change native back button behavior in EC view:
 - inject escape into webview instead of going back.
 - the webview will call back when no other modal is open.

* call down and up in the webview + make sure that we fall back to close
pip in case the webview did not handle the esc action.

---------

Co-authored-by: Jorge Martín <jorgem@element.io>
2026-04-29 18:08:33 +02:00
Benoit Marty 4bb33fc36a Use test extension on presenters. 2026-04-27 17:06:49 +02:00
Benoit Marty 944d8965f6 PictureInPictureEvents -> PictureInPictureEvent 2026-04-27 17:04:49 +02:00
Benoit Marty 2bcf10dd0b CallScreenEvents -> CallScreenEvent 2026-04-27 17:04:12 +02:00
Benoit Marty 8860647477 Element Call: remove support for SPA call links.
Closes #6578
2026-04-27 17:01:08 +02:00
Valere aff53c2bc2 ktlint format 2026-04-27 15:28:06 +02:00
Valere e4ccec1cdd call: Remove deprecated web<->EX api calls, use the new ones 2026-04-27 15:28:06 +02:00
ElementBot 9a2ad3928a Merge pull request #6658 from element-hq/sync-localazy
Sync Strings
2026-04-27 09:17:54 +02:00
Valere 18d4924171 fix: proximity sensor was wrongly disabled 2026-04-20 11:24:38 +02:00
Valere 58bde16b81 enforce selecting the EC preferred device 2026-04-20 11:19:37 +02:00
Valere 09e57e077a audio: Let EC decide alone what communication device to use 2026-04-20 11:19:37 +02:00
Timur Gilfanov f7cfa6cda8 Merge branch 'develop' into feature-oled-black 2026-04-14 10:13:46 +04:00
bmarty 23c1112dcf Sync Strings from Localazy 2026-04-13 00:48:40 +00:00
Benoit Marty 2a5fc3633d Move aCallNotificationData to the tests package of the main module, so that the test module does not have to depend on the impl module. 2026-04-08 17:40:48 +02:00
Benoit Marty 0e85fec41a Depend on api not impl module. 2026-04-08 17:34:44 +02:00
Timur Gilfanov 5e6a6af409 Add "Allow black theme" feature flag 2026-04-05 12:03:50 +04:00
bmarty 299d5a9394 Sync Strings from Localazy 2026-03-16 00:42:32 +00:00
Valere bad6085fb2 review: consistency use isAudioCall everywhere (instead of voiceOnly) 2026-03-06 12:19:05 +01:00
Valere 79d8ec16b9 review: Rename aIncomingCallScreenState to aCallNotificationData 2026-03-06 12:12:32 +01:00
Valere f81f79f79a fix tests 2026-03-04 19:07:53 +01:00
Valere 1f4601c936 konsist: fix PreviewParameterProvider naming convention 2026-03-04 17:54:41 +01:00
Valere 22a9e541fe fix missing rename of var 2026-03-04 14:05:58 +01:00
Valere be370911d2 rename voiceIntent to isAudioCall 2026-03-04 11:10:40 +01:00
Valere 7ef43abd57 Support incoming audio only calls 2026-03-04 08:56:33 +01:00
Valere 5491040ac5 WIP: Support using Element Call for voice calls in DMs 2026-03-03 11:50:22 +01:00
ElementBot cf479a8df0 Sync Strings from Localazy (#6269)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2026-03-02 14:54:50 +01:00
Jorge Martin Espinosa 001d419afd Catch exceptions when setting or clearing an audio communication device in Element Call (#6226) 2026-02-24 13:38:53 +01:00
Benoit Marty 459e70f124 Fix test and add a new one. 2026-02-12 18:22:05 +01:00
Benoit Marty 5785b3cfe8 Fix quality issue 2026-02-12 18:17:13 +01:00