Skip to content

Commit

Permalink
Merge branch 'pr38'
Browse files Browse the repository at this point in the history
  • Loading branch information
jmir1 committed Jun 2, 2021
2 parents df587c0 + 9b77dd9 commit 4099433
Show file tree
Hide file tree
Showing 28 changed files with 542 additions and 317 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package eu.kanade.tachiyomi.data.updater.github
package eu.kanade.tachiyomi.data.updater

import eu.kanade.tachiyomi.data.updater.Release
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable

Expand All @@ -15,15 +14,15 @@ import kotlinx.serialization.Serializable
@Serializable
class GithubRelease(
@SerialName("tag_name") val version: String,
@SerialName("body") override val info: String,
@SerialName("body") val info: String,
@SerialName("assets") private val assets: List<Assets>
) : Release {
) {

/**
* Get download link of latest release from the assets.
* @return download link of latest release.
*/
override val downloadLink: String
val downloadLink: String
get() = assets[0].downloadLink

/**
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package eu.kanade.tachiyomi.data.updater.github
package eu.kanade.tachiyomi.data.updater

import eu.kanade.tachiyomi.BuildConfig
import eu.kanade.tachiyomi.data.updater.UpdateResult
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.network.NetworkHelper
import eu.kanade.tachiyomi.network.await
Expand All @@ -21,7 +20,7 @@ class GithubUpdateChecker {
}
}

suspend fun checkForUpdate(): UpdateResult {
suspend fun checkForUpdate(): GithubUpdateResult {
return withIOContext {
networkService.client
.newCall(GET("https://api.github.com/repos/$repo/releases/latest"))
Expand All @@ -32,7 +31,7 @@ class GithubUpdateChecker {
if (isNewVersion(it.version)) {
GithubUpdateResult.NewUpdate(it)
} else {
GithubUpdateResult.NoNewUpdate()
GithubUpdateResult.NoNewUpdate
}
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
package eu.kanade.tachiyomi.data.updater

sealed class GithubUpdateResult {
class NewUpdate(val release: GithubRelease) : GithubUpdateResult()
object NoNewUpdate : GithubUpdateResult()
}
12 changes: 0 additions & 12 deletions app/src/main/java/eu/kanade/tachiyomi/data/updater/Release.kt

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import androidx.work.PeriodicWorkRequestBuilder
import androidx.work.WorkManager
import androidx.work.Worker
import androidx.work.WorkerParameters
import eu.kanade.tachiyomi.data.updater.github.GithubUpdateChecker
import kotlinx.coroutines.runBlocking
import java.util.concurrent.TimeUnit

Expand All @@ -19,7 +18,7 @@ class UpdaterJob(private val context: Context, workerParams: WorkerParameters) :
try {
val result = GithubUpdateChecker().checkForUpdate()

if (result is UpdateResult.NewUpdate<*>) {
if (result is GithubUpdateResult.NewUpdate) {
UpdaterNotifier(context).promptUpdate(result.release.downloadLink)
}
Result.success()
Expand Down

This file was deleted.

6 changes: 3 additions & 3 deletions app/src/main/java/eu/kanade/tachiyomi/source/LocalSource.kt
Original file line number Diff line number Diff line change
Expand Up @@ -84,9 +84,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 Expand Up @@ -238,7 +238,7 @@ class LocalSource(private val context: Context) : CatalogueSource {
}

private fun isSupportedFile(extension: String): Boolean {
return extension.toLowerCase(Locale.ROOT) in SUPPORTED_ARCHIVE_TYPES
return extension.lowercase() in SUPPORTED_ARCHIVE_TYPES
}

fun getFormat(chapter: SChapter): Format {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,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 @@ -80,7 +80,7 @@ abstract class HttpSource : CatalogueSource {
/**
* Visible name of the source.
*/
override fun toString() = "$name (${lang.toUpperCase()})"
override fun toString() = "$name (${lang.uppercase()})"

/**
* 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 @@ -40,7 +40,7 @@ class ExtensionHolder(view: View, val adapter: ExtensionAdapter) :
extension is Extension.Installed && extension.isObsolete -> itemView.context.getString(R.string.ext_obsolete)
extension.isNsfw && shouldLabelNsfw -> itemView.context.getString(R.string.ext_nsfw_short)
else -> ""
}.toUpperCase()
}.uppercase()

binding.image.clear()
if (extension is Extension.Available) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ class ExtensionDetailsController(bundle: Bundle? = null) :
.forEach {
val preferenceBlock = {
it.value
.sortedWith(compareBy({ !it.isEnabled() }, { it.name.toLowerCase() }))
.sortedWith(compareBy({ !it.isEnabled() }, { it.name.lowercase() }))
.forEach { source ->
val sourcePrefs = mutableListOf<Preference>()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,11 @@ class SourceSearchController(
dialog.showDialog(router)
return true
}

override fun onItemLongClick(position: Int) {
view?.let { super.onItemClick(it, position) }
}

private companion object {
const val MANGA_KEY = "oldManga"
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ class MigrationSourcesPresenter(
val source = sourceManager.getOrStub(it.key)
SourceItem(source, it.value.size, header)
}
.sortedBy { it.source.name.toLowerCase() }
.sortedBy { it.source.name.lowercase() }
.toList()
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ class SourceFilterController : SettingsController() {
)

orderedLangs.forEach { lang ->
val sources = sourcesByLang[lang].orEmpty().sortedBy { it.name.toLowerCase() }
val sources = sourcesByLang[lang].orEmpty().sortedBy { it.name.lowercase() }

// Create a preference group and set initial state and change listener
switchPreferenceCategory {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ class SourcePresenter(
return sourceManager.getCatalogueSources()
.filter { it.lang in languages }
.filterNot { it.id.toString() in disabledSourceIds }
.sortedBy { "(${it.lang}) ${it.name.toLowerCase()}" } +
.sortedBy { "(${it.lang}) ${it.name.lowercase()}" } +
sourceManager.get(LocalSource.ID) as LocalSource
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ open class GlobalSearchPresenter(
return sourceManager.getCatalogueSources()
.filter { it.lang in languages }
.filterNot { it.id.toString() in disabledSourceIds }
.sortedWith(compareBy({ it.id.toString() !in pinnedSourceIds }, { "${it.name.toLowerCase()} (${it.lang})" }))
.sortedWith(compareBy({ it.id.toString() !in pinnedSourceIds }, { "${it.name.lowercase()} (${it.lang})" }))
}

private fun getSourcesToQuery(): List<CatalogueSource> {
Expand Down Expand Up @@ -185,7 +185,7 @@ open class GlobalSearchPresenter(
{ it.results.isNullOrEmpty() },
// Same as initial sort, i.e. pinned first then alphabetically
{ it.source.id.toString() !in pinnedSourceIds },
{ "${it.source.name.toLowerCase()} (${it.source.lang})" }
{ "${it.source.name.lowercase()} (${it.source.lang})" }
)
)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -275,7 +275,6 @@ class MangaInfoHeaderAdapter(

// Handle showing more or less info
merge(
binding.mangaSummarySection.clicks(),
binding.mangaSummaryText.clicks(),
binding.mangaInfoToggleMore.clicks(),
binding.mangaInfoToggleLess.clicks()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ import com.afollestad.materialdialogs.MaterialDialog
import com.mikepenz.aboutlibraries.LibsBuilder
import eu.kanade.tachiyomi.BuildConfig
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.data.updater.UpdateResult
import eu.kanade.tachiyomi.data.updater.GithubUpdateChecker
import eu.kanade.tachiyomi.data.updater.GithubUpdateResult
import eu.kanade.tachiyomi.data.updater.UpdaterService
import eu.kanade.tachiyomi.data.updater.github.GithubUpdateChecker
import eu.kanade.tachiyomi.ui.base.controller.DialogController
import eu.kanade.tachiyomi.ui.base.controller.NoToolbarElevationController
import eu.kanade.tachiyomi.ui.base.controller.openInBrowser
Expand All @@ -23,7 +23,6 @@ import eu.kanade.tachiyomi.util.preference.onClick
import eu.kanade.tachiyomi.util.preference.preference
import eu.kanade.tachiyomi.util.preference.titleRes
import eu.kanade.tachiyomi.util.system.copyToClipboard
import eu.kanade.tachiyomi.util.system.openInBrowser
import eu.kanade.tachiyomi.util.system.toast
import timber.log.Timber
import java.text.DateFormat
Expand Down Expand Up @@ -110,14 +109,14 @@ class AboutController : SettingsController(), NoToolbarElevationController {
launchNow {
try {
when (val result = updateChecker.checkForUpdate()) {
is UpdateResult.NewUpdate<*> -> {
is GithubUpdateResult.NewUpdate -> {
val body = result.release.info
val url = result.release.downloadLink

// Create confirmation window
NewUpdateDialogController(body, url).showDialog(router)
}
is UpdateResult.NoNewUpdate -> {
is GithubUpdateResult.NoNewUpdate -> {
activity?.toast(R.string.update_check_no_new_updates)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import eu.kanade.tachiyomi.data.preference.CHARGING
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
import eu.kanade.tachiyomi.data.preference.UNMETERED_NETWORK
import eu.kanade.tachiyomi.data.preference.asImmediateFlow
import eu.kanade.tachiyomi.data.track.TrackManager
import eu.kanade.tachiyomi.ui.base.controller.DialogController
import eu.kanade.tachiyomi.ui.base.controller.withFadeTransaction
import eu.kanade.tachiyomi.ui.category.CategoryController
Expand All @@ -39,11 +40,13 @@ import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.onEach
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import uy.kohesive.injekt.injectLazy
import eu.kanade.tachiyomi.data.preference.PreferenceKeys as Keys

class SettingsLibraryController : SettingsController() {

private val db: DatabaseHelper = Injekt.get()
private val trackManager: TrackManager by injectLazy()

override fun setupPreferenceScreen(screen: PreferenceScreen) = screen.apply {
titleRes = R.string.pref_category_library
Expand Down Expand Up @@ -265,11 +268,13 @@ class SettingsLibraryController : SettingsController() {
summaryRes = R.string.pref_library_update_refresh_metadata_summary
defaultValue = false
}
switchPreference {
key = Keys.autoUpdateTrackers
titleRes = R.string.pref_library_update_refresh_trackers
summaryRes = R.string.pref_library_update_refresh_trackers_summary
defaultValue = false
if (trackManager.hasLoggedServices()) {
switchPreference {
key = Keys.autoUpdateTrackers
titleRes = R.string.pref_library_update_refresh_trackers
summaryRes = R.string.pref_library_update_refresh_trackers_summary
defaultValue = false
}
}
switchPreference {
key = Keys.showLibraryUpdateErrors
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ object ChapterRecognition {
}

// Get chapter title with lower case
var name = chapter.name.toLowerCase()
var name = chapter.name.lowercase()

// Remove comma's from chapter.
name = name.replace(',', '.')
Expand Down Expand Up @@ -77,7 +77,7 @@ object ChapterRecognition {
}

// Remove manga title from chapter title.
val nameWithoutManga = name.replace(manga.title.toLowerCase(), "").trim()
val nameWithoutManga = name.replace(manga.title.lowercase(), "").trim()

// Check if first value is number after title remove.
if (updateChapter(withoutManga.find(nameWithoutManga), chapter)) {
Expand Down Expand Up @@ -147,6 +147,6 @@ object ChapterRecognition {
* x.a -> x.1, x.b -> x.2, etc
*/
private fun parseAlphaPostFix(alpha: Char): Float {
return ("0." + (alpha.toInt() - 96).toString()).toFloat()
return ("0." + (alpha.code - 96).toString()).toFloat()
}
}
35 changes: 29 additions & 6 deletions app/src/main/res/drawable/library_item_selector.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,39 @@
android:color="?attr/colorLibrarySelection">
<item>
<selector>
<item android:state_selected="true">
<color android:color="?attr/colorLibrarySelectionActive" />
<item
android:state_selected="true"
android:top="2dp"
android:right="2dp"
android:bottom="2dp"
android:left="2dp">
<shape android:shape="rectangle">
<corners android:radius="@dimen/card_radius" />
<solid android:color="?attr/colorLibrarySelectionActive" />
</shape>
</item>

<item android:state_activated="true">
<color android:color="?attr/colorLibrarySelectionActive" />
<item
android:state_activated="true"
android:top="2dp"
android:right="2dp"
android:bottom="2dp"
android:left="2dp">
<shape android:shape="rectangle">
<corners android:radius="@dimen/card_radius" />
<solid android:color="?attr/colorLibrarySelectionActive" />
</shape>
</item>

<item>
<color android:color="?android:attr/colorBackground" />
<item
android:top="2dp"
android:right="2dp"
android:bottom="2dp"
android:left="2dp">
<shape android:shape="rectangle">
<corners android:radius="@dimen/card_radius" />
<solid android:color="?android:attr/colorBackground" />
</shape>
</item>
</selector>
</item>
Expand Down
Loading

0 comments on commit 4099433

Please sign in to comment.