diff --git a/app/src/main/java/com/anytypeio/anytype/di/feature/vault/VaultDI.kt b/app/src/main/java/com/anytypeio/anytype/di/feature/vault/VaultDI.kt
index 55a7c218ff..c73a5befc8 100644
--- a/app/src/main/java/com/anytypeio/anytype/di/feature/vault/VaultDI.kt
+++ b/app/src/main/java/com/anytypeio/anytype/di/feature/vault/VaultDI.kt
@@ -4,6 +4,7 @@ import androidx.lifecycle.ViewModelProvider
import com.anytypeio.anytype.analytics.base.Analytics
import com.anytypeio.anytype.core_utils.di.scope.PerScreen
import com.anytypeio.anytype.di.common.ComponentDependencies
+import com.anytypeio.anytype.domain.auth.repo.AuthRepository
import com.anytypeio.anytype.domain.base.AppCoroutineDispatchers
import com.anytypeio.anytype.domain.block.repo.BlockRepository
import com.anytypeio.anytype.domain.config.UserSettingsRepository
@@ -54,4 +55,5 @@ interface VaultComponentDependencies : ComponentDependencies {
fun spaceViewSubscriptionContainer(): SpaceViewSubscriptionContainer
fun userSettingsRepository(): UserSettingsRepository
fun spaceManager(): SpaceManager
+ fun auth(): AuthRepository
}
\ No newline at end of file
diff --git a/app/src/main/java/com/anytypeio/anytype/ui/vault/IntroduceVaultFragment.kt b/app/src/main/java/com/anytypeio/anytype/ui/vault/IntroduceVaultFragment.kt
new file mode 100644
index 0000000000..9b254f617e
--- /dev/null
+++ b/app/src/main/java/com/anytypeio/anytype/ui/vault/IntroduceVaultFragment.kt
@@ -0,0 +1,39 @@
+package com.anytypeio.anytype.ui.vault
+
+import android.os.Bundle
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import androidx.compose.material.MaterialTheme
+import androidx.compose.ui.platform.ComposeView
+import androidx.compose.ui.platform.ViewCompositionStrategy
+import com.anytypeio.anytype.core_utils.ui.BaseBottomSheetComposeFragment
+import com.anytypeio.anytype.ui.settings.typography
+
+class IntroduceVaultFragment : BaseBottomSheetComposeFragment() {
+
+ override fun onCreateView(
+ inflater: LayoutInflater,
+ container: ViewGroup?,
+ savedInstanceState: Bundle?
+ ): View {
+ return ComposeView(requireContext()).apply {
+ setViewCompositionStrategy(ViewCompositionStrategy.DisposeOnViewTreeLifecycleDestroyed)
+ setContent {
+ MaterialTheme(typography = typography) {
+ IntroduceVaultScreen(
+ onDoneClicked = {
+ dismiss()
+ }
+ )
+ }
+ }
+ }
+ }
+
+ override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+ super.onViewCreated(view, savedInstanceState)
+ skipCollapsed()
+ expand()
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/anytypeio/anytype/ui/vault/IntroduceVaultScreen.kt b/app/src/main/java/com/anytypeio/anytype/ui/vault/IntroduceVaultScreen.kt
index c6b5a161d4..9e4aad602d 100644
--- a/app/src/main/java/com/anytypeio/anytype/ui/vault/IntroduceVaultScreen.kt
+++ b/app/src/main/java/com/anytypeio/anytype/ui/vault/IntroduceVaultScreen.kt
@@ -7,6 +7,7 @@ import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
+import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.pager.HorizontalPager
@@ -63,7 +64,7 @@ fun IntroduceVaultScreen(
) {
val coroutineScope = rememberCoroutineScope()
- val (title, first, second, third, pager, dots, btn) = createRefs()
+ val (title, first, pager, dots, btn) = createRefs()
val pagerState = rememberPagerState(pageCount = { 2 })
@@ -89,39 +90,35 @@ fun IntroduceVaultScreen(
HorizontalPager(
state = pagerState,
modifier = Modifier
- .padding(bottom = 16.dp, top = 38.dp)
+ .padding(bottom = 16.dp, top = 42.dp)
+ .height(452.dp)
+ .fillMaxWidth()
.constrainAs(pager) {
top.linkTo(title.bottom)
- bottom.linkTo(dots.top)
height = Dimension.fillToConstraints
}
.fillMaxSize()
) { page ->
when(page) {
0 -> {
- Box(modifier = Modifier.fillMaxSize()) {
+ Box(
+ modifier = Modifier.fillMaxWidth()
+ ) {
Image(
painter = painterResource(id = R.drawable.img_introduce_vault_1),
contentDescription = "Screenshot 1",
- modifier = Modifier.align(Alignment.BottomCenter)
+ modifier = Modifier.align(Alignment.TopCenter)
)
}
}
1 -> {
- Box(modifier = Modifier.fillMaxSize()) {
+ Box(
+ modifier = Modifier.fillMaxWidth()
+ ) {
Image(
- painter = painterResource(id = R.drawable.img_introduce_vault_1),
+ painter = painterResource(id = R.drawable.img_introduce_vault_2),
contentDescription = "Screenshot 2",
- modifier = Modifier.align(Alignment.BottomCenter)
- )
- }
- }
- 2 -> {
- Box(modifier = Modifier.fillMaxSize()) {
- Image(
- painter = painterResource(id = R.drawable.ic_sharing_step_third),
- contentDescription = "Screenshot 3",
- modifier = Modifier.align(Alignment.BottomCenter)
+ modifier = Modifier.align(Alignment.TopCenter)
)
}
}
@@ -131,9 +128,9 @@ fun IntroduceVaultScreen(
Row(
modifier = Modifier
.fillMaxWidth()
- .padding(bottom = 46.dp)
+ .padding(top = 4.dp)
.constrainAs(dots) {
- bottom.linkTo(first.top)
+ bottom.linkTo(pager.bottom)
},
horizontalArrangement = Arrangement.Center
) {
@@ -164,10 +161,11 @@ fun IntroduceVaultScreen(
style = BodyRegular,
color = colorResource(id = R.color.text_primary),
modifier = Modifier
- .padding(bottom = 8.dp, start = 24.dp, end = 24.dp)
+ .padding(bottom = 30.dp, start = 24.dp, end = 24.dp)
.constrainAs(first) {
bottom.linkTo(btn.top)
- }
+ },
+ textAlign = TextAlign.Center
)
ButtonSecondary(
diff --git a/app/src/main/java/com/anytypeio/anytype/ui/vault/VaultFragment.kt b/app/src/main/java/com/anytypeio/anytype/ui/vault/VaultFragment.kt
index 08ce919f19..1d3c81e0a8 100644
--- a/app/src/main/java/com/anytypeio/anytype/ui/vault/VaultFragment.kt
+++ b/app/src/main/java/com/anytypeio/anytype/ui/vault/VaultFragment.kt
@@ -82,6 +82,13 @@ class VaultFragment : BaseComposeFragment() {
Timber.e(it, "Error while opening profile settings from vault")
}
}
+ is Command.ShowIntroduceVault -> {
+ runCatching {
+ findNavController().navigate(R.id.actionShowIntroduceVaultScreen)
+ }.onFailure {
+ Timber.e(it, "Error while opening introduce-vault-screen from vault")
+ }
+ }
}
}
@@ -89,6 +96,11 @@ class VaultFragment : BaseComposeFragment() {
// TODO Do nothing ?
}
+ override fun onResume() {
+ super.onResume()
+ vm.onResume()
+ }
+
override fun injectDependencies() {
componentManager().vaultComponent.get().inject(this)
}
diff --git a/app/src/main/res/layout/fragment_object_set.xml b/app/src/main/res/layout/fragment_object_set.xml
index 6470e5d3c2..e25740334a 100644
--- a/app/src/main/res/layout/fragment_object_set.xml
+++ b/app/src/main/res/layout/fragment_object_set.xml
@@ -46,7 +46,7 @@
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="@+id/galleryView"
- app:layout_constraintBottom_toTopOf="@id/bottomToolbar"
+ app:layout_constraintBottom_toTopOf="@id/bottomToolbarДontainer"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/controlDivider2" />
@@ -89,7 +89,7 @@
android:id="@+id/paginatorToolbar"
android:layout_width="0dp"
android:layout_height="@dimen/default_toolbar_height"
- app:layout_constraintBottom_toTopOf="@id/bottomToolbar"
+ app:layout_constraintBottom_toTopOf="@id/bottomToolbarДontainer"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
diff --git a/app/src/main/res/navigation/graph.xml b/app/src/main/res/navigation/graph.xml
index a57ba0dd64..ce0e083046 100644
--- a/app/src/main/res/navigation/graph.xml
+++ b/app/src/main/res/navigation/graph.xml
@@ -214,6 +214,9 @@
+
+
+