mirror of
https://github.com/anyproto/anytype-kotlin.git
synced 2025-06-08 05:47:05 +09:00
DROID-2987 Protocol | Update legacy methods for archiving and add to favorites (#1738)
This commit is contained in:
parent
d4ee1100c7
commit
b3e96476fd
19 changed files with 104 additions and 327 deletions
|
@ -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
|
||||
|
|
|
@ -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<Action>,
|
||||
|
@ -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<ObjectState>,
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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<Payload> = try {
|
||||
Result.Success(remote.openObjectPreview(id))
|
||||
} catch (e: AnytypeNeedsUpgradeException) {
|
||||
|
@ -511,21 +506,11 @@ class BlockDataRepository(
|
|||
relations: List<Id>
|
||||
): 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<Id>,
|
||||
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<Id>,
|
||||
isArchived: Boolean
|
||||
|
|
|
@ -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<Id>): Payload
|
||||
suspend fun removeFromFeaturedRelations(ctx: Id, relations: List<Id>): Payload
|
||||
|
||||
suspend fun setObjectIsFavorite(ctx: Id, isFavorite: Boolean): Payload
|
||||
suspend fun setObjectListIsFavorite(objectIds: List<Id>, isFavorite: Boolean)
|
||||
|
||||
suspend fun setObjectIsArchived(ctx: Id, isArchived: Boolean)
|
||||
|
||||
suspend fun setObjectListIsArchived(targets: List<Id>, isArchived: Boolean)
|
||||
suspend fun deleteObjects(targets: List<Id>)
|
||||
|
||||
|
|
|
@ -115,7 +115,6 @@ interface BlockRepository {
|
|||
suspend fun openObjectSet(id: String): Result<Payload>
|
||||
|
||||
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<Id>): Payload
|
||||
suspend fun removeFromFeaturedRelations(ctx: Id, relations: List<Id>): Payload
|
||||
|
||||
suspend fun setObjectIsFavorite(ctx: Id, isFavorite: Boolean): Payload
|
||||
suspend fun setObjectListIsFavorite(objectIds: List<Id>, isFavorite: Boolean)
|
||||
suspend fun setObjectIsArchived(ctx: Id, isArchived: Boolean)
|
||||
suspend fun setObjectListIsArchived(targets: List<Id>, isArchived: Boolean)
|
||||
|
||||
suspend fun deleteObjects(targets: List<Id>)
|
||||
|
|
|
@ -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<Payload, AddToFavorite.Params>() {
|
||||
|
||||
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)
|
||||
}
|
|
@ -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<Payload, RemoveFromFavorite.Params>() {
|
||||
|
||||
override suspend fun run(params: Params) = safe {
|
||||
repo.setObjectIsFavorite(ctx = params.target, isFavorite = false)
|
||||
}
|
||||
|
||||
class Params(val target: Id)
|
||||
}
|
|
@ -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,
|
||||
|
|
|
@ -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<Unit, SetObjectIsArchived.Params>() {
|
||||
|
||||
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
|
||||
)
|
||||
}
|
|
@ -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<Id>
|
||||
): 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<Id>,
|
||||
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<Id>) = middleware.objectListDelete(
|
||||
targets = targets
|
||||
)
|
||||
|
|
|
@ -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<Id>,
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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")
|
||||
}
|
||||
|
|
|
@ -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")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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<Action>,
|
||||
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 <T : ViewModel> create(modelClass: Class<T>): 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
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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<Action>,
|
||||
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<Job>()
|
||||
|
@ -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)
|
||||
}
|
||||
)
|
||||
}
|
||||
|
|
|
@ -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<Action>,
|
||||
|
@ -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<Action>,
|
||||
|
@ -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 <T : ViewModel> create(modelClass: Class<T>): 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
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue