From 2affd4cc26ac2883be2496a2ba2ddbbfa20d8cbc Mon Sep 17 00:00:00 2001 From: sneazy-ibo <41344259+sneazy-ibo@users.noreply.github.com> Date: Sat, 9 Mar 2024 04:25:36 +0100 Subject: [PATCH] feat: add delete to smaller media bottom sheet --- .../media/MediaListDialogSmallFragment.kt | 26 ++++++++++ .../layout/bottom_sheet_media_list_small.xml | 47 ++++++++++++++----- 2 files changed, 60 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/ani/dantotsu/media/MediaListDialogSmallFragment.kt b/app/src/main/java/ani/dantotsu/media/MediaListDialogSmallFragment.kt index cb7390ce..185e4916 100644 --- a/app/src/main/java/ani/dantotsu/media/MediaListDialogSmallFragment.kt +++ b/app/src/main/java/ani/dantotsu/media/MediaListDialogSmallFragment.kt @@ -58,6 +58,32 @@ class MediaListDialogSmallFragment : BottomSheetDialogFragment() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { binding.mediaListContainer.updateLayoutParams { bottomMargin += navBarHeight } val scope = viewLifecycleOwner.lifecycleScope + binding.mediaListDelete.setOnClickListener { + val id = media.userListId + if (id != null) { + viewLifecycleOwner.lifecycleScope.launch { + withContext(Dispatchers.IO) { + try { + Anilist.mutation.deleteList(id) + MAL.query.deleteList(media.anime != null, media.idMAL) + } catch (e: Exception) { + withContext(Dispatchers.Main) { + snackString("Failed to delete because of... ${e.message}") + } + return@withContext + } + } + withContext(Dispatchers.Main) { + Refresh.all() + snackString(getString(R.string.deleted_from_list)) + dismissAllowingStateLoss() + } + } + } else { + snackString(getString(R.string.no_list_id)) + Refresh.all() + } + } binding.mediaListProgressBar.visibility = View.GONE binding.mediaListLayout.visibility = View.VISIBLE diff --git a/app/src/main/res/layout/bottom_sheet_media_list_small.xml b/app/src/main/res/layout/bottom_sheet_media_list_small.xml index ecab76ba..1cb457c2 100644 --- a/app/src/main/res/layout/bottom_sheet_media_list_small.xml +++ b/app/src/main/res/layout/bottom_sheet_media_list_small.xml @@ -178,22 +178,43 @@ android:fontFamily="@font/poppins_bold" android:text="@string/list_private" /> -