Replace material-dialogs with Material Components' SY
This commit is contained in:
@@ -5,7 +5,7 @@ import android.app.Activity
|
||||
import android.util.Log
|
||||
import androidx.core.text.HtmlCompat
|
||||
import androidx.preference.PreferenceScreen
|
||||
import com.afollestad.materialdialogs.MaterialDialog
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import eu.kanade.tachiyomi.ui.setting.SettingsController
|
||||
import eu.kanade.tachiyomi.util.preference.defaultValue
|
||||
import eu.kanade.tachiyomi.util.preference.onClick
|
||||
@@ -36,23 +36,13 @@ class SettingsDebugController : SettingsController() {
|
||||
try {
|
||||
val result = it.call(DebugFunctions)
|
||||
val text = "Function returned result:\n\n$result"
|
||||
MaterialDialog(context)
|
||||
.title(text = title.toString())
|
||||
.message(text = text) {
|
||||
messageTextView.apply {
|
||||
setHorizontallyScrolling(true)
|
||||
setTextIsSelectable(true)
|
||||
}
|
||||
}
|
||||
MaterialAlertDialogBuilder(context)
|
||||
.setTitle(title.toString())
|
||||
.setMessage(text)
|
||||
} catch (t: Throwable) {
|
||||
val text = "Function threw exception:\n\n${Log.getStackTraceString(t)}"
|
||||
MaterialDialog(context)
|
||||
.message(text = text) {
|
||||
messageTextView.apply {
|
||||
setHorizontallyScrolling(true)
|
||||
setTextIsSelectable(true)
|
||||
}
|
||||
}
|
||||
MaterialAlertDialogBuilder(context)
|
||||
.setMessage(text)
|
||||
}.show()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ package exh.favorites
|
||||
|
||||
import android.content.Context
|
||||
import androidx.core.text.HtmlCompat
|
||||
import com.afollestad.materialdialogs.MaterialDialog
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import eu.kanade.tachiyomi.R
|
||||
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
||||
import uy.kohesive.injekt.injectLazy
|
||||
@@ -10,12 +10,12 @@ import uy.kohesive.injekt.injectLazy
|
||||
class FavoritesIntroDialog {
|
||||
private val prefs: PreferencesHelper by injectLazy()
|
||||
|
||||
fun show(context: Context) = MaterialDialog(context)
|
||||
.title(R.string.favorites_sync_notes)
|
||||
.message(text = HtmlCompat.fromHtml(context.getString(R.string.favorites_sync_notes_message), HtmlCompat.FROM_HTML_MODE_LEGACY))
|
||||
.positiveButton(android.R.string.ok) {
|
||||
fun show(context: Context) = MaterialAlertDialogBuilder(context)
|
||||
.setTitle(R.string.favorites_sync_notes)
|
||||
.setMessage(HtmlCompat.fromHtml(context.getString(R.string.favorites_sync_notes_message), HtmlCompat.FROM_HTML_MODE_LEGACY))
|
||||
.setPositiveButton(android.R.string.ok) { _, _ ->
|
||||
prefs.exhShowSyncIntro().set(false)
|
||||
}
|
||||
.cancelable(false)
|
||||
.setCancelable(false)
|
||||
.show()
|
||||
}
|
||||
|
||||
@@ -3,7 +3,8 @@ package exh.uconfig
|
||||
import android.app.Dialog
|
||||
import android.os.Bundle
|
||||
import android.view.View
|
||||
import com.afollestad.materialdialogs.MaterialDialog
|
||||
import androidx.appcompat.app.AlertDialog
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import eu.kanade.tachiyomi.R
|
||||
import eu.kanade.tachiyomi.ui.base.controller.DialogController
|
||||
import eu.kanade.tachiyomi.util.lang.launchIO
|
||||
@@ -14,7 +15,7 @@ import kotlinx.coroutines.MainScope
|
||||
import kotlinx.coroutines.cancel
|
||||
|
||||
class ConfiguringDialogController : DialogController() {
|
||||
private var materialDialog: MaterialDialog? = null
|
||||
private var materialDialog: AlertDialog? = null
|
||||
val scope = MainScope()
|
||||
|
||||
override fun onCreateDialog(savedViewState: Bundle?): Dialog {
|
||||
@@ -28,10 +29,10 @@ class ConfiguringDialogController : DialogController() {
|
||||
} catch (e: Exception) {
|
||||
launchUI {
|
||||
activity?.let {
|
||||
MaterialDialog(it)
|
||||
.title(R.string.eh_settings_configuration_failed)
|
||||
.message(text = it.getString(R.string.eh_settings_configuration_failed_message, e.message))
|
||||
.positiveButton(android.R.string.ok)
|
||||
MaterialAlertDialogBuilder(it)
|
||||
.setTitle(R.string.eh_settings_configuration_failed)
|
||||
.setMessage(it.getString(R.string.eh_settings_configuration_failed_message, e.message))
|
||||
.setPositiveButton(android.R.string.ok, null)
|
||||
.show()
|
||||
}
|
||||
}
|
||||
@@ -43,10 +44,11 @@ class ConfiguringDialogController : DialogController() {
|
||||
}
|
||||
}
|
||||
|
||||
return MaterialDialog(activity!!)
|
||||
.title(R.string.eh_settings_uploading_to_server)
|
||||
.message(R.string.eh_settings_uploading_to_server_message)
|
||||
.cancelable(false)
|
||||
return MaterialAlertDialogBuilder(activity!!)
|
||||
.setTitle(R.string.eh_settings_uploading_to_server)
|
||||
.setMessage(R.string.eh_settings_uploading_to_server_message)
|
||||
.setCancelable(false)
|
||||
.create()
|
||||
.also {
|
||||
materialDialog = it
|
||||
}
|
||||
|
||||
@@ -2,8 +2,8 @@ package exh.uconfig
|
||||
|
||||
import android.app.Dialog
|
||||
import android.os.Bundle
|
||||
import com.afollestad.materialdialogs.MaterialDialog
|
||||
import com.bluelinelabs.conductor.Router
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import eu.kanade.tachiyomi.R
|
||||
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
||||
import eu.kanade.tachiyomi.ui.base.controller.DialogController
|
||||
@@ -14,14 +14,15 @@ import uy.kohesive.injekt.injectLazy
|
||||
class WarnConfigureDialogController : DialogController() {
|
||||
private val prefs: PreferencesHelper by injectLazy()
|
||||
override fun onCreateDialog(savedViewState: Bundle?): Dialog {
|
||||
return MaterialDialog(activity!!)
|
||||
.title(R.string.settings_profile_note)
|
||||
.message(R.string.settings_profile_note_message)
|
||||
.positiveButton(android.R.string.ok) {
|
||||
return MaterialAlertDialogBuilder(activity!!)
|
||||
.setTitle(R.string.settings_profile_note)
|
||||
.setMessage(R.string.settings_profile_note_message)
|
||||
.setPositiveButton(android.R.string.ok) { _, _ ->
|
||||
prefs.exhShowSettingsUploadWarning().set(false)
|
||||
ConfiguringDialogController().showDialog(router)
|
||||
}
|
||||
.cancelable(false)
|
||||
.setCancelable(false)
|
||||
.create()
|
||||
}
|
||||
|
||||
companion object {
|
||||
|
||||
@@ -3,7 +3,7 @@ package exh.ui.batchadd
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.widget.TextView
|
||||
import com.afollestad.materialdialogs.MaterialDialog
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import eu.kanade.tachiyomi.R
|
||||
import eu.kanade.tachiyomi.databinding.EhFragmentBatchAddBinding
|
||||
import eu.kanade.tachiyomi.ui.base.controller.NucleusController
|
||||
@@ -143,12 +143,10 @@ class BatchAddController : NucleusController<EhFragmentBatchAddBinding, BatchAdd
|
||||
|
||||
private fun noGalleriesSpecified() {
|
||||
activity?.let {
|
||||
MaterialDialog(it)
|
||||
.title(R.string.batch_add_no_valid_galleries)
|
||||
.message(R.string.batch_add_no_valid_galleries_message)
|
||||
.positiveButton(android.R.string.ok) { materialDialog -> materialDialog.dismiss() }
|
||||
.cancelable(true)
|
||||
.cancelOnTouchOutside(true)
|
||||
MaterialAlertDialogBuilder(it)
|
||||
.setTitle(R.string.batch_add_no_valid_galleries)
|
||||
.setMessage(R.string.batch_add_no_valid_galleries_message)
|
||||
.setPositiveButton(android.R.string.ok, null)
|
||||
.show()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@ import android.webkit.JsResult
|
||||
import android.webkit.WebChromeClient
|
||||
import android.webkit.WebView
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import com.afollestad.materialdialogs.MaterialDialog
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import eu.kanade.tachiyomi.R
|
||||
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
||||
import eu.kanade.tachiyomi.databinding.EhActivityCaptchaBinding
|
||||
@@ -190,12 +190,10 @@ class BrowserActionActivity : AppCompatActivity() {
|
||||
xLogE("Captcha solve Error", IllegalStateException("Captcha solve failure!"))
|
||||
withUIContext {
|
||||
binding.webview.evaluateJavascript(SOLVE_UI_SCRIPT_HIDE, null)
|
||||
MaterialDialog(this@BrowserActionActivity)
|
||||
.title(R.string.captcha_solve_failure)
|
||||
.message(R.string.captcha_solve_failure_message)
|
||||
.cancelable(true)
|
||||
.cancelOnTouchOutside(true)
|
||||
.positiveButton(android.R.string.ok)
|
||||
MaterialAlertDialogBuilder(this@BrowserActionActivity)
|
||||
.setTitle(R.string.captcha_solve_failure)
|
||||
.setMessage(R.string.captcha_solve_failure_message)
|
||||
.setPositiveButton(android.R.string.ok, null)
|
||||
.show()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,10 +5,7 @@ import android.os.Bundle
|
||||
import android.view.MenuItem
|
||||
import androidx.core.view.isVisible
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import com.afollestad.materialdialogs.MaterialDialog
|
||||
import com.afollestad.materialdialogs.callbacks.onCancel
|
||||
import com.afollestad.materialdialogs.callbacks.onDismiss
|
||||
import com.afollestad.materialdialogs.list.listItemsSingleChoice
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import eu.kanade.tachiyomi.R
|
||||
import eu.kanade.tachiyomi.data.database.models.Chapter
|
||||
import eu.kanade.tachiyomi.data.database.models.Manga
|
||||
@@ -83,14 +80,12 @@ class InterceptActivity : BaseViewBindingActivity<EhActivityInterceptBinding>()
|
||||
is InterceptResult.Failure -> {
|
||||
binding.interceptProgress.isVisible = false
|
||||
binding.interceptStatus.text = this.getString(R.string.error_with_reason, it.reason)
|
||||
MaterialDialog(this)
|
||||
.title(R.string.chapter_error)
|
||||
.message(text = this.getString(R.string.could_not_open_manga, it.reason))
|
||||
.cancelable(true)
|
||||
.cancelOnTouchOutside(true)
|
||||
.positiveButton(android.R.string.ok)
|
||||
.onCancel { onBackPressed() }
|
||||
.onDismiss { onBackPressed() }
|
||||
MaterialAlertDialogBuilder(this)
|
||||
.setTitle(R.string.chapter_error)
|
||||
.setMessage(getString(R.string.could_not_open_manga, it.reason))
|
||||
.setPositiveButton(android.R.string.ok, null)
|
||||
.setOnCancelListener { onBackPressed() }
|
||||
.setOnDismissListener { onBackPressed() }
|
||||
.show()
|
||||
}
|
||||
}
|
||||
@@ -114,9 +109,10 @@ class InterceptActivity : BaseViewBindingActivity<EhActivityInterceptBinding>()
|
||||
status.value = InterceptResult.Loading
|
||||
val sources = galleryAdder.pickSource(gallery)
|
||||
if (sources.size > 1) {
|
||||
MaterialDialog(this)
|
||||
.title(R.string.label_sources)
|
||||
.listItemsSingleChoice(items = sources.map { it.toString() }) { _, index, _ ->
|
||||
MaterialAlertDialogBuilder(this)
|
||||
.setTitle(R.string.label_sources)
|
||||
.setSingleChoiceItems(sources.map { it.toString() }.toTypedArray(), 0) { dialog, index ->
|
||||
dialog.dismiss()
|
||||
loadGalleryEnd(gallery, sources[index])
|
||||
}
|
||||
.show()
|
||||
|
||||
@@ -13,8 +13,7 @@ import android.widget.Toast
|
||||
import androidx.core.view.isInvisible
|
||||
import androidx.core.view.isVisible
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import com.afollestad.materialdialogs.MaterialDialog
|
||||
import com.afollestad.materialdialogs.input.input
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import eu.kanade.tachiyomi.BuildConfig
|
||||
import eu.kanade.tachiyomi.R
|
||||
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
||||
@@ -25,6 +24,7 @@ import eu.kanade.tachiyomi.util.lang.launchUI
|
||||
import eu.kanade.tachiyomi.util.system.WebViewUtil
|
||||
import eu.kanade.tachiyomi.util.system.setDefaultSettings
|
||||
import eu.kanade.tachiyomi.util.system.toast
|
||||
import eu.kanade.tachiyomi.widget.materialdialogs.setTextInput
|
||||
import exh.log.xLogD
|
||||
import kotlinx.coroutines.flow.launchIn
|
||||
import kotlinx.coroutines.flow.onEach
|
||||
@@ -147,18 +147,18 @@ class EhLoginActivity : BaseViewBindingActivity<EhActivityLoginBinding>() {
|
||||
|
||||
private fun openIgneousDialog() {
|
||||
var igneous: CharSequence? = null
|
||||
MaterialDialog(this)
|
||||
.title(R.string.custom_igneous_cookie)
|
||||
.message(R.string.custom_igneous_cookie_message)
|
||||
.input { _, charSequence ->
|
||||
igneous = charSequence
|
||||
MaterialAlertDialogBuilder(this)
|
||||
.setTitle(R.string.custom_igneous_cookie)
|
||||
.setMessage(R.string.custom_igneous_cookie_message)
|
||||
.setTextInput { igneousText ->
|
||||
igneous = igneousText
|
||||
}
|
||||
.positiveButton(android.R.string.ok) {
|
||||
.setPositiveButton(android.R.string.ok) { _, _ ->
|
||||
if (!igneous.isNullOrBlank()) {
|
||||
this.igneous = igneous?.toString()?.trim()
|
||||
}
|
||||
}
|
||||
.negativeButton(android.R.string.cancel)
|
||||
.setNegativeButton(android.R.string.cancel, null)
|
||||
.show()
|
||||
}
|
||||
|
||||
|
||||
@@ -5,11 +5,10 @@ import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
import androidx.core.os.bundleOf
|
||||
import androidx.core.view.isVisible
|
||||
import com.afollestad.materialdialogs.MaterialDialog
|
||||
import com.afollestad.materialdialogs.customview.customView
|
||||
import com.bluelinelabs.conductor.ControllerChangeHandler
|
||||
import com.bluelinelabs.conductor.ControllerChangeType
|
||||
import com.dd.processbutton.iml.ActionProcessButton
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import eu.kanade.tachiyomi.R
|
||||
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
||||
import eu.kanade.tachiyomi.databinding.PrefSiteLoginTwoFactorAuthBinding
|
||||
@@ -48,12 +47,10 @@ class MangadexLoginDialog(bundle: Bundle? = null) : DialogController(bundle) {
|
||||
|
||||
override fun onCreateDialog(savedViewState: Bundle?): Dialog {
|
||||
binding = PrefSiteLoginTwoFactorAuthBinding.inflate(LayoutInflater.from(activity!!))
|
||||
val dialog = MaterialDialog(activity!!)
|
||||
.customView(view = binding.root, scrollable = false)
|
||||
|
||||
onViewCreated()
|
||||
|
||||
return dialog
|
||||
return MaterialAlertDialogBuilder(activity!!)
|
||||
.setView(binding.root)
|
||||
.create()
|
||||
}
|
||||
|
||||
fun onViewCreated() {
|
||||
|
||||
@@ -3,7 +3,7 @@ package exh.widget.preference
|
||||
import android.app.Dialog
|
||||
import android.os.Bundle
|
||||
import androidx.core.os.bundleOf
|
||||
import com.afollestad.materialdialogs.MaterialDialog
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import eu.kanade.tachiyomi.R
|
||||
import eu.kanade.tachiyomi.data.track.TrackManager
|
||||
import eu.kanade.tachiyomi.source.Source
|
||||
@@ -34,9 +34,9 @@ class MangadexLogoutDialog(bundle: Bundle? = null) : DialogController(bundle) {
|
||||
)
|
||||
|
||||
override fun onCreateDialog(savedViewState: Bundle?): Dialog {
|
||||
return MaterialDialog(activity!!)
|
||||
.title(R.string.logout)
|
||||
.positiveButton(R.string.logout) {
|
||||
return MaterialAlertDialogBuilder(activity!!)
|
||||
.setTitle(R.string.logout)
|
||||
.setPositiveButton(R.string.logout) { _, _ ->
|
||||
launchNow {
|
||||
supervisorScope {
|
||||
if (source != null) {
|
||||
@@ -66,7 +66,8 @@ class MangadexLogoutDialog(bundle: Bundle? = null) : DialogController(bundle) {
|
||||
}
|
||||
}
|
||||
}
|
||||
.negativeButton(android.R.string.cancel)
|
||||
.setNegativeButton(android.R.string.cancel, null)
|
||||
.create()
|
||||
}
|
||||
|
||||
interface Listener {
|
||||
|
||||
Reference in New Issue
Block a user