Skip to content

Commit

Permalink
fix a LOT of warnings
Browse files Browse the repository at this point in the history
  • Loading branch information
az4521 committed Mar 15, 2024
1 parent 99b5659 commit fea4c5d
Show file tree
Hide file tree
Showing 55 changed files with 203 additions and 250 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -217,12 +217,12 @@ class ChapterCache(private val context: Context) {
editor = diskCache.edit(key) ?: throw IOException("Unable to edit key")

// Get OutputStream and write image with Okio.
response.body!!.source().saveTo(editor.newOutputStream(0))
response.body.source().saveTo(editor.newOutputStream(0))

diskCache.flush()
editor.commit()
} finally {
response.body?.close()
response.body.close()
editor?.abortUnlessCommitted()
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -402,7 +402,7 @@ class Downloader(
.map { response ->
val file = tmpDir.createFile("$filename.tmp")
try {
response.body!!.source().saveTo(file.openOutputStream())
response.body.source().saveTo(file.openOutputStream())
val extension = getImageExtension(response, file)
file.renameTo("$filename.$extension")
} catch (e: Exception) {
Expand Down Expand Up @@ -450,7 +450,7 @@ class Downloader(
*/
private fun getImageExtension(response: Response, file: UniFile): String {
// Read content type if available.
val mime = response.body?.contentType()?.let { ct -> "${ct.type}/${ct.subtype}" }
val mime = response.body.contentType()?.let { ct -> "${ct.type}/${ct.subtype}" }
// Else guess from the uri.
?: context.contentResolver.getType(file.uri)
// Else read magic numbers.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -393,15 +393,15 @@ class LibraryUpdateService(

// Update manga details metadata in the background
runAsObservable({ source?.getMangaDetails(manga.toMangaInfo())?.toSManga() })
?.map { updatedManga ->
.map { updatedManga ->
// Avoid "losing" existing cover
if (!updatedManga!!.thumbnail_url.isNullOrEmpty()) {
manga.prepUpdateCover(coverCache, updatedManga!!, false)
manga.prepUpdateCover(coverCache, updatedManga, false)
} else {
updatedManga!!.thumbnail_url = manga.thumbnail_url
updatedManga.thumbnail_url = manga.thumbnail_url
}

manga.copyFrom(updatedManga!!)
manga.copyFrom(updatedManga)
db.insertManga(manga).executeAsBlocking()
manga
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ class AnilistApi(val client: OkHttpClient, interceptor: AnilistInterceptor) {
return authClient.newCall(request)
.asObservableSuccess()
.map { netResponse ->
val responseBody = netResponse.body?.string().orEmpty()
val responseBody = netResponse.body.string().orEmpty()
netResponse.close()
if (responseBody.isEmpty()) {
throw Exception("Null Response")
Expand Down Expand Up @@ -136,7 +136,7 @@ class AnilistApi(val client: OkHttpClient, interceptor: AnilistInterceptor) {
return authClient.newCall(request)
.asObservableSuccess()
.map { netResponse ->
val responseBody = netResponse.body?.string().orEmpty()
val responseBody = netResponse.body.string().orEmpty()
if (responseBody.isEmpty()) {
throw Exception("Null Response")
}
Expand Down Expand Up @@ -197,7 +197,7 @@ class AnilistApi(val client: OkHttpClient, interceptor: AnilistInterceptor) {
return authClient.newCall(request)
.asObservableSuccess()
.map { netResponse ->
val responseBody = netResponse.body?.string().orEmpty()
val responseBody = netResponse.body.string().orEmpty()
if (responseBody.isEmpty()) {
throw Exception("Null Response")
}
Expand Down Expand Up @@ -242,7 +242,7 @@ class AnilistApi(val client: OkHttpClient, interceptor: AnilistInterceptor) {
return authClient.newCall(request)
.asObservableSuccess()
.map { netResponse ->
val responseBody = netResponse.body?.string().orEmpty()
val responseBody = netResponse.body.string().orEmpty()
if (responseBody.isEmpty()) {
throw Exception("Null Response")
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ class BangumiApi(private val client: OkHttpClient, interceptor: BangumiIntercept
return authClient.newCall(request)
.asObservableSuccess()
.map { netResponse ->
var responseBody = netResponse.body?.string().orEmpty()
var responseBody = netResponse.body.string().orEmpty()
if (responseBody.isEmpty()) {
throw Exception("Null Response")
}
Expand Down Expand Up @@ -135,7 +135,7 @@ class BangumiApi(private val client: OkHttpClient, interceptor: BangumiIntercept
.asObservableSuccess()
.map { netResponse ->
// get comic info
val responseBody = netResponse.body?.string().orEmpty()
val responseBody = netResponse.body.string().orEmpty()
jsonToTrack(JsonParser.parseString(responseBody).obj)
}
}
Expand All @@ -152,7 +152,7 @@ class BangumiApi(private val client: OkHttpClient, interceptor: BangumiIntercept
return authClient.newCall(requestUserRead)
.asObservableSuccess()
.map { netResponse ->
val resp = netResponse.body?.string()
val resp = netResponse.body.string()
val coll = gson.fromJson(resp, Collection::class.java)
track.status = coll.status?.id!!
track.last_chapter_read = coll.ep_status!!
Expand All @@ -162,7 +162,7 @@ class BangumiApi(private val client: OkHttpClient, interceptor: BangumiIntercept

fun accessToken(code: String): Observable<OAuth> {
return client.newCall(accessTokenRequest(code)).asObservableSuccess().map { netResponse ->
val responseBody = netResponse.body?.string().orEmpty()
val responseBody = netResponse.body.string().orEmpty()
if (responseBody.isEmpty()) {
throw Exception("Null Response")
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ class BangumiInterceptor(val bangumi: Bangumi, val gson: Gson) : Interceptor {
if (currAuth.isExpired()) {
val response = chain.proceed(BangumiApi.refreshTokenRequest(currAuth.refresh_token!!))
if (response.isSuccessful) {
newAuth(gson.fromJson(response.body!!.string(), OAuth::class.java))
newAuth(gson.fromJson(response.body.string(), OAuth::class.java))
} else {
response.close()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ class KitsuInterceptor(val kitsu: Kitsu, val gson: Gson) : Interceptor {
if (currAuth.isExpired()) {
val response = chain.proceed(KitsuApi.refreshTokenRequest(refreshToken))
if (response.isSuccessful) {
newAuth(gson.fromJson(response.body!!.string(), OAuth::class.java))
newAuth(gson.fromJson(response.body.string(), OAuth::class.java))
} else {
response.close()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,10 +48,12 @@ class MyAnimeListApi(private val client: OkHttpClient, interceptor: MyAnimeListI
.asObservable()
.flatMap { response ->
Observable.from(
Jsoup.parse(response.consumeBody())
.select("div.js-categories-seasonal.js-block-list.list")
.select("table").select("tbody")
.select("tr").drop(1)
response.consumeBody().let {
Jsoup.parse(it)
.select("div.js-categories-seasonal.js-block-list.list")
.select("table").select("tbody")
.select("tr").drop(1)
}
)
}
.filter { row ->
Expand Down Expand Up @@ -87,7 +89,7 @@ class MyAnimeListApi(private val client: OkHttpClient, interceptor: MyAnimeListI
// Get track data
val response = authClient.newCall(GET(url = editPageUrl(track.media_id))).execute()
val editData = response.use {
val page = Jsoup.parse(it.consumeBody())
val page = it.consumeBody().let { it1 -> Jsoup.parse(it1) }

// Extract track data from MAL page
extractDataFromEditPage(page).apply {
Expand All @@ -112,16 +114,23 @@ class MyAnimeListApi(private val client: OkHttpClient, interceptor: MyAnimeListI
var libTrack: Track? = null
response.use {
if (it.priorResponse?.isRedirect != true) {
val trackForm = Jsoup.parse(it.consumeBody())
val trackForm = it.consumeBody().let { it1 -> Jsoup.parse(it1) }

libTrack = Track.create(TrackManager.MYANIMELIST).apply {
last_chapter_read = trackForm.select("#add_manga_num_read_chapters").`val`().toInt()
last_chapter_read =
trackForm.select("#add_manga_num_read_chapters").`val`().toInt()
total_chapters = trackForm.select("#totalChap").text().toInt()
status = trackForm.select("#add_manga_status > option[selected]").`val`().toInt()
score = trackForm.select("#add_manga_score > option[selected]").`val`().toFloatOrNull()
status =
trackForm.select("#add_manga_status > option[selected]").`val`()
.toInt()
score =
trackForm.select("#add_manga_score > option[selected]").`val`()
.toFloatOrNull()
?: 0f
started_reading_date = trackForm.searchDatePicker("#add_manga_start_date")
finished_reading_date = trackForm.searchDatePicker("#add_manga_finish_date")
started_reading_date =
trackForm.searchDatePicker("#add_manga_start_date")
finished_reading_date =
trackForm.searchDatePicker("#add_manga_finish_date")
}
}
}
Expand Down Expand Up @@ -162,10 +171,12 @@ class MyAnimeListApi(private val client: OkHttpClient, interceptor: MyAnimeListI
return authClient.newCall(POST(url = exportListUrl(), body = exportPostBody()))
.asObservable()
.map { response ->
baseUrl + Jsoup.parse(response.consumeBody())
.select("div.goodresult")
.select("a")
.attr("href")
baseUrl + response.consumeBody().let {
Jsoup.parse(it)
.select("div.goodresult")
.select("a")
.attr("href")
}
}
}

Expand All @@ -177,17 +188,23 @@ class MyAnimeListApi(private val client: OkHttpClient, interceptor: MyAnimeListI
}
}

private fun Response.consumeBody(): String? {
private fun Response.consumeBody(): String {
use {
if (it.code != 200) throw Exception("HTTP error ${it.code}")
return it.body?.string()
return it.body.string()
}
}

private fun Response.consumeXmlBody(): String? {
private fun Response.consumeXmlBody(): String {
use { res ->
if (res.code != 200) throw Exception("Export list error")
BufferedReader(InputStreamReader(GZIPInputStream(res.body?.source()?.inputStream()))).use { reader ->
BufferedReader(
InputStreamReader(
GZIPInputStream(
res.body.source().inputStream()
)
)
).use { reader ->
val sb = StringBuilder()
reader.forEachLine { line ->
sb.append(line)
Expand Down Expand Up @@ -335,7 +352,7 @@ class MyAnimeListApi(private val client: OkHttpClient, interceptor: MyAnimeListI
return GregorianCalendar(year, month - 1, day).timeInMillis
}

private fun Element.searchTitle() = select("strong").text()!!
private fun Element.searchTitle() = select("strong").text()

private fun Element.searchTotalChapters() = if (select(TD)[4].text() == "-") 0 else select(TD)[4].text().toInt()

Expand All @@ -351,13 +368,13 @@ class MyAnimeListApi(private val client: OkHttpClient, interceptor: MyAnimeListI

private fun Element.searchSummary() = select("div.pt4")
.first()!!
.ownText()!!
.ownText()

private fun Element.searchPublishingStatus() = if (select(TD).last()!!.text() == "-") "Publishing" else "Finished"

private fun Element.searchPublishingType() = select(TD)[2].text()!!
private fun Element.searchPublishingType() = select(TD)[2].text()

private fun Element.searchStartDate() = select(TD)[6].text()!!
private fun Element.searchStartDate() = select(TD)[6].text()

private fun getStatus(status: String) = when (status) {
"Reading" -> 1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ class ShikimoriApi(private val client: OkHttpClient, interceptor: ShikimoriInter
return authClient.newCall(request)
.asObservableSuccess()
.map { netResponse ->
val responseBody = netResponse.body?.string().orEmpty()
val responseBody = netResponse.body.string()
if (responseBody.isEmpty()) {
throw Exception("Null Response")
}
Expand Down Expand Up @@ -122,13 +122,13 @@ class ShikimoriApi(private val client: OkHttpClient, interceptor: ShikimoriInter
return authClient.newCall(requestMangas)
.asObservableSuccess()
.map { netResponse ->
val responseBody = netResponse.body?.string().orEmpty()
val responseBody = netResponse.body.string()
JsonParser.parseString(responseBody).obj
}.flatMap { mangas ->
authClient.newCall(request)
.asObservableSuccess()
.map { netResponse ->
val responseBody = netResponse.body?.string().orEmpty()
val responseBody = netResponse.body.string()
if (responseBody.isEmpty()) {
throw Exception("Null Response")
}
Expand All @@ -145,13 +145,13 @@ class ShikimoriApi(private val client: OkHttpClient, interceptor: ShikimoriInter
}

fun getCurrentUser(): Int {
val user = authClient.newCall(GET("$apiUrl/users/whoami")).execute().body?.string()
val user = authClient.newCall(GET("$apiUrl/users/whoami")).execute().body.string()
return JsonParser.parseString(user).obj["id"].asInt
}

fun accessToken(code: String): Observable<OAuth> {
return client.newCall(accessTokenRequest(code)).asObservableSuccess().map { netResponse ->
val responseBody = netResponse.body?.string().orEmpty()
val responseBody = netResponse.body.string()
if (responseBody.isEmpty()) {
throw Exception("Null Response")
}
Expand Down Expand Up @@ -186,7 +186,7 @@ class ShikimoriApi(private val client: OkHttpClient, interceptor: ShikimoriInter
return "$baseMangaUrl/$remoteId"
}

fun authUrl() =
fun authUrl(): Uri =
Uri.parse(loginUrl).buildUpon()
.appendQueryParameter("client_id", clientId)
.appendQueryParameter("redirect_uri", redirectUrl)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ class ShikimoriInterceptor(val shikimori: Shikimori, val gson: Gson) : Intercept
if (currAuth.isExpired()) {
val response = chain.proceed(ShikimoriApi.refreshTokenRequest(refreshToken))
if (response.isSuccessful) {
newAuth(gson.fromJson(response.body!!.string(), OAuth::class.java))
newAuth(gson.fromJson(response.body.string(), OAuth::class.java))
} else {
response.close()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ class UpdaterService : Service() {
val apkFile = File(externalCacheDir, "update.apk")

if (response.isSuccessful) {
response.body!!.source().saveTo(apkFile)
response.body.source().saveTo(apkFile)
} else {
response.close()
throw Exception("Unsuccessful response")
Expand Down
5 changes: 3 additions & 2 deletions app/src/main/java/eu/kanade/tachiyomi/source/LocalSource.kt
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ import java.io.InputStream
import java.util.Locale
import java.util.concurrent.TimeUnit
import java.util.zip.ZipFile as ZipFileCompat
import kotlin.Comparator
import org.apache.commons.compress.archivers.zip.ZipFile
import rx.Observable
import timber.log.Timber
Expand Down Expand Up @@ -90,9 +91,9 @@ class LocalSource(private val context: Context) : CatalogueSource {
when (state?.index) {
0 -> {
mangaDirs = if (state.ascending) {
mangaDirs.sortedBy { it.name.toLowerCase(Locale.ENGLISH) }
mangaDirs.sortedBy { it.name.lowercase(Locale.ENGLISH) }
} else {
mangaDirs.sortedByDescending { it.name.toLowerCase(Locale.ENGLISH) }
mangaDirs.sortedByDescending { it.name.lowercase(Locale.ENGLISH) }
}
}
1 -> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ import exh.source.DelegatedHttpSource
import java.net.URI
import java.net.URISyntaxException
import java.security.MessageDigest
import java.util.Locale
import okhttp3.Headers
import okhttp3.OkHttpClient
import okhttp3.Request
Expand Down Expand Up @@ -81,7 +82,7 @@ abstract class HttpSource : CatalogueSource {
* Note the generated id sets the sign bit to 0.
*/
override val id by lazy {
val key = "${name.toLowerCase()}/$lang/$versionId"
val key = "${name.lowercase()}/$lang/$versionId"
val bytes = MessageDigest.getInstance("MD5").digest(key.toByteArray())
(0..7).map { bytes[it].toLong() and 0xff shl 8 * (7 - it) }.reduce(Long::or) and Long.MAX_VALUE
}
Expand All @@ -107,7 +108,7 @@ abstract class HttpSource : CatalogueSource {
/**
* Visible name of the source.
*/
override fun toString() = "$name (${lang.toUpperCase()})"
override fun toString() = "$name (${lang.uppercase(Locale.ENGLISH)})"

/**
* Returns an observable containing a page with a list of manga. Normally it's not needed to
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,11 @@ import android.net.Uri
import eu.kanade.tachiyomi.source.Source
import java.net.URI
import java.net.URISyntaxException

interface UrlImportableSource : Source {
val matchingHosts: List<String>

fun matchesUri(uri: Uri): Boolean {
return (uri.host ?: "").toLowerCase() in matchingHosts
return (uri.host ?: "").lowercase() in matchingHosts
}

// This method is allowed to block for IO if necessary
Expand Down
Loading

0 comments on commit fea4c5d

Please sign in to comment.