feat: longclicklistener for AL profile now accessible everywhere (#228)
* feat: added longclicklistener for AL profile in AnimePageAdapter and MangaPageAdapter * feat: add delete to smaller media bottom sheet
This commit is contained in:
parent
7504bb9081
commit
7f36eba709
5 changed files with 80 additions and 14 deletions
|
@ -26,6 +26,7 @@ import ani.dantotsu.media.CalendarActivity
|
||||||
import ani.dantotsu.media.GenreActivity
|
import ani.dantotsu.media.GenreActivity
|
||||||
import ani.dantotsu.media.MediaAdaptor
|
import ani.dantotsu.media.MediaAdaptor
|
||||||
import ani.dantotsu.media.SearchActivity
|
import ani.dantotsu.media.SearchActivity
|
||||||
|
import ani.dantotsu.profile.ProfileActivity
|
||||||
import ani.dantotsu.px
|
import ani.dantotsu.px
|
||||||
import ani.dantotsu.setSafeOnClickListener
|
import ani.dantotsu.setSafeOnClickListener
|
||||||
import ani.dantotsu.setSlideIn
|
import ani.dantotsu.setSlideIn
|
||||||
|
@ -94,6 +95,15 @@ class AnimePageAdapter : RecyclerView.Adapter<AnimePageAdapter.AnimePageViewHold
|
||||||
SettingsDialogFragment.newInstance(SettingsDialogFragment.Companion.PageType.ANIME)
|
SettingsDialogFragment.newInstance(SettingsDialogFragment.Companion.PageType.ANIME)
|
||||||
dialogFragment.show((it.context as AppCompatActivity).supportFragmentManager, "dialog")
|
dialogFragment.show((it.context as AppCompatActivity).supportFragmentManager, "dialog")
|
||||||
}
|
}
|
||||||
|
binding.animeUserAvatar.setOnLongClickListener { view ->
|
||||||
|
ContextCompat.startActivity(
|
||||||
|
view.context,
|
||||||
|
Intent(view.context, ProfileActivity::class.java)
|
||||||
|
.putExtra("userId", Anilist.userid),null
|
||||||
|
)
|
||||||
|
false
|
||||||
|
}
|
||||||
|
|
||||||
binding.animeNotificationCount.visibility = if (Anilist.unreadNotificationCount > 0) View.VISIBLE else View.GONE
|
binding.animeNotificationCount.visibility = if (Anilist.unreadNotificationCount > 0) View.VISIBLE else View.GONE
|
||||||
binding.animeNotificationCount.text = Anilist.unreadNotificationCount.toString()
|
binding.animeNotificationCount.text = Anilist.unreadNotificationCount.toString()
|
||||||
|
|
||||||
|
|
|
@ -124,7 +124,7 @@ class HomeFragment : Fragment() {
|
||||||
binding.homeUserAvatarContainer.setOnLongClickListener {
|
binding.homeUserAvatarContainer.setOnLongClickListener {
|
||||||
ContextCompat.startActivity(
|
ContextCompat.startActivity(
|
||||||
requireContext(), Intent(requireContext(), ProfileActivity::class.java)
|
requireContext(), Intent(requireContext(), ProfileActivity::class.java)
|
||||||
.putExtra("userId", Anilist.userid), null
|
.putExtra("userId", Anilist.userid),null
|
||||||
)
|
)
|
||||||
false
|
false
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,6 +25,7 @@ import ani.dantotsu.loadImage
|
||||||
import ani.dantotsu.media.GenreActivity
|
import ani.dantotsu.media.GenreActivity
|
||||||
import ani.dantotsu.media.MediaAdaptor
|
import ani.dantotsu.media.MediaAdaptor
|
||||||
import ani.dantotsu.media.SearchActivity
|
import ani.dantotsu.media.SearchActivity
|
||||||
|
import ani.dantotsu.profile.ProfileActivity
|
||||||
import ani.dantotsu.px
|
import ani.dantotsu.px
|
||||||
import ani.dantotsu.setSafeOnClickListener
|
import ani.dantotsu.setSafeOnClickListener
|
||||||
import ani.dantotsu.setSlideIn
|
import ani.dantotsu.setSlideIn
|
||||||
|
@ -90,6 +91,14 @@ class MangaPageAdapter : RecyclerView.Adapter<MangaPageAdapter.MangaPageViewHold
|
||||||
SettingsDialogFragment.newInstance(SettingsDialogFragment.Companion.PageType.MANGA)
|
SettingsDialogFragment.newInstance(SettingsDialogFragment.Companion.PageType.MANGA)
|
||||||
dialogFragment.show((it.context as AppCompatActivity).supportFragmentManager, "dialog")
|
dialogFragment.show((it.context as AppCompatActivity).supportFragmentManager, "dialog")
|
||||||
}
|
}
|
||||||
|
binding.mangaUserAvatar.setOnLongClickListener { view ->
|
||||||
|
ContextCompat.startActivity(
|
||||||
|
view.context,
|
||||||
|
Intent(view.context, ProfileActivity::class.java)
|
||||||
|
.putExtra("userId", Anilist.userid),null
|
||||||
|
)
|
||||||
|
false
|
||||||
|
}
|
||||||
|
|
||||||
binding.mangaSearchBar.setEndIconOnClickListener {
|
binding.mangaSearchBar.setEndIconOnClickListener {
|
||||||
binding.mangaSearchBarText.performClick()
|
binding.mangaSearchBarText.performClick()
|
||||||
|
|
|
@ -58,6 +58,32 @@ class MediaListDialogSmallFragment : BottomSheetDialogFragment() {
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
binding.mediaListContainer.updateLayoutParams<ViewGroup.MarginLayoutParams> { bottomMargin += navBarHeight }
|
binding.mediaListContainer.updateLayoutParams<ViewGroup.MarginLayoutParams> { bottomMargin += navBarHeight }
|
||||||
val scope = viewLifecycleOwner.lifecycleScope
|
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.mediaListProgressBar.visibility = View.GONE
|
||||||
binding.mediaListLayout.visibility = View.VISIBLE
|
binding.mediaListLayout.visibility = View.VISIBLE
|
||||||
|
|
|
@ -178,22 +178,43 @@
|
||||||
android:fontFamily="@font/poppins_bold"
|
android:fontFamily="@font/poppins_bold"
|
||||||
android:text="@string/list_private" />
|
android:text="@string/list_private" />
|
||||||
|
|
||||||
<Button
|
<LinearLayout
|
||||||
android:id="@+id/mediaListSave"
|
|
||||||
style="@style/Widget.Material3.Button.OutlinedButton"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="56dp"
|
android:layout_height="match_parent"
|
||||||
android:layout_marginTop="24dp"
|
android:layout_marginTop="16dp"
|
||||||
android:fontFamily="@font/poppins_bold"
|
android:orientation="horizontal">
|
||||||
android:insetTop="0dp"
|
|
||||||
android:insetBottom="0dp"
|
|
||||||
android:padding="8dp"
|
|
||||||
android:text="@string/save"
|
|
||||||
android:textSize="16sp"
|
|
||||||
app:cornerRadius="16dp"
|
|
||||||
app:strokeColor="?attr/colorPrimaryContainer" />
|
|
||||||
|
|
||||||
|
<Button
|
||||||
|
android:id="@+id/mediaListDelete"
|
||||||
|
style="@style/Widget.Material3.Button.OutlinedButton"
|
||||||
|
android:layout_width="128dp"
|
||||||
|
android:layout_height="56dp"
|
||||||
|
android:layout_gravity="center"
|
||||||
|
android:fontFamily="@font/poppins_bold"
|
||||||
|
android:insetTop="0dp"
|
||||||
|
android:insetBottom="0dp"
|
||||||
|
android:padding="8dp"
|
||||||
|
android:text="@string/delete"
|
||||||
|
android:textSize="16sp"
|
||||||
|
app:cornerRadius="16dp"
|
||||||
|
app:strokeColor="?attr/colorPrimaryContainer" />
|
||||||
|
|
||||||
|
<Button
|
||||||
|
android:id="@+id/mediaListSave"
|
||||||
|
style="@style/Widget.Material3.Button.OutlinedButton"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="56dp"
|
||||||
|
android:layout_marginStart="16dp"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:fontFamily="@font/poppins_bold"
|
||||||
|
android:insetTop="0dp"
|
||||||
|
android:insetBottom="0dp"
|
||||||
|
android:padding="8dp"
|
||||||
|
android:text="@string/save"
|
||||||
|
android:textSize="16sp"
|
||||||
|
app:cornerRadius="16dp"
|
||||||
|
app:strokeColor="?attr/colorPrimaryContainer" />
|
||||||
|
</LinearLayout>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
<androidx.cardview.widget.CardView
|
<androidx.cardview.widget.CardView
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue