diff --git a/app/src/main/java/ani/dantotsu/media/MediaInfoFragment.kt b/app/src/main/java/ani/dantotsu/media/MediaInfoFragment.kt
index 00d3224d..a7d07b2e 100644
--- a/app/src/main/java/ani/dantotsu/media/MediaInfoFragment.kt
+++ b/app/src/main/java/ani/dantotsu/media/MediaInfoFragment.kt
@@ -35,6 +35,7 @@ import ani.dantotsu.databinding.ItemChipBinding
import ani.dantotsu.databinding.ItemQuelsBinding
import ani.dantotsu.databinding.ItemTitleChipgroupBinding
import ani.dantotsu.databinding.ItemTitleRecyclerBinding
+import ani.dantotsu.databinding.ItemTitleSearchBinding
import ani.dantotsu.databinding.ItemTitleTextBinding
import ani.dantotsu.databinding.ItemTitleTrailerBinding
import ani.dantotsu.loadImage
@@ -91,7 +92,6 @@ class MediaInfoFragment : Fragment() {
if (media != null && !loaded) {
loaded = true
-
binding.mediaInfoProgressBar.visibility = View.GONE
binding.mediaInfoContainer.visibility = View.VISIBLE
val infoName = tripleTab + (media.name ?: media.nameRomaji)
@@ -438,113 +438,138 @@ class MediaInfoFragment : Fragment() {
if (!media.relations.isNullOrEmpty() && !offline) {
if (media.sequel != null || media.prequel != null) {
- val bind = ItemQuelsBinding.inflate(
+ ItemQuelsBinding.inflate(
LayoutInflater.from(context),
parent,
false
- )
+ ).apply {
- if (media.sequel != null) {
- bind.mediaInfoSequel.visibility = View.VISIBLE
- bind.mediaInfoSequelImage.loadImage(
- media.sequel!!.banner ?: media.sequel!!.cover
- )
- bind.mediaInfoSequel.setSafeOnClickListener {
- ContextCompat.startActivity(
- requireContext(),
- Intent(
- requireContext(),
- MediaDetailsActivity::class.java
- ).putExtra(
- "media",
- media.sequel as Serializable
- ), null
+ if (media.sequel != null) {
+ mediaInfoSequel.visibility = View.VISIBLE
+ mediaInfoSequelImage.loadImage(
+ media.sequel!!.banner ?: media.sequel!!.cover
)
- }
- }
- if (media.prequel != null) {
- bind.mediaInfoPrequel.visibility = View.VISIBLE
- bind.mediaInfoPrequelImage.loadImage(
- media.prequel!!.banner ?: media.prequel!!.cover
- )
- bind.mediaInfoPrequel.setSafeOnClickListener {
- ContextCompat.startActivity(
- requireContext(),
- Intent(
+ mediaInfoSequel.setSafeOnClickListener {
+ ContextCompat.startActivity(
requireContext(),
- MediaDetailsActivity::class.java
- ).putExtra(
- "media",
- media.prequel as Serializable
- ), null
- )
+ Intent(
+ requireContext(),
+ MediaDetailsActivity::class.java
+ ).putExtra(
+ "media",
+ media.sequel as Serializable
+ ), null
+ )
+ }
}
+ if (media.prequel != null) {
+ mediaInfoPrequel.visibility = View.VISIBLE
+ mediaInfoPrequelImage.loadImage(
+ media.prequel!!.banner ?: media.prequel!!.cover
+ )
+ mediaInfoPrequel.setSafeOnClickListener {
+ ContextCompat.startActivity(
+ requireContext(),
+ Intent(
+ requireContext(),
+ MediaDetailsActivity::class.java
+ ).putExtra(
+ "media",
+ media.prequel as Serializable
+ ), null
+ )
+ }
+ }
+ parent.addView(root)
+ }
+
+ ItemTitleSearchBinding.inflate(
+ LayoutInflater.from(context),
+ parent,
+ false
+ ).apply {
+
+ titleSearchImage.loadImage(media.banner ?: media.cover)
+ titleSearchText.text =
+ getString(R.string.search_title, media.mainName())
+ titleSearchCard.setSafeOnClickListener {
+ val query = Intent(requireContext(), SearchActivity::class.java)
+ .putExtra("type", "ANIME")
+ .putExtra("query", media.mainName())
+ .putExtra("search", true)
+ ContextCompat.startActivity(requireContext(), query, null)
+ }
+
+ parent.addView(root)
}
- parent.addView(bind.root)
}
- val bindi = ItemTitleRecyclerBinding.inflate(
+ ItemTitleRecyclerBinding.inflate(
LayoutInflater.from(context),
parent,
false
- )
+ ).apply {
- bindi.itemRecycler.adapter =
- MediaAdaptor(0, media.relations!!, requireActivity())
- bindi.itemRecycler.layoutManager = LinearLayoutManager(
- requireContext(),
- LinearLayoutManager.HORIZONTAL,
- false
- )
- parent.addView(bindi.root)
+ itemRecycler.adapter =
+ MediaAdaptor(0, media.relations!!, requireActivity())
+ itemRecycler.layoutManager = LinearLayoutManager(
+ requireContext(),
+ LinearLayoutManager.HORIZONTAL,
+ false
+ )
+ parent.addView(root)
+ }
}
if (!media.characters.isNullOrEmpty() && !offline) {
- val bind = ItemTitleRecyclerBinding.inflate(
+ ItemTitleRecyclerBinding.inflate(
LayoutInflater.from(context),
parent,
false
- )
- bind.itemTitle.setText(R.string.characters)
- bind.itemRecycler.adapter =
- CharacterAdapter(media.characters!!)
- bind.itemRecycler.layoutManager = LinearLayoutManager(
- requireContext(),
- LinearLayoutManager.HORIZONTAL,
- false
- )
- parent.addView(bind.root)
+ ).apply {
+ itemTitle.setText(R.string.characters)
+ itemRecycler.adapter =
+ CharacterAdapter(media.characters!!)
+ itemRecycler.layoutManager = LinearLayoutManager(
+ requireContext(),
+ LinearLayoutManager.HORIZONTAL,
+ false
+ )
+ parent.addView(root)
+ }
}
if (!media.staff.isNullOrEmpty() && !offline) {
- val bind = ItemTitleRecyclerBinding.inflate(
+ ItemTitleRecyclerBinding.inflate(
LayoutInflater.from(context),
parent,
false
- )
- bind.itemTitle.setText(R.string.staff)
- bind.itemRecycler.adapter =
- AuthorAdapter(media.staff!!)
- bind.itemRecycler.layoutManager = LinearLayoutManager(
- requireContext(),
- LinearLayoutManager.HORIZONTAL,
- false
- )
- parent.addView(bind.root)
+ ).apply {
+ itemTitle.setText(R.string.staff)
+ itemRecycler.adapter =
+ AuthorAdapter(media.staff!!)
+ itemRecycler.layoutManager = LinearLayoutManager(
+ requireContext(),
+ LinearLayoutManager.HORIZONTAL,
+ false
+ )
+ parent.addView(root)
+ }
}
if (!media.recommendations.isNullOrEmpty() && !offline) {
- val bind = ItemTitleRecyclerBinding.inflate(
+ ItemTitleRecyclerBinding.inflate(
LayoutInflater.from(context),
parent,
false
- )
- bind.itemTitle.setText(R.string.recommended)
- bind.itemRecycler.adapter =
- MediaAdaptor(0, media.recommendations!!, requireActivity())
- bind.itemRecycler.layoutManager = LinearLayoutManager(
- requireContext(),
- LinearLayoutManager.HORIZONTAL,
- false
- )
- parent.addView(bind.root)
+ ).apply {
+ itemTitle.setText(R.string.recommended)
+ itemRecycler.adapter =
+ MediaAdaptor(0, media.recommendations!!, requireActivity())
+ itemRecycler.layoutManager = LinearLayoutManager(
+ requireContext(),
+ LinearLayoutManager.HORIZONTAL,
+ false
+ )
+ parent.addView(root)
+ }
}
}
}
@@ -569,6 +594,7 @@ class MediaInfoFragment : Fragment() {
}
}
}
+
super.onViewCreated(view, null)
}
diff --git a/app/src/main/java/ani/dantotsu/media/SearchActivity.kt b/app/src/main/java/ani/dantotsu/media/SearchActivity.kt
index d2869be4..ca196269 100644
--- a/app/src/main/java/ani/dantotsu/media/SearchActivity.kt
+++ b/app/src/main/java/ani/dantotsu/media/SearchActivity.kt
@@ -70,6 +70,7 @@ class SearchActivity : AppCompatActivity() {
intent.getStringExtra("type") ?: "ANIME",
isAdult = if (Anilist.adult) intent.getBooleanExtra("hentai", false) else false,
onList = listOnly,
+ search = intent.getStringExtra("query"),
genres = intent.getStringExtra("genre")?.let { mutableListOf(it) },
tags = intent.getStringExtra("tag")?.let { mutableListOf(it) },
sort = intent.getStringExtra("sortBy"),
diff --git a/app/src/main/java/ani/dantotsu/widgets/statistics/ProfileStatsWidget.kt b/app/src/main/java/ani/dantotsu/widgets/statistics/ProfileStatsWidget.kt
index 498f6739..24ac05c8 100644
--- a/app/src/main/java/ani/dantotsu/widgets/statistics/ProfileStatsWidget.kt
+++ b/app/src/main/java/ani/dantotsu/widgets/statistics/ProfileStatsWidget.kt
@@ -113,10 +113,8 @@ class ProfileStatsWidget : AppWidgetProvider() {
launchIO {
val userPref = PrefManager.getVal(PrefName.AnilistUserId, "")
- val userId = if (userPref.isNotEmpty()) userPref.toInt() else Anilist.userid
- ?: if (Anilist.query.getUserData()) Anilist.userid else null
- userId?.let {
- val respond = Anilist.query.getUserProfile(it)
+ if (userPref.isNotEmpty()) {
+ val respond = Anilist.query.getUserProfile(userPref.toInt())
respond?.data?.user?.let { user ->
withContext(Dispatchers.Main) {
val views = RemoteViews(context.packageName, R.layout.statistics_widget).apply {
@@ -195,7 +193,7 @@ class ProfileStatsWidget : AppWidgetProvider() {
)
val intent = Intent(context, ProfileActivity::class.java)
- .putExtra("userId", it)
+ .putExtra("userId", userPref.toInt())
val pendingIntent = PendingIntent.getActivity(
context, 0, intent, PendingIntent.FLAG_IMMUTABLE
)
@@ -205,7 +203,7 @@ class ProfileStatsWidget : AppWidgetProvider() {
appWidgetManager.updateAppWidget(appWidgetId, views)
}
} ?: showLoginCascade(context, appWidgetManager, appWidgetId)
- } ?: showLoginCascade(context, appWidgetManager, appWidgetId)
+ } else showLoginCascade(context, appWidgetManager, appWidgetId)
}
}
diff --git a/app/src/main/res/drawable-night/widget_stats_rounded.xml b/app/src/main/res/drawable-night/widget_stats_rounded.xml
new file mode 100644
index 00000000..933eab8b
--- /dev/null
+++ b/app/src/main/res/drawable-night/widget_stats_rounded.xml
@@ -0,0 +1,27 @@
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/widget_stats_rounded.xml b/app/src/main/res/drawable/widget_stats_rounded.xml
index 933eab8b..2b32dd96 100644
--- a/app/src/main/res/drawable/widget_stats_rounded.xml
+++ b/app/src/main/res/drawable/widget_stats_rounded.xml
@@ -14,7 +14,7 @@
android:right="-3dp"
android:bottom="-50dp">
-
+
@@ -42,15 +39,12 @@
android:visibility="gone"
tools:visibility="visible">
-
-
@@ -407,8 +400,7 @@
android:id="@+id/mediaInfoDescription"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_marginStart="16dp"
- android:layout_marginEnd="16dp"
+ android:layout_marginHorizontal="16dp"
android:ellipsize="end"
android:maxLines="5"
android:padding="16dp"
diff --git a/app/src/main/res/layout/item_quels.xml b/app/src/main/res/layout/item_quels.xml
index c0c0dde2..73767389 100644
--- a/app/src/main/res/layout/item_quels.xml
+++ b/app/src/main/res/layout/item_quels.xml
@@ -5,9 +5,8 @@
android:id="@+id/mediaInfoQuelContainer"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:layout_marginStart="24dp"
android:layout_marginTop="8dp"
- android:layout_marginEnd="24dp"
+ android:layout_marginHorizontal="24dp"
android:layout_marginBottom="16dp">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index a3ade9bb..8483ce51 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -49,10 +49,10 @@
Popular Manga
Username
- "Chapters Read "
- "Chapters\nRead "
- "Episodes Watched "
- "Episodes\nWatched "
+ Chapters Read
+ Chapters\nRead
+ Episodes Watched
+ Episodes\nWatched
Continue Reading
Continue Watching
Recommended
@@ -823,6 +823,8 @@ Non quae tempore quo provident laudantium qui illo dolor vel quia dolor et exerc
Do it!
Password
+ Search %1$s
+
Track progress directly from your home screen
Anime\nWatched
Manga\nRead