mirror of https://github.com/Corewala/Buran
26 lines
823 B
Kotlin
26 lines
823 B
Kotlin
package corewala.buran.ui.gemtext_adapter
|
|
|
|
import android.net.Uri
|
|
import androidx.recyclerview.widget.RecyclerView
|
|
import java.net.URI
|
|
|
|
abstract class AbstractGemtextAdapter(
|
|
val onLink: (link: URI, longTap: Boolean, adapterPosition: Int) -> Unit
|
|
): RecyclerView.Adapter<GmiViewHolder>() {
|
|
|
|
var showInlineIcons: Boolean = false
|
|
var hideCodeBlocks: Boolean = false
|
|
|
|
abstract fun render(lines: List<String>)
|
|
abstract fun loadImage(position: Int, cacheUri: Uri)
|
|
abstract fun inlineIcons(visible: Boolean)
|
|
abstract fun hideCodeBlocks(hideCodeBlocks: Boolean)
|
|
|
|
abstract fun inferTitle(): String?
|
|
|
|
companion object{
|
|
fun getAdapter(onLink: (link: URI, longTap: Boolean, adapterPosition: Int) -> Unit): AbstractGemtextAdapter {
|
|
return GemtextAdapter(onLink)
|
|
}
|
|
}
|
|
} |