diff --git a/app/src/main/java/com/anytypeio/anytype/ui/relations/ObjectRelationListFragment.kt b/app/src/main/java/com/anytypeio/anytype/ui/relations/ObjectRelationListFragment.kt index 1f4004266a..85a2b41bf9 100644 --- a/app/src/main/java/com/anytypeio/anytype/ui/relations/ObjectRelationListFragment.kt +++ b/app/src/main/java/com/anytypeio/anytype/ui/relations/ObjectRelationListFragment.kt @@ -14,6 +14,7 @@ import com.anytypeio.anytype.R import com.anytypeio.anytype.core_models.Id import com.anytypeio.anytype.core_models.Key import com.anytypeio.anytype.core_models.primitives.SpaceId +import com.anytypeio.anytype.core_models.restrictions.ObjectRestriction import com.anytypeio.anytype.core_ui.features.relations.DocumentRelationAdapter import com.anytypeio.anytype.core_ui.reactive.textChanges import com.anytypeio.anytype.core_utils.ext.arg @@ -188,6 +189,13 @@ open class ObjectRelationListFragment : BaseBottomSheetFragment execute(command) } jobs += lifecycleScope.subscribe(vm.toasts) { toast(it) } + jobs += lifecycleScope.subscribe(vm.restrictions) { restrictions -> + if (restrictions.contains(ObjectRestriction.RELATIONS) || restrictions.contains(ObjectRestriction.DETAILS)) { + binding.topToolbar.gone() + } else { + binding.topToolbar.visible() + } + } jobs += lifecycleScope.subscribe(vm.isEditMode) { isEditMode -> if (isEditMode) { binding.btnEditOrDone.setText(R.string.done) diff --git a/presentation/src/main/java/com/anytypeio/anytype/presentation/relations/ObjectRelationListViewModelFactory.kt b/presentation/src/main/java/com/anytypeio/anytype/presentation/relations/ObjectRelationListViewModelFactory.kt index cf8deb53ba..10b91be2c9 100644 --- a/presentation/src/main/java/com/anytypeio/anytype/presentation/relations/ObjectRelationListViewModelFactory.kt +++ b/presentation/src/main/java/com/anytypeio/anytype/presentation/relations/ObjectRelationListViewModelFactory.kt @@ -45,7 +45,7 @@ class ObjectRelationListViewModelFactory( analytics = analytics, storeOfRelations = storeOfRelations, addRelationToObject = addRelationToObject, - restrictions = restrictions + objectRestrictionProvider = restrictions ) as T } } \ No newline at end of file diff --git a/presentation/src/main/java/com/anytypeio/anytype/presentation/relations/RelationListViewModel.kt b/presentation/src/main/java/com/anytypeio/anytype/presentation/relations/RelationListViewModel.kt index 82e410ede2..a53da92857 100644 --- a/presentation/src/main/java/com/anytypeio/anytype/presentation/relations/RelationListViewModel.kt +++ b/presentation/src/main/java/com/anytypeio/anytype/presentation/relations/RelationListViewModel.kt @@ -14,6 +14,7 @@ import com.anytypeio.anytype.core_models.Payload import com.anytypeio.anytype.core_models.RelationFormat import com.anytypeio.anytype.core_models.RelationLink import com.anytypeio.anytype.core_models.ext.mapToObjectWrapperType +import com.anytypeio.anytype.core_models.restrictions.ObjectRestriction import com.anytypeio.anytype.core_utils.diff.DefaultObjectDiffIdentifier import com.anytypeio.anytype.domain.misc.UrlBuilder import com.anytypeio.anytype.domain.`object`.UpdateDetail @@ -42,7 +43,7 @@ import timber.log.Timber class RelationListViewModel( private val relationListProvider: RelationListProvider, - private val restrictions: ObjectRestrictionProvider, + private val objectRestrictionProvider: ObjectRestrictionProvider, private val lockedStateProvider: LockedStateProvider, private val urlBuilder: UrlBuilder, private val dispatcher: Dispatcher, @@ -62,6 +63,7 @@ class RelationListViewModel( private val isInAddMode = MutableStateFlow(false) val commands = MutableSharedFlow(replay = 0) val views = MutableStateFlow>(emptyList()) + val restrictions = MutableStateFlow(objectRestrictionProvider.provide()) fun onStartListMode(ctx: Id) { Timber.d("onStartListMode, ctx: $ctx")