diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/database/queries/RawQueries.kt b/app/src/main/java/eu/kanade/tachiyomi/data/database/queries/RawQueries.kt
index 1911c9e0a..05e2a4d66 100755
--- a/app/src/main/java/eu/kanade/tachiyomi/data/database/queries/RawQueries.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/data/database/queries/RawQueries.kt
@@ -1,7 +1,7 @@
 package eu.kanade.tachiyomi.data.database.queries
 
-import exh.source.MERGED_SOURCE_ID
 import eu.kanade.tachiyomi.data.database.resolvers.SourceIdMangaCountGetResolver
+import exh.source.MERGED_SOURCE_ID
 import eu.kanade.tachiyomi.data.database.tables.CategoryTable as Category
 import eu.kanade.tachiyomi.data.database.tables.ChapterTable as Chapter
 import eu.kanade.tachiyomi.data.database.tables.HistoryTable as History
diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/track/mdlist/MdList.kt b/app/src/main/java/eu/kanade/tachiyomi/data/track/mdlist/MdList.kt
index b979db966..d78d88ffc 100644
--- a/app/src/main/java/eu/kanade/tachiyomi/data/track/mdlist/MdList.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/data/track/mdlist/MdList.kt
@@ -131,11 +131,11 @@ class MdList(private val context: Context, id: Int) : TrackService(id) {
             val mdex = mdex ?: throw MangaDexNotFoundException()
             mdex.fetchSearchManga(0, query, mdex.getFilterList())
                 .flatMap { page ->
-                    runAsObservable({
+                    runAsObservable {
                         page.mangas.map {
                             toTrackSearch(mdex.getMangaDetails(it.toMangaInfo()))
                         }
-                    })
+                    }
                 }
                 .awaitSingle()
         }
diff --git a/app/src/main/java/eu/kanade/tachiyomi/extension/api/ExtensionGithubApi.kt b/app/src/main/java/eu/kanade/tachiyomi/extension/api/ExtensionGithubApi.kt
index 433d95969..6675f51f6 100644
--- a/app/src/main/java/eu/kanade/tachiyomi/extension/api/ExtensionGithubApi.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/extension/api/ExtensionGithubApi.kt
@@ -28,16 +28,16 @@ internal class ExtensionGithubApi {
                 .await()
                 .parseAs<List<ExtensionJsonObject>>()
                 .toExtensions() /* SY --> */ + preferences.extensionRepos()
-                    .get()
-                    .flatMap { repoPath ->
-			            val url = "$BASE_URL$repoPath/repo/"
-			            networkService.client
-			                .newCall(GET("${url}index.min.json"))
-			                .await()
-			                .parseAs<List<ExtensionJsonObject>>()
-			                .toExtensions(url)
-			        }
-			        // SY <--
+                .get()
+                .flatMap { repoPath ->
+                    val url = "$BASE_URL$repoPath/repo/"
+                    networkService.client
+                        .newCall(GET("${url}index.min.json"))
+                        .await()
+                        .parseAs<List<ExtensionJsonObject>>()
+                        .toExtensions(url)
+                }
+            // SY <--
 
             // Sanity check - a small number of extensions probably means something broke
             // with the repo generator
diff --git a/app/src/main/java/eu/kanade/tachiyomi/source/online/MetadataSource.kt b/app/src/main/java/eu/kanade/tachiyomi/source/online/MetadataSource.kt
index cd9f26f3d..3f83de66c 100644
--- a/app/src/main/java/eu/kanade/tachiyomi/source/online/MetadataSource.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/source/online/MetadataSource.kt
@@ -52,9 +52,9 @@ interface MetadataSource<M : RaisedSearchMetadata, I> : CatalogueSource {
      */
     @Suppress("DeprecatedCallableAddReplaceWith")
     @Deprecated("Use the MangaInfo variant")
-    fun parseToManga(manga: SManga, input: I): Completable = runAsObservable({
+    fun parseToManga(manga: SManga, input: I): Completable = runAsObservable {
         parseToManga(manga.toMangaInfo(), input)
-    }).toCompletable()
+    }.toCompletable()
 
     suspend fun parseToManga(manga: MangaInfo, input: I): MangaInfo {
         val mangaId = manga.id()
@@ -82,9 +82,9 @@ interface MetadataSource<M : RaisedSearchMetadata, I> : CatalogueSource {
     @Suppress("DeprecatedCallableAddReplaceWith")
     @Deprecated("use fetchOrLoadMetadata made for MangaInfo")
     fun getOrLoadMetadata(mangaId: Long?, inputProducer: () -> Single<I>): Single<M> =
-        runAsObservable({
+        runAsObservable {
             fetchOrLoadMetadata(mangaId) { inputProducer().toObservable().awaitSingle() }
-        }).toSingle()
+        }.toSingle()
 
     /**
      * Try to first get the metadata from the DB. If the metadata is not in the DB, calls the input
diff --git a/app/src/main/java/eu/kanade/tachiyomi/source/online/all/EHentai.kt b/app/src/main/java/eu/kanade/tachiyomi/source/online/all/EHentai.kt
index 5d7769bd7..876e2a4c4 100755
--- a/app/src/main/java/eu/kanade/tachiyomi/source/online/all/EHentai.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/source/online/all/EHentai.kt
@@ -365,9 +365,9 @@ class EHentai(
 
     @Suppress("DeprecatedCallableAddReplaceWith")
     @Deprecated("Use getChapterList instead")
-    fun fetchChapterList(manga: SManga, throttleFunc: suspend () -> Unit) = runAsObservable({
+    fun fetchChapterList(manga: SManga, throttleFunc: suspend () -> Unit) = runAsObservable {
         getChapterList(manga.toMangaInfo(), throttleFunc).map { it.toSChapter() }
-    })
+    }
 
     override fun fetchPageList(chapter: SChapter) = fetchChapterPage(chapter, baseUrl + chapter.url)
         .map {
diff --git a/app/src/main/java/eu/kanade/tachiyomi/source/online/all/MangaDex.kt b/app/src/main/java/eu/kanade/tachiyomi/source/online/all/MangaDex.kt
index 3c3e1cc5e..e53796f91 100644
--- a/app/src/main/java/eu/kanade/tachiyomi/source/online/all/MangaDex.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/source/online/all/MangaDex.kt
@@ -183,7 +183,7 @@ class MangaDex(delegate: HttpSource, val context: Context) :
     }
 
     override fun fetchPageList(chapter: SChapter): Observable<List<Page>> {
-        return runAsObservable({ pageHandler.fetchPageList(chapter, isLogged(), usePort443Only(), dataSaver(), delegate) })
+        return runAsObservable { pageHandler.fetchPageList(chapter, isLogged(), usePort443Only(), dataSaver(), delegate) }
     }
 
     override fun fetchImage(page: Page): Observable<Response> {
diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/latest/LatestPresenter.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/latest/LatestPresenter.kt
index f14f77049..fefcf14c8 100644
--- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/latest/LatestPresenter.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/latest/LatestPresenter.kt
@@ -173,13 +173,13 @@ open class LatestPresenter(
      * @return an observable of the manga to initialize
      */
     private fun getMangaDetailsObservable(manga: Manga, source: Source): Observable<Manga> {
-        return runAsObservable({
+        return runAsObservable {
             val networkManga = source.getMangaDetails(manga.toMangaInfo())
             manga.copyFrom(networkManga.toSManga())
             manga.initialized = true
             db.insertManga(manga).executeAsBlocking()
             manga
-        })
+        }
             .onErrorResumeNext { Observable.just(manga) }
     }
 
diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/manga/MigrationMangaPresenter.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/manga/MigrationMangaPresenter.kt
index 99d0a7baf..b0f6a2ee4 100644
--- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/manga/MigrationMangaPresenter.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/manga/MigrationMangaPresenter.kt
@@ -45,7 +45,7 @@ class MigrationMangaPresenter(
     fun migrateManga(prevManga: Manga, manga: Manga, replace: Boolean) {
         val source = sourceManager.get(manga.source) ?: return
 
-        Observable.defer { runAsObservable({ source.getChapterList(manga.toMangaInfo()).map { it.toSChapter() } }) }.onErrorReturn { emptyList() }
+        Observable.defer { runAsObservable { source.getChapterList(manga.toMangaInfo()).map { it.toSChapter() } } }.onErrorReturn { emptyList() }
             .doOnNext { migrateMangaInternal(source, it, prevManga, manga, replace) }
             .onErrorReturn { emptyList() }.subscribeOn(Schedulers.io())
             .observeOn(AndroidSchedulers.mainThread())
diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/index/IndexPresenter.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/index/IndexPresenter.kt
index 8030fa9ee..bc8ff9dff 100644
--- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/index/IndexPresenter.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/index/IndexPresenter.kt
@@ -183,13 +183,13 @@ open class IndexPresenter(
      * @return an observable of the manga to initialize
      */
     private fun getMangaDetailsObservable(manga: Manga, source: Source, isLatest: Boolean): Observable<Pair<Manga, Boolean>> {
-        return runAsObservable({
+        return runAsObservable {
             val networkManga = source.getMangaDetails(manga.toMangaInfo())
             manga.copyFrom(networkManga.toSManga())
             manga.initialized = true
             db.insertManga(manga).executeAsBlocking()
             manga to isLatest
-        })
+        }
             .onErrorResumeNext { Observable.just(manga to isLatest) }
     }
 
diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt
index 9da7262b7..91cb43547 100644
--- a/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt
@@ -1,8 +1,10 @@
 package eu.kanade.tachiyomi.ui.setting
 
 import android.annotation.SuppressLint
+import android.app.Dialog
 import android.content.ActivityNotFoundException
 import android.content.Intent
+import android.os.Bundle
 import android.provider.Settings
 import android.widget.Toast
 import androidx.appcompat.app.AlertDialog
diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/setting/database/ClearDatabaseController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/setting/database/ClearDatabaseController.kt
index d021da865..97c9ab9c2 100644
--- a/app/src/main/java/eu/kanade/tachiyomi/ui/setting/database/ClearDatabaseController.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/ui/setting/database/ClearDatabaseController.kt
@@ -154,7 +154,7 @@ class ClearDatabaseController :
             )
             val selected = booleanArrayOf(true, true)
             return MaterialAlertDialogBuilder(activity!!)
-                //.setMessage(R.string.clear_database_confirmation)
+                // .setMessage(R.string.clear_database_confirmation)
                 // SY -->
                 .setMultiChoiceItems(item, selected) { _, which, checked ->
                     if (which == 0) {
@@ -173,7 +173,7 @@ class ClearDatabaseController :
     }
 
     @SuppressLint("NotifyDataSetChanged")
-    private fun clearDatabaseForSelectedSources(/* SY --> */ keepReadManga: Boolean/* SY <-- */ ) {
+    private fun clearDatabaseForSelectedSources(/* SY --> */ keepReadManga: Boolean/* SY <-- */) {
         val adapter = adapter ?: return
         val selectedSourceIds = adapter.selectedPositions.mapNotNull { position ->
             adapter.getItem(position)?.source?.id
diff --git a/app/src/main/java/exh/md/handlers/BilibiliHandler.kt b/app/src/main/java/exh/md/handlers/BilibiliHandler.kt
index ead4d317f..6d4d36aa0 100644
--- a/app/src/main/java/exh/md/handlers/BilibiliHandler.kt
+++ b/app/src/main/java/exh/md/handlers/BilibiliHandler.kt
@@ -3,7 +3,7 @@ package exh.md.handlers
 import eu.kanade.tachiyomi.network.POST
 import eu.kanade.tachiyomi.network.asObservableSuccess
 import eu.kanade.tachiyomi.network.await
-import eu.kanade.tachiyomi.network.interceptor.RateLimitInterceptor
+import eu.kanade.tachiyomi.network.interceptor.rateLimit
 import eu.kanade.tachiyomi.network.parseAs
 import eu.kanade.tachiyomi.source.model.Page
 import eu.kanade.tachiyomi.source.model.SChapter
@@ -32,7 +32,7 @@ class BilibiliHandler(currentClient: OkHttpClient) {
         .build()
 
     val client: OkHttpClient = currentClient.newBuilder()
-        .addInterceptor(RateLimitInterceptor(1, 1, TimeUnit.SECONDS))
+        .rateLimit(1, 1, TimeUnit.SECONDS)
         .build()
 
     suspend fun fetchPageList(externalUrl: String, chapterNumber: String): List<Page> {
diff --git a/app/src/main/java/exh/md/handlers/MangaHandler.kt b/app/src/main/java/exh/md/handlers/MangaHandler.kt
index d79622bd8..d05f4038f 100644
--- a/app/src/main/java/exh/md/handlers/MangaHandler.kt
+++ b/app/src/main/java/exh/md/handlers/MangaHandler.kt
@@ -33,14 +33,14 @@ class MangaHandler(
     }
 
     fun fetchMangaDetailsObservable(manga: SManga, sourceId: Long, forceLatestCovers: Boolean): Observable<SManga> {
-        return runAsObservable({
+        return runAsObservable {
             getMangaDetails(manga.toMangaInfo(), sourceId, forceLatestCovers).toSManga()
-        })
+        }
     }
 
-    fun fetchChapterListObservable(manga: SManga): Observable<List<SChapter>> = runAsObservable({
+    fun fetchChapterListObservable(manga: SManga): Observable<List<SChapter>> = runAsObservable {
         getChapterList(manga.toMangaInfo()).map { it.toSChapter() }
-    })
+    }
 
     suspend fun getChapterList(manga: MangaInfo): List<ChapterInfo> {
         return withIOContext {
diff --git a/app/src/main/java/exh/util/SearchOverride.kt b/app/src/main/java/exh/util/SearchOverride.kt
index 0cd8ceb11..488030164 100644
--- a/app/src/main/java/exh/util/SearchOverride.kt
+++ b/app/src/main/java/exh/util/SearchOverride.kt
@@ -18,9 +18,9 @@ private val galleryAdder by lazy {
 fun UrlImportableSource.urlImportFetchSearchManga(context: Context, query: String, fail: () -> Observable<MangasPage>): Observable<MangasPage> =
     when {
         query.startsWith("http://") || query.startsWith("https://") -> {
-            runAsObservable({
+            runAsObservable {
                 galleryAdder.addGallery(context, query, false, this@urlImportFetchSearchManga)
-            })
+            }
                 .map { res ->
                     MangasPage(
                         if (res is GalleryAddEvent.Success) {
diff --git a/app/src/main/res/layout/eh_activity_intercept.xml b/app/src/main/res/layout/eh_activity_intercept.xml
index 5c66767d1..f6fea488f 100755
--- a/app/src/main/res/layout/eh_activity_intercept.xml
+++ b/app/src/main/res/layout/eh_activity_intercept.xml
@@ -9,7 +9,7 @@
         android:layout_height="match_parent"
         android:orientation="vertical">
 
-        <eu.kanade.tachiyomi.widget.ElevationAppBarLayout
+        <com.google.android.material.appbar.TachiyomiAppBarLayout
             android:id="@+id/appbar"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
@@ -21,7 +21,7 @@
                 android:layout_height="?attr/actionBarSize"
                 android:theme="?attr/actionBarTheme"/>
 
-        </eu.kanade.tachiyomi.widget.ElevationAppBarLayout>
+        </com.google.android.material.appbar.TachiyomiAppBarLayout>
 
         <LinearLayout
             android:layout_width="match_parent"