Skip to content

Commit

Permalink
refactor(settings): fully drop deprecated ProgressDialog
Browse files Browse the repository at this point in the history
  • Loading branch information
WhiredPlanck committed Jan 11, 2022
1 parent da5d73d commit eb3790d
Show file tree
Hide file tree
Showing 7 changed files with 66 additions and 42 deletions.
12 changes: 4 additions & 8 deletions app/src/main/java/com/osfans/trime/settings/PrefMainActivity.kt
@@ -1,7 +1,6 @@
package com.osfans.trime.settings

import android.Manifest
import android.app.ProgressDialog
import android.content.Intent
import android.content.pm.PackageManager
import android.net.Uri
Expand Down Expand Up @@ -30,6 +29,7 @@ import com.osfans.trime.settings.components.SchemaPickerDialog
import com.osfans.trime.setup.SetupActivity
import com.osfans.trime.util.AndroidVersion
import com.osfans.trime.util.RimeUtils
import com.osfans.trime.util.createLoadingDialog
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.MainScope
import kotlinx.coroutines.delay
Expand Down Expand Up @@ -173,11 +173,8 @@ class PrefMainActivity :
true
}
R.id.preference__menu_deploy -> {
@Suppress("DEPRECATION")
val progressDialog = ProgressDialog(this).apply {
setMessage(getString(R.string.deploy_progress))
show()
}
val progressDialog = createLoadingDialog(this, R.string.deploy_progress)
progressDialog.show()
Trime.getServiceOrNull()?.initKeyboard()
launch {
try {
Expand Down Expand Up @@ -225,7 +222,6 @@ class PrefMainActivity :
)
}
.setNegativeButton(android.R.string.cancel, null)
.create()
.show()
} else {
ToastUtils.showShort(R.string.external_storage_permission_not_available)
Expand Down Expand Up @@ -257,7 +253,7 @@ class PrefMainActivity :
startActivity(intent)
}
.setNegativeButton(android.R.string.cancel, null)
.create().show()
.show()
}
}
}
Expand Down
@@ -1,7 +1,6 @@
package com.osfans.trime.settings.components

import android.app.Dialog
import android.app.ProgressDialog
import android.content.Context
import android.os.Build
import android.view.WindowManager
Expand All @@ -11,6 +10,7 @@ import com.osfans.trime.Rime
import com.osfans.trime.ime.core.Trime
import com.osfans.trime.setup.Config
import com.osfans.trime.util.RimeUtils
import com.osfans.trime.util.createLoadingDialog
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.Job
Expand All @@ -34,8 +34,7 @@ class SchemaPickerDialog(
private lateinit var schemaNames: Array<String?>
var pickerDialogBuilder: AlertDialog.Builder? = null

@Suppress("DEPRECATION")
private var progressDialog: ProgressDialog
private var progressDialog: AlertDialog

companion object {
private class SortByName : Comparator<Map<String?, String?>> {
Expand All @@ -50,11 +49,7 @@ class SchemaPickerDialog(
}

init {
@Suppress("DEPRECATION")
progressDialog = ProgressDialog(context).apply {
setMessage(context.getString(R.string.schemas_progress))
setCancelable(false)
}
progressDialog = createLoadingDialog(context, R.string.schemas_progress)
}

private fun showPickerDialog() {
Expand All @@ -69,10 +64,7 @@ class SchemaPickerDialog(
pickerDialogBuilder!!.apply {
setNegativeButton(android.R.string.cancel, null)
setPositiveButton(android.R.string.ok) { _, _ ->
@Suppress("DEPRECATION")
progressDialog = ProgressDialog(context).also {
setMessage(context.getString(R.string.deploy_progress))
}.also {
progressDialog = createLoadingDialog(context, R.string.deploy_progress).also {
appendDialogParams(it)
it.show()
}
Expand Down
@@ -1,14 +1,14 @@
package com.osfans.trime.settings.components

import android.app.Dialog
import android.app.ProgressDialog
import android.content.Context
import android.os.Build
import android.view.WindowManager
import androidx.appcompat.app.AlertDialog
import com.osfans.trime.R
import com.osfans.trime.ime.core.Trime
import com.osfans.trime.setup.Config
import com.osfans.trime.util.createLoadingDialog
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.MainScope
Expand All @@ -18,7 +18,7 @@ import kotlinx.coroutines.withContext

// show sound schema list
class SoundPickerDialog(
private val context: Context
context: Context
) : CoroutineScope by MainScope() {

private val config = Config.get(context)
Expand All @@ -27,8 +27,7 @@ class SoundPickerDialog(
private var checkedId: Int = 0
val pickerDialog: AlertDialog

@Suppress("DEPRECATION")
private val progressDialog: ProgressDialog
private val progressDialog: AlertDialog

init {
soundPackageFiles = Config.getSoundPackages()
Expand All @@ -48,11 +47,7 @@ class SoundPickerDialog(
) { _, id -> checkedId = id }
}.create()
// Init progress dialog
@Suppress("DEPRECATION")
progressDialog = ProgressDialog(context).apply {
setMessage(context.getString(R.string.sound_progress))
setCancelable(false)
}
progressDialog = createLoadingDialog(context, R.string.sound_progress)
}

private fun appendDialogParams(dialog: Dialog) {
Expand Down
@@ -1,14 +1,14 @@
package com.osfans.trime.settings.components

import android.app.Dialog
import android.app.ProgressDialog
import android.content.Context
import android.os.Build
import android.view.WindowManager
import androidx.appcompat.app.AlertDialog
import com.osfans.trime.R
import com.osfans.trime.ime.core.Trime
import com.osfans.trime.setup.Config
import com.osfans.trime.util.createLoadingDialog
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.MainScope
Expand All @@ -27,7 +27,7 @@ class ThemePickerDialog(
private var checkedId: Int = 0
val pickerDialog: AlertDialog
@Suppress("DEPRECATION")
private val progressDialog: ProgressDialog
private val progressDialog: AlertDialog

init {
val themeFile = config.theme + ".yaml"
Expand Down Expand Up @@ -61,11 +61,7 @@ class ThemePickerDialog(
) { _, id -> checkedId = id }
}.create()
// Init progress dialog
@Suppress("DEPRECATION")
progressDialog = ProgressDialog(context).apply {
setMessage(context.getString(R.string.themes_progress))
setCancelable(false)
}
progressDialog = createLoadingDialog(context, R.string.themes_progress)
}

private fun appendDialogParams(dialog: Dialog) {
Expand Down
@@ -1,6 +1,5 @@
package com.osfans.trime.settings.fragments

import android.app.ProgressDialog
import android.content.Context
import android.os.Bundle
import android.view.Menu
Expand All @@ -12,6 +11,7 @@ import com.osfans.trime.R
import com.osfans.trime.ime.core.Preferences
import com.osfans.trime.settings.components.ResetAssetsDialog
import com.osfans.trime.util.RimeUtils
import com.osfans.trime.util.createLoadingDialog
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.Job
Expand Down Expand Up @@ -42,11 +42,7 @@ class ConfFragment : PreferenceFragmentCompat(), CoroutineScope {
override fun onPreferenceTreeClick(preference: Preference?): Boolean {
return when (preference?.key) {
"conf__synchronize" -> {
@Suppress("DEPRECATION")
val progressDialog = ProgressDialog(context).apply {
setMessage(getString(R.string.sync_progress))
show()
}
val progressDialog = createLoadingDialog(requireContext(), R.string.sync_progress)
launch {
try {
RimeUtils.sync(requireContext())
Expand Down
16 changes: 16 additions & 0 deletions app/src/main/java/com/osfans/trime/util/DialogUtils.kt
@@ -0,0 +1,16 @@
package com.osfans.trime.util

import android.content.Context
import android.view.LayoutInflater
import androidx.appcompat.app.AlertDialog
import com.osfans.trime.databinding.DialogLoadingBinding

fun createLoadingDialog(context: Context, textId: Int): AlertDialog {
val binding = DialogLoadingBinding.inflate(LayoutInflater.from(context), null, false)
binding.loadingText.text = context.getText(textId)

return AlertDialog.Builder(context)
.setCancelable(false)
.setView(binding.root)
.create()
}
33 changes: 33 additions & 0 deletions app/src/main/res/layout/dialog_loading.xml
@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tools:context=".settings.PrefMainActivity">

<ProgressBar
android:id="@+id/loading_bar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="20dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@id/loading_text"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<TextView
android:id="@+id/loading_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="20dp"
android:textSize="18sp"
app:layout_constraintBottom_toBottomOf="@id/loading_bar"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/loading_bar"
app:layout_constraintTop_toTopOf="@id/loading_bar"
tools:text="Loading text here ..."/>

</androidx.constraintlayout.widget.ConstraintLayout>

0 comments on commit eb3790d

Please sign in to comment.