Skip to content

Commit 550e8a7

Browse files
committed
migrated old list dialogs to new standard Yantra Launcher Dialog interface
1 parent 1817b3d commit 550e8a7

File tree

8 files changed

+132
-125
lines changed

8 files changed

+132
-125
lines changed

app/src/main/java/com/coderGtm/yantra/Utils.kt

Lines changed: 17 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,6 @@ import com.coderGtm.yantra.terminal.Terminal
3636
import com.google.android.material.dialog.MaterialAlertDialogBuilder
3737
import com.google.android.play.core.appupdate.AppUpdateManagerFactory
3838
import com.google.android.play.core.install.model.UpdateAvailability
39-
import kotlinx.coroutines.Job
40-
import kotlinx.coroutines.launch
41-
import kotlinx.coroutines.runBlocking
42-
import org.json.JSONArray
4339
import java.io.File
4440
import java.io.FileNotFoundException
4541
import java.io.FileOutputStream
@@ -160,24 +156,24 @@ fun contactsManager(terminal: Terminal, callingIntent: Boolean = false, callTo:
160156
negativeButton = terminal.activity.getString(R.string.cancel),
161157
positiveAction = {
162158
val candidatesArray = callingCandidates.toTypedArray()
163-
val dialog2 = MaterialAlertDialogBuilder(terminal.activity, R.style.Theme_AlertDialog)
164-
.setTitle(terminal.activity.getString(R.string.select_phone_number))
165-
.setCancelable(false)
166-
.setItems(candidatesArray) { dialogInterface2, i ->
167-
terminal.output(terminal.activity.getString(R.string.calling, callTo), terminal.theme.successTextColor, null)
168-
val intent = Intent(
169-
Intent.ACTION_CALL,
170-
Uri.parse("tel:${Uri.encode(candidatesArray[i])}")
171-
)
172-
terminal.activity.startActivity(intent)
173-
dialogInterface2.dismiss()
174-
}
175-
.setNegativeButton(terminal.activity.getString(R.string.cancel)) { dialogInterface2, _ ->
176-
terminal.output(terminal.activity.getString(R.string.cancelled), terminal.theme.errorTextColor, null)
177-
dialogInterface2.dismiss()
178-
}
179159
if (!terminal.activity.isFinishing) {
180-
terminal.activity.runOnUiThread { dialog2.show() }
160+
YantraLauncherDialog(terminal.activity).selectItem(
161+
title = terminal.activity.getString(R.string.select_phone_number),
162+
cancellable = false,
163+
items = candidatesArray,
164+
negativeButton = terminal.activity.getString(R.string.cancel),
165+
clickAction = { i ->
166+
terminal.output(terminal.activity.getString(R.string.calling, callTo), terminal.theme.successTextColor, null)
167+
val intent = Intent(
168+
Intent.ACTION_CALL,
169+
Uri.parse("tel:${Uri.encode(candidatesArray[i])}")
170+
)
171+
terminal.activity.startActivity(intent)
172+
},
173+
negativeAction = {
174+
terminal.output(terminal.activity.getString(R.string.cancelled), terminal.theme.errorTextColor, null)
175+
}
176+
)
181177
}
182178
},
183179
negativeAction = {

app/src/main/java/com/coderGtm/yantra/activities/SettingsActivity.kt

Lines changed: 33 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -287,12 +287,13 @@ class SettingsActivity : AppCompatActivity() {
287287
message = getString(R.string.language_change_disclaimer),
288288
positiveButton = getString(R.string.i_understand),
289289
positiveAction = {
290-
MaterialAlertDialogBuilder(this)
291-
.setTitle(getString(R.string.select_a_language))
292-
.setItems(keys) { _, which ->
290+
YantraLauncherDialog(this).selectItem(
291+
title = getString(R.string.select_a_language),
292+
items = keys,
293+
clickAction = { which ->
293294
downloadLanguage(values[which])
294295
}
295-
.show()
296+
)
296297
}
297298
)
298299
}
@@ -510,36 +511,42 @@ class SettingsActivity : AppCompatActivity() {
510511
}
511512

512513
private fun openSoundEffectsList() {
513-
MaterialAlertDialogBuilder(this@SettingsActivity)
514-
.setTitle(getString(R.string.manage_sound_effects))
515-
.setItems(getSoundEffects(this@SettingsActivity).toTypedArray()) { dialog, which ->
516-
val sound = getSoundEffects(this@SettingsActivity)[which]
517-
MaterialAlertDialogBuilder(this@SettingsActivity)
518-
.setTitle(sound)
519-
.setMessage(getString(R.string.delete_sound_effect))
520-
.setPositiveButton(getString(R.string.delete)) { _, _ ->
514+
val effects = getSoundEffects(this@SettingsActivity)
515+
YantraLauncherDialog(this@SettingsActivity).selectItem(
516+
title = getString(R.string.manage_sound_effects),
517+
items = effects.toTypedArray(),
518+
emptyMessage = getString(R.string.no_sound_effects_found),
519+
clickAction = { which ->
520+
val sound = effects[which]
521+
YantraLauncherDialog(this@SettingsActivity).showInfo(
522+
title = sound,
523+
message = getString(R.string.delete_sound_effect),
524+
positiveButton = getString(R.string.delete),
525+
positiveAction = {
521526
val files = listOf("$sound.mp3", "$sound.wav", "$sound.ogg")
522527
filesDir.listFiles()?.find { it.name in files }?.delete()
523-
}
524-
.setNegativeButton(getString(R.string.cancel)) { _, _ -> }
525-
.show()
526-
}
527-
.setPositiveButton(getString(R.string.add)) { _, _ ->
528-
MaterialAlertDialogBuilder(this@SettingsActivity)
529-
.setTitle(getString(R.string.add_sound_effect))
530-
.setMessage(getString(R.string.add_sfx_desc))
531-
.setPositiveButton(getString(R.string.add)) { _, _ ->
528+
},
529+
negativeButton = getString(R.string.cancel)
530+
)
531+
},
532+
positiveButton = getString(R.string.add),
533+
positiveAction = {
534+
YantraLauncherDialog(this@SettingsActivity).showInfo(
535+
title = getString(R.string.add_sound_effect),
536+
message = getString(R.string.add_sfx_desc),
537+
positiveButton = getString(R.string.add),
538+
positiveAction = {
532539
selectSfxLauncher.launch(
533540
Intent.createChooser(Intent(Intent.ACTION_OPEN_DOCUMENT).apply {
534541
addCategory(Intent.CATEGORY_OPENABLE)
535542
type = "audio/*"
536543
}, getString(R.string.select_sfx_file))
537544
)
538-
}
539-
.setNegativeButton(getString(R.string.cancel)) { _, _ -> }
540-
.show()
541-
}
542-
.show()
545+
},
546+
)
547+
},
548+
negativeButton = getString(R.string.cancel)
549+
)
543550
}
544551

545552
private fun hideProForNonProUsers() {

app/src/main/java/com/coderGtm/yantra/commands/info/Command.kt

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import com.coderGtm.yantra.blueprints.YantraLauncherDialog
77
import com.coderGtm.yantra.models.AppBlock
88
import com.coderGtm.yantra.models.CommandMetadata
99
import com.coderGtm.yantra.terminal.Terminal
10-
import com.google.android.material.dialog.MaterialAlertDialogBuilder
1110

1211
class Command(terminal: Terminal) : BaseCommand(terminal) {
1312
override val metadata = CommandMetadata(
@@ -85,13 +84,16 @@ class Command(terminal: Terminal) : BaseCommand(terminal) {
8584
}
8685
}
8786
}
88-
val b2 = MaterialAlertDialogBuilder(terminal.activity, R.style.Theme_AlertDialog)
89-
.setTitle(terminal.activity.getString(R.string.select_package_name))
90-
.setItems(items.toTypedArray()) { _, which ->
91-
output(terminal.activity.getString(R.string.launching_settings_for, candidates[which].appName, candidates[which].packageName), terminal.theme.successTextColor)
92-
launchAppInfo(this@Command, candidates[which])
93-
}
94-
terminal.activity.runOnUiThread { b2.show() }
87+
terminal.activity.runOnUiThread {
88+
YantraLauncherDialog(terminal.activity).selectItem(
89+
title = terminal.activity.getString(R.string.select_package_name),
90+
items = items.toTypedArray(),
91+
clickAction = { which ->
92+
output(terminal.activity.getString(R.string.launching_settings_for, candidates[which].appName, candidates[which].packageName), terminal.theme.successTextColor)
93+
launchAppInfo(this@Command, candidates[which])
94+
}
95+
)
96+
}
9597
}
9698
)
9799
}

app/src/main/java/com/coderGtm/yantra/commands/launch/Command.kt

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import com.coderGtm.yantra.models.AppBlock
99
import com.coderGtm.yantra.models.CommandMetadata
1010
import com.coderGtm.yantra.models.ShortcutBlock
1111
import com.coderGtm.yantra.terminal.Terminal
12-
import com.google.android.material.dialog.MaterialAlertDialogBuilder
1312

1413
class Command(terminal: Terminal) : BaseCommand(terminal) {
1514
override val metadata = CommandMetadata(
@@ -77,14 +76,15 @@ class Command(terminal: Terminal) : BaseCommand(terminal) {
7776
for (candidate in candidates) {
7877
items.add(candidate.packageName)
7978
}
80-
MaterialAlertDialogBuilder(terminal.activity, R.style.Theme_AlertDialog)
81-
.setTitle(terminal.activity.getString(R.string.select_package_name))
82-
.setItems(items.toTypedArray()) { _, which ->
79+
YantraLauncherDialog(terminal.activity).selectItem(
80+
title = terminal.activity.getString(R.string.select_package_name),
81+
items = items.toTypedArray(),
82+
clickAction = { which ->
8383
shortcut = candidates[which]
8484
output(terminal.activity.getString(R.string.launching_app, shortcut!!.label, shortcut!!.packageName), terminal.theme.successTextColor)
8585
launchShortcut(this@Command, shortcut!!)
8686
}
87-
.show()
87+
)
8888
}
8989
)
9090
return
@@ -145,17 +145,18 @@ class Command(terminal: Terminal) : BaseCommand(terminal) {
145145
}
146146
}
147147
}
148-
MaterialAlertDialogBuilder(terminal.activity, R.style.Theme_AlertDialog)
149-
.setTitle(terminal.activity.getString(R.string.select_package_name))
150-
.setItems(items.toTypedArray()) { _, which ->
148+
YantraLauncherDialog(terminal.activity).selectItem(
149+
title = terminal.activity.getString(R.string.select_package_name),
150+
items = items.toTypedArray(),
151+
clickAction = { which ->
151152
output(terminal.activity.getString(R.string.launching_app, candidates[which].appName, candidates[which].packageName), terminal.theme.successTextColor)
152153
launchApp(this@Command, candidates[which])
153154
if (terminal.preferenceObject.getInt("appSortMode", AppSortMode.A_TO_Z.value) == AppSortMode.RECENT.value) {
154155
terminal.appList.remove(candidates[which])
155156
terminal.appList.add(0, candidates[which])
156157
}
157158
}
158-
.show()
159+
)
159160
}
160161
)
161162
}

app/src/main/java/com/coderGtm/yantra/commands/scripts/Command.kt

Lines changed: 33 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import com.coderGtm.yantra.blueprints.YantraLauncherDialog
77
import com.coderGtm.yantra.getScripts
88
import com.coderGtm.yantra.models.CommandMetadata
99
import com.coderGtm.yantra.terminal.Terminal
10-
import com.google.android.material.dialog.MaterialAlertDialogBuilder
1110

1211
class Command(terminal: Terminal) : BaseCommand(terminal) {
1312
override val metadata = CommandMetadata(
@@ -25,10 +24,11 @@ class Command(terminal: Terminal) : BaseCommand(terminal) {
2524
// for user-defined scripts
2625
output(terminal.activity.getString(R.string.opening_yantra_scripts))
2726
val scripts = getScripts(terminal.preferenceObject)
28-
val scriptsMainDialog = MaterialAlertDialogBuilder(terminal.activity, R.style.Theme_AlertDialog)
29-
.setTitle(terminal.activity.getString(R.string.yantra_scripts))
30-
if (scripts.isNotEmpty()) {
31-
scriptsMainDialog.setItems(scripts.toTypedArray()) { _, which ->
27+
YantraLauncherDialog(terminal.activity).selectItem(
28+
title = terminal.activity.getString(R.string.yantra_scripts),
29+
items = scripts.toTypedArray(),
30+
emptyMessage = terminal.activity.getString(R.string.no_scripts_found),
31+
clickAction = { which ->
3232
val scriptName = scripts.elementAt(which)
3333
YantraLauncherDialog(terminal.activity).takeInput(
3434
title = scriptName,
@@ -50,40 +50,35 @@ class Command(terminal: Terminal) : BaseCommand(terminal) {
5050
output(terminal.activity.getString(R.string.script_deleted, scriptName),terminal.theme.successTextColor)
5151
}
5252
)
53-
}
54-
}
55-
else {
56-
scriptsMainDialog.setMessage(terminal.activity.getString(R.string.no_scripts_found))
57-
}
58-
scriptsMainDialog.setPositiveButton(terminal.activity.getString(R.string.add)) { _, _ ->
59-
YantraLauncherDialog(terminal.activity).takeInput(
60-
title = terminal.activity.getString(R.string.new_script),
61-
message = terminal.activity.getString(R.string.enter_script_name),
62-
cancellable = false,
63-
positiveButton = terminal.activity.getString(R.string.create),
64-
negativeButton = terminal.activity.getString(R.string.cancel),
65-
positiveAction = {
66-
val name = it.trim()
67-
if (name.contains(";") || name == "") {
68-
output(terminal.activity.getString(R.string.script_name_validation), terminal.theme.errorTextColor)
69-
}
70-
else if (!name[0].isLetter() || name.contains(' ')) {
71-
output(terminal.activity.getString(R.string.script_name_another_validation),terminal.theme.errorTextColor)
72-
}
73-
else if (scripts.contains(name)) {
74-
output(terminal.activity.getString(R.string.name_already_taken),terminal.theme.warningTextColor)
75-
}
76-
else {
77-
scripts.add(name)
78-
terminal.preferenceObject.edit().putString("scripts",scripts.joinToString(";")).apply()
79-
output(terminal.activity.getString(R.string.script_created, name),terminal.theme.successTextColor)
53+
},
54+
positiveButton = terminal.activity.getString(R.string.add),
55+
negativeButton = terminal.activity.getString(R.string.cancel),
56+
positiveAction = {
57+
YantraLauncherDialog(terminal.activity).takeInput(
58+
title = terminal.activity.getString(R.string.new_script),
59+
message = terminal.activity.getString(R.string.enter_script_name),
60+
cancellable = false,
61+
positiveButton = terminal.activity.getString(R.string.create),
62+
negativeButton = terminal.activity.getString(R.string.cancel),
63+
positiveAction = {
64+
val name = it.trim()
65+
if (name.contains(";") || name == "") {
66+
output(terminal.activity.getString(R.string.script_name_validation), terminal.theme.errorTextColor)
67+
}
68+
else if (!name[0].isLetter() || name.contains(' ')) {
69+
output(terminal.activity.getString(R.string.script_name_another_validation),terminal.theme.errorTextColor)
70+
}
71+
else if (scripts.contains(name)) {
72+
output(terminal.activity.getString(R.string.name_already_taken),terminal.theme.warningTextColor)
73+
}
74+
else {
75+
scripts.add(name)
76+
terminal.preferenceObject.edit().putString("scripts",scripts.joinToString(";")).apply()
77+
output(terminal.activity.getString(R.string.script_created, name),terminal.theme.successTextColor)
78+
}
8079
}
81-
}
82-
)
83-
}
84-
.setNeutralButton(terminal.activity.getString(R.string.cancel)) { dialog, _ ->
85-
dialog.dismiss()
80+
)
8681
}
87-
.show()
82+
)
8883
}
8984
}

app/src/main/java/com/coderGtm/yantra/commands/theme/Helper.kt

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,10 @@ fun openCustomThemeDesigner(terminal: Terminal) {
4747
imgBtn?.setImageDrawable(ColorDrawable(Color.parseColor(customThemeColors[i])))
4848
imgBtn?.tag = customThemeColors[i]
4949
imgBtn?.setOnClickListener {
50-
MaterialAlertDialogBuilder(terminal.activity, R.style.Theme_AlertDialog)
51-
.setItems(arrayOf(terminal.activity.getString(R.string.color_picker), terminal.activity.getString(R.string.hex_code))) { _, which ->
50+
YantraLauncherDialog(terminal.activity).selectItem(
51+
title = terminal.activity.getString(R.string.select_color),
52+
items = arrayOf(terminal.activity.getString(R.string.color_picker), terminal.activity.getString(R.string.hex_code)),
53+
clickAction = { which ->
5254
when (which) {
5355
0 -> {
5456
val colorDialogBuilder = ColorPickerDialog.Builder(terminal.activity, R.style.Theme_AlertDialog)
@@ -94,7 +96,7 @@ fun openCustomThemeDesigner(terminal: Terminal) {
9496
}
9597
}
9698
}
97-
.show()
99+
)
98100
}
99101
i++
100102
}

0 commit comments

Comments
 (0)