Эх сурвалжийг харах

Handle null Anilist start dates (fixes #4685)

arkon 4 жил өмнө
parent
commit
99ba84c810

+ 3 - 6
app/src/main/java/eu/kanade/tachiyomi/data/track/anilist/AnilistApi.kt

@@ -246,12 +246,9 @@ class AnilistApi(val client: OkHttpClient, interceptor: AnilistInterceptor) {
         val date = try {
             val date = Calendar.getInstance()
             date.set(
-                struct["startDate"]!!.jsonObject["year"]!!.jsonPrimitive.intOrNull ?: 0,
-                (
-                    struct["startDate"]!!.jsonObject["month"]!!.jsonPrimitive.intOrNull
-                        ?: 0
-                    ) - 1,
-                struct["startDate"]!!.jsonObject["day"]!!.jsonPrimitive.intOrNull ?: 0
+                struct["startDate"]!!.jsonObject["year"]!!.jsonPrimitive.int,
+                struct["startDate"]!!.jsonObject["month"]!!.jsonPrimitive.int - 1,
+                struct["startDate"]!!.jsonObject["day"]!!.jsonPrimitive.int
             )
             date.timeInMillis
         } catch (_: Exception) {

+ 12 - 12
app/src/main/java/eu/kanade/tachiyomi/ui/manga/track/TrackSearchAdapter.kt

@@ -55,24 +55,24 @@ class TrackSearchAdapter(context: Context) :
                     .into(binding.trackSearchCover)
             }
 
-            if (track.publishing_status.isBlank()) {
-                binding.trackSearchStatus.isVisible = false
-                binding.trackSearchStatusResult.isVisible = false
-            } else {
+            val hasStatus = track.publishing_status.isNotBlank()
+            binding.trackSearchStatus.isVisible = hasStatus
+            binding.trackSearchStatusResult.isVisible = hasStatus
+            if (hasStatus) {
                 binding.trackSearchStatusResult.text = track.publishing_status.capitalize()
             }
 
-            if (track.publishing_type.isBlank()) {
-                binding.trackSearchType.isVisible = false
-                binding.trackSearchTypeResult.isVisible = false
-            } else {
+            val hasType = track.publishing_type.isNotBlank()
+            binding.trackSearchType.isVisible = hasType
+            binding.trackSearchTypeResult.isVisible = hasType
+            if (hasType) {
                 binding.trackSearchTypeResult.text = track.publishing_type.capitalize()
             }
 
-            if (track.start_date.isBlank()) {
-                binding.trackSearchStart.isVisible = false
-                binding.trackSearchStartResult.isVisible = false
-            } else {
+            val hasStartDate = track.start_date.isNotBlank()
+            binding.trackSearchStart.isVisible = hasStartDate
+            binding.trackSearchStartResult.isVisible = hasStartDate
+            if (hasStartDate) {
                 binding.trackSearchStartResult.text = track.start_date
             }
         }