feat: list view for home page media

This commit is contained in:
aayush262 2024-05-01 00:57:58 +05:30
parent fdb7f45a3d
commit 42330032c8
8 changed files with 359 additions and 89 deletions

View file

@ -573,23 +573,23 @@ class MediaInfoFragment : Fragment() {
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) {
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(
LayoutInflater.from(context),
parent,

View file

@ -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()
}
}