Update the Rust SDK to v0.1.9 (#318)

* Update the Rust SDK to v0.1.7.

* Try to have the same setup for the build apk job and maestro.

* Add option to run maestro manually.

* Update to v0.1.9 (0.1.7 and 0.1.8 were broken in x86_64).
This commit is contained in:
Jorge Martin Espinosa
2023-04-17 17:43:21 +02:00
committed by GitHub
parent 798bedcaed
commit c8fcf9549b
7 changed files with 22 additions and 14 deletions

View File

@@ -3,6 +3,7 @@ name: Maestro
# Run this flow only on pull request, and only when the pull request has been approved, to limit our usage of maestro cloud.
# https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#running-a-workflow-when-a-pull-request-is-approved
on:
workflow_dispatch:
pull_request_review:
types: [submitted]
@@ -35,6 +36,12 @@ jobs:
java-version: '17'
- name: Assemble debug APK
run: ./gradlew assembleDebug $CI_GRADLE_ARG_PROPERTIES
- name: Upload debug APKs
uses: actions/upload-artifact@v3
with:
name: elementx-debug
path: |
app/build/outputs/apk/debug/*.apk
- uses: mobile-dev-inc/action-maestro-cloud@v1.3.1
with:
api-key: ${{ secrets.MAESTRO_CLOUD_API_KEY }}

View File

@@ -129,7 +129,7 @@ jsoup = { module = "org.jsoup:jsoup", version.ref = "jsoup" }
appyx_core = { module = "com.bumble.appyx:core", version.ref = "appyx" }
molecule-runtime = { module = "app.cash.molecule:molecule-runtime", version.ref = "molecule" }
timber = "com.jakewharton.timber:timber:5.0.1"
matrix_sdk = "org.matrix.rustcomponents:sdk-android:0.1.5"
matrix_sdk = "org.matrix.rustcomponents:sdk-android:0.1.9"
sqldelight-driver-android = { module = "com.squareup.sqldelight:android-driver", version.ref = "sqldelight" }
sqldelight-driver-jvm = { module = "com.squareup.sqldelight:sqlite-driver", version.ref = "sqldelight" }
sqldelight-coroutines = { module = "com.squareup.sqldelight:coroutines-extensions", version.ref = "sqldelight" }

View File

@@ -16,6 +16,7 @@
package io.element.android.libraries.matrix.api.timeline.item.event
import io.element.android.libraries.matrix.api.core.EventId
import io.element.android.libraries.matrix.api.core.UserId
import io.element.android.libraries.matrix.api.media.AudioInfo
import io.element.android.libraries.matrix.api.media.FileInfo
@@ -26,7 +27,7 @@ sealed interface EventContent
data class MessageContent(
val body: String,
val inReplyTo: UserId?,
val inReplyTo: EventId?,
val isEdited: Boolean,
val type: MessageType?
) : EventContent

View File

@@ -114,7 +114,6 @@ class RustMatrixClient constructor(
)
.filters(slidingSyncFilters)
.name(name = "CurrentlyVisibleRooms")
.sendUpdatesForItems(true)
.syncMode(mode = SlidingSyncMode.SELECTIVE)
.addRange(0u, 20u)
.use {
@@ -125,7 +124,7 @@ class RustMatrixClient constructor(
.slidingSync()
.homeserver("https://slidingsync.lab.matrix.org")
.withCommonExtensions()
.coldCache("ElementX")
.storageKey("ElementX")
.addList(visibleRoomsSlidingSyncList)
.use {
it.build()

View File

@@ -59,7 +59,7 @@ internal class RustRoomSummaryDataSource(
coroutineScope.launch {
updateRoomSummaries {
addAll(
slidingSyncList.currentRoomsList().map(::buildSummaryForRoomListEntry)
slidingSyncList.currentRoomList().map(::buildSummaryForRoomListEntry)
)
}
}

View File

@@ -16,16 +16,17 @@
package io.element.android.libraries.matrix.impl.timeline.item.event
import io.element.android.libraries.matrix.api.core.UserId
import io.element.android.libraries.matrix.api.core.EventId
import io.element.android.libraries.matrix.api.core.asEventId
import io.element.android.libraries.matrix.api.timeline.item.event.AudioMessageType
import io.element.android.libraries.matrix.api.timeline.item.event.EmoteMessageType
import io.element.android.libraries.matrix.api.timeline.item.event.FileMessageType
import io.element.android.libraries.matrix.api.timeline.item.event.FormattedBody
import io.element.android.libraries.matrix.api.timeline.item.event.ImageMessageType
import io.element.android.libraries.matrix.api.timeline.item.event.MessageContent
import io.element.android.libraries.matrix.api.timeline.item.event.MessageFormat
import io.element.android.libraries.matrix.api.timeline.item.event.NoticeMessageType
import io.element.android.libraries.matrix.api.timeline.item.event.TextMessageType
import io.element.android.libraries.matrix.api.timeline.item.event.MessageContent
import io.element.android.libraries.matrix.api.timeline.item.event.UnknownMessageType
import io.element.android.libraries.matrix.api.timeline.item.event.VideoMessageType
import io.element.android.libraries.matrix.impl.media.map
@@ -69,7 +70,7 @@ class EventMessageMapper {
}
MessageContent(
body = message.body(),
inReplyTo = message.inReplyTo()?.let { UserId(it) },
inReplyTo = message.inReplyTo()?.eventId?.asEventId(),
isEdited = message.isEdited(),
type = type
)

View File

@@ -25,7 +25,7 @@ import io.element.android.libraries.matrix.api.timeline.item.event.ProfileTimeli
import org.matrix.rustcomponents.sdk.Reaction
import org.matrix.rustcomponents.sdk.EventSendState as RustEventSendState
import org.matrix.rustcomponents.sdk.EventTimelineItem as RustEventTimelineItem
import org.matrix.rustcomponents.sdk.ProfileTimelineDetails as RustProfileTimelineDetails
import org.matrix.rustcomponents.sdk.ProfileDetails as RustProfileDetails
class EventTimelineItemMapper(private val contentMapper: TimelineEventContentMapper = TimelineEventContentMapper()) {
@@ -47,12 +47,12 @@ class EventTimelineItemMapper(private val contentMapper: TimelineEventContentMap
}
}
fun RustProfileTimelineDetails.map(): ProfileTimelineDetails {
fun RustProfileDetails.map(): ProfileTimelineDetails {
return when (this) {
RustProfileTimelineDetails.Pending -> ProfileTimelineDetails.Pending
RustProfileTimelineDetails.Unavailable -> ProfileTimelineDetails.Unavailable
is RustProfileTimelineDetails.Error -> ProfileTimelineDetails.Error(message)
is RustProfileTimelineDetails.Ready -> ProfileTimelineDetails.Ready(
RustProfileDetails.Pending -> ProfileTimelineDetails.Pending
RustProfileDetails.Unavailable -> ProfileTimelineDetails.Unavailable
is RustProfileDetails.Error -> ProfileTimelineDetails.Error(message)
is RustProfileDetails.Ready -> ProfileTimelineDetails.Ready(
displayName = displayName,
displayNameAmbiguous = displayNameAmbiguous,
avatarUrl = avatarUrl