diff --git a/README.md b/README.md
index e5a138ad0..288338fda 100644
--- a/README.md
+++ b/README.md
@@ -10,6 +10,8 @@
   [](https://github.com/KotatsuApp/kotatsu-parsers) [](https://hosted.weblate.org/engage/kotatsu/) [](https://discord.gg/NNJ5RgVBC5) [](https://t.me/kotatsuapp) [](https://github.com/KotatsuApp/Kotatsu/blob/devel/LICENSE)
+
+
### Download
@@ -82,9 +84,7 @@ please head over to the [Weblate project page](https://hosted.weblate.org/engage
-
-
-
+
**📌 Pull requests are welcome, if you want: See [CONTRIBUTING.md](https://github.com/KotatsuApp/Kotatsu/blob/devel/CONTRIBUTING.md) for the guidelines**
diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/bookmarks/ui/adapter/BookmarkListAD.kt b/app/src/main/kotlin/org/koitharu/kotatsu/bookmarks/ui/adapter/BookmarkListAD.kt
deleted file mode 100644
index d92f8a2da..000000000
--- a/app/src/main/kotlin/org/koitharu/kotatsu/bookmarks/ui/adapter/BookmarkListAD.kt
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.koitharu.kotatsu.bookmarks.ui.adapter
-
-import androidx.lifecycle.LifecycleOwner
-import coil3.ImageLoader
-import coil3.request.allowRgb565
-import com.hannesdorfmann.adapterdelegates4.dsl.adapterDelegateViewBinding
-import org.koitharu.kotatsu.bookmarks.domain.Bookmark
-import org.koitharu.kotatsu.core.ui.image.CoverSizeResolver
-import org.koitharu.kotatsu.core.ui.list.AdapterDelegateClickListenerAdapter
-import org.koitharu.kotatsu.core.ui.list.OnListItemClickListener
-import org.koitharu.kotatsu.core.util.ext.bookmarkExtra
-import org.koitharu.kotatsu.core.util.ext.decodeRegion
-import org.koitharu.kotatsu.core.util.ext.defaultPlaceholders
-import org.koitharu.kotatsu.core.util.ext.enqueueWith
-import org.koitharu.kotatsu.core.util.ext.newImageRequest
-import org.koitharu.kotatsu.databinding.ItemBookmarkBinding
-
-// TODO check usages
-fun bookmarkListAD(
- coil: ImageLoader,
- lifecycleOwner: LifecycleOwner,
- clickListener: OnListItemClickListener,
-) = adapterDelegateViewBinding(
- { inflater, parent -> ItemBookmarkBinding.inflate(inflater, parent, false) },
-) {
- AdapterDelegateClickListenerAdapter(this, clickListener).attach(itemView)
-
- bind {
- binding.imageViewThumb.newImageRequest(lifecycleOwner, item.imageLoadData)?.run {
- size(CoverSizeResolver(binding.imageViewThumb))
- defaultPlaceholders(context)
- allowRgb565(true)
- bookmarkExtra(item)
- decodeRegion(item.scroll)
- enqueueWith(coil)
- }
- }
-}
diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/core/nav/AppRouter.kt b/app/src/main/kotlin/org/koitharu/kotatsu/core/nav/AppRouter.kt
index e77e3d884..f8349ac2d 100644
--- a/app/src/main/kotlin/org/koitharu/kotatsu/core/nav/AppRouter.kt
+++ b/app/src/main/kotlin/org/koitharu/kotatsu/core/nav/AppRouter.kt
@@ -610,7 +610,7 @@ class AppRouter private constructor(
Intent(context, CloudFlareActivity::class.java).apply {
data = exception.url.toUri()
putExtra(KEY_SOURCE, exception.source?.name)
- exception.headers.get(CommonHeaders.USER_AGENT)?.let {
+ exception.headers[CommonHeaders.USER_AGENT]?.let {
putExtra(KEY_USER_AGENT, it)
}
}
diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/core/os/NetworkState.kt b/app/src/main/kotlin/org/koitharu/kotatsu/core/os/NetworkState.kt
index 0d98d2368..c05ec4593 100644
--- a/app/src/main/kotlin/org/koitharu/kotatsu/core/os/NetworkState.kt
+++ b/app/src/main/kotlin/org/koitharu/kotatsu/core/os/NetworkState.kt
@@ -69,7 +69,7 @@ class NetworkState(
return true
}
return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
- activeNetwork?.let { isOnline(it) } ?: false
+ activeNetwork?.let { isOnline(it) } == true
} else {
@Suppress("DEPRECATION")
activeNetworkInfo?.isConnected == true
diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/core/ui/list/fastscroll/FastScrollRecyclerView.kt b/app/src/main/kotlin/org/koitharu/kotatsu/core/ui/list/fastscroll/FastScrollRecyclerView.kt
index 3a75b4af6..9e28d0ef7 100644
--- a/app/src/main/kotlin/org/koitharu/kotatsu/core/ui/list/fastscroll/FastScrollRecyclerView.kt
+++ b/app/src/main/kotlin/org/koitharu/kotatsu/core/ui/list/fastscroll/FastScrollRecyclerView.kt
@@ -37,8 +37,8 @@ class FastScrollRecyclerView @JvmOverloads constructor(
init {
fastScroller.id = R.id.fast_scroller
fastScroller.layoutParams = ViewGroup.LayoutParams(
- ViewGroup.LayoutParams.WRAP_CONTENT,
- ViewGroup.LayoutParams.MATCH_PARENT,
+ LayoutParams.WRAP_CONTENT,
+ LayoutParams.MATCH_PARENT,
)
}
diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/core/ui/list/fastscroll/FastScroller.kt b/app/src/main/kotlin/org/koitharu/kotatsu/core/ui/list/fastscroll/FastScroller.kt
index 795999419..7ffd4571f 100644
--- a/app/src/main/kotlin/org/koitharu/kotatsu/core/ui/list/fastscroll/FastScroller.kt
+++ b/app/src/main/kotlin/org/koitharu/kotatsu/core/ui/list/fastscroll/FastScroller.kt
@@ -229,7 +229,7 @@ class FastScroller @JvmOverloads constructor(
*
* @param params The [ViewGroup.LayoutParams] for this view, cannot be null
*/
- override fun setLayoutParams(params: ViewGroup.LayoutParams) {
+ override fun setLayoutParams(params: LayoutParams) {
params.width = LayoutParams.WRAP_CONTENT
super.setLayoutParams(params)
}
@@ -529,7 +529,7 @@ class FastScroller @JvmOverloads constructor(
private fun findValidParent(view: View): ViewGroup? = view.ancestors.firstNotNullOfOrNull { p ->
if (p is FrameLayout || p is ConstraintLayout || p is CoordinatorLayout || p is RelativeLayout) {
- p as ViewGroup
+ p
} else {
null
}
diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/core/ui/widgets/IconsView.kt b/app/src/main/kotlin/org/koitharu/kotatsu/core/ui/widgets/IconsView.kt
index ad8f1fd5a..8ff4b8dc4 100644
--- a/app/src/main/kotlin/org/koitharu/kotatsu/core/ui/widgets/IconsView.kt
+++ b/app/src/main/kotlin/org/koitharu/kotatsu/core/ui/widgets/IconsView.kt
@@ -15,7 +15,7 @@ class IconsView @JvmOverloads constructor(
attrs: AttributeSet? = null,
) : LinearLayout(context, attrs) {
- private var iconSize = LinearLayout.LayoutParams.WRAP_CONTENT
+ private var iconSize = LayoutParams.WRAP_CONTENT
private var iconSpacing = 0
val iconsCount: Int
diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/details/ui/pager/pages/PagesViewModel.kt b/app/src/main/kotlin/org/koitharu/kotatsu/details/ui/pager/pages/PagesViewModel.kt
index 9840fc57f..082c5ecc2 100644
--- a/app/src/main/kotlin/org/koitharu/kotatsu/details/ui/pager/pages/PagesViewModel.kt
+++ b/app/src/main/kotlin/org/koitharu/kotatsu/details/ui/pager/pages/PagesViewModel.kt
@@ -137,7 +137,7 @@ class PagesViewModel @Inject constructor(
this += PageThumbnail(
isCurrent = readerState?.let {
page.chapterId == it.chapterId && page.index == it.page
- } ?: false,
+ } == true,
page = page,
)
}
diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/filter/ui/FilterFieldLayout.kt b/app/src/main/kotlin/org/koitharu/kotatsu/filter/ui/FilterFieldLayout.kt
index b5b1f83c0..1fa9ed7a8 100644
--- a/app/src/main/kotlin/org/koitharu/kotatsu/filter/ui/FilterFieldLayout.kt
+++ b/app/src/main/kotlin/org/koitharu/kotatsu/filter/ui/FilterFieldLayout.kt
@@ -47,7 +47,7 @@ class FilterFieldLayout @JvmOverloads constructor(
if (!isInitialized) {
return
}
- assert(child.id != View.NO_ID)
+ assert(child.id != NO_ID)
val lp = (child.layoutParams as? LayoutParams) ?: (generateDefaultLayoutParams() as LayoutParams)
lp.alignWithParent = true
lp.width = 0
diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/list/domain/ReadingProgress.kt b/app/src/main/kotlin/org/koitharu/kotatsu/list/domain/ReadingProgress.kt
index ee01f78d8..e836e0966 100644
--- a/app/src/main/kotlin/org/koitharu/kotatsu/list/domain/ReadingProgress.kt
+++ b/app/src/main/kotlin/org/koitharu/kotatsu/list/domain/ReadingProgress.kt
@@ -31,7 +31,7 @@ data class ReadingProgress(
CHAPTERS_LEFT -> totalChapters > 0 && percent in 0f..1f
}
- fun isCompleted() = Companion.isCompleted(percent)
+ fun isCompleted() = isCompleted(percent)
fun isReversed() = mode == PERCENT_LEFT || mode == CHAPTERS_LEFT
diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/list/ui/preview/PreviewViewModel.kt b/app/src/main/kotlin/org/koitharu/kotatsu/list/ui/preview/PreviewViewModel.kt
index 1dbb5cd4b..0d1abdb4f 100644
--- a/app/src/main/kotlin/org/koitharu/kotatsu/list/ui/preview/PreviewViewModel.kt
+++ b/app/src/main/kotlin/org/koitharu/kotatsu/list/ui/preview/PreviewViewModel.kt
@@ -54,7 +54,7 @@ class PreviewViewModel @Inject constructor(
return@combine null
}
val b = m.getPreferredBranch(history)
- val chapters = m.getChapters(b).orEmpty()
+ val chapters = m.getChapters(b)
FooterInfo(
percent = history?.percent ?: PROGRESS_NONE,
currentChapter = history?.chapterId?.let {
diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/local/ui/LocalChaptersRemoveService.kt b/app/src/main/kotlin/org/koitharu/kotatsu/local/ui/LocalChaptersRemoveService.kt
index 6c4625f31..7355465b4 100644
--- a/app/src/main/kotlin/org/koitharu/kotatsu/local/ui/LocalChaptersRemoveService.kt
+++ b/app/src/main/kotlin/org/koitharu/kotatsu/local/ui/LocalChaptersRemoveService.kt
@@ -63,7 +63,7 @@ class LocalChaptersRemoveService : CoroutineIntentService() {
.setAutoCancel(true)
.setContentIntent(ErrorReporterReceiver.getPendingIntent(applicationContext, error))
.build()
- val nm = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
+ val nm = getSystemService(NOTIFICATION_SERVICE) as NotificationManager
nm.notify(NOTIFICATION_ID + startId, notification)
}
diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/pager/webtoon/WebtoonImageView.kt b/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/pager/webtoon/WebtoonImageView.kt
index f7b106afb..756e81717 100644
--- a/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/pager/webtoon/WebtoonImageView.kt
+++ b/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/pager/webtoon/WebtoonImageView.kt
@@ -132,7 +132,7 @@ class WebtoonImageView @JvmOverloads constructor(
val paint = debugPaint ?: Paint(Paint.ANTI_ALIAS_FLAG).apply {
color = android.graphics.Color.RED
strokeWidth = context.resources.resolveDp(2f)
- textAlign = android.graphics.Paint.Align.LEFT
+ textAlign = Paint.Align.LEFT
textSize = context.resources.resolveDp(14f)
debugPaint = this
}
diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/search/ui/multi/adapter/SearchResultsAD.kt b/app/src/main/kotlin/org/koitharu/kotatsu/search/ui/multi/adapter/SearchResultsAD.kt
index f7c2c13f4..16938b0b2 100644
--- a/app/src/main/kotlin/org/koitharu/kotatsu/search/ui/multi/adapter/SearchResultsAD.kt
+++ b/app/src/main/kotlin/org/koitharu/kotatsu/search/ui/multi/adapter/SearchResultsAD.kt
@@ -1,7 +1,6 @@
package org.koitharu.kotatsu.search.ui.multi.adapter
import androidx.core.view.isGone
-import androidx.core.view.isVisible
import androidx.lifecycle.LifecycleOwner
import androidx.recyclerview.widget.RecyclerView.RecycledViewPool
import coil3.ImageLoader
@@ -46,7 +45,6 @@ fun searchResultsAD(
bind {
binding.textViewTitle.text = item.getTitle(context)
- binding.buttonMore.isVisible = item.hasMore
adapter.items = item.list
adapter.notifyDataSetChanged()
binding.recyclerView.isGone = item.list.isEmpty()
diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/settings/reader/ReaderTapGridConfigActivity.kt b/app/src/main/kotlin/org/koitharu/kotatsu/settings/reader/ReaderTapGridConfigActivity.kt
index d0894370a..fb8d4b192 100644
--- a/app/src/main/kotlin/org/koitharu/kotatsu/settings/reader/ReaderTapGridConfigActivity.kt
+++ b/app/src/main/kotlin/org/koitharu/kotatsu/settings/reader/ReaderTapGridConfigActivity.kt
@@ -116,8 +116,7 @@ class ReaderTapGridConfigActivity : BaseActivity
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml
index e986e763c..d10f924d8 100644
--- a/app/src/main/res/values-hr/strings.xml
+++ b/app/src/main/res/values-hr/strings.xml
@@ -690,8 +690,8 @@
Kodomo
Stranice su spremljene
Nestabilna funkcija
- s\\ ne zahtijeva popravljanje
- Za s\\ nisu pronađene alternative
+ %s ne zahtijeva popravljanje
+ Za %s nisu pronađene alternative
Popularno u ovom satu
Popularno danas
Popularno ovaj mjesec
@@ -764,4 +764,4 @@
Izvor
Autor
Telegram chat ID
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml
index 38c69beb6..703cb92a7 100644
--- a/app/src/main/res/values-in/strings.xml
+++ b/app/src/main/res/values-in/strings.xml
@@ -770,6 +770,5 @@
Menangani tautan
Menangani tautan manga dari aplikasi eksternal (misalnya browser web). Anda mungkin juga perlu mengaktifkannya secara manual di pengaturan sistem aplikasi.
Setiap
- Daftar
Pengarang
diff --git a/app/src/main/res/values-sr/strings.xml b/app/src/main/res/values-sr/strings.xml
index 0cef1d78b..ea54a9402 100644
--- a/app/src/main/res/values-sr/strings.xml
+++ b/app/src/main/res/values-sr/strings.xml
@@ -592,7 +592,7 @@
Премештање је завршено
Замене
Премести
- Манга 1$s из 2$s ће бити замењена са 3$s из 4$s у вашој Историји и Омиљеним (ако постоји)
+ Манга %1$s из %2$s ће бити замењена са %3$s из %4$s у вашој Историји и Омиљеним (ако постоји)
Избриши поглавља која си већ прочитао из локалне меморије да би ослободио простор
Ово ће трајно избрисати сва поглавља означена као прочитана из твог локалног складишта. Можеш их поново преузети касније, али увезена поглавља могу бити изгубљена заувек
Давно прочитано
diff --git a/app/src/main/res/values-ta/strings.xml b/app/src/main/res/values-ta/strings.xml
index 764eb3a6e..0eb4102b9 100644
--- a/app/src/main/res/values-ta/strings.xml
+++ b/app/src/main/res/values-ta/strings.xml
@@ -552,7 +552,7 @@
அவ்வப்போது காப்புப்பிரதிகளை இயக்கவும்
காப்புப்பிரதிகள் வெளியீட்டு அடைவு
கடைசி வெற்றிகரமான காப்புப்பிரதி: %s
- எக்ச்%.1 எஃப்
+ எக்ச்%.1f எஃப்
மங்கா
என்டாய்
காமிக்ச்
@@ -709,7 +709,7 @@
பின்னணி பதிவிறக்கங்கள்
புதிய அத்தியாயங்களைப் பதிவிறக்கவும்
பதிவிறக்கம் செய்யப்பட்ட அத்தியாயங்களுடன் மங்கா
- மங்கா \"%1$s\" (%2$s) \"%3$s\" (%4 $ S) உடன் மாற்றப்பட்டது
+ மங்கா \"%1$s\" (%2$s) \"%3$s\" (%4$s) உடன் மாற்றப்பட்டது
மங்காவை சரிசெய்தல்
வெற்றிகரமாக சரி செய்யப்பட்டது
\"%s\" க்கு பிழைத்திருத்தம் தேவையில்லை
@@ -765,4 +765,4 @@
அனைத்து மங்கா ஆதாரங்களையும் இயக்கவும்
கிடைக்கக்கூடிய அனைத்து மங்கா ஆதாரங்களும் நிரந்தரமாக இயக்கப்படும்
கோடோமோ
-
\ No newline at end of file
+
diff --git a/app/src/nightly/res/mipmap-anydpi-v26/ic_launcher.xml b/app/src/nightly/res/mipmap-anydpi-v26/ic_launcher.xml
index d8a3b79e5..e010b2fe6 100644
--- a/app/src/nightly/res/mipmap-anydpi-v26/ic_launcher.xml
+++ b/app/src/nightly/res/mipmap-anydpi-v26/ic_launcher.xml
@@ -1,6 +1,6 @@
-
-
+
+
diff --git a/app/src/nightly/res/mipmap-anydpi-v26/ic_launcher_round.xml b/app/src/nightly/res/mipmap-anydpi-v26/ic_launcher_round.xml
index d8a3b79e5..e010b2fe6 100644
--- a/app/src/nightly/res/mipmap-anydpi-v26/ic_launcher_round.xml
+++ b/app/src/nightly/res/mipmap-anydpi-v26/ic_launcher_round.xml
@@ -1,6 +1,6 @@
-
-
+
+