diff --git a/core/src/main/java/org/futo/circles/core/feature/user/UserDialogFragment.kt b/core/src/main/java/org/futo/circles/core/feature/user/UserDialogFragment.kt index 9d9b8f10088c5e11674bd5a9f3167f7feddda747..cdb83543f2f7f8c3d13124dc6bda305a4303cacb 100644 --- a/core/src/main/java/org/futo/circles/core/feature/user/UserDialogFragment.kt +++ b/core/src/main/java/org/futo/circles/core/feature/user/UserDialogFragment.kt @@ -25,7 +25,6 @@ import org.futo.circles.core.feature.user.list.UsersCirclesAdapter import org.futo.circles.core.model.IgnoreUser import org.futo.circles.core.model.UnIgnoreUser import org.futo.circles.core.model.UnfollowTimeline -import org.futo.circles.core.model.UnfollowUser import org.futo.circles.core.utils.LauncherActivityUtils import org.futo.circles.core.view.EmptyTabPlaceholderView import org.matrix.android.sdk.api.session.user.model.User @@ -74,16 +73,10 @@ class UserDialogFragment : private fun setupMenu() { with(binding.toolbar) { (menu as? MenuBuilder)?.setOptionalIconsVisible(true) - menu.findItem(R.id.unFollow).isVisible = viewModel.amIFollowingUser() menu.findItem(R.id.ignore).isVisible = !isUserIgnored menu.findItem(R.id.unIgnore).isVisible = isUserIgnored setOnMenuItemClickListener { item -> return@setOnMenuItemClickListener when (item.itemId) { - R.id.unFollow -> { - withConfirmation(UnfollowUser()) { viewModel.unFollowUser() } - true - } - R.id.ignore -> { withConfirmation(IgnoreUser()) { viewModel.ignoreUser() } true @@ -122,8 +115,6 @@ class UserDialogFragment : isUserIgnored = it setupMenu() } - viewModel.unFollowUserLiveData.observeResponse(this, - success = { onBackPressed() }) } private fun setupUserInfo(user: User) { diff --git a/core/src/main/java/org/futo/circles/core/feature/user/UserOptionsDataSource.kt b/core/src/main/java/org/futo/circles/core/feature/user/UserOptionsDataSource.kt index 06993b0deac6388fe8221e8f3cc3809ab56e5efb..57fa65e42598e27aca714fdc7b2f7a1b834c7887 100644 --- a/core/src/main/java/org/futo/circles/core/feature/user/UserOptionsDataSource.kt +++ b/core/src/main/java/org/futo/circles/core/feature/user/UserOptionsDataSource.kt @@ -1,14 +1,10 @@ package org.futo.circles.core.feature.user -import org.futo.circles.core.extensions.Response import org.futo.circles.core.extensions.createResult import org.futo.circles.core.provider.MatrixSessionProvider -import org.futo.circles.core.feature.workspace.SharedCircleDataSource import javax.inject.Inject -class UserOptionsDataSource @Inject constructor( - private val sharedCircleDataSource: SharedCircleDataSource -) { +class UserOptionsDataSource @Inject constructor() { val ignoredUsersLiveData = MatrixSessionProvider.currentSession?.userService()?.getIgnoredUsersLive() @@ -21,10 +17,4 @@ class UserOptionsDataSource @Inject constructor( MatrixSessionProvider.currentSession?.userService()?.unIgnoreUserIds(listOf(userId)) } - fun amIFollowingUser(userId: String): Boolean = - sharedCircleDataSource.getSharedCircleFor(userId) != null - - suspend fun unFollowUser(userId: String): Response<Unit?> = createResult { - sharedCircleDataSource.unfollowUsersSharedCircle(userId) - } } \ No newline at end of file diff --git a/core/src/main/java/org/futo/circles/core/feature/user/UserViewModel.kt b/core/src/main/java/org/futo/circles/core/feature/user/UserViewModel.kt index d71ce3748d78e0a4bf6a3795049ff27be91dd5a8..d7b9613afdb9977b76fc7be7c338cd0600e6726c 100644 --- a/core/src/main/java/org/futo/circles/core/feature/user/UserViewModel.kt +++ b/core/src/main/java/org/futo/circles/core/feature/user/UserViewModel.kt @@ -37,7 +37,6 @@ class UserViewModel @Inject constructor( val requestFollowLiveData = SingleEventLiveData<Response<Unit?>>() val ignoreUserLiveData = SingleEventLiveData<Response<Unit?>>() val unIgnoreUserLiveData = SingleEventLiveData<Response<Unit?>>() - val unFollowUserLiveData = SingleEventLiveData<Response<Unit?>>() val isUserIgnoredLiveData = userOptionsDataSource.ignoredUsersLiveData?.map { it.firstOrNull { it.userId == userId } != null } @@ -112,15 +111,6 @@ class UserViewModel @Inject constructor( } } - fun unFollowUser() { - launchBg { - unFollowUserLiveData.postValue(userOptionsDataSource.unFollowUser(userId)) - } - } - - fun amIFollowingUser(): Boolean = userOptionsDataSource.amIFollowingUser(userId) - - private fun toggleItemLoading(id: String) { val currentSet = loadingItemsIdsList.value?.toMutableSet() ?: return val newLoadingSet = currentSet.apply { diff --git a/core/src/main/java/org/futo/circles/core/model/ConfirmationType.kt b/core/src/main/java/org/futo/circles/core/model/ConfirmationType.kt index 7b5777ffe03448723f58dcba54b707399f4114ac..2f9fb6e8252d89096c6fc759d197f4316a87dd20 100644 --- a/core/src/main/java/org/futo/circles/core/model/ConfirmationType.kt +++ b/core/src/main/java/org/futo/circles/core/model/ConfirmationType.kt @@ -93,14 +93,9 @@ data class UnIgnoreUser( override val positiveButtonRes: Int = R.string.unignore_and_restart ) : ConfirmationType(titleRes, messageRes, positiveButtonRes) -data class UnfollowUser( - override val titleRes: Int = R.string.unfollow, - override val messageRes: Int = R.string.unfollow_user_message, - override val positiveButtonRes: Int = R.string.unfollow -) : ConfirmationType(titleRes, messageRes, positiveButtonRes) data class RemoveImage( override val titleRes: Int = R.string.remove_image, override val messageRes: Int = R.string.remove_image_message, - override val positiveButtonRes: Int = org.futo.circles.core.R.string.remove + override val positiveButtonRes: Int = org.futo.circles.core.R.string.remove ) : ConfirmationType(titleRes, messageRes, positiveButtonRes) \ No newline at end of file diff --git a/core/src/main/res/menu/user_menu.xml b/core/src/main/res/menu/user_menu.xml index bdaab7f6c87a56a8a07ccc0a0136e5d9b7f114a2..2b0d2332874da6cab2d2bfbff5b00493d7f998a5 100644 --- a/core/src/main/res/menu/user_menu.xml +++ b/core/src/main/res/menu/user_menu.xml @@ -1,11 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> - <item - android:id="@+id/unFollow" - android:icon="@drawable/ic_unfollow" - android:title="@string/unfollow" /> - <item android:id="@+id/ignore" diff --git a/core/src/main/res/values/strings.xml b/core/src/main/res/values/strings.xml index 0b8efb7b7145e1fa867ba211b409ea7deba4bb29..4a35e5126a7dc6684e28847a30db9ed7be671bde 100644 --- a/core/src/main/res/values/strings.xml +++ b/core/src/main/res/values/strings.xml @@ -144,7 +144,6 @@ <string name="other_known_users">Other known users</string> <string name="unfollow">Unfollow</string> <string name="unfollow_user_timeline">Are you sure you want to unfollow this timeline?</string> - <string name="unfollow_user_message">Are you sure you want to unfollow this user?</string> <string name="ignore">Ignore</string> <string name="ignore_user_message">Ignoring this user will remove their messages from rooms you share.</string> <string name="request_sent">Request sent</string>