Buran/app/src/main/java/corewala/buran/ui/gemtext_adapter/AbstractGemtextAdapter.kt

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)
}
}
}