diff --git a/app/src/main/kotlin/com/tutpro/baresip/AccountActivity.kt b/app/src/main/kotlin/com/tutpro/baresip/AccountActivity.kt
index a3656181..7816fa8a 100644
--- a/app/src/main/kotlin/com/tutpro/baresip/AccountActivity.kt
+++ b/app/src/main/kotlin/com/tutpro/baresip/AccountActivity.kt
@@ -2,7 +2,6 @@ package com.tutpro.baresip
import android.app.Activity
import android.content.Intent
-import android.opengl.Visibility
import android.os.Bundle
import android.view.Menu
import android.view.MenuItem
diff --git a/app/src/main/kotlin/com/tutpro/baresip/AccountListAdapter.kt b/app/src/main/kotlin/com/tutpro/baresip/AccountListAdapter.kt
index fa66729e..fe22718b 100644
--- a/app/src/main/kotlin/com/tutpro/baresip/AccountListAdapter.kt
+++ b/app/src/main/kotlin/com/tutpro/baresip/AccountListAdapter.kt
@@ -3,13 +3,13 @@ package com.tutpro.baresip
import android.content.Context
import android.content.Intent
import android.os.Bundle
-import androidx.appcompat.app.AlertDialog
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.ArrayAdapter
import android.widget.ImageButton
import android.widget.TextView
+import com.google.android.material.dialog.MaterialAlertDialogBuilder
import java.util.*
@@ -53,10 +53,8 @@ class AccountListAdapter(private val cxt: Context, private val rows: ArrayList
@@ -69,7 +67,7 @@ class AccountListAdapter(private val cxt: Context, private val rows: ArrayList
+ setNeutralButton(cxt.getText(R.string.cancel)) { dialog, _ ->
dialog.dismiss()
}
show()
diff --git a/app/src/main/kotlin/com/tutpro/baresip/AccountsActivity.kt b/app/src/main/kotlin/com/tutpro/baresip/AccountsActivity.kt
index 1009cd6e..9b6f47ff 100644
--- a/app/src/main/kotlin/com/tutpro/baresip/AccountsActivity.kt
+++ b/app/src/main/kotlin/com/tutpro/baresip/AccountsActivity.kt
@@ -3,13 +3,13 @@ package com.tutpro.baresip
import android.app.Activity
import android.content.Intent
import android.os.Bundle
-import androidx.appcompat.app.AlertDialog
import androidx.appcompat.app.AppCompatActivity
import android.view.LayoutInflater
import android.view.Menu
import android.view.MenuItem
import android.widget.*
import androidx.activity.result.contract.ActivityResultContracts
+import com.google.android.material.dialog.MaterialAlertDialogBuilder
import com.tutpro.baresip.databinding.ActivityAccountsBinding
import java.util.ArrayList
@@ -98,7 +98,7 @@ class AccountsActivity : AppCompatActivity() {
val message = getString(R.string.account) + " " + Utils.plainAor(ua.account.aor)
messageView.text = message
val input = layout.findViewById(R.id.password) as EditText
- with (AlertDialog.Builder(this)) {
+ with (MaterialAlertDialogBuilder(this, R.style.AlertDialogTheme)) {
setView(layout)
setPositiveButton(android.R.string.ok) { dialog, _ ->
dialog.dismiss()
@@ -110,7 +110,7 @@ class AccountsActivity : AppCompatActivity() {
}
setAuthPass(ua, password)
}
- setNegativeButton(android.R.string.cancel) { dialog, _ ->
+ setNeutralButton(android.R.string.cancel) { dialog, _ ->
dialog.cancel()
}
show()
diff --git a/app/src/main/kotlin/com/tutpro/baresip/CallsActivity.kt b/app/src/main/kotlin/com/tutpro/baresip/CallsActivity.kt
index 2d2ad07b..4f49a93b 100644
--- a/app/src/main/kotlin/com/tutpro/baresip/CallsActivity.kt
+++ b/app/src/main/kotlin/com/tutpro/baresip/CallsActivity.kt
@@ -5,14 +5,12 @@ import android.content.DialogInterface
import android.content.Intent
import android.os.Bundle
import android.os.SystemClock
-import androidx.appcompat.app.AlertDialog
import androidx.appcompat.app.AppCompatActivity
import android.view.Menu
import android.view.MenuItem
-import android.view.View
import android.widget.AdapterView
-import android.widget.TextView
import androidx.activity.result.contract.ActivityResultContracts
+import com.google.android.material.dialog.MaterialAlertDialogBuilder
import com.tutpro.baresip.databinding.ActivityCallsBinding
import java.util.*
@@ -75,7 +73,8 @@ class CallsActivity : AppCompatActivity() {
}
if (SystemClock.elapsedRealtime() - lastClick > 1000) {
lastClick = SystemClock.elapsedRealtime()
- with (AlertDialog.Builder(this@CallsActivity)) {
+ with (MaterialAlertDialogBuilder(this@CallsActivity, R.style.AlertDialogTheme)) {
+ setTitle(R.string.confirmation)
setMessage(String.format(getString(R.string.calls_call_message_question),
peerName))
setNeutralButton(getString(R.string.cancel), dialogClickListener)
@@ -119,18 +118,20 @@ class CallsActivity : AppCompatActivity() {
getString(R.string.calls_calls)
else
getString(R.string.calls_call)
- val builder = AlertDialog.Builder(this@CallsActivity)
+ val builder = MaterialAlertDialogBuilder(this@CallsActivity, R.style.AlertDialogTheme)
if (peerName.startsWith("sip:"))
with (builder) {
+ setTitle(R.string.confirmation)
setMessage(String.format(getString(R.string.calls_add_delete_question),
Utils.friendlyUri(peerName, Utils.aorDomain(aor)), callText))
setNeutralButton(getString(R.string.cancel), dialogClickListener)
- setNegativeButton(getString(R.string.add_contact), dialogClickListener)
setPositiveButton(String.format(getString(R.string.delete), callText), dialogClickListener)
+ setNegativeButton(getString(R.string.add_contact), dialogClickListener)
show()
}
else
with (builder) {
+ setTitle(R.string.confirmation)
setMessage(String.format(getString(R.string.calls_delete_question),
Utils.friendlyUri(peerName, Utils.aorDomain(aor)), callText))
setNeutralButton(getString(R.string.cancel), dialogClickListener)
@@ -152,10 +153,8 @@ class CallsActivity : AppCompatActivity() {
when (item.itemId) {
R.id.delete_history -> {
- val titleView = View.inflate(this, R.layout.alert_title, null) as TextView
- titleView.text = getString(R.string.confirmation)
- with (AlertDialog.Builder(this@CallsActivity)) {
- setCustomTitle(titleView)
+ with (MaterialAlertDialogBuilder(this@CallsActivity, R.style.AlertDialogTheme)) {
+ setTitle(R.string.confirmation)
setMessage(String.format(getString(R.string.delete_history_alert),
aor.substringAfter(":")))
setPositiveButton(getText(R.string.delete)) { dialog, _ ->
@@ -165,7 +164,7 @@ class CallsActivity : AppCompatActivity() {
clAdapter.notifyDataSetChanged()
dialog.dismiss()
}
- setNegativeButton(getText(R.string.cancel)) { dialog, _ ->
+ setNeutralButton(getText(R.string.cancel)) { dialog, _ ->
dialog.dismiss()
}
show()
diff --git a/app/src/main/kotlin/com/tutpro/baresip/ChatActivity.kt b/app/src/main/kotlin/com/tutpro/baresip/ChatActivity.kt
index dbacd23f..406d8521 100644
--- a/app/src/main/kotlin/com/tutpro/baresip/ChatActivity.kt
+++ b/app/src/main/kotlin/com/tutpro/baresip/ChatActivity.kt
@@ -4,7 +4,6 @@ import android.app.Activity
import android.content.*
import android.os.Bundle
import android.os.SystemClock
-import androidx.appcompat.app.AlertDialog
import androidx.appcompat.app.AppCompatActivity
import android.view.Menu
import android.view.MenuItem
@@ -13,6 +12,7 @@ import android.view.WindowManager
import android.view.inputmethod.InputMethodManager
import android.widget.*
import androidx.lifecycle.Observer
+import com.google.android.material.dialog.MaterialAlertDialogBuilder
import com.tutpro.baresip.databinding.ActivityChatBinding
class ChatActivity : AppCompatActivity() {
@@ -111,9 +111,10 @@ class ChatActivity : AppCompatActivity() {
}
}
}
- val builder = AlertDialog.Builder(this@ChatActivity)
+ val builder = MaterialAlertDialogBuilder(this@ChatActivity, R.style.AlertDialogTheme)
if (Contact.contactName(peerUri) == peerUri)
with (builder) {
+ setTitle(R.string.confirmation)
setMessage(String.format(getString(R.string.long_message_question),
chatPeer))
setNeutralButton(getString(R.string.cancel), dialogClickListener)
@@ -123,6 +124,7 @@ class ChatActivity : AppCompatActivity() {
}
else
with (builder) {
+ setTitle(R.string.confirmation)
setMessage(getText(R.string.short_message_question))
setNeutralButton(getString(R.string.cancel), dialogClickListener)
setNegativeButton(getString(R.string.delete), dialogClickListener)
diff --git a/app/src/main/kotlin/com/tutpro/baresip/ChatsActivity.kt b/app/src/main/kotlin/com/tutpro/baresip/ChatsActivity.kt
index 55bde2b0..83c0368f 100644
--- a/app/src/main/kotlin/com/tutpro/baresip/ChatsActivity.kt
+++ b/app/src/main/kotlin/com/tutpro/baresip/ChatsActivity.kt
@@ -5,10 +5,8 @@ import android.content.*
import android.os.Bundle
import android.view.Menu
import android.view.MenuItem
-import android.view.View
import android.widget.*
import androidx.activity.result.contract.ActivityResultContracts
-import androidx.appcompat.app.AlertDialog
import androidx.appcompat.app.AppCompatActivity
import com.google.android.material.dialog.MaterialAlertDialogBuilder
import com.tutpro.baresip.databinding.ActivityChatsBinding
@@ -95,10 +93,11 @@ class ChatsActivity: AppCompatActivity() {
}
}
- val builder = MaterialAlertDialogBuilder(this@ChatsActivity, R.style.AlertDialog)
+ val builder = MaterialAlertDialogBuilder(this@ChatsActivity, R.style.AlertDialogTheme)
val peer = Contact.contactName(uaMessages[pos].peerUri)
if (peer.startsWith("sip:"))
with (builder) {
+ setTitle(R.string.confirmation)
setMessage(String.format(getString(R.string.long_chat_question),
Utils.friendlyUri(peer, Utils.aorDomain(aor))))
setNeutralButton(getText(R.string.cancel), dialogClickListener)
@@ -108,6 +107,7 @@ class ChatsActivity: AppCompatActivity() {
}
else
with (builder) {
+ setTitle(R.string.confirmation)
setMessage(String.format(getString(R.string.short_chat_question), peer))
setNeutralButton(getText(R.string.cancel), dialogClickListener)
setNegativeButton(getText(R.string.delete), dialogClickListener)
@@ -179,10 +179,8 @@ class ChatsActivity: AppCompatActivity() {
when (item.itemId) {
R.id.delete_chats -> {
- val titleView = View.inflate(this, R.layout.alert_title, null) as TextView
- titleView.text = getString(R.string.confirmation)
- with (AlertDialog.Builder(this@ChatsActivity)) {
- setCustomTitle(titleView)
+ with (MaterialAlertDialogBuilder(this@ChatsActivity, R.style.AlertDialogTheme)) {
+ setTitle(R.string.confirmation)
setMessage(String.format(getString(R.string.delete_chats_alert),
aor.substringAfter(":")))
setPositiveButton(getText(R.string.delete)) { dialog, _ ->
@@ -193,7 +191,7 @@ class ChatsActivity: AppCompatActivity() {
UserAgent.ofAor(aor)!!.account.unreadMessages = false
dialog.dismiss()
}
- setNegativeButton(getText(R.string.cancel)) { dialog, _ ->
+ setNeutralButton(getText(R.string.cancel)) { dialog, _ ->
dialog.dismiss()
}
show()
diff --git a/app/src/main/kotlin/com/tutpro/baresip/ConfigActivity.kt b/app/src/main/kotlin/com/tutpro/baresip/ConfigActivity.kt
index 42b9699a..a71a2c99 100644
--- a/app/src/main/kotlin/com/tutpro/baresip/ConfigActivity.kt
+++ b/app/src/main/kotlin/com/tutpro/baresip/ConfigActivity.kt
@@ -16,10 +16,10 @@ import android.view.View
import android.widget.*
import androidx.activity.result.ActivityResultLauncher
import androidx.activity.result.contract.ActivityResultContracts
-import androidx.appcompat.app.AlertDialog
import androidx.appcompat.app.AppCompatDelegate
import androidx.core.app.ActivityCompat
import androidx.core.content.ContextCompat
+import com.google.android.material.dialog.MaterialAlertDialogBuilder
import com.google.android.material.snackbar.Snackbar
import com.tutpro.baresip.Utils.copyInputStreamToFile
import com.tutpro.baresip.Utils.showSnackBar
@@ -342,10 +342,8 @@ class ConfigActivity : AppCompatActivity() {
reset.setOnCheckedChangeListener { _, isChecked ->
if (isChecked) {
- val titleView = View.inflate(this, R.layout.alert_title, null) as TextView
- titleView.text = getString(R.string.confirmation)
- with(AlertDialog.Builder(this@ConfigActivity)) {
- setCustomTitle(titleView)
+ with(MaterialAlertDialogBuilder(this@ConfigActivity, R.style.AlertDialogTheme)) {
+ setTitle(R.string.confirmation)
setMessage(getString(R.string.reset_config_alert))
setPositiveButton(getText(R.string.reset)) { dialog, _ ->
Config.reset(this@ConfigActivity)
@@ -354,7 +352,7 @@ class ConfigActivity : AppCompatActivity() {
done()
dialog.dismiss()
}
- setNegativeButton(getText(R.string.cancel)) { dialog, _ ->
+ setNeutralButton(getText(R.string.cancel)) { dialog, _ ->
reset.isChecked = false
dialog.dismiss()
}
@@ -377,7 +375,7 @@ class ConfigActivity : AppCompatActivity() {
contactsMode = oldContactsMode
contactsSpinner.setSelection(contactsModeKeys.indexOf(oldContactsMode))
Snackbar.make(layout, getString(R.string.no_android_contacts), Snackbar.LENGTH_LONG)
- .setAction(getString(R.string.ok), {})
+ .setAction(getString(R.string.ok)) {}
.show()
}
}
diff --git a/app/src/main/kotlin/com/tutpro/baresip/ContactListAdapter.kt b/app/src/main/kotlin/com/tutpro/baresip/ContactListAdapter.kt
index eddda799..0d4bbfd5 100644
--- a/app/src/main/kotlin/com/tutpro/baresip/ContactListAdapter.kt
+++ b/app/src/main/kotlin/com/tutpro/baresip/ContactListAdapter.kt
@@ -14,8 +14,8 @@ import android.widget.ArrayAdapter
import android.widget.ImageButton
import android.widget.ImageView
import android.widget.TextView
-import androidx.appcompat.app.AlertDialog
import androidx.core.content.ContextCompat.startActivity
+import com.google.android.material.dialog.MaterialAlertDialogBuilder
import java.io.File
import java.io.IOException
@@ -95,7 +95,8 @@ class ContactListAdapter(private val ctx: Context, private val rows: ArrayList 1000) {
lastClick = SystemClock.elapsedRealtime()
- with(AlertDialog.Builder(ctx, R.style.Theme_AppCompat)) {
+ with(MaterialAlertDialogBuilder(ctx, R.style.AlertDialogTheme)) {
+ setTitle(R.string.confirmation)
setMessage(String.format(ctx.getString(R.string.contact_action_question),
contact.name))
setNeutralButton(ctx.getText(R.string.cancel), dialogClickListener)
@@ -185,16 +186,14 @@ class ContactListAdapter(private val ctx: Context, private val rows: ArrayList contact.name
is Contact.AndroidContact -> contact.name
}))
- setNegativeButton(ctx.getText(R.string.cancel), dialogClickListener)
+ setNeutralButton(ctx.getText(R.string.cancel), dialogClickListener)
setPositiveButton(ctx.getText(R.string.delete), dialogClickListener)
show()
}
diff --git a/app/src/main/kotlin/com/tutpro/baresip/MainActivity.kt b/app/src/main/kotlin/com/tutpro/baresip/MainActivity.kt
index 8633ab6e..c7d24f22 100644
--- a/app/src/main/kotlin/com/tutpro/baresip/MainActivity.kt
+++ b/app/src/main/kotlin/com/tutpro/baresip/MainActivity.kt
@@ -24,7 +24,6 @@ import android.os.*
import androidx.activity.result.ActivityResultLauncher
import androidx.activity.result.contract.ActivityResultContracts
import androidx.annotation.RequiresApi
-import androidx.appcompat.app.AlertDialog
import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.app.AppCompatDelegate
import androidx.core.app.ActivityCompat
@@ -40,6 +39,7 @@ import kotlin.collections.ArrayList
import kotlin.system.exitProcess
import android.content.IntentFilter
import androidx.core.net.toUri
+import com.google.android.material.dialog.MaterialAlertDialogBuilder
class MainActivity : AppCompatActivity() {
@@ -297,10 +297,8 @@ class MainActivity : AppCompatActivity() {
getString(R.string.peer_not_verified))
}
"green" -> {
- val titleView = View.inflate(this, R.layout.alert_title, null) as TextView
- titleView.text = getString(R.string.info)
- with(AlertDialog.Builder(this)) {
- setCustomTitle(titleView)
+ with(MaterialAlertDialogBuilder(this, R.style.AlertDialogTheme)) {
+ setTitle(R.string.info)
setMessage(getString(R.string.call_is_secure))
setPositiveButton(getString(R.string.unverify)) { dialog, _ ->
val calls = Call.uaCalls(UserAgent.uas()[aorSpinner.selectedItemPosition], "")
@@ -314,7 +312,7 @@ class MainActivity : AppCompatActivity() {
}
dialog.dismiss()
}
- setNegativeButton(getString(R.string.no)) { dialog, _ ->
+ setNeutralButton(getString(R.string.no)) { dialog, _ ->
dialog.dismiss()
}
show()
@@ -443,13 +441,11 @@ class MainActivity : AppCompatActivity() {
}
}
}
- val titleView = View.inflate(this, R.layout.alert_title, null) as TextView
- titleView.text = getString(R.string.voicemail_messages)
- with(AlertDialog.Builder(this)) {
- setCustomTitle(titleView)
+ with(MaterialAlertDialogBuilder(this, R.style.AlertDialogTheme)) {
+ setTitle(R.string.voicemail_messages)
setMessage(acc.vmMessages(this@MainActivity))
setPositiveButton(getString(R.string.listen), dialogClickListener)
- setNegativeButton(getString(R.string.cancel), dialogClickListener)
+ setNeutralButton(getString(R.string.cancel), dialogClickListener)
show()
}
}
@@ -519,16 +515,14 @@ class MainActivity : AppCompatActivity() {
configRequest = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) {
if ((it.data != null) && it.data!!.hasExtra("restart")) {
- val titleView = View.inflate(this, R.layout.alert_title, null) as TextView
- titleView.text = getString(R.string.restart_request)
- with(AlertDialog.Builder(this)) {
- setCustomTitle(titleView)
+ with(MaterialAlertDialogBuilder(this, R.style.AlertDialogTheme)) {
+ setTitle(R.string.restart_request)
setMessage(getString(R.string.config_restart))
setPositiveButton(getText(R.string.restart)) { dialog, _ ->
dialog.dismiss()
quitRestart(true)
}
- setNegativeButton(getText(R.string.cancel)) { dialog, _ ->
+ setNeutralButton(getText(R.string.cancel)) { dialog, _ ->
dialog.dismiss()
}
show()
@@ -957,16 +951,7 @@ class MainActivity : AppCompatActivity() {
if (event == "stopped") {
Log.d(TAG, "Handling service event 'stopped' with param '${params[0]}'")
if (params[0] != "") {
- val titleView = View.inflate(this, R.layout.alert_title, null) as TextView
- titleView.text = getString(R.string.notice)
- with(AlertDialog.Builder(this)) {
- setCustomTitle(titleView)
- setMessage(getString(R.string.start_failed))
- setNeutralButton(getString(R.string.ok)) { dialog, _ ->
- dialog.dismiss()
- }
- show()
- }
+ Utils.alertView(this, getString(R.string.notice), getString(R.string.start_failed))
} else {
quitTimer.cancel()
finishAndRemoveTask()
@@ -1036,10 +1021,8 @@ class MainActivity : AppCompatActivity() {
handleNextEvent("Call $callp to be verified is not found")
return
}
- val titleView = View.inflate(this, R.layout.alert_title, null) as TextView
- titleView.text = getString(R.string.verify)
- with(AlertDialog.Builder(this)) {
- setCustomTitle(titleView)
+ with(MaterialAlertDialogBuilder(this, R.style.AlertDialogTheme)) {
+ setTitle(R.string.verify)
setMessage(String.format(getString(R.string.verify_sas),
ev[1], ev[2]))
setPositiveButton(getString(R.string.yes)) { dialog, _ ->
@@ -1058,7 +1041,7 @@ class MainActivity : AppCompatActivity() {
dialog.dismiss()
}
}
- setNegativeButton(getString(R.string.no)) { dialog, _ ->
+ setNeutralButton(getString(R.string.no)) { dialog, _ ->
call.security = R.drawable.box_yellow
call.zid = ev[3]
if (aor == aorSpinner.tag) {
@@ -1101,11 +1084,9 @@ class MainActivity : AppCompatActivity() {
return
}
val call = Call.ofCallp(callp)!!
- val titleView = View.inflate(this, R.layout.alert_title, null) as TextView
- titleView.text = getString(R.string.transfer_request)
val target = Utils.friendlyUri(Contact.contactName(ev[1]), Utils.aorDomain(aor))
- with(AlertDialog.Builder(this)) {
- setCustomTitle(titleView)
+ with(MaterialAlertDialogBuilder(this, R.style.AlertDialogTheme)) {
+ setTitle(R.string.transfer_request)
setMessage(String.format(getString(R.string.transfer_request_query),
target))
setPositiveButton(getString(R.string.yes)) { dialog, _ ->
@@ -1113,7 +1094,7 @@ class MainActivity : AppCompatActivity() {
acceptTransfer(ua, call, ev[1])
dialog.dismiss()
}
- setNegativeButton(getString(R.string.no)) { dialog, _ ->
+ setNeutralButton(getString(R.string.no)) { dialog, _ ->
if (call in Call.calls())
call.notifySipfrag(603, "Decline")
dialog.dismiss()
@@ -1404,7 +1385,7 @@ class MainActivity : AppCompatActivity() {
Contact.contactNames()))
transferUri.threshold = 2
transferUri.requestFocus()
- val builder = AlertDialog.Builder(this)
+ val builder = MaterialAlertDialogBuilder(this, R.style.AlertDialogTheme)
with(builder) {
setView(layout)
setPositiveButton(R.string.transfer) { dialog, _ ->
@@ -1430,7 +1411,7 @@ class MainActivity : AppCompatActivity() {
}
}
}
- setNegativeButton(android.R.string.cancel) { dialog, _ ->
+ setNeutralButton(android.R.string.cancel) { dialog, _ ->
imm.hideSoftInputFromWindow(transferUri.windowToken, 0)
dialog.cancel()
}
@@ -1455,7 +1436,7 @@ class MainActivity : AppCompatActivity() {
val input = layout.findViewById(R.id.password) as EditText
input.requestFocus()
val context = this
- with (AlertDialog.Builder(this, R.style.AlertDialog)) {
+ with (MaterialAlertDialogBuilder(this, R.style.AlertDialogTheme)) {
setView(layout)
setPositiveButton(android.R.string.ok) { dialog, _ ->
imm.hideSoftInputFromWindow(input.windowToken, 0)
@@ -1475,7 +1456,7 @@ class MainActivity : AppCompatActivity() {
AccountsActivity.setAuthPass(ua!!, password)
}
}
- setNegativeButton(android.R.string.cancel) { dialog, _ ->
+ setNeutralButton(android.R.string.cancel) { dialog, _ ->
imm.hideSoftInputFromWindow(input.windowToken, 0)
dialog.cancel()
}
@@ -1503,7 +1484,7 @@ class MainActivity : AppCompatActivity() {
val input = layout.findViewById(R.id.password) as EditText
input.requestFocus()
val context = this
- with (AlertDialog.Builder(this, R.style.AlertDialog)) {
+ with (MaterialAlertDialogBuilder(this, R.style.AlertDialogTheme)) {
setView(layout)
setPositiveButton(android.R.string.ok) { dialog, _ ->
imm.hideSoftInputFromWindow(input.windowToken, 0)
@@ -1517,7 +1498,7 @@ class MainActivity : AppCompatActivity() {
}
askPasswords(accounts)
}
- setNegativeButton(android.R.string.cancel) { dialog, _ ->
+ setNeutralButton(android.R.string.cancel) { dialog, _ ->
imm.hideSoftInputFromWindow(input.windowToken, 0)
dialog.cancel()
aorPasswords[aor] = ""
@@ -1602,16 +1583,14 @@ class MainActivity : AppCompatActivity() {
return
}
Utils.deleteFile(File(zipFilePath))
- val titleView = View.inflate(this, R.layout.alert_title, null) as TextView
- titleView.text = getString(R.string.info)
- with(AlertDialog.Builder(this)) {
- setCustomTitle(titleView)
+ with(MaterialAlertDialogBuilder(this, R.style.AlertDialogTheme)) {
+ setTitle(getString(R.string.info))
setMessage(getString(R.string.restored))
setPositiveButton(getText(R.string.restart)) { dialog, _ ->
quitRestart(true)
dialog.dismiss()
}
- setNegativeButton(getText(R.string.cancel)) { dialog, _ ->
+ setNeutralButton(getText(R.string.cancel)) { dialog, _ ->
dialog.dismiss()
}
show()
@@ -1710,14 +1689,14 @@ class MainActivity : AppCompatActivity() {
Utils.alertView(this, getString(R.string.notice),
getString(R.string.no_telephony_providers))
} else {
- val builder = AlertDialog.Builder(this)
+ val builder = MaterialAlertDialogBuilder(this, R.style.AlertDialogTheme)
with(builder) {
setTitle(getString(R.string.choose_telephony_provider_account))
setItems(telAccounts) { _, which ->
spinToAor("sip:${telAccounts[which]}")
makeCall()
}
- setPositiveButton("Cancel") { _: DialogInterface, _: Int -> }
+ setNeutralButton("Cancel") { _: DialogInterface, _: Int -> }
show()
}
}
diff --git a/app/src/main/kotlin/com/tutpro/baresip/Utils.kt b/app/src/main/kotlin/com/tutpro/baresip/Utils.kt
index c131ebc1..9215591f 100644
--- a/app/src/main/kotlin/com/tutpro/baresip/Utils.kt
+++ b/app/src/main/kotlin/com/tutpro/baresip/Utils.kt
@@ -27,10 +27,10 @@ import android.widget.ImageView
import android.widget.TextView
import androidx.activity.result.ActivityResultLauncher
import androidx.annotation.RequiresApi
-import androidx.appcompat.app.AlertDialog
import androidx.core.content.ContextCompat
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.ProcessLifecycleOwner
+import com.google.android.material.dialog.MaterialAlertDialogBuilder
import com.google.android.material.snackbar.Snackbar
import java.io.*
import java.lang.reflect.Method
@@ -70,10 +70,8 @@ object Utils {
}
fun alertView(context: Context, title: String, message: String, action: () -> (Unit) = {}) {
- val titleView = View.inflate(context, R.layout.alert_title, null) as TextView
- titleView.text = title
- with(AlertDialog.Builder(context, R.style.AlertDialog)) {
- setCustomTitle(titleView)
+ with(MaterialAlertDialogBuilder(context, R.style.AlertDialogTheme)) {
+ setTitle(title)
setMessage(message)
setPositiveButton(R.string.ok) { dialog, _ ->
dialog.dismiss()
diff --git a/app/src/main/res/layout/alert_title.xml b/app/src/main/res/layout/alert_title.xml
index 55f47ae1..3ff963ab 100644
--- a/app/src/main/res/layout/alert_title.xml
+++ b/app/src/main/res/layout/alert_title.xml
@@ -7,4 +7,3 @@
android:background="@color/colorPrimary"
android:textColor="@color/colorWhite" >
-
diff --git a/app/src/main/res/layout/call_transfer_dialog.xml b/app/src/main/res/layout/call_transfer_dialog.xml
index c455959e..79e76216 100644
--- a/app/src/main/res/layout/call_transfer_dialog.xml
+++ b/app/src/main/res/layout/call_transfer_dialog.xml
@@ -8,15 +8,24 @@
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:padding="?dialogPreferredPadding"
+ android:paddingTop="?dialogPreferredPadding"
+ android:paddingStart="?dialogPreferredPadding"
+ android:paddingEnd="?dialogPreferredPadding"
android:textSize="20sp"
- android:background="@color/colorPrimary"
- android:textColor="@color/colorWhite" />
+ android:textColor="@color/colorPrimary" />
+
+
@@ -25,8 +34,9 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:importantForAutofill="no"
+ android:textSize="18sp"
android:imeOptions="actionDone"
- android:hint="@string/transfer_destination"
+ android:labelFor="@id/transferUri"
android:inputType="textEmailAddress" />
diff --git a/app/src/main/res/layout/password_dialog.xml b/app/src/main/res/layout/password_dialog.xml
index 026b4831..e10ab589 100644
--- a/app/src/main/res/layout/password_dialog.xml
+++ b/app/src/main/res/layout/password_dialog.xml
@@ -15,17 +15,19 @@
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:padding="?dialogPreferredPadding"
+ android:paddingTop="?dialogPreferredPadding"
+ android:paddingStart="?dialogPreferredPadding"
+ android:paddingEnd="?dialogPreferredPadding"
android:textSize="20sp"
- android:textColor="@color/colorWhite"
- android:background="@color/colorPrimary" />
+ android:textColor="@color/colorPrimary" />
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 2f2313f7..dfab6093 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -28,14 +28,37 @@
- @color/colorSpinnerDivider
-
-
+
-
+
+
+
+
+