diff --git a/app/src/main/java/com/anytypeio/anytype/di/feature/EditorDI.kt b/app/src/main/java/com/anytypeio/anytype/di/feature/EditorDI.kt index 1bdb5212ed..bad201f886 100644 --- a/app/src/main/java/com/anytypeio/anytype/di/feature/EditorDI.kt +++ b/app/src/main/java/com/anytypeio/anytype/di/feature/EditorDI.kt @@ -63,7 +63,6 @@ import com.anytypeio.anytype.domain.`object`.ConvertObjectToCollection import com.anytypeio.anytype.domain.`object`.ConvertObjectToSet import com.anytypeio.anytype.domain.`object`.DuplicateObject import com.anytypeio.anytype.domain.`object`.UpdateDetail -import com.anytypeio.anytype.domain.objects.SetObjectIsArchived import com.anytypeio.anytype.domain.objects.StoreOfObjectTypes import com.anytypeio.anytype.domain.objects.StoreOfRelations import com.anytypeio.anytype.domain.objects.options.GetOptions @@ -749,15 +748,6 @@ object EditorUseCaseModule { repo = repo ) - @JvmStatic - @Provides - @PerScreen - fun provideArchiveDocumentUseCase( - repo: BlockRepository - ): SetObjectIsArchived = SetObjectIsArchived( - repo = repo - ) - @JvmStatic @Provides @PerScreen diff --git a/app/src/main/java/com/anytypeio/anytype/di/feature/ObjectMenuDI.kt b/app/src/main/java/com/anytypeio/anytype/di/feature/ObjectMenuDI.kt index 43a0b60211..b235f72048 100644 --- a/app/src/main/java/com/anytypeio/anytype/di/feature/ObjectMenuDI.kt +++ b/app/src/main/java/com/anytypeio/anytype/di/feature/ObjectMenuDI.kt @@ -11,13 +11,12 @@ import com.anytypeio.anytype.domain.block.interactor.UpdateFields import com.anytypeio.anytype.domain.block.repo.BlockRepository import com.anytypeio.anytype.domain.collections.AddObjectToCollection import com.anytypeio.anytype.domain.config.UserSettingsRepository -import com.anytypeio.anytype.domain.dashboard.interactor.AddToFavorite -import com.anytypeio.anytype.domain.dashboard.interactor.RemoveFromFavorite +import com.anytypeio.anytype.domain.dashboard.interactor.SetObjectListIsFavorite import com.anytypeio.anytype.domain.misc.DeepLinkResolver import com.anytypeio.anytype.domain.misc.UrlBuilder import com.anytypeio.anytype.domain.`object`.DuplicateObject import com.anytypeio.anytype.domain.`object`.SetObjectDetails -import com.anytypeio.anytype.domain.objects.SetObjectIsArchived +import com.anytypeio.anytype.domain.objects.SetObjectListIsArchived import com.anytypeio.anytype.domain.page.AddBackLinkToObject import com.anytypeio.anytype.domain.page.CloseBlock import com.anytypeio.anytype.domain.page.OpenPage @@ -79,19 +78,6 @@ interface ObjectSetMenuComponent { @Module object ObjectMenuModuleBase { - @JvmStatic - @Provides - @PerDialog - fun provideAddToFavoriteUseCase( - repo: BlockRepository - ): AddToFavorite = AddToFavorite(repo = repo) - - @JvmStatic - @Provides - @PerDialog - fun provideRemoveFromFavoriteUseCase( - repo: BlockRepository - ): RemoveFromFavorite = RemoveFromFavorite(repo = repo) @JvmStatic @Provides @@ -110,11 +96,8 @@ object ObjectMenuModule { @Provides @PerDialog fun provideViewModelFactory( - setObjectIsArchived: SetObjectIsArchived, duplicateObject: DuplicateObject, debugTreeShareDownloader: DebugTreeShareDownloader, - addToFavorite: AddToFavorite, - removeFromFavorite: RemoveFromFavorite, addBackLinkToObject: AddBackLinkToObject, urlBuilder: UrlBuilder, storage: Editor.Storage, @@ -131,13 +114,13 @@ object ObjectMenuModule { spaceManager: SpaceManager, deepLinkResolver: DeepLinkResolver, analyticSpaceHelperDelegate: AnalyticSpaceHelperDelegate, - payloadDelegator: PayloadDelegator + payloadDelegator: PayloadDelegator, + setObjectListIsFavorite: SetObjectListIsFavorite, + setObjectIsArchived: SetObjectListIsArchived ): ObjectMenuViewModel.Factory = ObjectMenuViewModel.Factory( setObjectIsArchived = setObjectIsArchived, duplicateObject = duplicateObject, debugTreeShareDownloader = debugTreeShareDownloader, - addToFavorite = addToFavorite, - removeFromFavorite = removeFromFavorite, addBackLinkToObject = addBackLinkToObject, urlBuilder = urlBuilder, storage = storage, @@ -154,7 +137,8 @@ object ObjectMenuModule { spaceManager = spaceManager, deepLinkResolver = deepLinkResolver, analyticSpaceHelperDelegate = analyticSpaceHelperDelegate, - payloadDelegator = payloadDelegator + payloadDelegator = payloadDelegator, + setObjectListIsFavorite = setObjectListIsFavorite ) @JvmStatic @@ -206,6 +190,22 @@ object ObjectMenuModule { @Provides @PerDialog fun provideDeeplinkResolver() : DeepLinkResolver = DefaultDeepLinkResolver + + @JvmStatic + @Provides + @PerDialog + fun provideFavoriteUseCase( + repo: BlockRepository, + dispatchers: AppCoroutineDispatchers + ): SetObjectListIsFavorite = SetObjectListIsFavorite(repo = repo, dispatchers = dispatchers) + + @JvmStatic + @Provides + @PerDialog + fun provideArchiveUseCase( + repo: BlockRepository, + dispatchers: AppCoroutineDispatchers + ): SetObjectListIsArchived = SetObjectListIsArchived(repo = repo, dispatchers = dispatchers) } @Module @@ -215,9 +215,6 @@ object ObjectSetMenuModule { @Provides @PerDialog fun provideViewModelFactory( - setObjectIsArchived: SetObjectIsArchived, - addToFavorite: AddToFavorite, - removeFromFavorite: RemoveFromFavorite, addBackLinkToObject: AddBackLinkToObject, duplicateObject: DuplicateObject, delegator: Delegator, @@ -232,11 +229,11 @@ object ObjectSetMenuModule { spaceManager: SpaceManager, deepLinkResolver: DeepLinkResolver, analyticSpaceHelperDelegate: AnalyticSpaceHelperDelegate, - payloadDelegator: PayloadDelegator + payloadDelegator: PayloadDelegator, + setObjectListIsFavorite: SetObjectListIsFavorite, + setObjectIsArchived: SetObjectListIsArchived ): ObjectSetMenuViewModel.Factory = ObjectSetMenuViewModel.Factory( - setObjectIsArchived = setObjectIsArchived, - addToFavorite = addToFavorite, - removeFromFavorite = removeFromFavorite, + setObjectListIsArchived = setObjectIsArchived, addBackLinkToObject = addBackLinkToObject, duplicateObject = duplicateObject, urlBuilder = urlBuilder, @@ -251,7 +248,8 @@ object ObjectSetMenuModule { spaceManager = spaceManager, deepLinkResolver = deepLinkResolver, analyticSpaceHelperDelegate = analyticSpaceHelperDelegate, - payloadDelegator = payloadDelegator + payloadDelegator = payloadDelegator, + setObjectListIsFavorite = setObjectListIsFavorite ) @JvmStatic @@ -298,6 +296,14 @@ object ObjectSetMenuModule { @PerDialog fun provideDeeplinkResolver() : DeepLinkResolver = DefaultDeepLinkResolver + @JvmStatic + @Provides + @PerDialog + fun provideFavoriteUseCase( + repo: BlockRepository, + dispatchers: AppCoroutineDispatchers + ): SetObjectListIsFavorite = SetObjectListIsFavorite(repo = repo, dispatchers = dispatchers) + @JvmStatic private fun createMenuOptionsProvider( state: StateFlow, diff --git a/app/src/main/java/com/anytypeio/anytype/di/feature/ObjectSetDI.kt b/app/src/main/java/com/anytypeio/anytype/di/feature/ObjectSetDI.kt index 075f9cd274..3fa3f5c794 100644 --- a/app/src/main/java/com/anytypeio/anytype/di/feature/ObjectSetDI.kt +++ b/app/src/main/java/com/anytypeio/anytype/di/feature/ObjectSetDI.kt @@ -21,7 +21,6 @@ import com.anytypeio.anytype.domain.block.interactor.UpdateText import com.anytypeio.anytype.domain.block.interactor.sets.GetObjectTypes import com.anytypeio.anytype.domain.block.repo.BlockRepository import com.anytypeio.anytype.domain.collections.AddObjectToCollection -import com.anytypeio.anytype.domain.config.ConfigStorage import com.anytypeio.anytype.domain.config.UserSettingsRepository import com.anytypeio.anytype.domain.cover.SetDocCoverImage import com.anytypeio.anytype.domain.dataview.interactor.AddDataViewViewer @@ -45,7 +44,6 @@ import com.anytypeio.anytype.domain.`object`.DuplicateObjects import com.anytypeio.anytype.domain.`object`.UpdateDetail import com.anytypeio.anytype.domain.objects.DefaultObjectStore import com.anytypeio.anytype.domain.objects.ObjectStore -import com.anytypeio.anytype.domain.objects.SetObjectIsArchived import com.anytypeio.anytype.domain.objects.SetObjectListIsArchived import com.anytypeio.anytype.domain.objects.StoreOfObjectTypes import com.anytypeio.anytype.domain.objects.StoreOfRelations @@ -465,15 +463,6 @@ object ObjectSetModule { repository: BlockRepository ): UpdateDetail = UpdateDetail(repository) - @JvmStatic - @Provides - @PerScreen - fun provideArchiveDocumentUseCase( - repo: BlockRepository - ): SetObjectIsArchived = SetObjectIsArchived( - repo = repo - ) - @JvmStatic @Provides @PerScreen diff --git a/data/src/main/java/com/anytypeio/anytype/data/auth/repo/block/BlockDataRepository.kt b/data/src/main/java/com/anytypeio/anytype/data/auth/repo/block/BlockDataRepository.kt index 41a890d572..014f804e3b 100644 --- a/data/src/main/java/com/anytypeio/anytype/data/auth/repo/block/BlockDataRepository.kt +++ b/data/src/main/java/com/anytypeio/anytype/data/auth/repo/block/BlockDataRepository.kt @@ -56,11 +56,6 @@ class BlockDataRepository( override suspend fun openObject(id: Id): ObjectView = remote.openObject(id = id) override suspend fun getObject(id: Id): ObjectView = remote.getObject(id = id) - override suspend fun openDashboard( - contextId: String, - id: String - ) = remote.openDashboard(id = id, contextId = contextId) - override suspend fun openObjectPreview(id: Id): Result = try { Result.Success(remote.openObjectPreview(id)) } catch (e: AnytypeNeedsUpgradeException) { @@ -511,21 +506,11 @@ class BlockDataRepository( relations: List ): Payload = remote.removeFromFeaturedRelations(ctx, relations) - override suspend fun setObjectIsFavorite( - ctx: Id, - isFavorite: Boolean - ): Payload = remote.setObjectIsFavorite(ctx = ctx, isFavorite = isFavorite) - override suspend fun setObjectListIsFavorite( objectIds: List, isFavorite: Boolean ) = remote.setObjectListIsFavorite(objectIds, isFavorite) - override suspend fun setObjectIsArchived( - ctx: Id, - isArchived: Boolean - ) = remote.setObjectIsArchived(ctx = ctx, isArchived = isArchived) - override suspend fun setObjectListIsArchived( targets: List, isArchived: Boolean diff --git a/data/src/main/java/com/anytypeio/anytype/data/auth/repo/block/BlockRemote.kt b/data/src/main/java/com/anytypeio/anytype/data/auth/repo/block/BlockRemote.kt index edf782fbbb..7c3230aac6 100644 --- a/data/src/main/java/com/anytypeio/anytype/data/auth/repo/block/BlockRemote.kt +++ b/data/src/main/java/com/anytypeio/anytype/data/auth/repo/block/BlockRemote.kt @@ -70,7 +70,6 @@ interface BlockRemote { suspend fun openObjectSet(id: String): Payload suspend fun openObjectPreview(id: Id): Payload suspend fun closePage(id: String) - suspend fun openDashboard(contextId: String, id: String): Payload suspend fun closeDashboard(id: String) suspend fun setDocumentEmojiIcon(command: Command.SetDocumentEmojiIcon): Payload suspend fun setDocumentImageIcon(command: Command.SetDocumentImageIcon): Payload @@ -217,11 +216,7 @@ interface BlockRemote { suspend fun addToFeaturedRelations(ctx: Id, relations: List): Payload suspend fun removeFromFeaturedRelations(ctx: Id, relations: List): Payload - suspend fun setObjectIsFavorite(ctx: Id, isFavorite: Boolean): Payload suspend fun setObjectListIsFavorite(objectIds: List, isFavorite: Boolean) - - suspend fun setObjectIsArchived(ctx: Id, isArchived: Boolean) - suspend fun setObjectListIsArchived(targets: List, isArchived: Boolean) suspend fun deleteObjects(targets: List) diff --git a/domain/src/main/java/com/anytypeio/anytype/domain/block/repo/BlockRepository.kt b/domain/src/main/java/com/anytypeio/anytype/domain/block/repo/BlockRepository.kt index 4e71ee320d..3b3e12ae4a 100644 --- a/domain/src/main/java/com/anytypeio/anytype/domain/block/repo/BlockRepository.kt +++ b/domain/src/main/java/com/anytypeio/anytype/domain/block/repo/BlockRepository.kt @@ -115,7 +115,6 @@ interface BlockRepository { suspend fun openObjectSet(id: String): Result suspend fun closePage(id: String) - suspend fun openDashboard(contextId: String, id: String): Payload suspend fun closeDashboard(id: String) /** @@ -265,9 +264,7 @@ interface BlockRepository { suspend fun addToFeaturedRelations(ctx: Id, relations: List): Payload suspend fun removeFromFeaturedRelations(ctx: Id, relations: List): Payload - suspend fun setObjectIsFavorite(ctx: Id, isFavorite: Boolean): Payload suspend fun setObjectListIsFavorite(objectIds: List, isFavorite: Boolean) - suspend fun setObjectIsArchived(ctx: Id, isArchived: Boolean) suspend fun setObjectListIsArchived(targets: List, isArchived: Boolean) suspend fun deleteObjects(targets: List) diff --git a/domain/src/main/java/com/anytypeio/anytype/domain/dashboard/interactor/AddToFavorite.kt b/domain/src/main/java/com/anytypeio/anytype/domain/dashboard/interactor/AddToFavorite.kt deleted file mode 100644 index 8afd88468b..0000000000 --- a/domain/src/main/java/com/anytypeio/anytype/domain/dashboard/interactor/AddToFavorite.kt +++ /dev/null @@ -1,24 +0,0 @@ -package com.anytypeio.anytype.domain.dashboard.interactor - -import com.anytypeio.anytype.core_models.Id -import com.anytypeio.anytype.core_models.Payload -import com.anytypeio.anytype.domain.base.BaseUseCase -import com.anytypeio.anytype.domain.block.repo.BlockRepository - -/** - * Use-case for adding an object to favorite list. - */ -@Deprecated("Use-case for adding an object to favorite list.") -class AddToFavorite( - private val repo: BlockRepository -) : BaseUseCase() { - - override suspend fun run(params: Params) = safe { - repo.setObjectIsFavorite(ctx = params.target, isFavorite = true) - } - - /** - * @property [target] id of the object we need to add to favorites. - */ - class Params(val target: Id) -} \ No newline at end of file diff --git a/domain/src/main/java/com/anytypeio/anytype/domain/dashboard/interactor/RemoveFromFavorite.kt b/domain/src/main/java/com/anytypeio/anytype/domain/dashboard/interactor/RemoveFromFavorite.kt deleted file mode 100644 index 6eb127d577..0000000000 --- a/domain/src/main/java/com/anytypeio/anytype/domain/dashboard/interactor/RemoveFromFavorite.kt +++ /dev/null @@ -1,18 +0,0 @@ -package com.anytypeio.anytype.domain.dashboard.interactor - -import com.anytypeio.anytype.core_models.Id -import com.anytypeio.anytype.core_models.Payload -import com.anytypeio.anytype.domain.base.BaseUseCase -import com.anytypeio.anytype.domain.block.repo.BlockRepository - -@Deprecated("Use-case for adding an object to favorite list.") -class RemoveFromFavorite( - private val repo: BlockRepository -) : BaseUseCase() { - - override suspend fun run(params: Params) = safe { - repo.setObjectIsFavorite(ctx = params.target, isFavorite = false) - } - - class Params(val target: Id) -} \ No newline at end of file diff --git a/domain/src/main/java/com/anytypeio/anytype/domain/objects/DeleteObjects.kt b/domain/src/main/java/com/anytypeio/anytype/domain/objects/DeleteObjects.kt index 01f7346eb5..8adf109b74 100644 --- a/domain/src/main/java/com/anytypeio/anytype/domain/objects/DeleteObjects.kt +++ b/domain/src/main/java/com/anytypeio/anytype/domain/objects/DeleteObjects.kt @@ -7,7 +7,7 @@ import com.anytypeio.anytype.domain.block.repo.BlockRepository /** * Use-case for deleting objects. - * @see SetObjectIsArchived + * @see SetObjectListIsArchived */ class DeleteObjects( private val repo: BlockRepository, diff --git a/domain/src/main/java/com/anytypeio/anytype/domain/objects/SetObjectIsArchived.kt b/domain/src/main/java/com/anytypeio/anytype/domain/objects/SetObjectIsArchived.kt deleted file mode 100644 index a429d18f10..0000000000 --- a/domain/src/main/java/com/anytypeio/anytype/domain/objects/SetObjectIsArchived.kt +++ /dev/null @@ -1,35 +0,0 @@ -package com.anytypeio.anytype.domain.objects - -import com.anytypeio.anytype.core_models.Id -import com.anytypeio.anytype.core_models.Payload -import com.anytypeio.anytype.domain.base.BaseUseCase -import com.anytypeio.anytype.domain.block.repo.BlockRepository - -/** - * Use-case for archiving (or restoring from archive) an object. - */ -@Deprecated( - "Use SetObjectListIsArchived instead", - replaceWith = ReplaceWith("SetObjectListIsArchived") -) -class SetObjectIsArchived( - private val repo: BlockRepository -) : BaseUseCase() { - - override suspend fun run(params: Params) = safe { - repo.setObjectIsArchived( - ctx = params.context, - isArchived = params.isArchived - ) - } - - - /** - * Params for archiving a document - * @property context id of the context - */ - data class Params( - val context: Id, - val isArchived: Boolean - ) -} \ No newline at end of file diff --git a/middleware/src/main/java/com/anytypeio/anytype/middleware/block/BlockMiddleware.kt b/middleware/src/main/java/com/anytypeio/anytype/middleware/block/BlockMiddleware.kt index f9f7216452..bc31ff4539 100644 --- a/middleware/src/main/java/com/anytypeio/anytype/middleware/block/BlockMiddleware.kt +++ b/middleware/src/main/java/com/anytypeio/anytype/middleware/block/BlockMiddleware.kt @@ -44,11 +44,6 @@ class BlockMiddleware( private val middleware: Middleware ) : BlockRemote { - override suspend fun openDashboard( - contextId: String, - id: String - ): Payload = middleware.dashboardOpen(contextId, id) - override suspend fun closeDashboard(id: String) { middleware.objectClose(id) } @@ -477,21 +472,11 @@ class BlockMiddleware( relations: List ): Payload = middleware.objectRelationRemoveFeatured(ctx, relations) - override suspend fun setObjectIsFavorite( - ctx: Id, - isFavorite: Boolean - ): Payload = middleware.objectSetIsFavorite(ctx = ctx, isFavorite = isFavorite) - override suspend fun setObjectListIsFavorite( objectIds: List, isFavorite: Boolean ) = middleware.objectListSetIsFavorite(objectIds, isFavorite) - override suspend fun setObjectIsArchived( - ctx: Id, - isArchived: Boolean - ) = middleware.objectSetIsArchived(ctx = ctx, isArchived = isArchived) - override suspend fun deleteObjects(targets: List) = middleware.objectListDelete( targets = targets ) diff --git a/middleware/src/main/java/com/anytypeio/anytype/middleware/interactor/Middleware.kt b/middleware/src/main/java/com/anytypeio/anytype/middleware/interactor/Middleware.kt index 25be777fcb..2f999dfe8c 100644 --- a/middleware/src/main/java/com/anytypeio/anytype/middleware/interactor/Middleware.kt +++ b/middleware/src/main/java/com/anytypeio/anytype/middleware/interactor/Middleware.kt @@ -742,21 +742,6 @@ class Middleware @Inject constructor( private val coverIdKey = "coverId" private val coverTypeKey = "coverType" - @Deprecated("Should deleted. Use objectOpen()") - @Throws(Exception::class) - fun dashboardOpen(contextId: String, id: String): Payload { - val request: Rpc.Object.Open.Request = Rpc.Object.Open.Request( - contextId = contextId, - objectId = id - ) - logRequestIfDebug(request) - val (response, time) = measureTimedValue { service.objectOpen(request) } - logResponseIfDebug(response, time) - - return response.objectView?.toPayload() - ?: throw IllegalStateException("Object view was null") - } - @Throws(Exception::class) fun debugExportLocalStore(path: String): String { val request = Rpc.Debug.ExportLocalstore.Request( @@ -1488,43 +1473,6 @@ class Middleware @Inject constructor( return response.event.toPayload() } - @Deprecated( - "Use objectListSetIsArchived instead", - replaceWith = ReplaceWith("objectListSetIsArchived") - ) - @Throws(Exception::class) - fun objectSetIsArchived( - ctx: Id, - isArchived: Boolean - ) { - val request = Rpc.Object.SetIsArchived.Request( - contextId = ctx, - isArchived = isArchived - ) - logRequestIfDebug(request) - val (response, time) = measureTimedValue { service.objectSetIsArchived(request) } - logResponseIfDebug(response, time) - } - - @Deprecated( - "Use objectListSetIsFavorite instead", - replaceWith = ReplaceWith("objectListSetIsFavorite") - ) - @Throws(Exception::class) - fun objectSetIsFavorite( - ctx: Id, - isFavorite: Boolean - ): Payload { - val request = Rpc.Object.SetIsFavorite.Request( - contextId = ctx, - isFavorite = isFavorite - ) - logRequestIfDebug(request) - val (response, time) = measureTimedValue { service.objectSetIsFavorite(request) } - logResponseIfDebug(response, time) - return response.event.toPayload() - } - @Throws(Exception::class) fun objectListSetIsFavorite( objectIds: List, diff --git a/middleware/src/main/java/com/anytypeio/anytype/middleware/service/MiddlewareService.kt b/middleware/src/main/java/com/anytypeio/anytype/middleware/service/MiddlewareService.kt index 5ecdc35876..b27a4b802f 100644 --- a/middleware/src/main/java/com/anytypeio/anytype/middleware/service/MiddlewareService.kt +++ b/middleware/src/main/java/com/anytypeio/anytype/middleware/service/MiddlewareService.kt @@ -114,15 +114,9 @@ interface MiddlewareService { @Throws(Exception::class) fun objectSetLayout(request: Rpc.Object.SetLayout.Request): Rpc.Object.SetLayout.Response - @Throws(Exception::class) - fun objectSetIsFavorite(request: Rpc.Object.SetIsFavorite.Request): Rpc.Object.SetIsFavorite.Response - @Throws(Exception::class) fun objectListSetIsFavorite(request: Rpc.Object.ListSetIsFavorite.Request): Rpc.Object.ListSetIsFavorite.Response - @Throws(Exception::class) - fun objectSetIsArchived(request: Rpc.Object.SetIsArchived.Request): Rpc.Object.SetIsArchived.Response - @Throws(Exception::class) fun objectListSetIsArchived(request: Rpc.Object.ListSetIsArchived.Request): Rpc.Object.ListSetIsArchived.Response diff --git a/middleware/src/main/java/com/anytypeio/anytype/middleware/service/MiddlewareServiceImplementation.kt b/middleware/src/main/java/com/anytypeio/anytype/middleware/service/MiddlewareServiceImplementation.kt index 4fdbec050a..f8afbe2222 100644 --- a/middleware/src/main/java/com/anytypeio/anytype/middleware/service/MiddlewareServiceImplementation.kt +++ b/middleware/src/main/java/com/anytypeio/anytype/middleware/service/MiddlewareServiceImplementation.kt @@ -1039,32 +1039,6 @@ class MiddlewareServiceImplementation @Inject constructor( } } - override fun objectSetIsArchived(request: Rpc.Object.SetIsArchived.Request): Rpc.Object.SetIsArchived.Response { - val encoded = Service.objectSetIsArchived( - Rpc.Object.SetIsArchived.Request.ADAPTER.encode(request) - ) - val response = Rpc.Object.SetIsArchived.Response.ADAPTER.decode(encoded) - val error = response.error - if (error != null && error.code != Rpc.Object.SetIsArchived.Response.Error.Code.NULL) { - throw Exception(error.description) - } else { - return response - } - } - - override fun objectSetIsFavorite(request: Rpc.Object.SetIsFavorite.Request): Rpc.Object.SetIsFavorite.Response { - val encoded = Service.objectSetIsFavorite( - Rpc.Object.SetIsFavorite.Request.ADAPTER.encode(request) - ) - val response = Rpc.Object.SetIsFavorite.Response.ADAPTER.decode(encoded) - val error = response.error - if (error != null && error.code != Rpc.Object.SetIsFavorite.Response.Error.Code.NULL) { - throw Exception(error.description) - } else { - return response - } - } - override fun objectListSetIsFavorite(request: Rpc.Object.ListSetIsFavorite.Request): Rpc.Object.ListSetIsFavorite.Response { val encoded = Service.objectListSetIsFavorite( Rpc.Object.ListSetIsFavorite.Request.ADAPTER.encode(request) diff --git a/payments/src/main/java/com/anytypeio/anytype/payments/playbilling/BillingClientLifecycle.kt b/payments/src/main/java/com/anytypeio/anytype/payments/playbilling/BillingClientLifecycle.kt index 9292c0bf24..d1d405fd58 100644 --- a/payments/src/main/java/com/anytypeio/anytype/payments/playbilling/BillingClientLifecycle.kt +++ b/payments/src/main/java/com/anytypeio/anytype/payments/playbilling/BillingClientLifecycle.kt @@ -109,11 +109,11 @@ class BillingClientLifecycle( querySubscriptionPurchases() } BillingClient.BillingResponseCode.BILLING_UNAVAILABLE -> { - Timber.e("onBillingSetupFinished: BILLING_UNAVAILABLE") + Timber.w("onBillingSetupFinished: BILLING_UNAVAILABLE") _builderSubProductWithProductDetails.value = BillingClientState.NotAvailable } else -> { - Timber.e("onBillingSetupFinished: BillingResponse $responseCode") + Timber.w("onBillingSetupFinished: BillingResponse $responseCode") _builderSubProductWithProductDetails.value = BillingClientState.Error("BillingResponse $responseCode") } diff --git a/presentation/src/main/java/com/anytypeio/anytype/presentation/editor/render/DefaultBlockViewRenderer.kt b/presentation/src/main/java/com/anytypeio/anytype/presentation/editor/render/DefaultBlockViewRenderer.kt index ffb4cf519e..c41224be9f 100644 --- a/presentation/src/main/java/com/anytypeio/anytype/presentation/editor/render/DefaultBlockViewRenderer.kt +++ b/presentation/src/main/java/com/anytypeio/anytype/presentation/editor/render/DefaultBlockViewRenderer.kt @@ -1584,7 +1584,7 @@ class DefaultBlockViewRenderer @Inject constructor( background = block.parseThemeBackgroundColor(), color = block.textColor() ).also { - Timber.e("Unexpected layout for title: $layout") + Timber.w("Unexpected layout for title: $layout") } } } diff --git a/presentation/src/main/java/com/anytypeio/anytype/presentation/objects/menu/ObjectMenuViewModel.kt b/presentation/src/main/java/com/anytypeio/anytype/presentation/objects/menu/ObjectMenuViewModel.kt index fe076eae82..a8b34e62ec 100644 --- a/presentation/src/main/java/com/anytypeio/anytype/presentation/objects/menu/ObjectMenuViewModel.kt +++ b/presentation/src/main/java/com/anytypeio/anytype/presentation/objects/menu/ObjectMenuViewModel.kt @@ -17,13 +17,12 @@ import com.anytypeio.anytype.core_models.restrictions.ObjectRestriction import com.anytypeio.anytype.domain.base.fold import com.anytypeio.anytype.domain.block.interactor.UpdateFields import com.anytypeio.anytype.domain.collections.AddObjectToCollection -import com.anytypeio.anytype.domain.dashboard.interactor.AddToFavorite -import com.anytypeio.anytype.domain.dashboard.interactor.RemoveFromFavorite +import com.anytypeio.anytype.domain.dashboard.interactor.SetObjectListIsFavorite import com.anytypeio.anytype.domain.misc.DeepLinkResolver import com.anytypeio.anytype.domain.misc.UrlBuilder import com.anytypeio.anytype.domain.`object`.DuplicateObject import com.anytypeio.anytype.domain.`object`.SetObjectDetails -import com.anytypeio.anytype.domain.objects.SetObjectIsArchived +import com.anytypeio.anytype.domain.objects.SetObjectListIsArchived import com.anytypeio.anytype.domain.page.AddBackLinkToObject import com.anytypeio.anytype.domain.templates.CreateTemplateFromObject import com.anytypeio.anytype.domain.widgets.CreateWidget @@ -48,9 +47,6 @@ import kotlinx.coroutines.launch import timber.log.Timber class ObjectMenuViewModel( - setObjectIsArchived: SetObjectIsArchived, - addToFavorite: AddToFavorite, - removeFromFavorite: RemoveFromFavorite, addBackLinkToObject: AddBackLinkToObject, delegator: Delegator, urlBuilder: UrlBuilder, @@ -69,11 +65,11 @@ class ObjectMenuViewModel( private val debugGoroutinesShareDownloader: DebugGoroutinesShareDownloader, private val spaceManager: SpaceManager, private val deepLinkResolver: DeepLinkResolver, - private val analyticSpaceHelperDelegate: AnalyticSpaceHelperDelegate + private val analyticSpaceHelperDelegate: AnalyticSpaceHelperDelegate, + private val setObjectListIsFavorite: SetObjectListIsFavorite, + private val setObjectIsArchived: SetObjectListIsArchived ) : ObjectMenuViewModelBase( setObjectIsArchived = setObjectIsArchived, - addToFavorite = addToFavorite, - removeFromFavorite = removeFromFavorite, addBackLinkToObject = addBackLinkToObject, duplicateObject = duplicateObject, delegator = delegator, @@ -86,7 +82,8 @@ class ObjectMenuViewModel( createWidget = createWidget, spaceManager = spaceManager, analyticSpaceHelperDelegate = analyticSpaceHelperDelegate, - payloadDelegator = payloadDelegator + payloadDelegator = payloadDelegator, + setObjectListIsFavorite = setObjectListIsFavorite ) { init { @@ -458,11 +455,8 @@ class ObjectMenuViewModel( @Suppress("UNCHECKED_CAST") class Factory @Inject constructor( - private val setObjectIsArchived: SetObjectIsArchived, private val duplicateObject: DuplicateObject, private val debugTreeShareDownloader: DebugTreeShareDownloader, - private val addToFavorite: AddToFavorite, - private val removeFromFavorite: RemoveFromFavorite, private val addBackLinkToObject: AddBackLinkToObject, private val urlBuilder: UrlBuilder, private val storage: Editor.Storage, @@ -479,15 +473,15 @@ class ObjectMenuViewModel( private val spaceManager: SpaceManager, private val deepLinkResolver: DeepLinkResolver, private val analyticSpaceHelperDelegate: AnalyticSpaceHelperDelegate, - private val payloadDelegator: PayloadDelegator + private val payloadDelegator: PayloadDelegator, + private val setObjectListIsFavorite: SetObjectListIsFavorite, + private val setObjectIsArchived: SetObjectListIsArchived ) : ViewModelProvider.Factory { override fun create(modelClass: Class): T { return ObjectMenuViewModel( setObjectIsArchived = setObjectIsArchived, duplicateObject = duplicateObject, debugTreeShareDownloader = debugTreeShareDownloader, - addToFavorite = addToFavorite, - removeFromFavorite = removeFromFavorite, addBackLinkToObject = addBackLinkToObject, urlBuilder = urlBuilder, storage = storage, @@ -504,7 +498,8 @@ class ObjectMenuViewModel( spaceManager = spaceManager, deepLinkResolver = deepLinkResolver, analyticSpaceHelperDelegate = analyticSpaceHelperDelegate, - payloadDelegator = payloadDelegator + payloadDelegator = payloadDelegator, + setObjectListIsFavorite = setObjectListIsFavorite ) as T } } diff --git a/presentation/src/main/java/com/anytypeio/anytype/presentation/objects/menu/ObjectMenuViewModelBase.kt b/presentation/src/main/java/com/anytypeio/anytype/presentation/objects/menu/ObjectMenuViewModelBase.kt index 031e63424f..5f9b18302f 100644 --- a/presentation/src/main/java/com/anytypeio/anytype/presentation/objects/menu/ObjectMenuViewModelBase.kt +++ b/presentation/src/main/java/com/anytypeio/anytype/presentation/objects/menu/ObjectMenuViewModelBase.kt @@ -14,11 +14,10 @@ import com.anytypeio.anytype.core_models.isDataView import com.anytypeio.anytype.core_models.primitives.SpaceId import com.anytypeio.anytype.domain.base.fold import com.anytypeio.anytype.domain.collections.AddObjectToCollection -import com.anytypeio.anytype.domain.dashboard.interactor.AddToFavorite -import com.anytypeio.anytype.domain.dashboard.interactor.RemoveFromFavorite +import com.anytypeio.anytype.domain.dashboard.interactor.SetObjectListIsFavorite import com.anytypeio.anytype.domain.misc.UrlBuilder import com.anytypeio.anytype.domain.`object`.DuplicateObject -import com.anytypeio.anytype.domain.objects.SetObjectIsArchived +import com.anytypeio.anytype.domain.objects.SetObjectListIsArchived import com.anytypeio.anytype.domain.page.AddBackLinkToObject import com.anytypeio.anytype.domain.widgets.CreateWidget import com.anytypeio.anytype.domain.workspace.SpaceManager @@ -48,9 +47,6 @@ import kotlinx.coroutines.launch import timber.log.Timber abstract class ObjectMenuViewModelBase( - private val setObjectIsArchived: SetObjectIsArchived, - private val addToFavorite: AddToFavorite, - private val removeFromFavorite: RemoveFromFavorite, private val addBackLinkToObject: AddBackLinkToObject, protected val delegator: Delegator, protected val urlBuilder: UrlBuilder, @@ -63,7 +59,9 @@ abstract class ObjectMenuViewModelBase( private val createWidget: CreateWidget, private val spaceManager: SpaceManager, private val analyticSpaceHelperDelegate: AnalyticSpaceHelperDelegate, - private val payloadDelegator: PayloadDelegator + private val payloadDelegator: PayloadDelegator, + private val setObjectListIsFavorite: SetObjectListIsFavorite, + private val setObjectIsArchived: SetObjectListIsArchived ) : BaseViewModel(), AnalyticSpaceHelperDelegate by analyticSpaceHelperDelegate { protected val jobs = mutableListOf() @@ -130,19 +128,21 @@ abstract class ObjectMenuViewModelBase( protected fun proceedWithRemovingFromFavorites(ctx: Id) { Timber.d("proceedWithRemovingFromFavorites, cts:[$ctx]") - jobs += viewModelScope.launch { - removeFromFavorite( - RemoveFromFavorite.Params( - target = ctx - ) - ).process( - failure = { Timber.e(it, "Error while removing from favorite.") }, - success = { + viewModelScope.launch { + val params = SetObjectListIsFavorite.Params( + objectIds = listOf(ctx), + isFavorite = false + ) + setObjectListIsFavorite.async(params).fold( + onSuccess = { sendAnalyticsRemoveFromFavoritesEvent(analytics) - dispatcher.send(it) _toasts.emit(REMOVE_FROM_FAVORITE_SUCCESS_MSG).also { isDismissed.value = true } + }, + onFailure = { + Timber.e(it, "Error while removing from favorite.") + _toasts.emit(SOMETHING_WENT_WRONG_MSG) } ) } @@ -150,19 +150,21 @@ abstract class ObjectMenuViewModelBase( protected fun proceedWithAddingToFavorites(ctx: Id) { Timber.d("proceedWithAddingToFavorites, ctx:[$ctx]") - jobs += viewModelScope.launch { - addToFavorite( - AddToFavorite.Params( - target = ctx - ) - ).process( - failure = { Timber.e(it, "Error while adding to favorites.") }, - success = { + viewModelScope.launch { + val params = SetObjectListIsFavorite.Params( + objectIds = listOf(ctx), + isFavorite = true + ) + setObjectListIsFavorite.async(params).fold( + onSuccess = { sendAnalyticsAddToFavoritesEvent(analytics) - dispatcher.send(it) _toasts.emit(ADD_TO_FAVORITE_SUCCESS_MSG).also { isDismissed.value = true } + }, + onFailure = { + Timber.e(it, "Error while removing from favorite.") + _toasts.emit(SOMETHING_WENT_WRONG_MSG) } ) } @@ -170,18 +172,13 @@ abstract class ObjectMenuViewModelBase( fun proceedWithUpdatingArchivedStatus(ctx: Id, isArchived: Boolean) { Timber.d("proceedWithUpdatingArchivedStatus, cts:[$ctx], isArchived:[$isArchived]") - jobs += viewModelScope.launch { - setObjectIsArchived( - SetObjectIsArchived.Params( - context = ctx, - isArchived = isArchived - ) - ).process( - failure = { - Timber.e(it, MOVE_OBJECT_TO_BIN_ERR_MSG) - _toasts.emit(MOVE_OBJECT_TO_BIN_ERR_MSG) - }, - success = { + viewModelScope.launch { + val params = SetObjectListIsArchived.Params( + targets = listOf(ctx), + isArchived = isArchived + ) + setObjectIsArchived.async(params).fold( + onSuccess = { if (isArchived) { sendAnalyticsMoveToBinEvent(analytics) _toasts.emit(MOVE_OBJECT_TO_BIN_SUCCESS_MSG) @@ -189,6 +186,10 @@ abstract class ObjectMenuViewModelBase( _toasts.emit(RESTORE_OBJECT_SUCCESS_MSG) } isObjectArchived.value = true + }, + onFailure = { + Timber.e(it, MOVE_OBJECT_TO_BIN_ERR_MSG) + _toasts.emit(MOVE_OBJECT_TO_BIN_ERR_MSG) } ) } diff --git a/presentation/src/main/java/com/anytypeio/anytype/presentation/objects/menu/ObjectSetMenuViewModel.kt b/presentation/src/main/java/com/anytypeio/anytype/presentation/objects/menu/ObjectSetMenuViewModel.kt index ba3bae275f..58c339a917 100644 --- a/presentation/src/main/java/com/anytypeio/anytype/presentation/objects/menu/ObjectSetMenuViewModel.kt +++ b/presentation/src/main/java/com/anytypeio/anytype/presentation/objects/menu/ObjectSetMenuViewModel.kt @@ -10,12 +10,11 @@ import com.anytypeio.anytype.core_models.Payload import com.anytypeio.anytype.core_models.primitives.SpaceId import com.anytypeio.anytype.core_models.restrictions.ObjectRestriction import com.anytypeio.anytype.domain.collections.AddObjectToCollection -import com.anytypeio.anytype.domain.dashboard.interactor.AddToFavorite -import com.anytypeio.anytype.domain.dashboard.interactor.RemoveFromFavorite +import com.anytypeio.anytype.domain.dashboard.interactor.SetObjectListIsFavorite import com.anytypeio.anytype.domain.misc.DeepLinkResolver import com.anytypeio.anytype.domain.misc.UrlBuilder import com.anytypeio.anytype.domain.`object`.DuplicateObject -import com.anytypeio.anytype.domain.objects.SetObjectIsArchived +import com.anytypeio.anytype.domain.objects.SetObjectListIsArchived import com.anytypeio.anytype.domain.page.AddBackLinkToObject import com.anytypeio.anytype.domain.widgets.CreateWidget import com.anytypeio.anytype.domain.workspace.SpaceManager @@ -34,9 +33,7 @@ import kotlinx.coroutines.launch import timber.log.Timber class ObjectSetMenuViewModel( - setObjectIsArchived: SetObjectIsArchived, - addToFavorite: AddToFavorite, - removeFromFavorite: RemoveFromFavorite, + setObjectIsArchived: SetObjectListIsArchived, addBackLinkToObject: AddBackLinkToObject, duplicateObject: DuplicateObject, delegator: Delegator, @@ -51,11 +48,10 @@ class ObjectSetMenuViewModel( private val addObjectToCollection: AddObjectToCollection, private val debugGoroutinesShareDownloader: DebugGoroutinesShareDownloader, private val deepLinkResolver: DeepLinkResolver, - private val analyticSpaceHelperDelegate: AnalyticSpaceHelperDelegate + private val analyticSpaceHelperDelegate: AnalyticSpaceHelperDelegate, + setObjectListIsFavorite: SetObjectListIsFavorite ) : ObjectMenuViewModelBase( setObjectIsArchived = setObjectIsArchived, - addToFavorite = addToFavorite, - removeFromFavorite = removeFromFavorite, addBackLinkToObject = addBackLinkToObject, duplicateObject = duplicateObject, delegator = delegator, @@ -68,7 +64,8 @@ class ObjectSetMenuViewModel( createWidget = createWidget, spaceManager = spaceManager, analyticSpaceHelperDelegate = analyticSpaceHelperDelegate, - payloadDelegator = payloadDelegator + payloadDelegator = payloadDelegator, + setObjectListIsFavorite = setObjectListIsFavorite ) { init { @@ -77,9 +74,6 @@ class ObjectSetMenuViewModel( @Suppress("UNCHECKED_CAST") class Factory @Inject constructor( - private val setObjectIsArchived: SetObjectIsArchived, - private val addToFavorite: AddToFavorite, - private val removeFromFavorite: RemoveFromFavorite, private val addBackLinkToObject: AddBackLinkToObject, private val duplicateObject: DuplicateObject, private val delegator: Delegator, @@ -94,13 +88,13 @@ class ObjectSetMenuViewModel( private val spaceManager: SpaceManager, private val deepLinkResolver: DeepLinkResolver, private val analyticSpaceHelperDelegate: AnalyticSpaceHelperDelegate, - private val payloadDelegator: PayloadDelegator + private val payloadDelegator: PayloadDelegator, + private val setObjectListIsFavorite: SetObjectListIsFavorite, + private val setObjectListIsArchived: SetObjectListIsArchived ) : ViewModelProvider.Factory { override fun create(modelClass: Class): T { return ObjectSetMenuViewModel( - setObjectIsArchived = setObjectIsArchived, - addToFavorite = addToFavorite, - removeFromFavorite = removeFromFavorite, + setObjectIsArchived = setObjectListIsArchived, addBackLinkToObject = addBackLinkToObject, duplicateObject = duplicateObject, delegator = delegator, @@ -115,7 +109,8 @@ class ObjectSetMenuViewModel( spaceManager = spaceManager, deepLinkResolver = deepLinkResolver, analyticSpaceHelperDelegate = analyticSpaceHelperDelegate, - payloadDelegator = payloadDelegator + payloadDelegator = payloadDelegator, + setObjectListIsFavorite = setObjectListIsFavorite ) as T } }