From 6881c224538b6cdac4f3470a97d45916569289cf Mon Sep 17 00:00:00 2001 From: Koitharu Date: Sat, 27 May 2023 17:38:32 +0300 Subject: [PATCH] Update parsers --- app/build.gradle | 12 ++++++------ .../org/koitharu/kotatsu/core/parser/DummyParser.kt | 2 +- .../koitharu/kotatsu/settings/SourceSettingsExt.kt | 10 ++++++++-- .../org/koitharu/kotatsu/core/parser/DummyParser.kt | 2 +- 4 files changed, 16 insertions(+), 10 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 24a9609d1..11d1f3d2e 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -15,8 +15,8 @@ android { applicationId 'org.koitharu.kotatsu' minSdkVersion 21 targetSdkVersion 33 - versionCode 546 - versionName '5.1.2' + versionCode 547 + versionName '5.1.3' generatedDensities = [] testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" @@ -78,7 +78,7 @@ afterEvaluate { } dependencies { //noinspection GradleDependency - implementation('com.github.KotatsuApp:kotatsu-parsers:ebcc6391d6') { + implementation('com.github.KotatsuApp:kotatsu-parsers:fa7ea5b16a') { exclude group: 'org.json', module: 'json' } @@ -87,7 +87,7 @@ dependencies { implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.core:core-ktx:1.10.1' - implementation 'androidx.activity:activity-ktx:1.7.1' + implementation 'androidx.activity:activity-ktx:1.7.2' implementation 'androidx.fragment:fragment-ktx:1.5.7' implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.1' implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.6.1' @@ -96,7 +96,7 @@ dependencies { implementation 'androidx.constraintlayout:constraintlayout:2.1.4' implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0' implementation 'androidx.recyclerview:recyclerview:1.3.0' - implementation 'androidx.viewpager2:viewpager2:1.1.0-beta01' + implementation 'androidx.viewpager2:viewpager2:1.1.0-beta02' implementation 'androidx.preference:preference-ktx:1.2.0' implementation 'androidx.biometric:biometric-ktx:1.2.0-alpha05' implementation 'com.google.android.material:material:1.9.0' @@ -136,7 +136,7 @@ dependencies { implementation 'ch.acra:acra-http:5.9.7' implementation 'ch.acra:acra-dialog:5.9.7' - debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.10' + debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.11' testImplementation 'junit:junit:4.13.2' testImplementation 'org.json:json:20230227' diff --git a/app/src/debug/java/org/koitharu/kotatsu/core/parser/DummyParser.kt b/app/src/debug/java/org/koitharu/kotatsu/core/parser/DummyParser.kt index a60655a2a..fb96f6e64 100644 --- a/app/src/debug/java/org/koitharu/kotatsu/core/parser/DummyParser.kt +++ b/app/src/debug/java/org/koitharu/kotatsu/core/parser/DummyParser.kt @@ -17,7 +17,7 @@ import java.util.EnumSet class DummyParser(context: MangaLoaderContext) : MangaParser(context, MangaSource.DUMMY) { override val configKeyDomain: ConfigKey.Domain - get() = ConfigKey.Domain("", null) + get() = ConfigKey.Domain() override val sortOrders: Set get() = EnumSet.allOf(SortOrder::class.java) diff --git a/app/src/main/java/org/koitharu/kotatsu/settings/SourceSettingsExt.kt b/app/src/main/java/org/koitharu/kotatsu/settings/SourceSettingsExt.kt index 293f4847d..6a83af617 100644 --- a/app/src/main/java/org/koitharu/kotatsu/settings/SourceSettingsExt.kt +++ b/app/src/main/java/org/koitharu/kotatsu/settings/SourceSettingsExt.kt @@ -19,10 +19,12 @@ fun PreferenceFragmentCompat.addPreferencesFromRepository(repository: RemoteMang val preference: Preference = when (key) { is ConfigKey.Domain -> { val presetValues = key.presetValues - if (presetValues.isNullOrEmpty()) { + if (presetValues.size <= 1) { EditTextPreference(requireContext()) } else { - AutoCompleteTextViewPreference(requireContext()).apply { entries = presetValues } + AutoCompleteTextViewPreference(requireContext()).apply { + entries = presetValues.toStringArray() + } }.apply { summaryProvider = EditTextDefaultSummaryProvider(key.defaultValue) setOnBindEditTextListener( @@ -64,3 +66,7 @@ fun PreferenceFragmentCompat.addPreferencesFromRepository(repository: RemoteMang screen.addPreference(preference) } } + +private fun Array.toStringArray(): Array { + return Array(size) { i -> this[i] as? String ?: "" } +} diff --git a/app/src/release/java/org/koitharu/kotatsu/core/parser/DummyParser.kt b/app/src/release/java/org/koitharu/kotatsu/core/parser/DummyParser.kt index 12722988c..030cb28de 100644 --- a/app/src/release/java/org/koitharu/kotatsu/core/parser/DummyParser.kt +++ b/app/src/release/java/org/koitharu/kotatsu/core/parser/DummyParser.kt @@ -15,7 +15,7 @@ import java.util.EnumSet class DummyParser(context: MangaLoaderContext) : MangaParser(context, MangaSource.DUMMY) { override val configKeyDomain: ConfigKey.Domain - get() = ConfigKey.Domain("localhost", null) + get() = ConfigKey.Domain("localhost") override val sortOrders: Set get() = EnumSet.allOf(SortOrder::class.java)