Skip to content

Commit 9e5a3d1

Browse files
committed
Merge branch 'develop' into feature/fga/update-rust-sdk-0.1.29-again
2 parents fed958b + a0c1f2c commit 9e5a3d1

File tree

225 files changed

+1635
-815
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

225 files changed

+1635
-815
lines changed

.idea/dictionaries/shared.xml

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/src/main/AndroidManifest.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,14 +44,14 @@
4444

4545
<category android:name="android.intent.category.LAUNCHER" />
4646
</intent-filter>
47-
<!-- Handle deep-link for notification, uncomment to be able to test deeplink with ./tools/adb/deeplink.sh -->
48-
<!--intent-filter>
47+
<!-- Handle deep-link for notification ./tools/adb/deeplink.sh -->
48+
<intent-filter>
4949
<action android:name="android.intent.action.VIEW" />
5050
<category android:name="android.intent.category.DEFAULT" />
5151
<data
5252
android:host="open"
5353
android:scheme="elementx" />
54-
</intent-filter-->
54+
</intent-filter>
5555
<intent-filter>
5656
<action android:name="android.intent.action.VIEW" />
5757

app/src/main/kotlin/io/element/android/x/ElementXApplication.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ package io.element.android.x
1818

1919
import android.app.Application
2020
import androidx.startup.AppInitializer
21-
import io.element.android.x.di.AppComponent
2221
import io.element.android.libraries.di.DaggerComponentOwner
22+
import io.element.android.x.di.AppComponent
2323
import io.element.android.x.di.DaggerAppComponent
2424
import io.element.android.x.info.logApplicationInfo
2525
import io.element.android.x.initializer.CrashInitializer

app/src/main/kotlin/io/element/android/x/intent/IntentProviderImpl.kt

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,14 +35,21 @@ class IntentProviderImpl @Inject constructor(
3535
@ApplicationContext private val context: Context,
3636
private val deepLinkCreator: DeepLinkCreator,
3737
) : IntentProvider {
38-
override fun getViewIntent(
38+
override fun getViewRoomIntent(
3939
sessionId: SessionId,
4040
roomId: RoomId?,
4141
threadId: ThreadId?,
4242
): Intent {
4343
return Intent(context, MainActivity::class.java).apply {
4444
action = Intent.ACTION_VIEW
45-
data = deepLinkCreator.create(sessionId, roomId, threadId).toUri()
45+
data = deepLinkCreator.room(sessionId, roomId, threadId).toUri()
46+
}
47+
}
48+
49+
override fun getInviteListIntent(sessionId: SessionId): Intent {
50+
return Intent(context, MainActivity::class.java).apply {
51+
action = Intent.ACTION_VIEW
52+
data = deepLinkCreator.inviteList(sessionId).toUri()
4653
}
4754
}
4855
}

appnav/src/main/kotlin/io/element/android/appnav/LoggedInFlowNode.kt

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,7 @@ package io.element.android.appnav
1818

1919
import android.os.Parcelable
2020
import androidx.compose.foundation.layout.Box
21-
import androidx.compose.foundation.layout.fillMaxSize
2221
import androidx.compose.runtime.Composable
23-
import androidx.compose.ui.Alignment
2422
import androidx.compose.ui.Modifier
2523
import androidx.lifecycle.Lifecycle
2624
import androidx.lifecycle.lifecycleScope
@@ -30,7 +28,6 @@ import com.bumble.appyx.core.composable.Children
3028
import com.bumble.appyx.core.lifecycle.subscribe
3129
import com.bumble.appyx.core.modality.BuildContext
3230
import com.bumble.appyx.core.node.Node
33-
import com.bumble.appyx.core.node.node
3431
import com.bumble.appyx.core.plugin.Plugin
3532
import com.bumble.appyx.core.plugin.plugins
3633
import com.bumble.appyx.navmodel.backstack.BackStack
@@ -58,13 +55,15 @@ import io.element.android.libraries.architecture.animation.rememberDefaultTransi
5855
import io.element.android.libraries.architecture.bindings
5956
import io.element.android.libraries.architecture.createNode
6057
import io.element.android.libraries.architecture.inputs
58+
import io.element.android.libraries.deeplink.DeeplinkData
6159
import io.element.android.libraries.designsystem.utils.SnackbarDispatcher
6260
import io.element.android.libraries.di.AppScope
6361
import io.element.android.libraries.matrix.api.MatrixClient
6462
import io.element.android.libraries.matrix.api.core.MAIN_SPACE
6563
import io.element.android.libraries.matrix.api.core.RoomId
6664
import io.element.android.libraries.matrix.api.sync.SyncState
6765
import io.element.android.libraries.matrix.ui.di.MatrixUIBindings
66+
import io.element.android.libraries.push.api.notifications.NotificationDrawerManager
6867
import io.element.android.services.analytics.api.AnalyticsService
6968
import io.element.android.services.appnavstate.api.AppNavigationStateService
7069
import kotlinx.coroutines.CoroutineScope
@@ -89,6 +88,7 @@ class LoggedInFlowNode @AssistedInject constructor(
8988
private val analyticsService: AnalyticsService,
9089
private val coroutineScope: CoroutineScope,
9190
private val networkMonitor: NetworkMonitor,
91+
private val notificationDrawerManager: NotificationDrawerManager,
9292
snackbarDispatcher: SnackbarDispatcher,
9393
) : BackstackNode<LoggedInFlowNode.NavTarget>(
9494
backstack = BackStack(
@@ -139,7 +139,6 @@ class LoggedInFlowNode @AssistedInject constructor(
139139
observeAnalyticsState()
140140
lifecycle.subscribe(
141141
onCreate = {
142-
syncService.startSync()
143142
plugins<LifecycleCallback>().forEach { it.onFlowCreated(id, inputs.matrixClient) }
144143
val imageLoaderFactory = bindings<MatrixUIBindings>().loggedInImageLoaderFactory()
145144
Coil.setImageLoader(imageLoaderFactory)
@@ -341,4 +340,13 @@ class LoggedInFlowNode @AssistedInject constructor(
341340
PermanentChild(navTarget = NavTarget.Permanent)
342341
}
343342
}
343+
344+
internal suspend fun attachRoom(deeplinkData: DeeplinkData.Room) {
345+
backstack.push(NavTarget.Room(deeplinkData.roomId))
346+
}
347+
348+
internal suspend fun attachInviteList(deeplinkData: DeeplinkData.InviteList) {
349+
notificationDrawerManager.clearMembershipNotificationForSession(deeplinkData.sessionId)
350+
backstack.push(NavTarget.InviteList)
351+
}
344352
}

appnav/src/main/kotlin/io/element/android/appnav/RootFlowNode.kt

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -253,13 +253,10 @@ class RootFlowNode @AssistedInject constructor(
253253
Timber.d("Navigating to $deeplinkData")
254254
attachSession(deeplinkData.sessionId)
255255
.apply {
256-
val roomId = deeplinkData.roomId
257-
if (roomId == null) {
258-
// In case room is not provided, ensure the app navigate back to the room list
259-
attachRoot()
260-
} else {
261-
attachRoom(roomId)
262-
// TODO .attachThread(deeplinkData.threadId)
256+
when (deeplinkData) {
257+
is DeeplinkData.Root -> attachRoot()
258+
is DeeplinkData.Room -> attachRoom(deeplinkData)
259+
is DeeplinkData.InviteList -> attachInviteList(deeplinkData)
263260
}
264261
}
265262
}

appnav/src/main/kotlin/io/element/android/appnav/intent/IntentResolver.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ import io.element.android.features.login.api.oidc.OidcAction
2121
import io.element.android.features.login.api.oidc.OidcIntentResolver
2222
import io.element.android.libraries.deeplink.DeeplinkData
2323
import io.element.android.libraries.deeplink.DeeplinkParser
24+
import io.element.android.libraries.matrix.api.core.RoomId
25+
import io.element.android.libraries.matrix.api.core.SessionId
2426
import timber.log.Timber
2527
import javax.inject.Inject
2628

build.gradle.kts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ allprojects {
5959
config = files("$rootDir/tools/detekt/detekt.yml")
6060
}
6161
dependencies {
62-
detektPlugins("io.nlopez.compose.rules:detekt:0.1.11")
62+
detektPlugins("io.nlopez.compose.rules:detekt:0.1.12")
6363
}
6464

6565
// KtLint
@@ -247,6 +247,7 @@ koverMerged {
247247
excludes += "io.element.android.features.messages.impl.media.local.LocalMediaViewState"
248248
excludes += "io.element.android.features.location.impl.map.MapState"
249249
excludes += "io.element.android.libraries.matrix.api.timeline.item.event.LocalEventSendState*"
250+
excludes += "io.element.android.libraries.designsystem.swipe.SwipeableActionsState*"
250251
}
251252
bound {
252253
minValue = 90

changelog.d/821.bugfix

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Truncate and ellipsize long reactions

features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/addpeople/AddPeopleView.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,10 @@ import io.element.android.features.createroom.impl.userlist.UserListState
3838
import io.element.android.libraries.designsystem.components.button.BackButton
3939
import io.element.android.libraries.designsystem.preview.ElementPreviewDark
4040
import io.element.android.libraries.designsystem.preview.ElementPreviewLight
41-
import io.element.android.libraries.designsystem.theme.components.CenterAlignedTopAppBar
4241
import io.element.android.libraries.designsystem.theme.components.Scaffold
4342
import io.element.android.libraries.designsystem.theme.components.Text
4443
import io.element.android.libraries.designsystem.theme.components.TextButton
44+
import io.element.android.libraries.designsystem.theme.components.TopAppBar
4545
import io.element.android.libraries.ui.strings.CommonStrings
4646

4747
@OptIn(ExperimentalLayoutApi::class)
@@ -92,7 +92,7 @@ fun AddPeopleViewTopBar(
9292
onBackPressed: () -> Unit = {},
9393
onNextPressed: () -> Unit = {},
9494
) {
95-
CenterAlignedTopAppBar(
95+
TopAppBar(
9696
modifier = modifier,
9797
title = {
9898
Text(

0 commit comments

Comments
 (0)