forked from dsutanto/bChot-android
refactoring to id.databisnis.bachot
This commit is contained in:
@@ -7,12 +7,12 @@
|
||||
*/
|
||||
|
||||
plugins {
|
||||
id("io.element.android-compose-library")
|
||||
id("id.databisnis.android.bachot-compose-library")
|
||||
id("kotlin-parcelize")
|
||||
}
|
||||
|
||||
android {
|
||||
namespace = "io.element.android.features.userprofile.api"
|
||||
namespace = "id.databisnis.android.bachot.features.userprofile.api"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
|
||||
+5
-5
@@ -6,15 +6,15 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.userprofile.api
|
||||
package id.databisnis.android.bachot.features.userprofile.api
|
||||
|
||||
import com.bumble.appyx.core.modality.BuildContext
|
||||
import com.bumble.appyx.core.node.Node
|
||||
import com.bumble.appyx.core.plugin.Plugin
|
||||
import io.element.android.libraries.architecture.FeatureEntryPoint
|
||||
import io.element.android.libraries.architecture.NodeInputs
|
||||
import io.element.android.libraries.matrix.api.core.RoomId
|
||||
import io.element.android.libraries.matrix.api.core.UserId
|
||||
import id.databisnis.android.bachot.libraries.architecture.FeatureEntryPoint
|
||||
import id.databisnis.android.bachot.libraries.architecture.NodeInputs
|
||||
import id.databisnis.android.bachot.libraries.matrix.api.core.RoomId
|
||||
import id.databisnis.android.bachot.libraries.matrix.api.core.UserId
|
||||
|
||||
interface UserProfileEntryPoint : FeatureEntryPoint {
|
||||
data class Params(val userId: UserId) : NodeInputs
|
||||
+1
-1
@@ -6,7 +6,7 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.userprofile.api
|
||||
package id.databisnis.android.bachot.features.userprofile.api
|
||||
|
||||
sealed interface UserProfileEvents {
|
||||
data object StartDM : UserProfileEvents
|
||||
+3
-3
@@ -6,10 +6,10 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.userprofile.api
|
||||
package id.databisnis.android.bachot.features.userprofile.api
|
||||
|
||||
import io.element.android.libraries.architecture.Presenter
|
||||
import io.element.android.libraries.matrix.api.core.UserId
|
||||
import id.databisnis.android.bachot.libraries.architecture.Presenter
|
||||
import id.databisnis.android.bachot.libraries.matrix.api.core.UserId
|
||||
|
||||
fun interface UserProfilePresenterFactory {
|
||||
fun create(userId: UserId): Presenter<UserProfileState>
|
||||
+6
-6
@@ -6,13 +6,13 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.userprofile.api
|
||||
package id.databisnis.android.bachot.features.userprofile.api
|
||||
|
||||
import io.element.android.libraries.architecture.AsyncAction
|
||||
import io.element.android.libraries.architecture.AsyncData
|
||||
import io.element.android.libraries.designsystem.utils.snackbar.SnackbarMessage
|
||||
import io.element.android.libraries.matrix.api.core.RoomId
|
||||
import io.element.android.libraries.matrix.api.core.UserId
|
||||
import id.databisnis.android.bachot.libraries.architecture.AsyncAction
|
||||
import id.databisnis.android.bachot.libraries.architecture.AsyncData
|
||||
import id.databisnis.android.bachot.libraries.designsystem.utils.snackbar.SnackbarMessage
|
||||
import id.databisnis.android.bachot.libraries.matrix.api.core.RoomId
|
||||
import id.databisnis.android.bachot.libraries.matrix.api.core.UserId
|
||||
|
||||
data class UserProfileState(
|
||||
val userId: UserId,
|
||||
@@ -10,12 +10,12 @@ import extension.testCommonDependencies
|
||||
*/
|
||||
|
||||
plugins {
|
||||
id("io.element.android-compose-library")
|
||||
id("id.databisnis.android.bachot-compose-library")
|
||||
id("kotlin-parcelize")
|
||||
}
|
||||
|
||||
android {
|
||||
namespace = "io.element.android.features.userprofile.impl"
|
||||
namespace = "id.databisnis.android.bachot.features.userprofile.impl"
|
||||
testOptions {
|
||||
unitTests {
|
||||
isIncludeAndroidResources = true
|
||||
|
||||
+3
-3
@@ -6,14 +6,14 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.userprofile.impl
|
||||
package id.databisnis.android.bachot.features.userprofile.impl
|
||||
|
||||
import com.bumble.appyx.core.modality.BuildContext
|
||||
import com.bumble.appyx.core.node.Node
|
||||
import dev.zacsweers.metro.AppScope
|
||||
import dev.zacsweers.metro.ContributesBinding
|
||||
import io.element.android.features.userprofile.api.UserProfileEntryPoint
|
||||
import io.element.android.libraries.architecture.createNode
|
||||
import id.databisnis.android.bachot.features.userprofile.api.UserProfileEntryPoint
|
||||
import id.databisnis.android.bachot.libraries.architecture.createNode
|
||||
|
||||
@ContributesBinding(AppScope::class)
|
||||
class DefaultUserProfileEntryPoint : UserProfileEntryPoint {
|
||||
+7
-7
@@ -6,15 +6,15 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.userprofile.impl
|
||||
package id.databisnis.android.bachot.features.userprofile.impl
|
||||
|
||||
import dev.zacsweers.metro.ContributesBinding
|
||||
import io.element.android.features.userprofile.api.UserProfilePresenterFactory
|
||||
import io.element.android.features.userprofile.api.UserProfileState
|
||||
import io.element.android.features.userprofile.impl.root.UserProfilePresenter
|
||||
import io.element.android.libraries.architecture.Presenter
|
||||
import io.element.android.libraries.di.SessionScope
|
||||
import io.element.android.libraries.matrix.api.core.UserId
|
||||
import id.databisnis.android.bachot.features.userprofile.api.UserProfilePresenterFactory
|
||||
import id.databisnis.android.bachot.features.userprofile.api.UserProfileState
|
||||
import id.databisnis.android.bachot.features.userprofile.impl.root.UserProfilePresenter
|
||||
import id.databisnis.android.bachot.libraries.architecture.Presenter
|
||||
import id.databisnis.android.bachot.libraries.di.SessionScope
|
||||
import id.databisnis.android.bachot.libraries.matrix.api.core.UserId
|
||||
|
||||
@ContributesBinding(SessionScope::class)
|
||||
class DefaultUserProfilePresenterFactory(
|
||||
+20
-20
@@ -6,7 +6,7 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.userprofile.impl
|
||||
package id.databisnis.android.bachot.features.userprofile.impl
|
||||
|
||||
import android.os.Parcelable
|
||||
import androidx.compose.runtime.Composable
|
||||
@@ -19,25 +19,25 @@ import com.bumble.appyx.navmodel.backstack.operation.pop
|
||||
import com.bumble.appyx.navmodel.backstack.operation.push
|
||||
import dev.zacsweers.metro.Assisted
|
||||
import dev.zacsweers.metro.AssistedInject
|
||||
import io.element.android.annotations.ContributesNode
|
||||
import io.element.android.features.call.api.CallType
|
||||
import io.element.android.features.call.api.ElementCallEntryPoint
|
||||
import io.element.android.features.userprofile.api.UserProfileEntryPoint
|
||||
import io.element.android.features.userprofile.impl.root.UserProfileNode
|
||||
import io.element.android.features.userprofile.shared.UserProfileNodeHelper
|
||||
import io.element.android.features.verifysession.api.OutgoingVerificationEntryPoint
|
||||
import io.element.android.libraries.architecture.BackstackView
|
||||
import io.element.android.libraries.architecture.BaseFlowNode
|
||||
import io.element.android.libraries.architecture.callback
|
||||
import io.element.android.libraries.architecture.createNode
|
||||
import io.element.android.libraries.architecture.inputs
|
||||
import io.element.android.libraries.di.SessionScope
|
||||
import io.element.android.libraries.matrix.api.core.EventId
|
||||
import io.element.android.libraries.matrix.api.core.RoomId
|
||||
import io.element.android.libraries.matrix.api.core.SessionId
|
||||
import io.element.android.libraries.matrix.api.core.UserId
|
||||
import io.element.android.libraries.matrix.api.verification.VerificationRequest
|
||||
import io.element.android.libraries.mediaviewer.api.MediaViewerEntryPoint
|
||||
import id.databisnis.android.bachot.annotations.ContributesNode
|
||||
import id.databisnis.android.bachot.features.call.api.CallType
|
||||
import id.databisnis.android.bachot.features.call.api.ElementCallEntryPoint
|
||||
import id.databisnis.android.bachot.features.userprofile.api.UserProfileEntryPoint
|
||||
import id.databisnis.android.bachot.features.userprofile.impl.root.UserProfileNode
|
||||
import id.databisnis.android.bachot.features.userprofile.shared.UserProfileNodeHelper
|
||||
import id.databisnis.android.bachot.features.verifysession.api.OutgoingVerificationEntryPoint
|
||||
import id.databisnis.android.bachot.libraries.architecture.BackstackView
|
||||
import id.databisnis.android.bachot.libraries.architecture.BaseFlowNode
|
||||
import id.databisnis.android.bachot.libraries.architecture.callback
|
||||
import id.databisnis.android.bachot.libraries.architecture.createNode
|
||||
import id.databisnis.android.bachot.libraries.architecture.inputs
|
||||
import id.databisnis.android.bachot.libraries.di.SessionScope
|
||||
import id.databisnis.android.bachot.libraries.matrix.api.core.EventId
|
||||
import id.databisnis.android.bachot.libraries.matrix.api.core.RoomId
|
||||
import id.databisnis.android.bachot.libraries.matrix.api.core.SessionId
|
||||
import id.databisnis.android.bachot.libraries.matrix.api.core.UserId
|
||||
import id.databisnis.android.bachot.libraries.matrix.api.verification.VerificationRequest
|
||||
import id.databisnis.android.bachot.libraries.mediaviewer.api.MediaViewerEntryPoint
|
||||
import kotlinx.parcelize.Parcelize
|
||||
|
||||
@ContributesNode(SessionScope::class)
|
||||
+11
-11
@@ -6,7 +6,7 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.userprofile.impl.root
|
||||
package id.databisnis.android.bachot.features.userprofile.impl.root
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
@@ -18,16 +18,16 @@ import com.bumble.appyx.core.plugin.Plugin
|
||||
import dev.zacsweers.metro.Assisted
|
||||
import dev.zacsweers.metro.AssistedInject
|
||||
import im.vector.app.features.analytics.plan.MobileScreen
|
||||
import io.element.android.annotations.ContributesNode
|
||||
import io.element.android.features.userprofile.shared.UserProfileNodeHelper
|
||||
import io.element.android.features.userprofile.shared.UserProfileView
|
||||
import io.element.android.libraries.architecture.NodeInputs
|
||||
import io.element.android.libraries.architecture.inputs
|
||||
import io.element.android.libraries.di.SessionScope
|
||||
import io.element.android.libraries.matrix.api.core.RoomId
|
||||
import io.element.android.libraries.matrix.api.core.UserId
|
||||
import io.element.android.libraries.matrix.api.permalink.PermalinkBuilder
|
||||
import io.element.android.services.analytics.api.AnalyticsService
|
||||
import id.databisnis.android.bachot.annotations.ContributesNode
|
||||
import id.databisnis.android.bachot.features.userprofile.shared.UserProfileNodeHelper
|
||||
import id.databisnis.android.bachot.features.userprofile.shared.UserProfileView
|
||||
import id.databisnis.android.bachot.libraries.architecture.NodeInputs
|
||||
import id.databisnis.android.bachot.libraries.architecture.inputs
|
||||
import id.databisnis.android.bachot.libraries.di.SessionScope
|
||||
import id.databisnis.android.bachot.libraries.matrix.api.core.RoomId
|
||||
import id.databisnis.android.bachot.libraries.matrix.api.core.UserId
|
||||
import id.databisnis.android.bachot.libraries.matrix.api.permalink.PermalinkBuilder
|
||||
import id.databisnis.android.bachot.services.analytics.api.AnalyticsService
|
||||
|
||||
@ContributesNode(SessionScope::class)
|
||||
@AssistedInject
|
||||
+15
-15
@@ -6,7 +6,7 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.userprofile.impl.root
|
||||
package id.databisnis.android.bachot.features.userprofile.impl.root
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.LaunchedEffect
|
||||
@@ -21,20 +21,20 @@ import androidx.compose.runtime.setValue
|
||||
import dev.zacsweers.metro.Assisted
|
||||
import dev.zacsweers.metro.AssistedFactory
|
||||
import dev.zacsweers.metro.AssistedInject
|
||||
import io.element.android.features.enterprise.api.SessionEnterpriseService
|
||||
import io.element.android.features.startchat.api.StartDMAction
|
||||
import io.element.android.features.userprofile.api.UserProfileEvents
|
||||
import io.element.android.features.userprofile.api.UserProfileState
|
||||
import io.element.android.features.userprofile.api.UserProfileState.ConfirmationDialog
|
||||
import io.element.android.features.userprofile.api.UserProfileVerificationState
|
||||
import io.element.android.libraries.architecture.AsyncAction
|
||||
import io.element.android.libraries.architecture.AsyncData
|
||||
import io.element.android.libraries.architecture.Presenter
|
||||
import io.element.android.libraries.core.bool.orFalse
|
||||
import io.element.android.libraries.matrix.api.MatrixClient
|
||||
import io.element.android.libraries.matrix.api.core.RoomId
|
||||
import io.element.android.libraries.matrix.api.core.UserId
|
||||
import io.element.android.libraries.matrix.api.user.MatrixUser
|
||||
import id.databisnis.android.bachot.features.enterprise.api.SessionEnterpriseService
|
||||
import id.databisnis.android.bachot.features.startchat.api.StartDMAction
|
||||
import id.databisnis.android.bachot.features.userprofile.api.UserProfileEvents
|
||||
import id.databisnis.android.bachot.features.userprofile.api.UserProfileState
|
||||
import id.databisnis.android.bachot.features.userprofile.api.UserProfileState.ConfirmationDialog
|
||||
import id.databisnis.android.bachot.features.userprofile.api.UserProfileVerificationState
|
||||
import id.databisnis.android.bachot.libraries.architecture.AsyncAction
|
||||
import id.databisnis.android.bachot.libraries.architecture.AsyncData
|
||||
import id.databisnis.android.bachot.libraries.architecture.Presenter
|
||||
import id.databisnis.android.bachot.libraries.core.bool.orFalse
|
||||
import id.databisnis.android.bachot.libraries.matrix.api.MatrixClient
|
||||
import id.databisnis.android.bachot.libraries.matrix.api.core.RoomId
|
||||
import id.databisnis.android.bachot.libraries.matrix.api.core.UserId
|
||||
import id.databisnis.android.bachot.libraries.matrix.api.user.MatrixUser
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.flow.distinctUntilChanged
|
||||
import kotlinx.coroutines.flow.launchIn
|
||||
+10
-10
@@ -6,21 +6,21 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.userprofile.impl
|
||||
package id.databisnis.android.bachot.features.userprofile.impl
|
||||
|
||||
import androidx.arch.core.executor.testing.InstantTaskExecutorRule
|
||||
import com.bumble.appyx.core.modality.BuildContext
|
||||
import com.bumble.appyx.testing.junit4.util.MainDispatcherRule
|
||||
import com.google.common.truth.Truth.assertThat
|
||||
import io.element.android.features.call.test.FakeElementCallEntryPoint
|
||||
import io.element.android.features.userprofile.api.UserProfileEntryPoint
|
||||
import io.element.android.features.verifysession.test.FakeOutgoingVerificationEntryPoint
|
||||
import io.element.android.libraries.matrix.api.core.RoomId
|
||||
import io.element.android.libraries.matrix.test.A_SESSION_ID
|
||||
import io.element.android.libraries.matrix.test.A_USER_ID
|
||||
import io.element.android.libraries.mediaviewer.test.FakeMediaViewerEntryPoint
|
||||
import io.element.android.tests.testutils.lambda.lambdaError
|
||||
import io.element.android.tests.testutils.node.TestParentNode
|
||||
import id.databisnis.android.bachot.features.call.test.FakeElementCallEntryPoint
|
||||
import id.databisnis.android.bachot.features.userprofile.api.UserProfileEntryPoint
|
||||
import id.databisnis.android.bachot.features.verifysession.test.FakeOutgoingVerificationEntryPoint
|
||||
import id.databisnis.android.bachot.libraries.matrix.api.core.RoomId
|
||||
import id.databisnis.android.bachot.libraries.matrix.test.A_SESSION_ID
|
||||
import id.databisnis.android.bachot.libraries.matrix.test.A_USER_ID
|
||||
import id.databisnis.android.bachot.libraries.mediaviewer.test.FakeMediaViewerEntryPoint
|
||||
import id.databisnis.android.bachot.tests.testutils.lambda.lambdaError
|
||||
import id.databisnis.android.bachot.tests.testutils.node.TestParentNode
|
||||
import org.junit.Rule
|
||||
import org.junit.Test
|
||||
|
||||
+29
-29
@@ -6,7 +6,7 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.userprofile.impl
|
||||
package id.databisnis.android.bachot.features.userprofile.impl
|
||||
|
||||
import androidx.compose.runtime.MutableState
|
||||
import app.cash.molecule.RecompositionMode
|
||||
@@ -14,34 +14,34 @@ import app.cash.molecule.moleculeFlow
|
||||
import app.cash.turbine.ReceiveTurbine
|
||||
import app.cash.turbine.test
|
||||
import com.google.common.truth.Truth.assertThat
|
||||
import io.element.android.features.enterprise.test.FakeSessionEnterpriseService
|
||||
import io.element.android.features.invitepeople.test.FakeStartDMAction
|
||||
import io.element.android.features.startchat.api.ConfirmingStartDmWithMatrixUser
|
||||
import io.element.android.features.startchat.api.StartDMAction
|
||||
import io.element.android.features.userprofile.api.UserProfileEvents
|
||||
import io.element.android.features.userprofile.api.UserProfileState
|
||||
import io.element.android.features.userprofile.api.UserProfileVerificationState
|
||||
import io.element.android.features.userprofile.impl.root.UserProfilePresenter
|
||||
import io.element.android.libraries.architecture.AsyncAction
|
||||
import io.element.android.libraries.architecture.AsyncData
|
||||
import io.element.android.libraries.matrix.api.MatrixClient
|
||||
import io.element.android.libraries.matrix.api.core.RoomId
|
||||
import io.element.android.libraries.matrix.api.core.UserId
|
||||
import io.element.android.libraries.matrix.api.encryption.identity.IdentityState
|
||||
import io.element.android.libraries.matrix.api.user.MatrixUser
|
||||
import io.element.android.libraries.matrix.test.AN_EXCEPTION
|
||||
import io.element.android.libraries.matrix.test.A_ROOM_ID
|
||||
import io.element.android.libraries.matrix.test.A_USER_ID
|
||||
import io.element.android.libraries.matrix.test.A_USER_ID_2
|
||||
import io.element.android.libraries.matrix.test.FakeMatrixClient
|
||||
import io.element.android.libraries.matrix.test.encryption.FakeEncryptionService
|
||||
import io.element.android.libraries.matrix.test.room.FakeBaseRoom
|
||||
import io.element.android.libraries.matrix.ui.components.aMatrixUser
|
||||
import io.element.android.tests.testutils.WarmUpRule
|
||||
import io.element.android.tests.testutils.lambda.any
|
||||
import io.element.android.tests.testutils.lambda.lambdaRecorder
|
||||
import io.element.android.tests.testutils.lambda.value
|
||||
import io.element.android.tests.testutils.test
|
||||
import id.databisnis.android.bachot.features.enterprise.test.FakeSessionEnterpriseService
|
||||
import id.databisnis.android.bachot.features.invitepeople.test.FakeStartDMAction
|
||||
import id.databisnis.android.bachot.features.startchat.api.ConfirmingStartDmWithMatrixUser
|
||||
import id.databisnis.android.bachot.features.startchat.api.StartDMAction
|
||||
import id.databisnis.android.bachot.features.userprofile.api.UserProfileEvents
|
||||
import id.databisnis.android.bachot.features.userprofile.api.UserProfileState
|
||||
import id.databisnis.android.bachot.features.userprofile.api.UserProfileVerificationState
|
||||
import id.databisnis.android.bachot.features.userprofile.impl.root.UserProfilePresenter
|
||||
import id.databisnis.android.bachot.libraries.architecture.AsyncAction
|
||||
import id.databisnis.android.bachot.libraries.architecture.AsyncData
|
||||
import id.databisnis.android.bachot.libraries.matrix.api.MatrixClient
|
||||
import id.databisnis.android.bachot.libraries.matrix.api.core.RoomId
|
||||
import id.databisnis.android.bachot.libraries.matrix.api.core.UserId
|
||||
import id.databisnis.android.bachot.libraries.matrix.api.encryption.identity.IdentityState
|
||||
import id.databisnis.android.bachot.libraries.matrix.api.user.MatrixUser
|
||||
import id.databisnis.android.bachot.libraries.matrix.test.AN_EXCEPTION
|
||||
import id.databisnis.android.bachot.libraries.matrix.test.A_ROOM_ID
|
||||
import id.databisnis.android.bachot.libraries.matrix.test.A_USER_ID
|
||||
import id.databisnis.android.bachot.libraries.matrix.test.A_USER_ID_2
|
||||
import id.databisnis.android.bachot.libraries.matrix.test.FakeMatrixClient
|
||||
import id.databisnis.android.bachot.libraries.matrix.test.encryption.FakeEncryptionService
|
||||
import id.databisnis.android.bachot.libraries.matrix.test.room.FakeBaseRoom
|
||||
import id.databisnis.android.bachot.libraries.matrix.ui.components.aMatrixUser
|
||||
import id.databisnis.android.bachot.tests.testutils.WarmUpRule
|
||||
import id.databisnis.android.bachot.tests.testutils.lambda.any
|
||||
import id.databisnis.android.bachot.tests.testutils.lambda.lambdaRecorder
|
||||
import id.databisnis.android.bachot.tests.testutils.lambda.value
|
||||
import id.databisnis.android.bachot.tests.testutils.test
|
||||
import kotlinx.collections.immutable.ImmutableList
|
||||
import kotlinx.collections.immutable.persistentListOf
|
||||
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
||||
@@ -9,12 +9,12 @@ import extension.testCommonDependencies
|
||||
*/
|
||||
|
||||
plugins {
|
||||
id("io.element.android-compose-library")
|
||||
id("id.databisnis.android.bachot-compose-library")
|
||||
id("kotlin-parcelize")
|
||||
}
|
||||
|
||||
android {
|
||||
namespace = "io.element.android.features.userprofile.shared"
|
||||
namespace = "id.databisnis.android.bachot.features.userprofile.shared"
|
||||
testOptions {
|
||||
unitTests {
|
||||
isIncludeAndroidResources = true
|
||||
|
||||
+20
-20
@@ -6,7 +6,7 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.userprofile.shared
|
||||
package id.databisnis.android.bachot.features.userprofile.shared
|
||||
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.foundation.layout.Column
|
||||
@@ -25,25 +25,25 @@ import androidx.compose.ui.semantics.heading
|
||||
import androidx.compose.ui.semantics.semantics
|
||||
import androidx.compose.ui.text.style.TextAlign
|
||||
import androidx.compose.ui.unit.dp
|
||||
import io.element.android.compound.theme.ElementTheme
|
||||
import io.element.android.compound.tokens.generated.CompoundIcons
|
||||
import io.element.android.features.userprofile.api.UserProfileVerificationState
|
||||
import io.element.android.libraries.designsystem.atomic.atoms.MatrixBadgeAtom
|
||||
import io.element.android.libraries.designsystem.atomic.molecules.MatrixBadgeRowMolecule
|
||||
import io.element.android.libraries.designsystem.components.avatar.Avatar
|
||||
import io.element.android.libraries.designsystem.components.avatar.AvatarData
|
||||
import io.element.android.libraries.designsystem.components.avatar.AvatarSize
|
||||
import io.element.android.libraries.designsystem.components.avatar.AvatarType
|
||||
import io.element.android.libraries.designsystem.modifiers.niceClickable
|
||||
import io.element.android.libraries.designsystem.preview.ElementPreview
|
||||
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
||||
import io.element.android.libraries.designsystem.theme.components.ButtonSize
|
||||
import io.element.android.libraries.designsystem.theme.components.OutlinedButton
|
||||
import io.element.android.libraries.designsystem.theme.components.Text
|
||||
import io.element.android.libraries.matrix.api.core.UserId
|
||||
import io.element.android.libraries.testtags.TestTags
|
||||
import io.element.android.libraries.testtags.testTag
|
||||
import io.element.android.libraries.ui.strings.CommonStrings
|
||||
import id.databisnis.android.bachot.compound.theme.ElementTheme
|
||||
import id.databisnis.android.bachot.compound.tokens.generated.CompoundIcons
|
||||
import id.databisnis.android.bachot.features.userprofile.api.UserProfileVerificationState
|
||||
import id.databisnis.android.bachot.libraries.designsystem.atomic.atoms.MatrixBadgeAtom
|
||||
import id.databisnis.android.bachot.libraries.designsystem.atomic.molecules.MatrixBadgeRowMolecule
|
||||
import id.databisnis.android.bachot.libraries.designsystem.components.avatar.Avatar
|
||||
import id.databisnis.android.bachot.libraries.designsystem.components.avatar.AvatarData
|
||||
import id.databisnis.android.bachot.libraries.designsystem.components.avatar.AvatarSize
|
||||
import id.databisnis.android.bachot.libraries.designsystem.components.avatar.AvatarType
|
||||
import id.databisnis.android.bachot.libraries.designsystem.modifiers.niceClickable
|
||||
import id.databisnis.android.bachot.libraries.designsystem.preview.ElementPreview
|
||||
import id.databisnis.android.bachot.libraries.designsystem.preview.PreviewsDayNight
|
||||
import id.databisnis.android.bachot.libraries.designsystem.theme.components.ButtonSize
|
||||
import id.databisnis.android.bachot.libraries.designsystem.theme.components.OutlinedButton
|
||||
import id.databisnis.android.bachot.libraries.designsystem.theme.components.Text
|
||||
import id.databisnis.android.bachot.libraries.matrix.api.core.UserId
|
||||
import id.databisnis.android.bachot.libraries.testtags.TestTags
|
||||
import id.databisnis.android.bachot.libraries.testtags.testTag
|
||||
import id.databisnis.android.bachot.libraries.ui.strings.CommonStrings
|
||||
import kotlinx.collections.immutable.toImmutableList
|
||||
|
||||
@Composable
|
||||
+4
-4
@@ -6,7 +6,7 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.userprofile.shared
|
||||
package id.databisnis.android.bachot.features.userprofile.shared
|
||||
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.Row
|
||||
@@ -16,9 +16,9 @@ import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.unit.dp
|
||||
import io.element.android.compound.tokens.generated.CompoundIcons
|
||||
import io.element.android.libraries.designsystem.components.button.MainActionButton
|
||||
import io.element.android.libraries.ui.strings.CommonStrings
|
||||
import id.databisnis.android.bachot.compound.tokens.generated.CompoundIcons
|
||||
import id.databisnis.android.bachot.libraries.designsystem.components.button.MainActionButton
|
||||
import id.databisnis.android.bachot.libraries.ui.strings.CommonStrings
|
||||
|
||||
@Composable
|
||||
fun UserProfileMainActionsSection(
|
||||
+8
-8
@@ -6,16 +6,16 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.userprofile.shared
|
||||
package id.databisnis.android.bachot.features.userprofile.shared
|
||||
|
||||
import android.content.Context
|
||||
import io.element.android.libraries.androidutils.R
|
||||
import io.element.android.libraries.androidutils.system.startSharePlainTextIntent
|
||||
import io.element.android.libraries.architecture.NodeInputs
|
||||
import io.element.android.libraries.matrix.api.core.RoomId
|
||||
import io.element.android.libraries.matrix.api.core.UserId
|
||||
import io.element.android.libraries.matrix.api.permalink.PermalinkBuilder
|
||||
import io.element.android.libraries.ui.strings.CommonStrings
|
||||
import id.databisnis.android.bachot.libraries.androidutils.R
|
||||
import id.databisnis.android.bachot.libraries.androidutils.system.startSharePlainTextIntent
|
||||
import id.databisnis.android.bachot.libraries.architecture.NodeInputs
|
||||
import id.databisnis.android.bachot.libraries.matrix.api.core.RoomId
|
||||
import id.databisnis.android.bachot.libraries.matrix.api.core.UserId
|
||||
import id.databisnis.android.bachot.libraries.matrix.api.permalink.PermalinkBuilder
|
||||
import id.databisnis.android.bachot.libraries.ui.strings.CommonStrings
|
||||
import timber.log.Timber
|
||||
|
||||
class UserProfileNodeHelper(
|
||||
+11
-11
@@ -6,19 +6,19 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.userprofile.shared
|
||||
package id.databisnis.android.bachot.features.userprofile.shared
|
||||
|
||||
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
|
||||
import io.element.android.features.startchat.api.ConfirmingStartDmWithMatrixUser
|
||||
import io.element.android.features.userprofile.api.UserProfileEvents
|
||||
import io.element.android.features.userprofile.api.UserProfileState
|
||||
import io.element.android.features.userprofile.api.UserProfileVerificationState
|
||||
import io.element.android.libraries.architecture.AsyncAction
|
||||
import io.element.android.libraries.architecture.AsyncData
|
||||
import io.element.android.libraries.designsystem.utils.snackbar.SnackbarMessage
|
||||
import io.element.android.libraries.matrix.api.core.RoomId
|
||||
import io.element.android.libraries.matrix.api.core.UserId
|
||||
import io.element.android.libraries.matrix.ui.components.aMatrixUser
|
||||
import id.databisnis.android.bachot.features.startchat.api.ConfirmingStartDmWithMatrixUser
|
||||
import id.databisnis.android.bachot.features.userprofile.api.UserProfileEvents
|
||||
import id.databisnis.android.bachot.features.userprofile.api.UserProfileState
|
||||
import id.databisnis.android.bachot.features.userprofile.api.UserProfileVerificationState
|
||||
import id.databisnis.android.bachot.libraries.architecture.AsyncAction
|
||||
import id.databisnis.android.bachot.libraries.architecture.AsyncData
|
||||
import id.databisnis.android.bachot.libraries.designsystem.utils.snackbar.SnackbarMessage
|
||||
import id.databisnis.android.bachot.libraries.matrix.api.core.RoomId
|
||||
import id.databisnis.android.bachot.libraries.matrix.api.core.UserId
|
||||
import id.databisnis.android.bachot.libraries.matrix.ui.components.aMatrixUser
|
||||
|
||||
open class UserProfileStateProvider : PreviewParameterProvider<UserProfileState> {
|
||||
override val values: Sequence<UserProfileState>
|
||||
+25
-25
@@ -6,7 +6,7 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.userprofile.shared
|
||||
package id.databisnis.android.bachot.features.userprofile.shared
|
||||
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.Spacer
|
||||
@@ -21,30 +21,30 @@ import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||
import androidx.compose.ui.unit.dp
|
||||
import io.element.android.compound.tokens.generated.CompoundIcons
|
||||
import io.element.android.features.startchat.api.ConfirmingStartDmWithMatrixUser
|
||||
import io.element.android.features.userprofile.api.UserProfileEvents
|
||||
import io.element.android.features.userprofile.api.UserProfileState
|
||||
import io.element.android.features.userprofile.api.UserProfileVerificationState
|
||||
import io.element.android.features.userprofile.shared.blockuser.BlockUserDialogs
|
||||
import io.element.android.features.userprofile.shared.blockuser.BlockUserSection
|
||||
import io.element.android.libraries.designsystem.components.async.AsyncActionView
|
||||
import io.element.android.libraries.designsystem.components.async.AsyncActionViewDefaults
|
||||
import io.element.android.libraries.designsystem.components.button.BackButton
|
||||
import io.element.android.libraries.designsystem.components.list.ListItemContent
|
||||
import io.element.android.libraries.designsystem.preview.ElementPreview
|
||||
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
||||
import io.element.android.libraries.designsystem.theme.components.IconSource
|
||||
import io.element.android.libraries.designsystem.theme.components.ListItem
|
||||
import io.element.android.libraries.designsystem.theme.components.Scaffold
|
||||
import io.element.android.libraries.designsystem.theme.components.Text
|
||||
import io.element.android.libraries.designsystem.theme.components.TopAppBar
|
||||
import io.element.android.libraries.designsystem.utils.snackbar.SnackbarHost
|
||||
import io.element.android.libraries.designsystem.utils.snackbar.rememberSnackbarHostState
|
||||
import io.element.android.libraries.matrix.api.core.RoomId
|
||||
import io.element.android.libraries.matrix.api.core.UserId
|
||||
import io.element.android.libraries.matrix.ui.components.CreateDmConfirmationBottomSheet
|
||||
import io.element.android.libraries.ui.strings.CommonStrings
|
||||
import id.databisnis.android.bachot.compound.tokens.generated.CompoundIcons
|
||||
import id.databisnis.android.bachot.features.startchat.api.ConfirmingStartDmWithMatrixUser
|
||||
import id.databisnis.android.bachot.features.userprofile.api.UserProfileEvents
|
||||
import id.databisnis.android.bachot.features.userprofile.api.UserProfileState
|
||||
import id.databisnis.android.bachot.features.userprofile.api.UserProfileVerificationState
|
||||
import id.databisnis.android.bachot.features.userprofile.shared.blockuser.BlockUserDialogs
|
||||
import id.databisnis.android.bachot.features.userprofile.shared.blockuser.BlockUserSection
|
||||
import id.databisnis.android.bachot.libraries.designsystem.components.async.AsyncActionView
|
||||
import id.databisnis.android.bachot.libraries.designsystem.components.async.AsyncActionViewDefaults
|
||||
import id.databisnis.android.bachot.libraries.designsystem.components.button.BackButton
|
||||
import id.databisnis.android.bachot.libraries.designsystem.components.list.ListItemContent
|
||||
import id.databisnis.android.bachot.libraries.designsystem.preview.ElementPreview
|
||||
import id.databisnis.android.bachot.libraries.designsystem.preview.PreviewsDayNight
|
||||
import id.databisnis.android.bachot.libraries.designsystem.theme.components.IconSource
|
||||
import id.databisnis.android.bachot.libraries.designsystem.theme.components.ListItem
|
||||
import id.databisnis.android.bachot.libraries.designsystem.theme.components.Scaffold
|
||||
import id.databisnis.android.bachot.libraries.designsystem.theme.components.Text
|
||||
import id.databisnis.android.bachot.libraries.designsystem.theme.components.TopAppBar
|
||||
import id.databisnis.android.bachot.libraries.designsystem.utils.snackbar.SnackbarHost
|
||||
import id.databisnis.android.bachot.libraries.designsystem.utils.snackbar.rememberSnackbarHostState
|
||||
import id.databisnis.android.bachot.libraries.matrix.api.core.RoomId
|
||||
import id.databisnis.android.bachot.libraries.matrix.api.core.UserId
|
||||
import id.databisnis.android.bachot.libraries.matrix.ui.components.CreateDmConfirmationBottomSheet
|
||||
import id.databisnis.android.bachot.libraries.ui.strings.CommonStrings
|
||||
|
||||
@OptIn(ExperimentalMaterial3Api::class)
|
||||
@Composable
|
||||
+5
-5
@@ -6,14 +6,14 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.userprofile.shared.blockuser
|
||||
package id.databisnis.android.bachot.features.userprofile.shared.blockuser
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import io.element.android.features.userprofile.api.UserProfileEvents
|
||||
import io.element.android.features.userprofile.api.UserProfileState
|
||||
import io.element.android.features.userprofile.shared.R
|
||||
import io.element.android.libraries.designsystem.components.dialogs.ConfirmationDialog
|
||||
import id.databisnis.android.bachot.features.userprofile.api.UserProfileEvents
|
||||
import id.databisnis.android.bachot.features.userprofile.api.UserProfileState
|
||||
import id.databisnis.android.bachot.features.userprofile.shared.R
|
||||
import id.databisnis.android.bachot.libraries.designsystem.components.dialogs.ConfirmationDialog
|
||||
|
||||
@Composable
|
||||
fun BlockUserDialogs(state: UserProfileState) {
|
||||
+16
-16
@@ -6,7 +6,7 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.userprofile.shared.blockuser
|
||||
package id.databisnis.android.bachot.features.userprofile.shared.blockuser
|
||||
|
||||
import androidx.compose.foundation.layout.size
|
||||
import androidx.compose.foundation.progressSemantics
|
||||
@@ -14,21 +14,21 @@ import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.unit.dp
|
||||
import io.element.android.compound.tokens.generated.CompoundIcons
|
||||
import io.element.android.features.userprofile.api.UserProfileEvents
|
||||
import io.element.android.features.userprofile.api.UserProfileState
|
||||
import io.element.android.features.userprofile.shared.R
|
||||
import io.element.android.libraries.architecture.AsyncData
|
||||
import io.element.android.libraries.core.bool.orFalse
|
||||
import io.element.android.libraries.designsystem.components.dialogs.RetryDialog
|
||||
import io.element.android.libraries.designsystem.components.list.ListItemContent
|
||||
import io.element.android.libraries.designsystem.components.preferences.PreferenceCategory
|
||||
import io.element.android.libraries.designsystem.theme.components.CircularProgressIndicator
|
||||
import io.element.android.libraries.designsystem.theme.components.IconSource
|
||||
import io.element.android.libraries.designsystem.theme.components.ListItem
|
||||
import io.element.android.libraries.designsystem.theme.components.ListItemStyle
|
||||
import io.element.android.libraries.designsystem.theme.components.Text
|
||||
import io.element.android.libraries.ui.strings.CommonStrings
|
||||
import id.databisnis.android.bachot.compound.tokens.generated.CompoundIcons
|
||||
import id.databisnis.android.bachot.features.userprofile.api.UserProfileEvents
|
||||
import id.databisnis.android.bachot.features.userprofile.api.UserProfileState
|
||||
import id.databisnis.android.bachot.features.userprofile.shared.R
|
||||
import id.databisnis.android.bachot.libraries.architecture.AsyncData
|
||||
import id.databisnis.android.bachot.libraries.core.bool.orFalse
|
||||
import id.databisnis.android.bachot.libraries.designsystem.components.dialogs.RetryDialog
|
||||
import id.databisnis.android.bachot.libraries.designsystem.components.list.ListItemContent
|
||||
import id.databisnis.android.bachot.libraries.designsystem.components.preferences.PreferenceCategory
|
||||
import id.databisnis.android.bachot.libraries.designsystem.theme.components.CircularProgressIndicator
|
||||
import id.databisnis.android.bachot.libraries.designsystem.theme.components.IconSource
|
||||
import id.databisnis.android.bachot.libraries.designsystem.theme.components.ListItem
|
||||
import id.databisnis.android.bachot.libraries.designsystem.theme.components.ListItemStyle
|
||||
import id.databisnis.android.bachot.libraries.designsystem.theme.components.Text
|
||||
import id.databisnis.android.bachot.libraries.ui.strings.CommonStrings
|
||||
|
||||
@Composable
|
||||
fun BlockUserSection(
|
||||
+25
-25
@@ -6,7 +6,7 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.userprofile
|
||||
package id.databisnis.android.bachot.features.userprofile
|
||||
|
||||
import androidx.activity.ComponentActivity
|
||||
import androidx.compose.ui.test.hasTestTag
|
||||
@@ -14,30 +14,30 @@ import androidx.compose.ui.test.junit4.AndroidComposeTestRule
|
||||
import androidx.compose.ui.test.junit4.createAndroidComposeRule
|
||||
import androidx.compose.ui.test.performClick
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4
|
||||
import io.element.android.features.userprofile.api.UserProfileEvents
|
||||
import io.element.android.features.userprofile.api.UserProfileState
|
||||
import io.element.android.features.userprofile.api.UserProfileVerificationState
|
||||
import io.element.android.features.userprofile.shared.R
|
||||
import io.element.android.features.userprofile.shared.UserProfileView
|
||||
import io.element.android.features.userprofile.shared.aUserProfileState
|
||||
import io.element.android.libraries.architecture.AsyncData
|
||||
import io.element.android.libraries.matrix.api.core.RoomId
|
||||
import io.element.android.libraries.matrix.api.core.UserId
|
||||
import io.element.android.libraries.matrix.test.AN_AVATAR_URL
|
||||
import io.element.android.libraries.matrix.test.A_ROOM_ID
|
||||
import io.element.android.libraries.matrix.test.A_USER_ID
|
||||
import io.element.android.libraries.matrix.test.A_USER_NAME
|
||||
import io.element.android.libraries.testtags.TestTags
|
||||
import io.element.android.libraries.ui.strings.CommonStrings
|
||||
import io.element.android.tests.testutils.EnsureNeverCalled
|
||||
import io.element.android.tests.testutils.EnsureNeverCalledWithParam
|
||||
import io.element.android.tests.testutils.EnsureNeverCalledWithTwoParams
|
||||
import io.element.android.tests.testutils.EventsRecorder
|
||||
import io.element.android.tests.testutils.clickOn
|
||||
import io.element.android.tests.testutils.ensureCalledOnce
|
||||
import io.element.android.tests.testutils.ensureCalledOnceWithParam
|
||||
import io.element.android.tests.testutils.ensureCalledOnceWithTwoParams
|
||||
import io.element.android.tests.testutils.pressBack
|
||||
import id.databisnis.android.bachot.features.userprofile.api.UserProfileEvents
|
||||
import id.databisnis.android.bachot.features.userprofile.api.UserProfileState
|
||||
import id.databisnis.android.bachot.features.userprofile.api.UserProfileVerificationState
|
||||
import id.databisnis.android.bachot.features.userprofile.shared.R
|
||||
import id.databisnis.android.bachot.features.userprofile.shared.UserProfileView
|
||||
import id.databisnis.android.bachot.features.userprofile.shared.aUserProfileState
|
||||
import id.databisnis.android.bachot.libraries.architecture.AsyncData
|
||||
import id.databisnis.android.bachot.libraries.matrix.api.core.RoomId
|
||||
import id.databisnis.android.bachot.libraries.matrix.api.core.UserId
|
||||
import id.databisnis.android.bachot.libraries.matrix.test.AN_AVATAR_URL
|
||||
import id.databisnis.android.bachot.libraries.matrix.test.A_ROOM_ID
|
||||
import id.databisnis.android.bachot.libraries.matrix.test.A_USER_ID
|
||||
import id.databisnis.android.bachot.libraries.matrix.test.A_USER_NAME
|
||||
import id.databisnis.android.bachot.libraries.testtags.TestTags
|
||||
import id.databisnis.android.bachot.libraries.ui.strings.CommonStrings
|
||||
import id.databisnis.android.bachot.tests.testutils.EnsureNeverCalled
|
||||
import id.databisnis.android.bachot.tests.testutils.EnsureNeverCalledWithParam
|
||||
import id.databisnis.android.bachot.tests.testutils.EnsureNeverCalledWithTwoParams
|
||||
import id.databisnis.android.bachot.tests.testutils.EventsRecorder
|
||||
import id.databisnis.android.bachot.tests.testutils.clickOn
|
||||
import id.databisnis.android.bachot.tests.testutils.ensureCalledOnce
|
||||
import id.databisnis.android.bachot.tests.testutils.ensureCalledOnceWithParam
|
||||
import id.databisnis.android.bachot.tests.testutils.ensureCalledOnceWithTwoParams
|
||||
import id.databisnis.android.bachot.tests.testutils.pressBack
|
||||
import kotlinx.coroutines.test.runTest
|
||||
import org.junit.Rule
|
||||
import org.junit.Test
|
||||
+8
-8
@@ -6,18 +6,18 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.features.userprofile.shared.blockuser
|
||||
package id.databisnis.android.bachot.features.userprofile.shared.blockuser
|
||||
|
||||
import androidx.activity.ComponentActivity
|
||||
import androidx.compose.ui.test.junit4.createAndroidComposeRule
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4
|
||||
import io.element.android.features.userprofile.api.UserProfileEvents
|
||||
import io.element.android.features.userprofile.api.UserProfileState
|
||||
import io.element.android.features.userprofile.shared.R
|
||||
import io.element.android.features.userprofile.shared.aUserProfileState
|
||||
import io.element.android.libraries.ui.strings.CommonStrings
|
||||
import io.element.android.tests.testutils.EventsRecorder
|
||||
import io.element.android.tests.testutils.clickOn
|
||||
import id.databisnis.android.bachot.features.userprofile.api.UserProfileEvents
|
||||
import id.databisnis.android.bachot.features.userprofile.api.UserProfileState
|
||||
import id.databisnis.android.bachot.features.userprofile.shared.R
|
||||
import id.databisnis.android.bachot.features.userprofile.shared.aUserProfileState
|
||||
import id.databisnis.android.bachot.libraries.ui.strings.CommonStrings
|
||||
import id.databisnis.android.bachot.tests.testutils.EventsRecorder
|
||||
import id.databisnis.android.bachot.tests.testutils.clickOn
|
||||
import org.junit.Rule
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
Reference in New Issue
Block a user