From 3b94345d5f8e6ef72334530524f37e8380fc4e81 Mon Sep 17 00:00:00 2001 From: Konstantin Ivanov <54908981+konstantiniiv@users.noreply.github.com> Date: Fri, 25 Apr 2025 11:38:54 +0200 Subject: [PATCH] DROID-3593 Primitives | Fix | Disable type title update when restriction is present (#2358) --- .../anytypeio/anytype/ui/primitives/ObjectTypeFragment.kt | 8 ++++++++ .../anytypeio/anytype/feature_object_type/ui/UiState.kt | 1 + .../feature_object_type/viewmodel/ObjectTypeViewModel.kt | 5 +++++ localization/src/main/res/values/strings.xml | 1 + 4 files changed, 15 insertions(+) diff --git a/app/src/main/java/com/anytypeio/anytype/ui/primitives/ObjectTypeFragment.kt b/app/src/main/java/com/anytypeio/anytype/ui/primitives/ObjectTypeFragment.kt index 8f607be4d6..1f4e538045 100644 --- a/app/src/main/java/com/anytypeio/anytype/ui/primitives/ObjectTypeFragment.kt +++ b/app/src/main/java/com/anytypeio/anytype/ui/primitives/ObjectTypeFragment.kt @@ -181,6 +181,14 @@ class ObjectTypeFragment : BaseComposeFragment() { onDismissRequest = vm::hideError ) } + UiErrorState.Reason.ErrorEditingTypeDetails -> { + BaseAlertDialog( + dialogText = stringResource(R.string.object_type_edit_type_details_error), + buttonText = stringResource(id = R.string.membership_error_button_text_dismiss), + onButtonClick = vm::hideError, + onDismissRequest = vm::hideError + ) + } } } } diff --git a/feature-object-type/src/main/java/com/anytypeio/anytype/feature_object_type/ui/UiState.kt b/feature-object-type/src/main/java/com/anytypeio/anytype/feature_object_type/ui/UiState.kt index ec6bb6eb6c..8097218c97 100644 --- a/feature-object-type/src/main/java/com/anytypeio/anytype/feature_object_type/ui/UiState.kt +++ b/feature-object-type/src/main/java/com/anytypeio/anytype/feature_object_type/ui/UiState.kt @@ -211,6 +211,7 @@ sealed class UiErrorState { sealed class Reason { data class ErrorGettingObjects(val msg: String) : Reason() + data object ErrorEditingTypeDetails : Reason() data class Other(val msg: String) : Reason() } } diff --git a/feature-object-type/src/main/java/com/anytypeio/anytype/feature_object_type/viewmodel/ObjectTypeViewModel.kt b/feature-object-type/src/main/java/com/anytypeio/anytype/feature_object_type/viewmodel/ObjectTypeViewModel.kt index 10b0bac9dd..a606dd48f6 100644 --- a/feature-object-type/src/main/java/com/anytypeio/anytype/feature_object_type/viewmodel/ObjectTypeViewModel.kt +++ b/feature-object-type/src/main/java/com/anytypeio/anytype/feature_object_type/viewmodel/ObjectTypeViewModel.kt @@ -1172,6 +1172,11 @@ class ObjectTypeViewModel( "showTitleAndIconUpdateScreen, initialIcon: $initialIcon, " + "initialTitle: $initialTitle, initialPlural: $initialPlural" ) + val isPossibleToUpdateTitle = _objectTypePermissionsState.value?.canEditDetails == true + if (!isPossibleToUpdateTitle) { + errorState.value = Show(ErrorEditingTypeDetails) + return + } uiTitleAndIconUpdateState.value = UiTypeSetupTitleAndIconState.Visible.EditType( icon = initialIcon, initialTitle = initialTitle, diff --git a/localization/src/main/res/values/strings.xml b/localization/src/main/res/values/strings.xml index e7b1c28bb8..32f7940157 100644 --- a/localization/src/main/res/values/strings.xml +++ b/localization/src/main/res/values/strings.xml @@ -1901,6 +1901,7 @@ Please provide specific details of your needs here. No properties yet. Add some to this type Failed to open the object type + Editing this type is not allowed. Monday Tuesday