mirror of https://github.com/tasks/tasks
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
1.2 KiB
Kotlin
37 lines
1.2 KiB
Kotlin
package org.tasks.dialogs
|
|
|
|
import android.app.Dialog
|
|
import android.os.Bundle
|
|
import android.text.method.LinkMovementMethod
|
|
import androidx.fragment.app.DialogFragment
|
|
import dagger.hilt.android.AndroidEntryPoint
|
|
import org.tasks.databinding.DialogWhatsNewBinding
|
|
import org.tasks.markdown.MarkdownProvider
|
|
import java.io.BufferedReader
|
|
import javax.inject.Inject
|
|
|
|
@AndroidEntryPoint
|
|
class WhatsNewDialog : DialogFragment() {
|
|
|
|
@Inject lateinit var dialogBuilder: DialogBuilder
|
|
@Inject lateinit var markdownProvider: MarkdownProvider
|
|
|
|
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
|
|
val binding = DialogWhatsNewBinding.inflate(layoutInflater)
|
|
|
|
val textStream = requireContext().assets.open("CHANGELOG.md")
|
|
val text = BufferedReader(textStream.reader()).readText()
|
|
binding.changelog.movementMethod = LinkMovementMethod.getInstance()
|
|
markdownProvider
|
|
.markdown(linkify = true, force = true)
|
|
.setMarkdown(binding.changelog, text)
|
|
|
|
binding.dismissButton.setOnClickListener {
|
|
dismiss()
|
|
}
|
|
|
|
return dialogBuilder.newDialog()
|
|
.setView(binding.root)
|
|
.show()
|
|
}
|
|
} |