feat: list view for home page media
This commit is contained in:
parent
fdb7f45a3d
commit
42330032c8
8 changed files with 359 additions and 89 deletions
|
@ -217,6 +217,9 @@
|
||||||
android:label="@string/manga"
|
android:label="@string/manga"
|
||||||
android:launchMode="singleTask" />
|
android:launchMode="singleTask" />
|
||||||
<activity android:name=".media.GenreActivity" />
|
<activity android:name=".media.GenreActivity" />
|
||||||
|
<activity
|
||||||
|
android:name=".media.MediaListViewActivity"
|
||||||
|
android:parentActivityName=".MainActivity" />
|
||||||
<activity
|
<activity
|
||||||
android:name=".media.MediaDetailsActivity"
|
android:name=".media.MediaDetailsActivity"
|
||||||
android:parentActivityName=".MainActivity"
|
android:parentActivityName=".MainActivity"
|
||||||
|
|
|
@ -603,10 +603,11 @@ class AnilistQueries {
|
||||||
val activities = listOf(
|
val activities = listOf(
|
||||||
response.data.page1.activities,
|
response.data.page1.activities,
|
||||||
response.data.page2.activities
|
response.data.page2.activities
|
||||||
).flatten()
|
).asSequence().flatten()
|
||||||
.filter { it.typename != "MessageActivity" }
|
.filter { it.typename != "MessageActivity" }
|
||||||
|
.filter { if (Anilist.adult) true else it.media?.isAdult == false }
|
||||||
|
.filter { it.createdAt * 1000L > threeDaysAgo }.toList()
|
||||||
.sortedByDescending { it.createdAt }
|
.sortedByDescending { it.createdAt }
|
||||||
.filter { it.createdAt * 1000L > threeDaysAgo }
|
|
||||||
val anilistActivities = mutableListOf<User>()
|
val anilistActivities = mutableListOf<User>()
|
||||||
val groupedActivities = activities.groupBy { it.userId }
|
val groupedActivities = activities.groupBy { it.userId }
|
||||||
|
|
||||||
|
@ -1584,7 +1585,7 @@ Page(page:$page,perPage:50) {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
private fun status(page: Int = 1): String {
|
private fun status(page: Int = 1): String {
|
||||||
return """Page(page:$page,perPage:50){activities(isFollowing: true,sort:ID_DESC){__typename ... on TextActivity{id userId type replyCount text(asHtml:true)siteUrl isLocked isSubscribed likeCount isLiked createdAt user{id name bannerImage avatar{medium large}}likes{id name bannerImage avatar{medium large}}}... on ListActivity{id userId type replyCount status progress siteUrl isLocked isSubscribed likeCount isLiked isPinned createdAt user{id name bannerImage avatar{medium large}}media{id title{english romaji native userPreferred}bannerImage coverImage{extraLarge medium large}}likes{id name bannerImage avatar{medium large}}}... on MessageActivity{id type createdAt}}}"""
|
return """Page(page:$page,perPage:50){activities(isFollowing: true,sort:ID_DESC){__typename ... on TextActivity{id userId type replyCount text(asHtml:true)siteUrl isLocked isSubscribed likeCount isLiked createdAt user{id name bannerImage avatar{medium large}}likes{id name bannerImage avatar{medium large}}}... on ListActivity{id userId type replyCount status progress siteUrl isLocked isSubscribed likeCount isLiked isPinned createdAt user{id name bannerImage avatar{medium large}}media{id isAdult title{english romaji native userPreferred}bannerImage coverImage{extraLarge medium large}}likes{id name bannerImage avatar{medium large}}}... on MessageActivity{id type createdAt}}}"""
|
||||||
}
|
}
|
||||||
|
|
||||||
suspend fun getUpcomingAnime(id: String): List<Media> {
|
suspend fun getUpcomingAnime(id: String): List<Media> {
|
||||||
|
|
|
@ -34,6 +34,7 @@ import ani.dantotsu.home.status.UserStatusAdapter
|
||||||
import ani.dantotsu.loadImage
|
import ani.dantotsu.loadImage
|
||||||
import ani.dantotsu.media.Media
|
import ani.dantotsu.media.Media
|
||||||
import ani.dantotsu.media.MediaAdaptor
|
import ani.dantotsu.media.MediaAdaptor
|
||||||
|
import ani.dantotsu.media.MediaListViewActivity
|
||||||
import ani.dantotsu.media.user.ListActivity
|
import ani.dantotsu.media.user.ListActivity
|
||||||
import ani.dantotsu.navBarHeight
|
import ani.dantotsu.navBarHeight
|
||||||
import ani.dantotsu.profile.ProfileActivity
|
import ani.dantotsu.profile.ProfileActivity
|
||||||
|
@ -209,13 +210,15 @@ class HomeFragment : Fragment() {
|
||||||
recyclerView: RecyclerView,
|
recyclerView: RecyclerView,
|
||||||
progress: View,
|
progress: View,
|
||||||
empty: View,
|
empty: View,
|
||||||
title: View
|
title: View,
|
||||||
|
more: View
|
||||||
) {
|
) {
|
||||||
container.visibility = View.VISIBLE
|
container.visibility = View.VISIBLE
|
||||||
progress.visibility = View.VISIBLE
|
progress.visibility = View.VISIBLE
|
||||||
recyclerView.visibility = View.GONE
|
recyclerView.visibility = View.GONE
|
||||||
empty.visibility = View.GONE
|
empty.visibility = View.GONE
|
||||||
title.visibility = View.INVISIBLE
|
title.visibility = View.INVISIBLE
|
||||||
|
more.visibility = View.INVISIBLE
|
||||||
|
|
||||||
mode.observe(viewLifecycleOwner) {
|
mode.observe(viewLifecycleOwner) {
|
||||||
recyclerView.visibility = View.GONE
|
recyclerView.visibility = View.GONE
|
||||||
|
@ -228,6 +231,14 @@ class HomeFragment : Fragment() {
|
||||||
LinearLayoutManager.HORIZONTAL,
|
LinearLayoutManager.HORIZONTAL,
|
||||||
false
|
false
|
||||||
)
|
)
|
||||||
|
more.setOnClickListener { _ ->
|
||||||
|
MediaListViewActivity.mediaList = it
|
||||||
|
ContextCompat.startActivity(
|
||||||
|
requireActivity(), Intent(requireActivity(), MediaListViewActivity::class.java)
|
||||||
|
.putExtra("title", getString(R.string.continue_watching)),
|
||||||
|
null
|
||||||
|
)
|
||||||
|
}
|
||||||
recyclerView.visibility = View.VISIBLE
|
recyclerView.visibility = View.VISIBLE
|
||||||
recyclerView.layoutAnimation =
|
recyclerView.layoutAnimation =
|
||||||
LayoutAnimationController(setSlideIn(), 0.25f)
|
LayoutAnimationController(setSlideIn(), 0.25f)
|
||||||
|
@ -235,6 +246,7 @@ class HomeFragment : Fragment() {
|
||||||
} else {
|
} else {
|
||||||
empty.visibility = View.VISIBLE
|
empty.visibility = View.VISIBLE
|
||||||
}
|
}
|
||||||
|
more?.visibility = View.VISIBLE
|
||||||
title.visibility = View.VISIBLE
|
title.visibility = View.VISIBLE
|
||||||
title.startAnimation(setSlideUp())
|
title.startAnimation(setSlideUp())
|
||||||
progress.visibility = View.GONE
|
progress.visibility = View.GONE
|
||||||
|
@ -250,7 +262,8 @@ class HomeFragment : Fragment() {
|
||||||
binding.homeWatchingRecyclerView,
|
binding.homeWatchingRecyclerView,
|
||||||
binding.homeWatchingProgressBar,
|
binding.homeWatchingProgressBar,
|
||||||
binding.homeWatchingEmpty,
|
binding.homeWatchingEmpty,
|
||||||
binding.homeContinueWatch
|
binding.homeContinueWatch,
|
||||||
|
binding.homeContinueWatchMore
|
||||||
)
|
)
|
||||||
binding.homeWatchingBrowseButton.setOnClickListener {
|
binding.homeWatchingBrowseButton.setOnClickListener {
|
||||||
bottomBar.selectTabAt(0)
|
bottomBar.selectTabAt(0)
|
||||||
|
@ -262,7 +275,9 @@ class HomeFragment : Fragment() {
|
||||||
binding.homeFavAnimeRecyclerView,
|
binding.homeFavAnimeRecyclerView,
|
||||||
binding.homeFavAnimeProgressBar,
|
binding.homeFavAnimeProgressBar,
|
||||||
binding.homeFavAnimeEmpty,
|
binding.homeFavAnimeEmpty,
|
||||||
binding.homeFavAnime
|
binding.homeFavAnime,
|
||||||
|
binding.homeFavAnimeMore
|
||||||
|
|
||||||
)
|
)
|
||||||
|
|
||||||
initRecyclerView(
|
initRecyclerView(
|
||||||
|
@ -271,7 +286,8 @@ class HomeFragment : Fragment() {
|
||||||
binding.homePlannedAnimeRecyclerView,
|
binding.homePlannedAnimeRecyclerView,
|
||||||
binding.homePlannedAnimeProgressBar,
|
binding.homePlannedAnimeProgressBar,
|
||||||
binding.homePlannedAnimeEmpty,
|
binding.homePlannedAnimeEmpty,
|
||||||
binding.homePlannedAnime
|
binding.homePlannedAnime,
|
||||||
|
binding.homePlannedAnimeMore
|
||||||
)
|
)
|
||||||
binding.homePlannedAnimeBrowseButton.setOnClickListener {
|
binding.homePlannedAnimeBrowseButton.setOnClickListener {
|
||||||
bottomBar.selectTabAt(0)
|
bottomBar.selectTabAt(0)
|
||||||
|
@ -283,7 +299,8 @@ class HomeFragment : Fragment() {
|
||||||
binding.homeReadingRecyclerView,
|
binding.homeReadingRecyclerView,
|
||||||
binding.homeReadingProgressBar,
|
binding.homeReadingProgressBar,
|
||||||
binding.homeReadingEmpty,
|
binding.homeReadingEmpty,
|
||||||
binding.homeContinueRead
|
binding.homeContinueRead,
|
||||||
|
binding.homeContinueReadMore
|
||||||
)
|
)
|
||||||
binding.homeReadingBrowseButton.setOnClickListener {
|
binding.homeReadingBrowseButton.setOnClickListener {
|
||||||
bottomBar.selectTabAt(2)
|
bottomBar.selectTabAt(2)
|
||||||
|
@ -295,7 +312,8 @@ class HomeFragment : Fragment() {
|
||||||
binding.homeFavMangaRecyclerView,
|
binding.homeFavMangaRecyclerView,
|
||||||
binding.homeFavMangaProgressBar,
|
binding.homeFavMangaProgressBar,
|
||||||
binding.homeFavMangaEmpty,
|
binding.homeFavMangaEmpty,
|
||||||
binding.homeFavManga
|
binding.homeFavManga,
|
||||||
|
binding.homeFavMangaMore
|
||||||
)
|
)
|
||||||
|
|
||||||
initRecyclerView(
|
initRecyclerView(
|
||||||
|
@ -304,7 +322,8 @@ class HomeFragment : Fragment() {
|
||||||
binding.homePlannedMangaRecyclerView,
|
binding.homePlannedMangaRecyclerView,
|
||||||
binding.homePlannedMangaProgressBar,
|
binding.homePlannedMangaProgressBar,
|
||||||
binding.homePlannedMangaEmpty,
|
binding.homePlannedMangaEmpty,
|
||||||
binding.homePlannedManga
|
binding.homePlannedManga,
|
||||||
|
binding.homePlannedMangaMore
|
||||||
)
|
)
|
||||||
binding.homePlannedMangaBrowseButton.setOnClickListener {
|
binding.homePlannedMangaBrowseButton.setOnClickListener {
|
||||||
bottomBar.selectTabAt(2)
|
bottomBar.selectTabAt(2)
|
||||||
|
@ -316,7 +335,8 @@ class HomeFragment : Fragment() {
|
||||||
binding.homeRecommendedRecyclerView,
|
binding.homeRecommendedRecyclerView,
|
||||||
binding.homeRecommendedProgressBar,
|
binding.homeRecommendedProgressBar,
|
||||||
binding.homeRecommendedEmpty,
|
binding.homeRecommendedEmpty,
|
||||||
binding.homeRecommended
|
binding.homeRecommended,
|
||||||
|
binding.homeRecommendedMore
|
||||||
)
|
)
|
||||||
binding.homeUserStatusContainer.visibility = View.VISIBLE
|
binding.homeUserStatusContainer.visibility = View.VISIBLE
|
||||||
binding.homeUserStatusProgressBar.visibility = View.VISIBLE
|
binding.homeUserStatusProgressBar.visibility = View.VISIBLE
|
||||||
|
|
|
@ -396,7 +396,7 @@ constructor(
|
||||||
}
|
}
|
||||||
binding.infoText.text = text
|
binding.infoText.text = text
|
||||||
val bannerAnimations: Boolean = PrefManager.getVal(PrefName.BannerAnimations)
|
val bannerAnimations: Boolean = PrefManager.getVal(PrefName.BannerAnimations)
|
||||||
blurImage(if (bannerAnimations)binding.contentImageViewKen else binding.contentImageView, story.media?.bannerImage ?: story.media?.coverImage?.extraLarge)
|
blurImage(if (bannerAnimations) binding.contentImageViewKen else binding.contentImageView, story.media?.bannerImage ?: story.media?.coverImage?.extraLarge)
|
||||||
binding.coverImage.loadImage(story.media?.coverImage?.extraLarge)
|
binding.coverImage.loadImage(story.media?.coverImage?.extraLarge)
|
||||||
binding.coverImage.setOnClickListener{
|
binding.coverImage.setOnClickListener{
|
||||||
ContextCompat.startActivity(context, Intent(context, MediaDetailsActivity::class.java)
|
ContextCompat.startActivity(context, Intent(context, MediaDetailsActivity::class.java)
|
||||||
|
@ -406,7 +406,7 @@ constructor(
|
||||||
binding.coverImage,
|
binding.coverImage,
|
||||||
ViewCompat.getTransitionName(binding.coverImage)!!
|
ViewCompat.getTransitionName(binding.coverImage)!!
|
||||||
).toBundle()
|
).toBundle()
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -573,23 +573,23 @@ class MediaInfoFragment : Fragment() {
|
||||||
parent.addView(root)
|
parent.addView(root)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
val users: ArrayList<User> = media.users ?: arrayListOf()
|
|
||||||
if (Anilist.token != null && media.userStatus != null) {
|
|
||||||
users.add(0,
|
|
||||||
User(
|
|
||||||
id = Anilist.userid!!,
|
|
||||||
name = getString(R.string.your_progress),
|
|
||||||
pfp = Anilist.avatar,
|
|
||||||
banner = "",
|
|
||||||
status = media.userStatus,
|
|
||||||
score = media.userScore.toFloat(),
|
|
||||||
progress = media.userProgress,
|
|
||||||
totalEpisodes = media.anime?.totalEpisodes ?: media.manga?.totalChapters,
|
|
||||||
nextAiringEpisode = media.anime?.nextAiringEpisode
|
|
||||||
)
|
|
||||||
)
|
|
||||||
}
|
|
||||||
if (!media.users.isNullOrEmpty() && !offline) {
|
if (!media.users.isNullOrEmpty() && !offline) {
|
||||||
|
val users: ArrayList<User> = media.users ?: arrayListOf()
|
||||||
|
if (Anilist.token != null && media.userStatus != null) {
|
||||||
|
users.add(0,
|
||||||
|
User(
|
||||||
|
id = Anilist.userid!!,
|
||||||
|
name = getString(R.string.your_progress),
|
||||||
|
pfp = Anilist.avatar,
|
||||||
|
banner = "",
|
||||||
|
status = media.userStatus,
|
||||||
|
score = media.userScore.toFloat(),
|
||||||
|
progress = media.userProgress,
|
||||||
|
totalEpisodes = media.anime?.totalEpisodes ?: media.manga?.totalChapters,
|
||||||
|
nextAiringEpisode = media.anime?.nextAiringEpisode
|
||||||
|
)
|
||||||
|
)
|
||||||
|
}
|
||||||
ItemTitleRecyclerBinding.inflate(
|
ItemTitleRecyclerBinding.inflate(
|
||||||
LayoutInflater.from(context),
|
LayoutInflater.from(context),
|
||||||
parent,
|
parent,
|
||||||
|
|
|
@ -0,0 +1,42 @@
|
||||||
|
package ani.dantotsu.media
|
||||||
|
|
||||||
|
import android.os.Bundle
|
||||||
|
import android.view.View
|
||||||
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
|
import androidx.recyclerview.widget.GridLayoutManager
|
||||||
|
import ani.dantotsu.databinding.ActivityMediaListViewBinding
|
||||||
|
import ani.dantotsu.getThemeColor
|
||||||
|
import ani.dantotsu.initActivity
|
||||||
|
import ani.dantotsu.themes.ThemeManager
|
||||||
|
import java.util.ArrayList
|
||||||
|
|
||||||
|
class MediaListViewActivity: AppCompatActivity() {
|
||||||
|
private lateinit var binding: ActivityMediaListViewBinding
|
||||||
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
|
super.onCreate(savedInstanceState)
|
||||||
|
binding = ActivityMediaListViewBinding.inflate(layoutInflater)
|
||||||
|
ThemeManager(this).applyTheme()
|
||||||
|
initActivity(this)
|
||||||
|
setContentView(binding.root)
|
||||||
|
|
||||||
|
val primaryColor = getThemeColor(com.google.android.material.R.attr.colorSurface)
|
||||||
|
val primaryTextColor = getThemeColor(com.google.android.material.R.attr.colorPrimary)
|
||||||
|
val secondaryTextColor = getThemeColor(com.google.android.material.R.attr.colorOutline)
|
||||||
|
|
||||||
|
window.statusBarColor = primaryColor
|
||||||
|
window.navigationBarColor = primaryColor
|
||||||
|
binding.listAppBar.setBackgroundColor(primaryColor)
|
||||||
|
binding.listTitle.setTextColor(primaryTextColor)
|
||||||
|
|
||||||
|
val screenWidth = resources.displayMetrics.run { widthPixels / density }
|
||||||
|
binding.listTitle.text = intent.getStringExtra("title")
|
||||||
|
binding.mediaRecyclerView.adapter = MediaAdaptor(0, mediaList, this)
|
||||||
|
binding.mediaRecyclerView.layoutManager = GridLayoutManager(
|
||||||
|
this,
|
||||||
|
(screenWidth / 120f).toInt()
|
||||||
|
)
|
||||||
|
}
|
||||||
|
companion object{
|
||||||
|
var mediaList: ArrayList<Media> = arrayListOf()
|
||||||
|
}
|
||||||
|
}
|
61
app/src/main/res/layout/activity_media_list_view.xml
Normal file
61
app/src/main/res/layout/activity_media_list_view.xml
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
|
<androidx.core.widget.NestedScrollView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
|
<com.google.android.material.appbar.AppBarLayout
|
||||||
|
android:id="@+id/listAppBar"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:background="?attr/colorSurface">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/settingsContainer"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:orientation="horizontal">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/listTitle"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="48dp"
|
||||||
|
android:layout_marginStart="32dp"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:ellipsize="end"
|
||||||
|
android:fontFamily="@font/poppins_bold"
|
||||||
|
android:gravity="center|start"
|
||||||
|
android:singleLine="true"
|
||||||
|
android:textAppearance="@style/TextAppearance.Widget.AppCompat.Toolbar.Title"
|
||||||
|
android:textColor="?attr/colorOnBackground"
|
||||||
|
android:textSize="16sp"
|
||||||
|
tools:text="@string/app_name" />
|
||||||
|
</LinearLayout>
|
||||||
|
</LinearLayout>
|
||||||
|
<ani.dantotsu.FadingEdgeRecyclerView
|
||||||
|
android:id="@+id/mediaRecyclerView"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:paddingStart="20dp"
|
||||||
|
android:paddingEnd="20dp"
|
||||||
|
android:requiresFadingEdge="horizontal"
|
||||||
|
tools:itemCount="4"
|
||||||
|
tools:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
|
||||||
|
tools:listitem="@layout/item_media_compact"
|
||||||
|
tools:orientation="horizontal" />
|
||||||
|
</com.google.android.material.appbar.AppBarLayout>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</androidx.core.widget.NestedScrollView>
|
||||||
|
|
||||||
|
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
|
@ -314,8 +314,8 @@
|
||||||
android:id="@+id/homeUserStatusContainer"
|
android:id="@+id/homeUserStatusContainer"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:visibility="gone"
|
android:minHeight="100dp"
|
||||||
android:minHeight="100dp">
|
android:visibility="gone">
|
||||||
|
|
||||||
<ProgressBar
|
<ProgressBar
|
||||||
android:id="@+id/homeUserStatusProgressBar"
|
android:id="@+id/homeUserStatusProgressBar"
|
||||||
|
@ -345,15 +345,35 @@
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:visibility="gone">
|
android:visibility="gone">
|
||||||
|
|
||||||
<TextView
|
<LinearLayout
|
||||||
android:id="@+id/homeContinueWatch"
|
android:layout_width="match_parent"
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="24dp"
|
android:orientation="horizontal"
|
||||||
android:fontFamily="@font/poppins_bold"
|
tools:ignore="UseCompoundDrawables">
|
||||||
android:padding="8dp"
|
|
||||||
android:text="@string/continue_watching"
|
<TextView
|
||||||
android:textSize="16sp" />
|
android:id="@+id/homeContinueWatch"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="24dp"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:fontFamily="@font/poppins_bold"
|
||||||
|
android:padding="8dp"
|
||||||
|
android:text="@string/continue_watching"
|
||||||
|
android:textSize="16sp" />
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/homeContinueWatchMore"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_marginEnd="16dp"
|
||||||
|
android:fontFamily="@font/poppins_bold"
|
||||||
|
android:padding="8dp"
|
||||||
|
android:src="@drawable/arrow_mark"
|
||||||
|
android:text="@string/continue_watching"
|
||||||
|
android:textSize="16sp"
|
||||||
|
tools:ignore="ContentDescription" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
<FrameLayout
|
<FrameLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
@ -421,16 +441,36 @@
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:visibility="gone">
|
android:visibility="gone">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
<TextView
|
android:layout_width="match_parent"
|
||||||
android:id="@+id/homeFavAnime"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="24dp"
|
android:orientation="horizontal"
|
||||||
android:fontFamily="@font/poppins_bold"
|
tools:ignore="UseCompoundDrawables">
|
||||||
android:padding="8dp"
|
|
||||||
android:text="@string/fav_anime"
|
<TextView
|
||||||
android:textSize="16sp" />
|
android:id="@+id/homeFavAnime"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="24dp"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:fontFamily="@font/poppins_bold"
|
||||||
|
android:padding="8dp"
|
||||||
|
android:text="@string/fav_anime"
|
||||||
|
android:textSize="16sp" />
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/homeFavAnimeMore"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_marginEnd="16dp"
|
||||||
|
android:fontFamily="@font/poppins_bold"
|
||||||
|
android:padding="8dp"
|
||||||
|
android:src="@drawable/arrow_mark"
|
||||||
|
android:text="@string/continue_watching"
|
||||||
|
android:textSize="16sp"
|
||||||
|
tools:ignore="ContentDescription" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
|
||||||
<FrameLayout
|
<FrameLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
@ -495,15 +535,36 @@
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:visibility="gone">
|
android:visibility="gone">
|
||||||
|
|
||||||
<TextView
|
<LinearLayout
|
||||||
android:id="@+id/homePlannedAnime"
|
android:layout_width="match_parent"
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="24dp"
|
android:orientation="horizontal"
|
||||||
android:fontFamily="@font/poppins_bold"
|
tools:ignore="UseCompoundDrawables">
|
||||||
android:padding="8dp"
|
|
||||||
android:text="@string/planned_anime"
|
<TextView
|
||||||
android:textSize="16sp" />
|
android:id="@+id/homePlannedAnime"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="24dp"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:fontFamily="@font/poppins_bold"
|
||||||
|
android:padding="8dp"
|
||||||
|
android:text="@string/planned_anime"
|
||||||
|
android:textSize="16sp" />
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/homePlannedAnimeMore"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_marginEnd="16dp"
|
||||||
|
android:fontFamily="@font/poppins_bold"
|
||||||
|
android:padding="8dp"
|
||||||
|
android:src="@drawable/arrow_mark"
|
||||||
|
android:text="@string/continue_watching"
|
||||||
|
android:textSize="16sp"
|
||||||
|
tools:ignore="ContentDescription" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
|
||||||
<FrameLayout
|
<FrameLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
@ -571,15 +632,36 @@
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:visibility="gone">
|
android:visibility="gone">
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/homeContinueRead"
|
<LinearLayout
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="24dp"
|
android:orientation="horizontal"
|
||||||
android:fontFamily="@font/poppins_bold"
|
tools:ignore="UseCompoundDrawables">
|
||||||
android:padding="8dp"
|
|
||||||
android:text="@string/continue_reading"
|
<TextView
|
||||||
android:textSize="16sp" />
|
android:id="@+id/homeContinueRead"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="24dp"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:fontFamily="@font/poppins_bold"
|
||||||
|
android:padding="8dp"
|
||||||
|
android:text="@string/continue_reading"
|
||||||
|
android:textSize="16sp" />
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/homeContinueReadMore"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_marginEnd="16dp"
|
||||||
|
android:fontFamily="@font/poppins_bold"
|
||||||
|
android:padding="8dp"
|
||||||
|
android:src="@drawable/arrow_mark"
|
||||||
|
android:text="@string/continue_watching"
|
||||||
|
android:textSize="16sp"
|
||||||
|
tools:ignore="ContentDescription" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
<FrameLayout
|
<FrameLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
@ -647,16 +729,35 @@
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:visibility="gone">
|
android:visibility="gone">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
<TextView
|
android:layout_width="match_parent"
|
||||||
android:id="@+id/homeFavManga"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="24dp"
|
android:orientation="horizontal"
|
||||||
android:fontFamily="@font/poppins_bold"
|
tools:ignore="UseCompoundDrawables">
|
||||||
android:padding="8dp"
|
|
||||||
android:text="@string/fav_manga"
|
<TextView
|
||||||
android:textSize="16sp" />
|
android:id="@+id/homeFavManga"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="24dp"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:fontFamily="@font/poppins_bold"
|
||||||
|
android:padding="8dp"
|
||||||
|
android:text="@string/fav_manga"
|
||||||
|
android:textSize="16sp" />
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/homeFavMangaMore"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_marginEnd="16dp"
|
||||||
|
android:fontFamily="@font/poppins_bold"
|
||||||
|
android:padding="8dp"
|
||||||
|
android:src="@drawable/arrow_mark"
|
||||||
|
android:text="@string/continue_watching"
|
||||||
|
android:textSize="16sp"
|
||||||
|
tools:ignore="ContentDescription" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
<FrameLayout
|
<FrameLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
@ -721,15 +822,36 @@
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:visibility="gone">
|
android:visibility="gone">
|
||||||
|
|
||||||
<TextView
|
<LinearLayout
|
||||||
android:id="@+id/homePlannedManga"
|
android:layout_width="match_parent"
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="24dp"
|
android:orientation="horizontal"
|
||||||
android:fontFamily="@font/poppins_bold"
|
tools:ignore="UseCompoundDrawables">
|
||||||
android:padding="8dp"
|
|
||||||
android:text="@string/planned_manga"
|
<TextView
|
||||||
android:textSize="16sp" />
|
android:id="@+id/homePlannedManga"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="24dp"
|
||||||
|
android:fontFamily="@font/poppins_bold"
|
||||||
|
android:padding="8dp"
|
||||||
|
android:text="@string/planned_manga"
|
||||||
|
android:textSize="16sp" />
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/homePlannedMangaMore"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_marginEnd="16dp"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:fontFamily="@font/poppins_bold"
|
||||||
|
android:padding="8dp"
|
||||||
|
android:src="@drawable/arrow_mark"
|
||||||
|
android:text="@string/continue_watching"
|
||||||
|
android:textSize="16sp"
|
||||||
|
tools:ignore="ContentDescription" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
|
||||||
<FrameLayout
|
<FrameLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
@ -797,15 +919,36 @@
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:visibility="gone">
|
android:visibility="gone">
|
||||||
|
|
||||||
<TextView
|
<LinearLayout
|
||||||
android:id="@+id/homeRecommended"
|
android:layout_width="match_parent"
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="24dp"
|
android:orientation="horizontal"
|
||||||
android:fontFamily="@font/poppins_bold"
|
tools:ignore="UseCompoundDrawables">
|
||||||
android:padding="8dp"
|
|
||||||
android:text="@string/recommended"
|
<TextView
|
||||||
android:textSize="16sp" />
|
android:id="@+id/homeRecommended"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="24dp"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:fontFamily="@font/poppins_bold"
|
||||||
|
android:padding="8dp"
|
||||||
|
android:text="@string/recommended"
|
||||||
|
android:textSize="16sp" />
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/homeRecommendedMore"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_marginEnd="16dp"
|
||||||
|
android:fontFamily="@font/poppins_bold"
|
||||||
|
android:padding="8dp"
|
||||||
|
android:src="@drawable/arrow_mark"
|
||||||
|
android:text="@string/continue_watching"
|
||||||
|
android:textSize="16sp"
|
||||||
|
tools:ignore="ContentDescription" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
|
||||||
<FrameLayout
|
<FrameLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue