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

Update Okio, use more KTX stuff (#4353)

* Update Okio to 2.10.0

* Use some more KTX extensions
Taco 4 жил өмнө
parent
commit
5f7e34b6a1
19 өөрчлөгдсөн 144 нэмэгдсэн , 163 устгасан
  1. 1 1
      app/build.gradle.kts
  2. 8 7
      app/src/main/java/eu/kanade/tachiyomi/data/database/mappers/CategoryTypeMapping.kt
  3. 16 15
      app/src/main/java/eu/kanade/tachiyomi/data/database/mappers/ChapterTypeMapping.kt
  4. 8 7
      app/src/main/java/eu/kanade/tachiyomi/data/database/mappers/HistoryTypeMapping.kt
  5. 7 6
      app/src/main/java/eu/kanade/tachiyomi/data/database/mappers/MangaCategoryTypeMapping.kt
  6. 21 20
      app/src/main/java/eu/kanade/tachiyomi/data/database/mappers/MangaTypeMapping.kt
  7. 17 16
      app/src/main/java/eu/kanade/tachiyomi/data/database/mappers/TrackTypeMapping.kt
  8. 7 6
      app/src/main/java/eu/kanade/tachiyomi/data/database/resolvers/ChapterBackupPutResolver.kt
  9. 7 6
      app/src/main/java/eu/kanade/tachiyomi/data/database/resolvers/ChapterProgressPutResolver.kt
  10. 5 4
      app/src/main/java/eu/kanade/tachiyomi/data/database/resolvers/ChapterSourceOrderPutResolver.kt
  11. 5 4
      app/src/main/java/eu/kanade/tachiyomi/data/database/resolvers/HistoryLastReadPutResolver.kt
  12. 5 4
      app/src/main/java/eu/kanade/tachiyomi/data/database/resolvers/MangaCoverLastModifiedPutResolver.kt
  13. 5 4
      app/src/main/java/eu/kanade/tachiyomi/data/database/resolvers/MangaFavoritePutResolver.kt
  14. 5 4
      app/src/main/java/eu/kanade/tachiyomi/data/database/resolvers/MangaFlagsPutResolver.kt
  15. 5 4
      app/src/main/java/eu/kanade/tachiyomi/data/database/resolvers/MangaLastUpdatedPutResolver.kt
  16. 5 4
      app/src/main/java/eu/kanade/tachiyomi/data/database/resolvers/MangaTitlePutResolver.kt
  17. 5 4
      app/src/main/java/eu/kanade/tachiyomi/data/database/resolvers/MangaViewerPutResolver.kt
  18. 9 44
      app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderColorFilterSheet.kt
  19. 3 3
      app/src/main/java/eu/kanade/tachiyomi/util/system/ContextExtensions.kt

+ 1 - 1
app/build.gradle.kts

@@ -157,7 +157,7 @@ dependencies {
     implementation("com.squareup.okhttp3:okhttp:$okhttpVersion")
     implementation("com.squareup.okhttp3:logging-interceptor:$okhttpVersion")
     implementation("com.squareup.okhttp3:okhttp-dnsoverhttps:$okhttpVersion")
-    implementation("com.squareup.okio:okio:2.9.0")
+    implementation("com.squareup.okio:okio:2.10.0")
 
     // TLS 1.3 support for Android < 10
     implementation("org.conscrypt:conscrypt-android:2.5.1")

+ 8 - 7
app/src/main/java/eu/kanade/tachiyomi/data/database/mappers/CategoryTypeMapping.kt

@@ -1,7 +1,7 @@
 package eu.kanade.tachiyomi.data.database.mappers
 
-import android.content.ContentValues
 import android.database.Cursor
+import androidx.core.content.contentValuesOf
 import com.pushtorefresh.storio.sqlite.SQLiteTypeMapping
 import com.pushtorefresh.storio.sqlite.operations.delete.DefaultDeleteResolver
 import com.pushtorefresh.storio.sqlite.operations.get.DefaultGetResolver
@@ -35,12 +35,13 @@ class CategoryPutResolver : DefaultPutResolver<Category>() {
         .whereArgs(obj.id)
         .build()
 
-    override fun mapToContentValues(obj: Category) = ContentValues(4).apply {
-        put(COL_ID, obj.id)
-        put(COL_NAME, obj.name)
-        put(COL_ORDER, obj.order)
-        put(COL_FLAGS, obj.flags)
-    }
+    override fun mapToContentValues(obj: Category) =
+        contentValuesOf(
+            COL_ID to obj.id,
+            COL_NAME to obj.name,
+            COL_ORDER to obj.order,
+            COL_FLAGS to obj.flags
+        )
 }
 
 class CategoryGetResolver : DefaultGetResolver<Category>() {

+ 16 - 15
app/src/main/java/eu/kanade/tachiyomi/data/database/mappers/ChapterTypeMapping.kt

@@ -1,7 +1,7 @@
 package eu.kanade.tachiyomi.data.database.mappers
 
-import android.content.ContentValues
 import android.database.Cursor
+import androidx.core.content.contentValuesOf
 import com.pushtorefresh.storio.sqlite.SQLiteTypeMapping
 import com.pushtorefresh.storio.sqlite.operations.delete.DefaultDeleteResolver
 import com.pushtorefresh.storio.sqlite.operations.get.DefaultGetResolver
@@ -43,20 +43,21 @@ class ChapterPutResolver : DefaultPutResolver<Chapter>() {
         .whereArgs(obj.id)
         .build()
 
-    override fun mapToContentValues(obj: Chapter) = ContentValues(11).apply {
-        put(COL_ID, obj.id)
-        put(COL_MANGA_ID, obj.manga_id)
-        put(COL_URL, obj.url)
-        put(COL_NAME, obj.name)
-        put(COL_READ, obj.read)
-        put(COL_SCANLATOR, obj.scanlator)
-        put(COL_BOOKMARK, obj.bookmark)
-        put(COL_DATE_FETCH, obj.date_fetch)
-        put(COL_DATE_UPLOAD, obj.date_upload)
-        put(COL_LAST_PAGE_READ, obj.last_page_read)
-        put(COL_CHAPTER_NUMBER, obj.chapter_number)
-        put(COL_SOURCE_ORDER, obj.source_order)
-    }
+    override fun mapToContentValues(obj: Chapter) =
+        contentValuesOf(
+            COL_ID to obj.id,
+            COL_MANGA_ID to obj.manga_id,
+            COL_URL to obj.url,
+            COL_NAME to obj.name,
+            COL_READ to obj.read,
+            COL_SCANLATOR to obj.scanlator,
+            COL_BOOKMARK to obj.bookmark,
+            COL_DATE_FETCH to obj.date_fetch,
+            COL_DATE_UPLOAD to obj.date_upload,
+            COL_LAST_PAGE_READ to obj.last_page_read,
+            COL_CHAPTER_NUMBER to obj.chapter_number,
+            COL_SOURCE_ORDER to obj.source_order
+        )
 }
 
 class ChapterGetResolver : DefaultGetResolver<Chapter>() {

+ 8 - 7
app/src/main/java/eu/kanade/tachiyomi/data/database/mappers/HistoryTypeMapping.kt

@@ -1,7 +1,7 @@
 package eu.kanade.tachiyomi.data.database.mappers
 
-import android.content.ContentValues
 import android.database.Cursor
+import androidx.core.content.contentValuesOf
 import com.pushtorefresh.storio.sqlite.SQLiteTypeMapping
 import com.pushtorefresh.storio.sqlite.operations.delete.DefaultDeleteResolver
 import com.pushtorefresh.storio.sqlite.operations.get.DefaultGetResolver
@@ -35,12 +35,13 @@ open class HistoryPutResolver : DefaultPutResolver<History>() {
         .whereArgs(obj.id)
         .build()
 
-    override fun mapToContentValues(obj: History) = ContentValues(4).apply {
-        put(COL_ID, obj.id)
-        put(COL_CHAPTER_ID, obj.chapter_id)
-        put(COL_LAST_READ, obj.last_read)
-        put(COL_TIME_READ, obj.time_read)
-    }
+    override fun mapToContentValues(obj: History) =
+        contentValuesOf(
+            COL_ID to obj.id,
+            COL_CHAPTER_ID to obj.chapter_id,
+            COL_LAST_READ to obj.last_read,
+            COL_TIME_READ to obj.time_read
+        )
 }
 
 class HistoryGetResolver : DefaultGetResolver<History>() {

+ 7 - 6
app/src/main/java/eu/kanade/tachiyomi/data/database/mappers/MangaCategoryTypeMapping.kt

@@ -1,7 +1,7 @@
 package eu.kanade.tachiyomi.data.database.mappers
 
-import android.content.ContentValues
 import android.database.Cursor
+import androidx.core.content.contentValuesOf
 import com.pushtorefresh.storio.sqlite.SQLiteTypeMapping
 import com.pushtorefresh.storio.sqlite.operations.delete.DefaultDeleteResolver
 import com.pushtorefresh.storio.sqlite.operations.get.DefaultGetResolver
@@ -33,11 +33,12 @@ class MangaCategoryPutResolver : DefaultPutResolver<MangaCategory>() {
         .whereArgs(obj.id)
         .build()
 
-    override fun mapToContentValues(obj: MangaCategory) = ContentValues(3).apply {
-        put(COL_ID, obj.id)
-        put(COL_MANGA_ID, obj.manga_id)
-        put(COL_CATEGORY_ID, obj.category_id)
-    }
+    override fun mapToContentValues(obj: MangaCategory) =
+        contentValuesOf(
+            COL_ID to obj.id,
+            COL_MANGA_ID to obj.manga_id,
+            COL_CATEGORY_ID to obj.category_id
+        )
 }
 
 class MangaCategoryGetResolver : DefaultGetResolver<MangaCategory>() {

+ 21 - 20
app/src/main/java/eu/kanade/tachiyomi/data/database/mappers/MangaTypeMapping.kt

@@ -1,7 +1,7 @@
 package eu.kanade.tachiyomi.data.database.mappers
 
-import android.content.ContentValues
 import android.database.Cursor
+import androidx.core.content.contentValuesOf
 import com.pushtorefresh.storio.sqlite.SQLiteTypeMapping
 import com.pushtorefresh.storio.sqlite.operations.delete.DefaultDeleteResolver
 import com.pushtorefresh.storio.sqlite.operations.get.DefaultGetResolver
@@ -48,25 +48,26 @@ class MangaPutResolver : DefaultPutResolver<Manga>() {
         .whereArgs(obj.id)
         .build()
 
-    override fun mapToContentValues(obj: Manga) = ContentValues(17).apply {
-        put(COL_ID, obj.id)
-        put(COL_SOURCE, obj.source)
-        put(COL_URL, obj.url)
-        put(COL_ARTIST, obj.artist)
-        put(COL_AUTHOR, obj.author)
-        put(COL_DESCRIPTION, obj.description)
-        put(COL_GENRE, obj.genre)
-        put(COL_TITLE, obj.title)
-        put(COL_STATUS, obj.status)
-        put(COL_THUMBNAIL_URL, obj.thumbnail_url)
-        put(COL_FAVORITE, obj.favorite)
-        put(COL_LAST_UPDATE, obj.last_update)
-        put(COL_INITIALIZED, obj.initialized)
-        put(COL_VIEWER, obj.viewer)
-        put(COL_CHAPTER_FLAGS, obj.chapter_flags)
-        put(COL_COVER_LAST_MODIFIED, obj.cover_last_modified)
-        put(COL_DATE_ADDED, obj.date_added)
-    }
+    override fun mapToContentValues(obj: Manga) =
+        contentValuesOf(
+            COL_ID to obj.id,
+            COL_SOURCE to obj.source,
+            COL_URL to obj.url,
+            COL_ARTIST to obj.artist,
+            COL_AUTHOR to obj.author,
+            COL_DESCRIPTION to obj.description,
+            COL_GENRE to obj.genre,
+            COL_TITLE to obj.title,
+            COL_STATUS to obj.status,
+            COL_THUMBNAIL_URL to obj.thumbnail_url,
+            COL_FAVORITE to obj.favorite,
+            COL_LAST_UPDATE to obj.last_update,
+            COL_INITIALIZED to obj.initialized,
+            COL_VIEWER to obj.viewer,
+            COL_CHAPTER_FLAGS to obj.chapter_flags,
+            COL_COVER_LAST_MODIFIED to obj.cover_last_modified,
+            COL_DATE_ADDED to obj.date_added
+        )
 }
 
 interface BaseMangaGetResolver {

+ 17 - 16
app/src/main/java/eu/kanade/tachiyomi/data/database/mappers/TrackTypeMapping.kt

@@ -1,7 +1,7 @@
 package eu.kanade.tachiyomi.data.database.mappers
 
-import android.content.ContentValues
 import android.database.Cursor
+import androidx.core.content.contentValuesOf
 import com.pushtorefresh.storio.sqlite.SQLiteTypeMapping
 import com.pushtorefresh.storio.sqlite.operations.delete.DefaultDeleteResolver
 import com.pushtorefresh.storio.sqlite.operations.get.DefaultGetResolver
@@ -44,21 +44,22 @@ class TrackPutResolver : DefaultPutResolver<Track>() {
         .whereArgs(obj.id)
         .build()
 
-    override fun mapToContentValues(obj: Track) = ContentValues(10).apply {
-        put(COL_ID, obj.id)
-        put(COL_MANGA_ID, obj.manga_id)
-        put(COL_SYNC_ID, obj.sync_id)
-        put(COL_MEDIA_ID, obj.media_id)
-        put(COL_LIBRARY_ID, obj.library_id)
-        put(COL_TITLE, obj.title)
-        put(COL_LAST_CHAPTER_READ, obj.last_chapter_read)
-        put(COL_TOTAL_CHAPTERS, obj.total_chapters)
-        put(COL_STATUS, obj.status)
-        put(COL_TRACKING_URL, obj.tracking_url)
-        put(COL_SCORE, obj.score)
-        put(COL_START_DATE, obj.started_reading_date)
-        put(COL_FINISH_DATE, obj.finished_reading_date)
-    }
+    override fun mapToContentValues(obj: Track) =
+        contentValuesOf(
+            COL_ID to obj.id,
+            COL_MANGA_ID to obj.manga_id,
+            COL_SYNC_ID to obj.sync_id,
+            COL_MEDIA_ID to obj.media_id,
+            COL_LIBRARY_ID to obj.library_id,
+            COL_TITLE to obj.title,
+            COL_LAST_CHAPTER_READ to obj.last_chapter_read,
+            COL_TOTAL_CHAPTERS to obj.total_chapters,
+            COL_STATUS to obj.status,
+            COL_TRACKING_URL to obj.tracking_url,
+            COL_SCORE to obj.score,
+            COL_START_DATE to obj.started_reading_date,
+            COL_FINISH_DATE to obj.finished_reading_date
+        )
 }
 
 class TrackGetResolver : DefaultGetResolver<Track>() {

+ 7 - 6
app/src/main/java/eu/kanade/tachiyomi/data/database/resolvers/ChapterBackupPutResolver.kt

@@ -1,6 +1,6 @@
 package eu.kanade.tachiyomi.data.database.resolvers
 
-import android.content.ContentValues
+import androidx.core.content.contentValuesOf
 import com.pushtorefresh.storio.sqlite.StorIOSQLite
 import com.pushtorefresh.storio.sqlite.operations.put.PutResolver
 import com.pushtorefresh.storio.sqlite.operations.put.PutResult
@@ -25,9 +25,10 @@ class ChapterBackupPutResolver : PutResolver<Chapter>() {
         .whereArgs(chapter.url)
         .build()
 
-    fun mapToContentValues(chapter: Chapter) = ContentValues(3).apply {
-        put(ChapterTable.COL_READ, chapter.read)
-        put(ChapterTable.COL_BOOKMARK, chapter.bookmark)
-        put(ChapterTable.COL_LAST_PAGE_READ, chapter.last_page_read)
-    }
+    fun mapToContentValues(chapter: Chapter) =
+        contentValuesOf(
+            ChapterTable.COL_READ to chapter.read,
+            ChapterTable.COL_BOOKMARK to chapter.bookmark,
+            ChapterTable.COL_LAST_PAGE_READ to chapter.last_page_read
+        )
 }

+ 7 - 6
app/src/main/java/eu/kanade/tachiyomi/data/database/resolvers/ChapterProgressPutResolver.kt

@@ -1,6 +1,6 @@
 package eu.kanade.tachiyomi.data.database.resolvers
 
-import android.content.ContentValues
+import androidx.core.content.contentValuesOf
 import com.pushtorefresh.storio.sqlite.StorIOSQLite
 import com.pushtorefresh.storio.sqlite.operations.put.PutResolver
 import com.pushtorefresh.storio.sqlite.operations.put.PutResult
@@ -25,9 +25,10 @@ class ChapterProgressPutResolver : PutResolver<Chapter>() {
         .whereArgs(chapter.id)
         .build()
 
-    fun mapToContentValues(chapter: Chapter) = ContentValues(3).apply {
-        put(ChapterTable.COL_READ, chapter.read)
-        put(ChapterTable.COL_BOOKMARK, chapter.bookmark)
-        put(ChapterTable.COL_LAST_PAGE_READ, chapter.last_page_read)
-    }
+    fun mapToContentValues(chapter: Chapter) =
+        contentValuesOf(
+            ChapterTable.COL_READ to chapter.read,
+            ChapterTable.COL_BOOKMARK to chapter.bookmark,
+            ChapterTable.COL_LAST_PAGE_READ to chapter.last_page_read
+        )
 }

+ 5 - 4
app/src/main/java/eu/kanade/tachiyomi/data/database/resolvers/ChapterSourceOrderPutResolver.kt

@@ -1,6 +1,6 @@
 package eu.kanade.tachiyomi.data.database.resolvers
 
-import android.content.ContentValues
+import androidx.core.content.contentValuesOf
 import com.pushtorefresh.storio.sqlite.StorIOSQLite
 import com.pushtorefresh.storio.sqlite.operations.put.PutResolver
 import com.pushtorefresh.storio.sqlite.operations.put.PutResult
@@ -25,7 +25,8 @@ class ChapterSourceOrderPutResolver : PutResolver<Chapter>() {
         .whereArgs(chapter.url, chapter.manga_id)
         .build()
 
-    fun mapToContentValues(chapter: Chapter) = ContentValues(1).apply {
-        put(ChapterTable.COL_SOURCE_ORDER, chapter.source_order)
-    }
+    fun mapToContentValues(chapter: Chapter) =
+        contentValuesOf(
+            ChapterTable.COL_SOURCE_ORDER to chapter.source_order
+        )
 }

+ 5 - 4
app/src/main/java/eu/kanade/tachiyomi/data/database/resolvers/HistoryLastReadPutResolver.kt

@@ -1,7 +1,7 @@
 package eu.kanade.tachiyomi.data.database.resolvers
 
-import android.content.ContentValues
 import androidx.annotation.NonNull
+import androidx.core.content.contentValuesOf
 import com.pushtorefresh.storio.sqlite.StorIOSQLite
 import com.pushtorefresh.storio.sqlite.operations.put.PutResult
 import com.pushtorefresh.storio.sqlite.queries.Query
@@ -57,7 +57,8 @@ class HistoryLastReadPutResolver : HistoryPutResolver() {
      * Create content query
      * @param history object
      */
-    fun mapToUpdateContentValues(history: History) = ContentValues(1).apply {
-        put(HistoryTable.COL_LAST_READ, history.last_read)
-    }
+    fun mapToUpdateContentValues(history: History) =
+        contentValuesOf(
+            HistoryTable.COL_LAST_READ to history.last_read
+        )
 }

+ 5 - 4
app/src/main/java/eu/kanade/tachiyomi/data/database/resolvers/MangaCoverLastModifiedPutResolver.kt

@@ -1,6 +1,6 @@
 package eu.kanade.tachiyomi.data.database.resolvers
 
-import android.content.ContentValues
+import androidx.core.content.contentValuesOf
 import com.pushtorefresh.storio.sqlite.StorIOSQLite
 import com.pushtorefresh.storio.sqlite.operations.put.PutResolver
 import com.pushtorefresh.storio.sqlite.operations.put.PutResult
@@ -25,7 +25,8 @@ class MangaCoverLastModifiedPutResolver : PutResolver<Manga>() {
         .whereArgs(manga.id)
         .build()
 
-    fun mapToContentValues(manga: Manga) = ContentValues(1).apply {
-        put(MangaTable.COL_COVER_LAST_MODIFIED, manga.cover_last_modified)
-    }
+    fun mapToContentValues(manga: Manga) =
+        contentValuesOf(
+            MangaTable.COL_COVER_LAST_MODIFIED to manga.cover_last_modified
+        )
 }

+ 5 - 4
app/src/main/java/eu/kanade/tachiyomi/data/database/resolvers/MangaFavoritePutResolver.kt

@@ -1,6 +1,6 @@
 package eu.kanade.tachiyomi.data.database.resolvers
 
-import android.content.ContentValues
+import androidx.core.content.contentValuesOf
 import com.pushtorefresh.storio.sqlite.StorIOSQLite
 import com.pushtorefresh.storio.sqlite.operations.put.PutResolver
 import com.pushtorefresh.storio.sqlite.operations.put.PutResult
@@ -25,7 +25,8 @@ class MangaFavoritePutResolver : PutResolver<Manga>() {
         .whereArgs(manga.id)
         .build()
 
-    fun mapToContentValues(manga: Manga) = ContentValues(1).apply {
-        put(MangaTable.COL_FAVORITE, manga.favorite)
-    }
+    fun mapToContentValues(manga: Manga) =
+        contentValuesOf(
+            MangaTable.COL_FAVORITE to manga.favorite
+        )
 }

+ 5 - 4
app/src/main/java/eu/kanade/tachiyomi/data/database/resolvers/MangaFlagsPutResolver.kt

@@ -1,6 +1,6 @@
 package eu.kanade.tachiyomi.data.database.resolvers
 
-import android.content.ContentValues
+import androidx.core.content.contentValuesOf
 import com.pushtorefresh.storio.sqlite.StorIOSQLite
 import com.pushtorefresh.storio.sqlite.operations.put.PutResolver
 import com.pushtorefresh.storio.sqlite.operations.put.PutResult
@@ -35,7 +35,8 @@ class MangaFlagsPutResolver(private val updateAll: Boolean = false) : PutResolve
         }
     }
 
-    fun mapToContentValues(manga: Manga) = ContentValues(1).apply {
-        put(MangaTable.COL_CHAPTER_FLAGS, manga.chapter_flags)
-    }
+    fun mapToContentValues(manga: Manga) =
+        contentValuesOf(
+            MangaTable.COL_CHAPTER_FLAGS to manga.chapter_flags
+        )
 }

+ 5 - 4
app/src/main/java/eu/kanade/tachiyomi/data/database/resolvers/MangaLastUpdatedPutResolver.kt

@@ -1,6 +1,6 @@
 package eu.kanade.tachiyomi.data.database.resolvers
 
-import android.content.ContentValues
+import androidx.core.content.contentValuesOf
 import com.pushtorefresh.storio.sqlite.StorIOSQLite
 import com.pushtorefresh.storio.sqlite.operations.put.PutResolver
 import com.pushtorefresh.storio.sqlite.operations.put.PutResult
@@ -25,7 +25,8 @@ class MangaLastUpdatedPutResolver : PutResolver<Manga>() {
         .whereArgs(manga.id)
         .build()
 
-    fun mapToContentValues(manga: Manga) = ContentValues(1).apply {
-        put(MangaTable.COL_LAST_UPDATE, manga.last_update)
-    }
+    fun mapToContentValues(manga: Manga) =
+        contentValuesOf(
+            MangaTable.COL_LAST_UPDATE to manga.last_update
+        )
 }

+ 5 - 4
app/src/main/java/eu/kanade/tachiyomi/data/database/resolvers/MangaTitlePutResolver.kt

@@ -1,6 +1,6 @@
 package eu.kanade.tachiyomi.data.database.resolvers
 
-import android.content.ContentValues
+import androidx.core.content.contentValuesOf
 import com.pushtorefresh.storio.sqlite.StorIOSQLite
 import com.pushtorefresh.storio.sqlite.operations.put.PutResolver
 import com.pushtorefresh.storio.sqlite.operations.put.PutResult
@@ -25,7 +25,8 @@ class MangaTitlePutResolver : PutResolver<Manga>() {
         .whereArgs(manga.id)
         .build()
 
-    fun mapToContentValues(manga: Manga) = ContentValues(1).apply {
-        put(MangaTable.COL_TITLE, manga.title)
-    }
+    fun mapToContentValues(manga: Manga) =
+        contentValuesOf(
+            MangaTable.COL_TITLE to manga.title
+        )
 }

+ 5 - 4
app/src/main/java/eu/kanade/tachiyomi/data/database/resolvers/MangaViewerPutResolver.kt

@@ -1,6 +1,6 @@
 package eu.kanade.tachiyomi.data.database.resolvers
 
-import android.content.ContentValues
+import androidx.core.content.contentValuesOf
 import com.pushtorefresh.storio.sqlite.StorIOSQLite
 import com.pushtorefresh.storio.sqlite.operations.put.PutResolver
 import com.pushtorefresh.storio.sqlite.operations.put.PutResult
@@ -25,7 +25,8 @@ class MangaViewerPutResolver : PutResolver<Manga>() {
         .whereArgs(manga.id)
         .build()
 
-    fun mapToContentValues(manga: Manga) = ContentValues(1).apply {
-        put(MangaTable.COL_VIEWER, manga.viewer)
-    }
+    fun mapToContentValues(manga: Manga) =
+        contentValuesOf(
+            MangaTable.COL_VIEWER to manga.viewer
+        )
 }

+ 9 - 44
app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderColorFilterSheet.kt

@@ -3,6 +3,7 @@ package eu.kanade.tachiyomi.ui.reader
 import android.view.ViewGroup
 import android.widget.SeekBar
 import androidx.annotation.ColorInt
+import androidx.core.graphics.*
 import androidx.lifecycle.lifecycleScope
 import com.google.android.material.bottomsheet.BottomSheetBehavior
 import com.google.android.material.bottomsheet.BottomSheetDialog
@@ -156,16 +157,16 @@ class ReaderColorFilterSheet(private val activity: ReaderActivity) : BottomSheet
      * @param color integer containing color information
      */
     fun setValues(color: Int): Array<Int> {
-        val alpha = getAlphaFromColor(color)
-        val red = getRedFromColor(color)
-        val green = getGreenFromColor(color)
-        val blue = getBlueFromColor(color)
+        val alpha = color.alpha
+        val red = color.red
+        val green = color.green
+        val blue = color.blue
 
         // Initialize values
-        binding.txtColorFilterAlphaValue.text = alpha.toString()
-        binding.txtColorFilterRedValue.text = red.toString()
-        binding.txtColorFilterGreenValue.text = green.toString()
-        binding.txtColorFilterBlueValue.text = blue.toString()
+        binding.txtColorFilterAlphaValue.text = "$alpha"
+        binding.txtColorFilterRedValue.text = "$red"
+        binding.txtColorFilterGreenValue.text = "$green"
+        binding.txtColorFilterBlueValue.text = "$blue"
 
         return arrayOf(alpha, red, green, blue)
     }
@@ -232,42 +233,6 @@ class ReaderColorFilterSheet(private val activity: ReaderActivity) : BottomSheet
         preferences.colorFilterValue().set(updatedColor)
     }
 
-    /**
-     * Returns the alpha value from the Color Hex
-     * @param color color hex as int
-     * @return alpha of color
-     */
-    private fun getAlphaFromColor(color: Int): Int {
-        return color shr 24 and 0xFF
-    }
-
-    /**
-     * Returns the red value from the Color Hex
-     * @param color color hex as int
-     * @return red of color
-     */
-    private fun getRedFromColor(color: Int): Int {
-        return color shr 16 and 0xFF
-    }
-
-    /**
-     * Returns the green value from the Color Hex
-     * @param color color hex as int
-     * @return green of color
-     */
-    private fun getGreenFromColor(color: Int): Int {
-        return color shr 8 and 0xFF
-    }
-
-    /**
-     * Returns the blue value from the Color Hex
-     * @param color color hex as int
-     * @return blue of color
-     */
-    private fun getBlueFromColor(color: Int): Int {
-        return color and 0xFF
-    }
-
     private companion object {
         /** Integer mask of alpha value **/
         const val ALPHA_MASK: Long = 0xFF000000

+ 3 - 3
app/src/main/java/eu/kanade/tachiyomi/util/system/ContextExtensions.kt

@@ -154,19 +154,19 @@ val Resources.isLTR
  * Property to get the notification manager from the context.
  */
 val Context.notificationManager: NotificationManager
-    get() = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
+    get() = getSystemService()!!
 
 /**
  * Property to get the connectivity manager from the context.
  */
 val Context.connectivityManager: ConnectivityManager
-    get() = getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
+    get() = getSystemService()!!
 
 /**
  * Property to get the power manager from the context.
  */
 val Context.powerManager: PowerManager
-    get() = getSystemService(Context.POWER_SERVICE) as PowerManager
+    get() = getSystemService()!!
 
 /**
  * Convenience method to acquire a partial wake lock.