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 - - - + + + +