mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-11-04 01:19:33 +00:00
Move the logic to the Node, which handles navigation.
This commit is contained in:
+8
-1
@@ -28,6 +28,7 @@ import dagger.assisted.Assisted
|
|||||||
import dagger.assisted.AssistedInject
|
import dagger.assisted.AssistedInject
|
||||||
import io.element.android.anvilannotations.ContributesNode
|
import io.element.android.anvilannotations.ContributesNode
|
||||||
import io.element.android.compound.theme.ElementTheme
|
import io.element.android.compound.theme.ElementTheme
|
||||||
|
import io.element.android.features.logout.api.direct.DirectLogoutEvents
|
||||||
import io.element.android.features.logout.api.direct.DirectLogoutView
|
import io.element.android.features.logout.api.direct.DirectLogoutView
|
||||||
import io.element.android.libraries.androidutils.browser.openUrlInChromeCustomTab
|
import io.element.android.libraries.androidutils.browser.openUrlInChromeCustomTab
|
||||||
import io.element.android.libraries.di.SessionScope
|
import io.element.android.libraries.di.SessionScope
|
||||||
@@ -141,7 +142,13 @@ class PreferencesRootNode @AssistedInject constructor(
|
|||||||
onOpenNotificationSettings = this::onOpenNotificationSettings,
|
onOpenNotificationSettings = this::onOpenNotificationSettings,
|
||||||
onOpenLockScreenSettings = this::onOpenLockScreenSettings,
|
onOpenLockScreenSettings = this::onOpenLockScreenSettings,
|
||||||
onOpenUserProfile = this::onOpenUserProfile,
|
onOpenUserProfile = this::onOpenUserProfile,
|
||||||
onSignOutClicked = this::onSignOutClicked,
|
onSignOutClicked = {
|
||||||
|
if (state.directLogoutState.canDoDirectSignOut) {
|
||||||
|
state.directLogoutState.eventSink(DirectLogoutEvents.Logout(ignoreSdkError = false))
|
||||||
|
} else {
|
||||||
|
onSignOutClicked()
|
||||||
|
}
|
||||||
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
directLogoutView.Render(
|
directLogoutView.Render(
|
||||||
|
|||||||
+1
-8
@@ -29,7 +29,6 @@ import androidx.compose.ui.tooling.preview.PreviewParameter
|
|||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import io.element.android.compound.theme.ElementTheme
|
import io.element.android.compound.theme.ElementTheme
|
||||||
import io.element.android.compound.tokens.generated.CompoundIcons
|
import io.element.android.compound.tokens.generated.CompoundIcons
|
||||||
import io.element.android.features.logout.api.direct.DirectLogoutEvents
|
|
||||||
import io.element.android.features.preferences.impl.R
|
import io.element.android.features.preferences.impl.R
|
||||||
import io.element.android.features.preferences.impl.user.UserPreferences
|
import io.element.android.features.preferences.impl.user.UserPreferences
|
||||||
import io.element.android.libraries.designsystem.components.list.ListItemContent
|
import io.element.android.libraries.designsystem.components.list.ListItemContent
|
||||||
@@ -163,13 +162,7 @@ fun PreferencesRootView(
|
|||||||
headlineContent = { Text(stringResource(id = CommonStrings.action_signout)) },
|
headlineContent = { Text(stringResource(id = CommonStrings.action_signout)) },
|
||||||
leadingContent = ListItemContent.Icon(IconSource.Resource(CommonDrawables.ic_sign_out)),
|
leadingContent = ListItemContent.Icon(IconSource.Resource(CommonDrawables.ic_sign_out)),
|
||||||
style = ListItemStyle.Destructive,
|
style = ListItemStyle.Destructive,
|
||||||
onClick = {
|
onClick = onSignOutClicked,
|
||||||
if (state.directLogoutState.canDoDirectSignOut) {
|
|
||||||
state.directLogoutState.eventSink(DirectLogoutEvents.Logout(ignoreSdkError = false))
|
|
||||||
} else {
|
|
||||||
onSignOutClicked()
|
|
||||||
}
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
Text(
|
Text(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
|
|||||||
Reference in New Issue
Block a user