From 0726c037a4a4d71cf0404a512649e07da6e82604 Mon Sep 17 00:00:00 2001 From: Koitharu Date: Wed, 26 Aug 2020 16:05:13 +0300 Subject: [PATCH] Update dependencies --- app/build.gradle | 32 ++++++++++--------- .../java/org/koitharu/kotatsu/KotatsuApp.kt | 7 ++-- .../org/koitharu/kotatsu/core/db/TagsDao.kt | 10 +++--- .../koitharu/kotatsu/core/local/CbzFetcher.kt | 2 +- .../core/parser/site/ChanRepository.kt | 4 +-- .../core/parser/site/GroupleRepository.kt | 2 +- .../ui/details/MangaDetailsFragment.kt | 2 +- .../ui/download/DownloadNotification.kt | 1 - .../kotatsu/ui/download/DownloadService.kt | 4 +-- .../kotatsu/ui/list/MangaGridHolder.kt | 4 +-- .../kotatsu/ui/list/MangaListDetailsHolder.kt | 4 +-- .../kotatsu/ui/list/MangaListHolder.kt | 4 +-- .../kotatsu/ui/list/feed/FeedHolder.kt | 4 +-- .../reader/thumbnails/PageThumbnailHolder.kt | 14 ++++---- .../kotatsu/ui/settings/AppUpdateChecker.kt | 13 +++++--- .../kotatsu/ui/tracker/TrackWorker.kt | 4 +-- .../ui/widget/recent/RecentListFactory.kt | 10 +++--- .../ui/widget/shelf/ShelfListFactory.kt | 10 +++--- .../koitharu/kotatsu/utils/MangaShortcut.kt | 12 ++++--- .../org/koitharu/kotatsu/utils/ext/CoilExt.kt | 6 ++-- .../kotatsu/utils/ext/NotificationExt.kt | 12 ------- build.gradle | 2 +- gradle/wrapper/gradle-wrapper.properties | 4 +-- 23 files changed, 85 insertions(+), 82 deletions(-) delete mode 100644 app/src/main/java/org/koitharu/kotatsu/utils/ext/NotificationExt.kt diff --git a/app/build.gradle b/app/build.gradle index 2bf05177f..1ea9b8255 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -28,10 +28,6 @@ android { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } - kotlinOptions { - jvmTarget = JavaVersion.VERSION_1_8.toString() - freeCompilerArgs += "-Xopt-in=kotlinx.coroutines.ExperimentalCoroutinesApi" - } buildTypes { debug { applicationIdSuffix = '.debug' @@ -55,17 +51,23 @@ android { androidExtensions { experimental = true } +tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all { + kotlinOptions { + jvmTarget = JavaVersion.VERSION_1_8.toString() + freeCompilerArgs += ['-Xopt-in=kotlinx.coroutines.ExperimentalCoroutinesApi', '-Xjvm-default=all'] + } +} dependencies { implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar']) implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" - implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.7' - implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.7' + implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.9' + implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.9' - implementation 'androidx.core:core-ktx:1.5.0-alpha01' - implementation 'androidx.activity:activity-ktx:1.2.0-alpha07' - implementation 'androidx.fragment:fragment-ktx:1.3.0-alpha07' - implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.3.0-alpha06' - implementation 'androidx.constraintlayout:constraintlayout:2.0.0-rc1' + implementation 'androidx.core:core-ktx:1.5.0-alpha02' + implementation 'androidx.activity:activity-ktx:1.2.0-alpha08' + implementation 'androidx.fragment:fragment-ktx:1.3.0-alpha08' + implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.3.0-alpha07' + implementation 'androidx.constraintlayout:constraintlayout:2.0.1' implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0' implementation 'androidx.recyclerview:recyclerview:1.2.0-alpha05' implementation 'androidx.viewpager2:viewpager2:1.1.0-alpha01' @@ -73,7 +75,7 @@ dependencies { implementation 'androidx.work:work-runtime-ktx:2.4.0' implementation 'com.google.android.material:material:1.3.0-alpha02' //noinspection LifecycleAnnotationProcessorWithJava8 - kapt 'androidx.lifecycle:lifecycle-compiler:2.3.0-alpha06' + kapt 'androidx.lifecycle:lifecycle-compiler:2.3.0-alpha07' implementation 'androidx.room:room-runtime:2.2.5' implementation 'androidx.room:room-ktx:2.2.5' @@ -85,12 +87,12 @@ dependencies { implementation 'com.github.moxy-community:moxy-ktx:2.1.2' kapt 'com.github.moxy-community:moxy-compiler:2.1.2' - implementation 'com.squareup.okhttp3:okhttp:4.8.0' + implementation 'com.squareup.okhttp3:okhttp:4.8.1' implementation 'com.squareup.okio:okio:2.7.0' implementation 'org.jsoup:jsoup:1.13.1' - implementation 'org.koin:koin-android:2.1.5' - implementation 'io.coil-kt:coil:0.11.0' + implementation 'org.koin:koin-android:2.2.0-alpha-1' + implementation 'io.coil-kt:coil:1.0.0-rc1' implementation 'com.davemorrissey.labs:subsampling-scale-image-view:3.10.0' implementation 'com.tomclaw.cache:cache:1.0' diff --git a/app/src/main/java/org/koitharu/kotatsu/KotatsuApp.kt b/app/src/main/java/org/koitharu/kotatsu/KotatsuApp.kt index 76397ba83..d1981b144 100644 --- a/app/src/main/java/org/koitharu/kotatsu/KotatsuApp.kt +++ b/app/src/main/java/org/koitharu/kotatsu/KotatsuApp.kt @@ -6,7 +6,7 @@ import androidx.appcompat.app.AppCompatDelegate import androidx.room.Room import coil.Coil import coil.ComponentRegistry -import coil.ImageLoaderBuilder +import coil.ImageLoader import coil.util.CoilUtils import com.chuckerteam.chucker.api.ChuckerCollector import com.chuckerteam.chucker.api.ChuckerInterceptor @@ -14,6 +14,7 @@ import okhttp3.OkHttpClient import org.koin.android.ext.koin.androidContext import org.koin.android.ext.koin.androidLogger import org.koin.core.context.startKoin +import org.koin.core.logger.Level import org.koin.dsl.module import org.koitharu.kotatsu.core.db.DatabasePrePopulateCallback import org.koitharu.kotatsu.core.db.MangaDatabase @@ -73,7 +74,7 @@ class KotatsuApp : Application() { private fun initKoin() { startKoin { - androidLogger() + androidLogger(Level.ERROR) androidContext(applicationContext) modules( module { @@ -101,7 +102,7 @@ class KotatsuApp : Application() { private fun initCoil() { Coil.setImageLoader( - ImageLoaderBuilder(applicationContext) + ImageLoader.Builder(applicationContext) .okHttpClient( okHttp() .cache(CoilUtils.createDefaultCache(applicationContext)) diff --git a/app/src/main/java/org/koitharu/kotatsu/core/db/TagsDao.kt b/app/src/main/java/org/koitharu/kotatsu/core/db/TagsDao.kt index 7e36d702d..bb3deb27c 100644 --- a/app/src/main/java/org/koitharu/kotatsu/core/db/TagsDao.kt +++ b/app/src/main/java/org/koitharu/kotatsu/core/db/TagsDao.kt @@ -4,19 +4,19 @@ import androidx.room.* import org.koitharu.kotatsu.core.db.entity.TagEntity @Dao -interface TagsDao { +abstract class TagsDao { @Query("SELECT * FROM tags") - suspend fun getAllTags(): List + abstract suspend fun getAllTags(): List @Insert(onConflict = OnConflictStrategy.IGNORE) - suspend fun insert(tag: TagEntity): Long + abstract suspend fun insert(tag: TagEntity): Long @Update(onConflict = OnConflictStrategy.IGNORE) - suspend fun update(tag: TagEntity): Int + abstract suspend fun update(tag: TagEntity): Int @Transaction - suspend fun upsert(tags: Iterable) { + open suspend fun upsert(tags: Iterable) { tags.forEach { tag -> if (update(tag) <= 0) { insert(tag) diff --git a/app/src/main/java/org/koitharu/kotatsu/core/local/CbzFetcher.kt b/app/src/main/java/org/koitharu/kotatsu/core/local/CbzFetcher.kt index d5defc29d..a3bbb8cf2 100644 --- a/app/src/main/java/org/koitharu/kotatsu/core/local/CbzFetcher.kt +++ b/app/src/main/java/org/koitharu/kotatsu/core/local/CbzFetcher.kt @@ -2,7 +2,7 @@ package org.koitharu.kotatsu.core.local import android.net.Uri import android.webkit.MimeTypeMap -import coil.bitmappool.BitmapPool +import coil.bitmap.BitmapPool import coil.decode.DataSource import coil.decode.Options import coil.fetch.FetchResult diff --git a/app/src/main/java/org/koitharu/kotatsu/core/parser/site/ChanRepository.kt b/app/src/main/java/org/koitharu/kotatsu/core/parser/site/ChanRepository.kt index 14c7cd15d..45cdaf662 100644 --- a/app/src/main/java/org/koitharu/kotatsu/core/parser/site/ChanRepository.kt +++ b/app/src/main/java/org/koitharu/kotatsu/core/parser/site/ChanRepository.kt @@ -131,7 +131,7 @@ abstract class ChanRepository(loaderContext: MangaLoaderContext) : RemoteMangaRe override fun onCreatePreferences() = setOf(R.string.key_parser_domain) private fun getSortKey(sortOrder: SortOrder?) = - when (sortOrder ?: sortOrders.minBy { it.ordinal }) { + when (sortOrder ?: sortOrders.minByOrNull { it.ordinal }) { SortOrder.ALPHABETICAL -> "catalog" SortOrder.POPULARITY -> "mostfavorites" SortOrder.NEWEST -> "manga/new" @@ -139,7 +139,7 @@ abstract class ChanRepository(loaderContext: MangaLoaderContext) : RemoteMangaRe } private fun getSortKey2(sortOrder: SortOrder?) = - when (sortOrder ?: sortOrders.minBy { it.ordinal }) { + when (sortOrder ?: sortOrders.minByOrNull { it.ordinal }) { SortOrder.ALPHABETICAL -> "abcasc" SortOrder.POPULARITY -> "favdesc" SortOrder.NEWEST -> "datedesc" diff --git a/app/src/main/java/org/koitharu/kotatsu/core/parser/site/GroupleRepository.kt b/app/src/main/java/org/koitharu/kotatsu/core/parser/site/GroupleRepository.kt index 6784c2b9c..b209378ec 100644 --- a/app/src/main/java/org/koitharu/kotatsu/core/parser/site/GroupleRepository.kt +++ b/app/src/main/java/org/koitharu/kotatsu/core/parser/site/GroupleRepository.kt @@ -165,7 +165,7 @@ abstract class GroupleRepository(loaderContext: MangaLoaderContext) : override fun onCreatePreferences() = setOf(R.string.key_parser_domain) private fun getSortKey(sortOrder: SortOrder?) = - when (sortOrder ?: sortOrders.minBy { it.ordinal }) { + when (sortOrder ?: sortOrders.minByOrNull { it.ordinal }) { SortOrder.ALPHABETICAL -> "name" SortOrder.POPULARITY -> "rate" SortOrder.UPDATED -> "updated" diff --git a/app/src/main/java/org/koitharu/kotatsu/ui/details/MangaDetailsFragment.kt b/app/src/main/java/org/koitharu/kotatsu/ui/details/MangaDetailsFragment.kt index fb679580d..a4a2710ea 100644 --- a/app/src/main/java/org/koitharu/kotatsu/ui/details/MangaDetailsFragment.kt +++ b/app/src/main/java/org/koitharu/kotatsu/ui/details/MangaDetailsFragment.kt @@ -6,7 +6,7 @@ import androidx.core.net.toUri import androidx.core.text.parseAsHtml import androidx.core.view.isVisible import androidx.lifecycle.lifecycleScope -import coil.api.load +import coil.load import com.google.android.material.chip.Chip import kotlinx.android.synthetic.main.fragment_details.* import kotlinx.coroutines.Dispatchers diff --git a/app/src/main/java/org/koitharu/kotatsu/ui/download/DownloadNotification.kt b/app/src/main/java/org/koitharu/kotatsu/ui/download/DownloadNotification.kt index cc7f37049..502a55b39 100644 --- a/app/src/main/java/org/koitharu/kotatsu/ui/download/DownloadNotification.kt +++ b/app/src/main/java/org/koitharu/kotatsu/ui/download/DownloadNotification.kt @@ -13,7 +13,6 @@ import androidx.core.graphics.drawable.toBitmap import org.koitharu.kotatsu.R import org.koitharu.kotatsu.core.model.Manga import org.koitharu.kotatsu.ui.details.MangaDetailsActivity -import org.koitharu.kotatsu.utils.ext.clearActions import org.koitharu.kotatsu.utils.ext.getDisplayMessage import kotlin.math.roundToInt diff --git a/app/src/main/java/org/koitharu/kotatsu/ui/download/DownloadService.kt b/app/src/main/java/org/koitharu/kotatsu/ui/download/DownloadService.kt index 8019f7b1c..9e596ad8b 100644 --- a/app/src/main/java/org/koitharu/kotatsu/ui/download/DownloadService.kt +++ b/app/src/main/java/org/koitharu/kotatsu/ui/download/DownloadService.kt @@ -8,7 +8,7 @@ import android.webkit.MimeTypeMap import android.widget.Toast import androidx.core.content.ContextCompat import coil.Coil -import coil.request.GetRequestBuilder +import coil.request.ImageRequest import kotlinx.coroutines.* import kotlinx.coroutines.sync.Mutex import okhttp3.OkHttpClient @@ -89,7 +89,7 @@ class DownloadService : BaseService() { val repo = MangaProviderFactory.create(manga.source) val cover = safe { Coil.execute( - GetRequestBuilder(this@DownloadService) + ImageRequest.Builder(this@DownloadService) .data(manga.coverUrl) .build() ).drawable diff --git a/app/src/main/java/org/koitharu/kotatsu/ui/list/MangaGridHolder.kt b/app/src/main/java/org/koitharu/kotatsu/ui/list/MangaGridHolder.kt index 9344bb313..81bce2d21 100644 --- a/app/src/main/java/org/koitharu/kotatsu/ui/list/MangaGridHolder.kt +++ b/app/src/main/java/org/koitharu/kotatsu/ui/list/MangaGridHolder.kt @@ -1,8 +1,8 @@ package org.koitharu.kotatsu.ui.list import android.view.ViewGroup -import coil.api.clear -import coil.api.load +import coil.clear +import coil.load import kotlinx.android.synthetic.main.item_manga_grid.* import org.koitharu.kotatsu.R import org.koitharu.kotatsu.core.model.Manga diff --git a/app/src/main/java/org/koitharu/kotatsu/ui/list/MangaListDetailsHolder.kt b/app/src/main/java/org/koitharu/kotatsu/ui/list/MangaListDetailsHolder.kt index 06e969740..6dd46919b 100644 --- a/app/src/main/java/org/koitharu/kotatsu/ui/list/MangaListDetailsHolder.kt +++ b/app/src/main/java/org/koitharu/kotatsu/ui/list/MangaListDetailsHolder.kt @@ -3,8 +3,8 @@ package org.koitharu.kotatsu.ui.list import android.annotation.SuppressLint import android.view.ViewGroup import androidx.core.view.isVisible -import coil.api.clear -import coil.api.load +import coil.clear +import coil.load import kotlinx.android.synthetic.main.item_manga_list_details.* import org.koitharu.kotatsu.R import org.koitharu.kotatsu.core.model.Manga diff --git a/app/src/main/java/org/koitharu/kotatsu/ui/list/MangaListHolder.kt b/app/src/main/java/org/koitharu/kotatsu/ui/list/MangaListHolder.kt index 777d95ccd..560f4a835 100644 --- a/app/src/main/java/org/koitharu/kotatsu/ui/list/MangaListHolder.kt +++ b/app/src/main/java/org/koitharu/kotatsu/ui/list/MangaListHolder.kt @@ -1,8 +1,8 @@ package org.koitharu.kotatsu.ui.list import android.view.ViewGroup -import coil.api.clear -import coil.api.load +import coil.clear +import coil.load import kotlinx.android.synthetic.main.item_manga_list.* import org.koitharu.kotatsu.R import org.koitharu.kotatsu.core.model.Manga diff --git a/app/src/main/java/org/koitharu/kotatsu/ui/list/feed/FeedHolder.kt b/app/src/main/java/org/koitharu/kotatsu/ui/list/feed/FeedHolder.kt index b7f7cb8fe..a1c61fa51 100644 --- a/app/src/main/java/org/koitharu/kotatsu/ui/list/feed/FeedHolder.kt +++ b/app/src/main/java/org/koitharu/kotatsu/ui/list/feed/FeedHolder.kt @@ -2,8 +2,8 @@ package org.koitharu.kotatsu.ui.list.feed import android.text.format.DateUtils import android.view.ViewGroup -import coil.api.clear -import coil.api.load +import coil.clear +import coil.load import kotlinx.android.synthetic.main.item_tracklog.* import org.koitharu.kotatsu.R import org.koitharu.kotatsu.core.model.TrackingLogItem diff --git a/app/src/main/java/org/koitharu/kotatsu/ui/reader/thumbnails/PageThumbnailHolder.kt b/app/src/main/java/org/koitharu/kotatsu/ui/reader/thumbnails/PageThumbnailHolder.kt index 4cba880c9..6cbcfe144 100644 --- a/app/src/main/java/org/koitharu/kotatsu/ui/reader/thumbnails/PageThumbnailHolder.kt +++ b/app/src/main/java/org/koitharu/kotatsu/ui/reader/thumbnails/PageThumbnailHolder.kt @@ -3,7 +3,7 @@ package org.koitharu.kotatsu.ui.reader.thumbnails import android.view.ViewGroup import androidx.core.net.toUri import coil.Coil -import coil.request.GetRequestBuilder +import coil.request.ImageRequest import coil.size.PixelSize import coil.size.Size import kotlinx.android.synthetic.main.item_page_thumb.* @@ -18,7 +18,7 @@ class PageThumbnailHolder(parent: ViewGroup, private val scope: CoroutineScope) BaseViewHolder(parent, R.layout.item_page_thumb) { private var job: Job? = null - private val thumbSize: Size + private val thumbSize: Size init { val width = itemView.context.resources.getDimensionPixelSize(R.dimen.preferred_grid_width) @@ -38,10 +38,12 @@ class PageThumbnailHolder(parent: ViewGroup, private val scope: CoroutineScope) val pageUrl = MangaProviderFactory.create(data.source).getPageFullUrl(data) extra[pageUrl]?.toUri()?.toString() ?: pageUrl } - val drawable = Coil.execute(GetRequestBuilder(context) - .data(url) - .size(thumbSize) - .build()).drawable + val drawable = Coil.execute( + ImageRequest.Builder(context) + .data(url) + .size(thumbSize) + .build() + ).drawable withContext(Dispatchers.Main) { imageView_thumb.setImageDrawable(drawable) } diff --git a/app/src/main/java/org/koitharu/kotatsu/ui/settings/AppUpdateChecker.kt b/app/src/main/java/org/koitharu/kotatsu/ui/settings/AppUpdateChecker.kt index 52fd992c2..77ffa9cb5 100644 --- a/app/src/main/java/org/koitharu/kotatsu/ui/settings/AppUpdateChecker.kt +++ b/app/src/main/java/org/koitharu/kotatsu/ui/settings/AppUpdateChecker.kt @@ -67,10 +67,15 @@ class AppUpdateChecker(private val activity: ComponentActivity) : KoinComponent .setTitle(R.string.app_update_available) .setMessage(buildString { append(activity.getString(R.string.new_version_s, version.name)) - appendln() - append(activity.getString(R.string.size_s, FileSizeUtils.formatBytes(activity, version.apkSize))) - appendln() - appendln() + appendLine() + append( + activity.getString( + R.string.size_s, + FileSizeUtils.formatBytes(activity, version.apkSize) + ) + ) + appendLine() + appendLine() append(version.description) }) .setPositiveButton(R.string.download) { _, _ -> diff --git a/app/src/main/java/org/koitharu/kotatsu/ui/tracker/TrackWorker.kt b/app/src/main/java/org/koitharu/kotatsu/ui/tracker/TrackWorker.kt index 68173f705..2ed153361 100644 --- a/app/src/main/java/org/koitharu/kotatsu/ui/tracker/TrackWorker.kt +++ b/app/src/main/java/org/koitharu/kotatsu/ui/tracker/TrackWorker.kt @@ -10,7 +10,7 @@ import androidx.core.app.NotificationCompat import androidx.core.content.ContextCompat import androidx.work.* import coil.Coil -import coil.request.GetRequestBuilder +import coil.request.ImageRequest import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext import org.koin.core.KoinComponent @@ -143,7 +143,7 @@ class TrackWorker(context: Context, workerParams: WorkerParameters) : setNumber(newChapters.size) setLargeIcon( Coil.execute( - GetRequestBuilder(applicationContext) + ImageRequest.Builder(applicationContext) .data(manga.coverUrl) .build() ).toBitmapOrNull() diff --git a/app/src/main/java/org/koitharu/kotatsu/ui/widget/recent/RecentListFactory.kt b/app/src/main/java/org/koitharu/kotatsu/ui/widget/recent/RecentListFactory.kt index cdac06dfa..7ef7a1398 100644 --- a/app/src/main/java/org/koitharu/kotatsu/ui/widget/recent/RecentListFactory.kt +++ b/app/src/main/java/org/koitharu/kotatsu/ui/widget/recent/RecentListFactory.kt @@ -5,7 +5,7 @@ import android.content.Intent import android.widget.RemoteViews import android.widget.RemoteViewsService import coil.Coil -import coil.request.GetRequestBuilder +import coil.request.ImageRequest import kotlinx.coroutines.runBlocking import org.koitharu.kotatsu.R import org.koitharu.kotatsu.core.model.Manga @@ -38,9 +38,11 @@ class RecentListFactory(private val context: Context) : RemoteViewsService.Remot val item = dataSet[position] try { val cover = runBlocking { - Coil.execute(GetRequestBuilder(context) - .data(item.coverUrl) - .build()).requireBitmap() + Coil.execute( + ImageRequest.Builder(context) + .data(item.coverUrl) + .build() + ).requireBitmap() } views.setImageViewBitmap(R.id.imageView_cover, cover) } catch (e: IOException) { diff --git a/app/src/main/java/org/koitharu/kotatsu/ui/widget/shelf/ShelfListFactory.kt b/app/src/main/java/org/koitharu/kotatsu/ui/widget/shelf/ShelfListFactory.kt index 594b3c6fb..cc5cde1eb 100644 --- a/app/src/main/java/org/koitharu/kotatsu/ui/widget/shelf/ShelfListFactory.kt +++ b/app/src/main/java/org/koitharu/kotatsu/ui/widget/shelf/ShelfListFactory.kt @@ -5,7 +5,7 @@ import android.content.Intent import android.widget.RemoteViews import android.widget.RemoteViewsService import coil.Coil -import coil.request.GetRequestBuilder +import coil.request.ImageRequest import kotlinx.coroutines.runBlocking import org.koitharu.kotatsu.R import org.koitharu.kotatsu.core.model.Manga @@ -49,9 +49,11 @@ class ShelfListFactory(private val context: Context, widgetId: Int) : RemoteView views.setTextViewText(R.id.textView_title, item.title) try { val cover = runBlocking { - Coil.execute(GetRequestBuilder(context) - .data(item.coverUrl) - .build()).requireBitmap() + Coil.execute( + ImageRequest.Builder(context) + .data(item.coverUrl) + .build() + ).requireBitmap() } views.setImageViewBitmap(R.id.imageView_cover, cover) } catch (e: IOException) { diff --git a/app/src/main/java/org/koitharu/kotatsu/utils/MangaShortcut.kt b/app/src/main/java/org/koitharu/kotatsu/utils/MangaShortcut.kt index bf05c9cc2..851ef9cc4 100644 --- a/app/src/main/java/org/koitharu/kotatsu/utils/MangaShortcut.kt +++ b/app/src/main/java/org/koitharu/kotatsu/utils/MangaShortcut.kt @@ -10,7 +10,7 @@ import androidx.core.content.pm.ShortcutInfoCompat import androidx.core.content.pm.ShortcutManagerCompat import androidx.core.graphics.drawable.IconCompat import coil.Coil -import coil.request.GetRequestBuilder +import coil.request.ImageRequest import coil.size.PixelSize import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext @@ -40,7 +40,7 @@ class MangaShortcut(private val manga: Manga) { } builder.setRank(1) if (shortcuts.isNotEmpty() && shortcuts.size >= limit) { - manager.removeDynamicShortcuts(listOf(shortcuts.minBy { it.rank }!!.id)) + manager.removeDynamicShortcuts(listOf(shortcuts.minByOrNull { it.rank }!!.id)) } manager.addDynamicShortcuts(listOf(builder.build().toShortcutInfo())) } @@ -66,9 +66,11 @@ class MangaShortcut(private val manga: Manga) { val icon = safe { val size = getIconSize(context) withContext(Dispatchers.IO) { - val bmp = Coil.execute(GetRequestBuilder(context) - .data(manga.coverUrl) - .build()).requireBitmap() + val bmp = Coil.execute( + ImageRequest.Builder(context) + .data(manga.coverUrl) + .build() + ).requireBitmap() ThumbnailUtils.extractThumbnail(bmp, size.width, size.height, 0) } } diff --git a/app/src/main/java/org/koitharu/kotatsu/utils/ext/CoilExt.kt b/app/src/main/java/org/koitharu/kotatsu/utils/ext/CoilExt.kt index ac5278d07..8fb7b5b3e 100644 --- a/app/src/main/java/org/koitharu/kotatsu/utils/ext/CoilExt.kt +++ b/app/src/main/java/org/koitharu/kotatsu/utils/ext/CoilExt.kt @@ -2,15 +2,15 @@ package org.koitharu.kotatsu.utils.ext import androidx.core.graphics.drawable.toBitmap import coil.request.ErrorResult -import coil.request.RequestResult +import coil.request.ImageResult import coil.request.SuccessResult -fun RequestResult.requireBitmap() = when(this) { +fun ImageResult.requireBitmap() = when (this) { is SuccessResult -> drawable.toBitmap() is ErrorResult -> throw throwable } -fun RequestResult.toBitmapOrNull() = when(this) { +fun ImageResult.toBitmapOrNull() = when (this) { is SuccessResult -> try { drawable.toBitmap() } catch (_: Throwable) { diff --git a/app/src/main/java/org/koitharu/kotatsu/utils/ext/NotificationExt.kt b/app/src/main/java/org/koitharu/kotatsu/utils/ext/NotificationExt.kt deleted file mode 100644 index c0bf4a70f..000000000 --- a/app/src/main/java/org/koitharu/kotatsu/utils/ext/NotificationExt.kt +++ /dev/null @@ -1,12 +0,0 @@ -package org.koitharu.kotatsu.utils.ext - -import android.annotation.SuppressLint -import androidx.core.app.NotificationCompat - -@SuppressLint("RestrictedApi") -fun NotificationCompat.Builder.clearActions(): NotificationCompat.Builder { - safe { - mActions.clear() - } - return this -} \ No newline at end of file diff --git a/build.gradle b/build.gradle index db899757f..675542019 100644 --- a/build.gradle +++ b/build.gradle @@ -1,6 +1,6 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { - ext.kotlin_version = "1.3.72" + ext.kotlin_version = '1.4.0' repositories { google() jcenter() diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 47bac7af6..fd516433b 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Wed Jul 01 18:26:34 EEST 2020 +#Wed Aug 26 15:09:14 EEST 2020 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.5.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-6.6.1-all.zip