diff --git a/README.md b/README.md index e5a138ad0..288338fda 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,8 @@ ![Downloads count](https://img.shields.io/github/downloads/KotatsuApp/Kotatsu/total?color=1976d2) ![Latest Stable version](https://img.shields.io/github/v/release/KotatsuApp/Kotatsu?color=2596be&label=latest) ![Android 5.0](https://img.shields.io/badge/android-5.0+-brightgreen) [![Sources count](https://img.shields.io/badge/dynamic/yaml?url=https%3A%2F%2Fraw.githubusercontent.com%2FKotatsuApp%2Fkotatsu-parsers%2Frefs%2Fheads%2Fmaster%2F.github%2Fsummary.yaml&query=total&label=manga%20sources&color=%23E9321C)](https://github.com/KotatsuApp/kotatsu-parsers) [![weblate](https://hosted.weblate.org/widgets/kotatsu/-/strings/svg-badge.svg)](https://hosted.weblate.org/engage/kotatsu/) [![Discord](https://img.shields.io/discord/898363402467045416?color=5865f2&label=discord)](https://discord.gg/NNJ5RgVBC5) [![Telegram](https://img.shields.io/badge/chat-telegram-60ACFF?)](https://t.me/kotatsuapp) [![License](https://img.shields.io/github/license/KotatsuApp/Kotatsu)](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 Kotatsu-parsers GitHub Repository -

- -
+
**📌 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 @@ - - + +