Remove markwan dependancy
This commit is contained in:
parent
36c0d24143
commit
7e93557bd2
@ -330,15 +330,6 @@ dependencies {
|
|||||||
|
|
||||||
implementation 'androidx.gridlayout:gridlayout:1.0.0'
|
implementation 'androidx.gridlayout:gridlayout:1.0.0'
|
||||||
|
|
||||||
final def markwon_version = '4.5.1'
|
|
||||||
|
|
||||||
implementation "io.noties.markwon:core:$markwon_version"
|
|
||||||
implementation "io.noties.markwon:ext-strikethrough:$markwon_version"
|
|
||||||
implementation "io.noties.markwon:ext-tables:$markwon_version"
|
|
||||||
implementation "io.noties.markwon:html:$markwon_version"
|
|
||||||
implementation "io.noties.markwon:image:$markwon_version"
|
|
||||||
implementation "io.noties.markwon:linkify:$markwon_version"
|
|
||||||
|
|
||||||
implementation 'com.google.guava:guava:29.0-android'
|
implementation 'com.google.guava:guava:29.0-android'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -13,7 +13,6 @@ import eu.kanade.tachiyomi.extension.ExtensionManager
|
|||||||
import eu.kanade.tachiyomi.network.NetworkHelper
|
import eu.kanade.tachiyomi.network.NetworkHelper
|
||||||
import eu.kanade.tachiyomi.source.SourceManager
|
import eu.kanade.tachiyomi.source.SourceManager
|
||||||
import exh.eh.EHentaiUpdateHelper
|
import exh.eh.EHentaiUpdateHelper
|
||||||
import io.noties.markwon.Markwon
|
|
||||||
import kotlinx.coroutines.GlobalScope
|
import kotlinx.coroutines.GlobalScope
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import uy.kohesive.injekt.api.InjektModule
|
import uy.kohesive.injekt.api.InjektModule
|
||||||
@ -51,8 +50,6 @@ class AppModule(val app: Application) : InjektModule {
|
|||||||
|
|
||||||
// SY -->
|
// SY -->
|
||||||
addSingletonFactory { EHentaiUpdateHelper(app) }
|
addSingletonFactory { EHentaiUpdateHelper(app) }
|
||||||
|
|
||||||
addSingletonFactory { Markwon.create(app) }
|
|
||||||
// SY <--
|
// SY <--
|
||||||
|
|
||||||
// Asynchronously init expensive components for a faster cold start
|
// Asynchronously init expensive components for a faster cold start
|
||||||
|
@ -2,10 +2,6 @@ package eu.kanade.tachiyomi.source.model
|
|||||||
|
|
||||||
sealed class Filter<T>(val name: String, var state: T) {
|
sealed class Filter<T>(val name: String, var state: T) {
|
||||||
open class Header(name: String) : Filter<Any>(name, 0)
|
open class Header(name: String) : Filter<Any>(name, 0)
|
||||||
// --> EXH
|
|
||||||
// name = button text
|
|
||||||
open class HelpDialog(name: String, val dialogTitle: String = name, val markdown: String) : Filter<Any>(name, 0)
|
|
||||||
// <-- EXH
|
|
||||||
open class Separator(name: String = "") : Filter<Any>(name, 0)
|
open class Separator(name: String = "") : Filter<Any>(name, 0)
|
||||||
abstract class Select<V>(name: String, val values: Array<V>, state: Int = 0) : Filter<Int>(name, state)
|
abstract class Select<V>(name: String, val values: Array<V>, state: Int = 0) : Filter<Int>(name, state)
|
||||||
abstract class Text(name: String, state: String = "") : Filter<String>(name, state)
|
abstract class Text(name: String, state: String = "") : Filter<String>(name, state)
|
||||||
|
@ -21,7 +21,6 @@ import eu.kanade.tachiyomi.ui.browse.source.filter.CheckboxItem
|
|||||||
import eu.kanade.tachiyomi.ui.browse.source.filter.CheckboxSectionItem
|
import eu.kanade.tachiyomi.ui.browse.source.filter.CheckboxSectionItem
|
||||||
import eu.kanade.tachiyomi.ui.browse.source.filter.GroupItem
|
import eu.kanade.tachiyomi.ui.browse.source.filter.GroupItem
|
||||||
import eu.kanade.tachiyomi.ui.browse.source.filter.HeaderItem
|
import eu.kanade.tachiyomi.ui.browse.source.filter.HeaderItem
|
||||||
import eu.kanade.tachiyomi.ui.browse.source.filter.HelpDialogItem
|
|
||||||
import eu.kanade.tachiyomi.ui.browse.source.filter.SelectItem
|
import eu.kanade.tachiyomi.ui.browse.source.filter.SelectItem
|
||||||
import eu.kanade.tachiyomi.ui.browse.source.filter.SelectSectionItem
|
import eu.kanade.tachiyomi.ui.browse.source.filter.SelectSectionItem
|
||||||
import eu.kanade.tachiyomi.ui.browse.source.filter.SeparatorItem
|
import eu.kanade.tachiyomi.ui.browse.source.filter.SeparatorItem
|
||||||
@ -346,7 +345,6 @@ open class BrowseSourcePresenter(
|
|||||||
when (filter) {
|
when (filter) {
|
||||||
is Filter.Header -> HeaderItem(filter)
|
is Filter.Header -> HeaderItem(filter)
|
||||||
// --> EXH
|
// --> EXH
|
||||||
is Filter.HelpDialog -> HelpDialogItem(filter)
|
|
||||||
is Filter.AutoComplete -> AutoComplete(filter)
|
is Filter.AutoComplete -> AutoComplete(filter)
|
||||||
// <-- EXH
|
// <-- EXH
|
||||||
is Filter.Separator -> SeparatorItem(filter)
|
is Filter.Separator -> SeparatorItem(filter)
|
||||||
|
@ -1,61 +0,0 @@
|
|||||||
package eu.kanade.tachiyomi.ui.browse.source.filter
|
|
||||||
|
|
||||||
import android.annotation.SuppressLint
|
|
||||||
import android.view.View
|
|
||||||
import android.widget.Button
|
|
||||||
import android.widget.TextView
|
|
||||||
import com.afollestad.materialdialogs.MaterialDialog
|
|
||||||
import com.afollestad.materialdialogs.customview.customView
|
|
||||||
import eu.davidea.flexibleadapter.FlexibleAdapter
|
|
||||||
import eu.davidea.flexibleadapter.items.AbstractHeaderItem
|
|
||||||
import eu.davidea.flexibleadapter.items.IFlexible
|
|
||||||
import eu.davidea.viewholders.FlexibleViewHolder
|
|
||||||
import eu.kanade.tachiyomi.R
|
|
||||||
import eu.kanade.tachiyomi.source.model.Filter
|
|
||||||
import io.noties.markwon.Markwon
|
|
||||||
import uy.kohesive.injekt.injectLazy
|
|
||||||
|
|
||||||
class HelpDialogItem(val filter: Filter.HelpDialog) : AbstractHeaderItem<HelpDialogItem.Holder>() {
|
|
||||||
private val markwon: Markwon by injectLazy()
|
|
||||||
|
|
||||||
@SuppressLint("PrivateResource")
|
|
||||||
override fun getLayoutRes(): Int {
|
|
||||||
return R.layout.navigation_view_help_dialog
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun createViewHolder(view: View, adapter: FlexibleAdapter<IFlexible<androidx.recyclerview.widget.RecyclerView.ViewHolder>>): Holder {
|
|
||||||
return Holder(view, adapter)
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun bindViewHolder(adapter: FlexibleAdapter<IFlexible<androidx.recyclerview.widget.RecyclerView.ViewHolder>>, holder: Holder, position: Int, payloads: List<Any?>?) {
|
|
||||||
val view = holder.button as TextView
|
|
||||||
view.text = filter.name
|
|
||||||
view.setOnClickListener {
|
|
||||||
val v = TextView(view.context)
|
|
||||||
|
|
||||||
val parsed = markwon.parse(filter.markdown)
|
|
||||||
val rendered = markwon.render(parsed)
|
|
||||||
markwon.setParsedMarkdown(v, rendered)
|
|
||||||
|
|
||||||
MaterialDialog(view.context)
|
|
||||||
.title(text = filter.dialogTitle)
|
|
||||||
.customView(view = v, scrollable = true)
|
|
||||||
.positiveButton(android.R.string.ok)
|
|
||||||
.show()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun equals(other: Any?): Boolean {
|
|
||||||
if (this === other) return true
|
|
||||||
if (javaClass != other?.javaClass) return false
|
|
||||||
return filter == (other as HelpDialogItem).filter
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun hashCode(): Int {
|
|
||||||
return filter.hashCode()
|
|
||||||
}
|
|
||||||
|
|
||||||
class Holder(view: View, adapter: FlexibleAdapter<*>) : FlexibleViewHolder(view, adapter) {
|
|
||||||
val button: Button = itemView.findViewById(R.id.dialog_open_button)
|
|
||||||
}
|
|
||||||
}
|
|
@ -20,10 +20,9 @@ import kotlin.reflect.full.isSubclassOf
|
|||||||
|
|
||||||
class FilterSerializer {
|
class FilterSerializer {
|
||||||
private val serializers = listOf<Serializer<*>>(
|
private val serializers = listOf<Serializer<*>>(
|
||||||
// EXH -->
|
// SY -->
|
||||||
HelpDialogSerializer(this),
|
|
||||||
AutoCompleteSerializer(this),
|
AutoCompleteSerializer(this),
|
||||||
// EXH <--
|
// SY <--
|
||||||
HeaderSerializer(this),
|
HeaderSerializer(this),
|
||||||
SeparatorSerializer(this),
|
SeparatorSerializer(this),
|
||||||
SelectSerializer(this),
|
SelectSerializer(this),
|
||||||
|
@ -30,25 +30,6 @@ interface Serializer<in T : Filter<out Any?>> {
|
|||||||
val clazz: KClass<in T>
|
val clazz: KClass<in T>
|
||||||
}
|
}
|
||||||
|
|
||||||
// EXH -->
|
|
||||||
class HelpDialogSerializer(override val serializer: FilterSerializer) : Serializer<Filter.HelpDialog> {
|
|
||||||
override val type = "HELP_DIALOG"
|
|
||||||
override val clazz = Filter.HelpDialog::class
|
|
||||||
|
|
||||||
override fun mappings() = listOf(
|
|
||||||
Pair(NAME, Filter.HelpDialog::name),
|
|
||||||
Pair(DIALOG_TITLE, Filter.HelpDialog::dialogTitle),
|
|
||||||
Pair(MARKDOWN, Filter.HelpDialog::markdown)
|
|
||||||
)
|
|
||||||
|
|
||||||
companion object {
|
|
||||||
const val NAME = "name"
|
|
||||||
const val DIALOG_TITLE = "dialogTitle"
|
|
||||||
const val MARKDOWN = "markdown"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// EXH <--
|
|
||||||
|
|
||||||
class HeaderSerializer(override val serializer: FilterSerializer) : Serializer<Filter.Header> {
|
class HeaderSerializer(override val serializer: FilterSerializer) : Serializer<Filter.Header> {
|
||||||
override val type = "HEADER"
|
override val type = "HEADER"
|
||||||
override val clazz = Filter.Header::class
|
override val clazz = Filter.Header::class
|
||||||
|
Loading…
x
Reference in New Issue
Block a user