From 1cb52f167fb35c06189f0c34bd261cad083250dc Mon Sep 17 00:00:00 2001 From: Thomas Date: Tue, 20 Sep 2022 07:48:04 +0200 Subject: [PATCH] Accept/Reject follow requests from notifications --- .../android/ui/drawer/NotificationAdapter.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/app/src/main/java/app/fedilab/android/ui/drawer/NotificationAdapter.java b/app/src/main/java/app/fedilab/android/ui/drawer/NotificationAdapter.java index d41f4252..ad611052 100644 --- a/app/src/main/java/app/fedilab/android/ui/drawer/NotificationAdapter.java +++ b/app/src/main/java/app/fedilab/android/ui/drawer/NotificationAdapter.java @@ -28,6 +28,7 @@ import android.widget.TextView; import androidx.annotation.NonNull; import androidx.core.app.ActivityOptionsCompat; +import androidx.lifecycle.LifecycleOwner; import androidx.lifecycle.ViewModelProvider; import androidx.lifecycle.ViewModelStoreOwner; import androidx.recyclerview.widget.RecyclerView; @@ -36,6 +37,7 @@ import java.lang.ref.WeakReference; import java.util.List; import java.util.Locale; +import app.fedilab.android.BaseMainActivity; import app.fedilab.android.R; import app.fedilab.android.activities.ProfileActivity; import app.fedilab.android.client.entities.api.Notification; @@ -46,6 +48,7 @@ import app.fedilab.android.databinding.DrawerStatusNotificationBinding; import app.fedilab.android.databinding.NotificationsRelatedAccountsBinding; import app.fedilab.android.helper.Helper; import app.fedilab.android.helper.MastodonHelper; +import app.fedilab.android.viewmodel.mastodon.AccountsVM; import app.fedilab.android.viewmodel.mastodon.SearchVM; import app.fedilab.android.viewmodel.mastodon.StatusesVM; @@ -140,6 +143,17 @@ public class NotificationAdapter extends RecyclerView.Adapter accountsVM.rejectFollow(BaseMainActivity.currentInstance, BaseMainActivity.currentToken, notification.account.id) + .observe((LifecycleOwner) context, relationShip -> { + notificationList.remove(position); + notifyItemRemoved(position); + })); + holderFollow.binding.acceptButton.setOnClickListener(v -> accountsVM.acceptFollow(BaseMainActivity.currentInstance, BaseMainActivity.currentToken, notification.account.id) + .observe((LifecycleOwner) context, relationShip -> { + notificationList.remove(position); + notifyItemRemoved(position); + })); holderFollow.binding.avatar.setOnClickListener(v -> { Intent intent = new Intent(context, ProfileActivity.class); Bundle b = new Bundle();