Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
56 commits
Select commit Hold shift + click to select a range
57dba64
Merge tag '1.6.42' into develop
ganfra Jun 10, 2025
135bd22
version++
ganfra Jun 10, 2025
8a9a699
Set compileSdk and targetSdk to 35
bmarty Jul 7, 2025
a283eea
Fix compilation issue.
bmarty Jul 7, 2025
3652ae5
Upgrade Android Gradle Plugin to 8.11.0
bmarty Jul 8, 2025
390ae56
Update gradle wraaper using command line
bmarty Jul 8, 2025
da983b4
Update lint version
bmarty Jul 8, 2025
06721da
Update gradle wraaper using command line
bmarty Jul 8, 2025
78e100d
Supress deprecation warning.
bmarty Jul 8, 2025
6e56c38
Fix lint warning
bmarty Jul 9, 2025
27fc09b
Fix lint warning
bmarty Jul 9, 2025
41b1ded
Use `ubuntu-22.04` runner instead of buildjet for the UI tests
jmartinesp Jul 10, 2025
c10e6be
Run UI tests only when manually dispatched
jmartinesp Jul 10, 2025
cba1bb7
Merge pull request #9053 from element-hq/ci/remove-buildjet
jmartinesp Jul 10, 2025
e44d2e4
Updated the status of the app to make clear it is not receiving furth…
mxandreas Jul 11, 2025
cf01890
Fix lint warning: ignore impossible SecurityException
bmarty Jul 9, 2025
de3874e
Fix lint warning: check permission before notifying with notification
bmarty Jul 11, 2025
fd67cac
Fix lint warning: check permission before using location API
bmarty Jul 11, 2025
e562208
Fix lint warning: check permission before recording audio
bmarty Jul 11, 2025
1d08018
A final period.
bmarty Jul 11, 2025
9b0d22f
Avoid crash for long logs.
bmarty Jul 15, 2025
3d7bf51
Target API 35: set `android:fitsSystemWindows="true"` to Activities.
bmarty Jul 15, 2025
0a69a33
Remove dead code.
bmarty Jul 15, 2025
58de848
Fix UI issue
bmarty Jul 15, 2025
66ec110
Remove useless margin
bmarty Jul 15, 2025
82317bf
Fix color issue on HomeActivity and RoomDetailActivity (others do not…
bmarty Jul 15, 2025
3f22ddb
Fix regression on timeline for thread.
bmarty Jul 16, 2025
daadbbd
Revert "Target API 35: set `android:fitsSystemWindows="true"` to Acti…
bmarty Jul 16, 2025
c79f2ff
Enable edgeToEdge
bmarty Jul 16, 2025
89b1034
Fix issue in timeline screen.
bmarty Jul 16, 2025
f421ead
Code cleanup
bmarty Jul 16, 2025
856592f
Gate the Manually verify device behind devtool flag
BillCarsonFr Jul 17, 2025
d26a25a
add changelog
BillCarsonFr Jul 17, 2025
ee64466
Merge pull request #9051 from element-hq/feature/bma/target35
bmarty Jul 17, 2025
926e64b
misc (sdk) : update matrix patterns to handle new roomId format (and …
ganfra Jul 23, 2025
fd3f7e3
change (power level) : support new InfinitePowerLevel (first draft)
ganfra Jul 24, 2025
2d21c15
change (power level) : continue handling v12 room
ganfra Jul 28, 2025
864346c
change (leave room) : warn on last admin when leaving rooms
ganfra Jul 29, 2025
15cf848
test : try to fix some tests
ganfra Jul 30, 2025
cc99104
misc : code clean up
ganfra Jul 30, 2025
fe0b54e
misc : fix copyright
ganfra Jul 30, 2025
31a32f3
Merge pull request #9054 from element-hq/decorate-as-classic
ganfra Jul 30, 2025
43b20b2
Strip trailing whitespace from log lines
richvdh Aug 1, 2025
1e12380
Merge pull request #9066 from element-hq/rav/log_cleanup
bmarty Aug 4, 2025
a239f5f
misc : clean up after PR review
ganfra Aug 4, 2025
f1a99c3
Merge pull request #9065 from element-hq/feature/room_v12_support
ganfra Aug 4, 2025
8d412cd
Fix RoomPowerLevels with nullable event
ganfra Aug 5, 2025
3b0b232
fix (window insets) : first upgrade some dependencies
ganfra Aug 6, 2025
f3b631b
fix (window insets) : makes sure insets are consumed from BaseActivity
ganfra Aug 6, 2025
340affe
fix (window insets) : makes sure insets are consumed from drawer frag…
ganfra Aug 6, 2025
d63fc0b
Merge pull request #9067 from element-hq/feature/fga/fix_window_insets
ganfra Aug 6, 2025
69af25a
Merge pull request #9058 from element-hq/bca/hide_manually_verify_beh…
ganfra Aug 6, 2025
d9b83dd
Changelog for version 1.6.44
ganfra Aug 6, 2025
3ad7f56
Adding fastlane file for version 1.6.44
ganfra Aug 6, 2025
e1cbf9c
Merge branch 'release/1.6.44' into main
ganfra Aug 6, 2025
1c441b4
Merge tag 'v1.6.44' into synodim-merge-upstream
Aug 9, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/post-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:
ui-tests:
name: UI Tests (Synapse)
needs: should-i-run
runs-on: buildjet-4vcpu-ubuntu-2204
runs-on: ubuntu-22.04
timeout-minutes: 90 # We might need to increase it if the time for tests grows
strategy:
fail-fast: false
Expand Down
8 changes: 2 additions & 6 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,7 @@
name: Test

on:
pull_request: { }
push:
branches: [ main, develop, synodim ]
paths-ignore:
- '.github/**'
workflow_dispatch:

# Enrich gradle.properties for CI/CD
env:
Expand All @@ -15,7 +11,7 @@ env:
jobs:
tests:
name: Runs all tests
runs-on: buildjet-4vcpu-ubuntu-2204
runs-on: ubuntu-22.04
timeout-minutes: 90 # We might need to increase it if the time for tests grows
strategy:
matrix:
Expand Down
11 changes: 11 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,14 @@
Changes in Element v1.6.44 (2025-08-06)
=======================================

Other changes
-------------
- Hide the "Manually Verify by Text" option behind devtool flag. ([#9058](https://github.com/element-hq/element-android/issues/9058))
- Change targetSdk to 35. ([#9051](https://github.com/element-hq/element-android/issues/9051))
- Support room v12. ([#9065](https://github.com/element-hq/element-android/issues/9065))
- Fix window insets. ([#9067](https://github.com/element-hq/element-android/issues/9067))


Changes in Element v1.6.42 (2025-06-10)
=======================================

Expand Down
4 changes: 1 addition & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,7 @@

# Element Android

Element Android is an Android Matrix Client provided by [Element](https://element.io/). The app can be run on every Android devices with Android OS Lollipop and more (API 21).

It is a total rewrite of [Riot-Android](https://github.com/element-hq/riot-android) with a new user experience.
Element Classic Android is a previous-generation [Matrix](https://matrix.org/) client provided by [Element](https://element.io/). The app can be run on every Android devices with Android OS Lollipop and more (API 21). This client is still supported and receives security updates but no new features or usability enhancements are made. It is recommended to use [Element X](https://github.com/element-hq/element-x-android) that is the next-generation mobile app.

[<img src="resources/img/google-play-badge.png" alt="Get it on Google Play" height="60">](https://play.google.com/store/apps/details?id=im.vector.app)
[<img src="resources/img/f-droid-badge.png" alt="Get it on F-Droid" height="60">](https://f-droid.org/app/im.vector.app)
Expand Down
10 changes: 5 additions & 5 deletions dependencies.gradle
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
ext.versions = [
'minSdk' : 21,
'compileSdk' : 34,
'targetSdk' : 34,
'compileSdk' : 35,
'targetSdk' : 35,
'sourceCompat' : JavaVersion.VERSION_21,
'targetCompat' : JavaVersion.VERSION_21,
'jvmTarget' : "21",
]

def gradle = "8.4.2"
def gradle = "8.11.0"
// Ref: https://kotlinlang.org/releases.html
def kotlin = "1.9.24"
def kotlinCoroutines = "1.8.1"
Expand All @@ -27,7 +27,7 @@ def bigImageViewer = "1.8.1"
def jjwt = "0.11.5"
def vanniktechEmoji = "0.16.0"
def sentry = "6.18.1"
def fragment = "1.8.1"
def fragment = "1.8.6"
// Testing
def mockk = "1.13.11"
def espresso = "3.6.1"
Expand All @@ -50,7 +50,7 @@ ext.libs = [
'activity' : "androidx.activity:activity-ktx:1.9.0",
'appCompat' : "androidx.appcompat:appcompat:1.7.0",
'biometric' : "androidx.biometric:biometric:1.1.0",
'core' : "androidx.core:core-ktx:1.10.1",
'core' : "androidx.core:core-ktx:1.16.0",
'recyclerview' : "androidx.recyclerview:recyclerview:1.3.0",
'exifinterface' : "androidx.exifinterface:exifinterface:1.3.6",
'fragmentKtx' : "androidx.fragment:fragment-ktx:$fragment",
Expand Down
1 change: 1 addition & 0 deletions dependencies_groups.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -213,6 +213,7 @@ ext.groups = [
'org.jitsi',
'org.json',
'org.jsoup',
'org.jspecify',
'org.junit',
'org.junit.jupiter',
'org.junit.platform',
Expand Down
2 changes: 2 additions & 0 deletions fastlane/metadata/android/en-US/changelogs/40106440.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Main changes in this version: support room v12.
Full changelog: https://github.com/element-hq/element-android/releases
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -42,4 +42,4 @@ signing.element.nightly.keyPassword=Secret

# Customise the Lint version to use a more recent version than the one bundled with AGP
# https://googlesamples.github.io/android-custom-lint-rules/usage/newer-lint.md.html
android.experimental.lint.version=8.6.0-alpha08
android.experimental.lint.version=8.12.0-alpha08
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
4 changes: 2 additions & 2 deletions gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionSha256Sum=f8b4f4772d302c8ff580bc40d0f56e715de69b163546944f787c87abf209c961
distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-all.zip
distributionSha256Sum=bd71102213493060956ec229d946beee57158dbd89d0e62b91bca0fa2c5f3531
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
Expand Down
37 changes: 22 additions & 15 deletions gradlew

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

26 changes: 14 additions & 12 deletions gradlew.bat

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -131,12 +131,15 @@ abstract class AttachmentViewerActivity : AppCompatActivity(), AttachmentEventLi
// the touch coordinates
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
// New API instead of SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN and SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
@Suppress("DEPRECATION")
window.setDecorFitsSystemWindows(false)
// New API instead of SYSTEM_UI_FLAG_IMMERSIVE
window.decorView.windowInsetsController?.systemBarsBehavior = WindowInsetsController.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE
// New API instead of FLAG_TRANSLUCENT_STATUS
@Suppress("DEPRECATION")
window.statusBarColor = ContextCompat.getColor(this, R.color.half_transparent_status_bar)
// new API instead of FLAG_TRANSLUCENT_NAVIGATION
@Suppress("DEPRECATION")
window.navigationBarColor = ContextCompat.getColor(this, R.color.half_transparent_status_bar)
} else {
@Suppress("DEPRECATION")
Expand Down Expand Up @@ -318,6 +321,7 @@ abstract class AttachmentViewerActivity : AppCompatActivity(), AttachmentEventLi
protected open fun shouldAnimateDismiss(): Boolean = true

protected open fun animateClose() {
@Suppress("DEPRECATION")
window.statusBarColor = Color.TRANSPARENT
finish()
}
Expand All @@ -334,14 +338,17 @@ abstract class AttachmentViewerActivity : AppCompatActivity(), AttachmentEventLi
// Or for "sticky immersive," replace it with SYSTEM_UI_FLAG_IMMERSIVE_STICKY
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
// New API instead of SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN and SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
@Suppress("DEPRECATION")
window.setDecorFitsSystemWindows(false)
// new API instead of SYSTEM_UI_FLAG_HIDE_NAVIGATION
window.decorView.windowInsetsController?.hide(WindowInsets.Type.navigationBars())
// New API instead of SYSTEM_UI_FLAG_IMMERSIVE
window.decorView.windowInsetsController?.systemBarsBehavior = WindowInsetsController.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE
// New API instead of FLAG_TRANSLUCENT_STATUS
@Suppress("DEPRECATION")
window.statusBarColor = ContextCompat.getColor(this, R.color.half_transparent_status_bar)
// New API instead of FLAG_TRANSLUCENT_NAVIGATION
@Suppress("DEPRECATION")
window.navigationBarColor = ContextCompat.getColor(this, R.color.half_transparent_status_bar)
} else {
@Suppress("DEPRECATION")
Expand All @@ -363,6 +370,7 @@ abstract class AttachmentViewerActivity : AppCompatActivity(), AttachmentEventLi
systemUiVisibility = true
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
// New API instead of SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN and SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
@Suppress("DEPRECATION")
window.setDecorFitsSystemWindows(false)
} else {
@Suppress("DEPRECATION")
Expand Down
3 changes: 3 additions & 0 deletions library/ui-strings/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,7 @@
<string name="notice_widget_modified">%1$s modified %2$s widget</string>
<string name="notice_widget_modified_by_you">You modified %1$s widget</string>

<string name="power_level_owner">Owner</string>
<string name="power_level_admin">Admin</string>
<string name="power_level_moderator">Moderator</string>
<string name="power_level_default">Default</string>
Expand Down Expand Up @@ -685,6 +686,7 @@
<string name="room_participants_leave_prompt_title">Leave room</string>
<string name="room_participants_leave_prompt_msg">Are you sure you want to leave the room?</string>
<string name="room_participants_leave_private_warning">This room is not public. You will not be able to rejoin without an invite.</string>
<string name="room_participants_leave_last_admin">You\'re the only admin of this room. Leaving it will mean no one has control over it.</string>

<string name="room_participants_header_direct_chats">Direct Messages</string>

Expand Down Expand Up @@ -2404,6 +2406,7 @@
<string name="room_member_power_level_invites">Invites</string>
<string name="room_member_power_level_users">Users</string>

<string name="room_member_power_level_owner_in">Owner in %1$s</string>
<string name="room_member_power_level_admin_in">Admin in %1$s</string>
<string name="room_member_power_level_moderator_in">Moderator in %1$s</string>
<string name="room_member_power_level_default_in">Default in %1$s</string>
Expand Down
3 changes: 3 additions & 0 deletions library/ui-styles/src/main/res/values/theme_light.xml
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,9 @@

<!-- Material color -->
<item name="colorPrimary">@color/element_accent_light</item>
<!-- Fix background color of status bar in home and room detail activity -->
<!--item name="colorPrimaryDark">@color/element_background_light</item-->
<item name="colorPrimaryDark">?vctr_toolbar_background</item>
<item name="colorPrimaryVariant">@color/element_accent_light</item>
<item name="colorOnPrimary">@android:color/white</item>
<item name="colorSecondary">@color/element_accent_light</item>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ import org.matrix.android.sdk.api.session.room.model.ReadReceipt
import org.matrix.android.sdk.api.session.room.model.RoomMemberSummary
import org.matrix.android.sdk.api.session.room.model.RoomSummary
import org.matrix.android.sdk.api.session.room.notification.RoomNotificationState
import org.matrix.android.sdk.api.session.room.powerlevels.RoomPowerLevels
import org.matrix.android.sdk.api.session.room.send.UserDraft
import org.matrix.android.sdk.api.session.room.timeline.TimelineEvent
import org.matrix.android.sdk.api.util.Optional
Expand Down Expand Up @@ -95,6 +96,10 @@ class FlowRoom(private val room: Room) {
}
}

fun liveRoomPowerLevels(): Flow<RoomPowerLevels> {
return room.stateService().getRoomPowerLevelsLive().asFlow()
}

fun liveReadMarker(): Flow<Optional<String>> {
return room.readService().getReadMarkerLive().asFlow()
}
Expand Down
2 changes: 1 addition & 1 deletion matrix-sdk-android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ android {
// that the app's state is completely cleared between tests.
testInstrumentationRunnerArguments clearPackageData: 'true'

buildConfigField "String", "SDK_VERSION", "\"1.6.42\""
buildConfigField "String", "SDK_VERSION", "\"1.6.44\""

buildConfigField "String", "GIT_SDK_REVISION", "\"${gitRevision()}\""
buildConfigField "String", "GIT_SDK_REVISION_UNIX_DATE", "\"${gitRevisionUnixDate()}\""
Expand Down
Loading