Use custom title in password, backup, and restore dialogs.
This commit is contained in:
@@ -83,29 +83,32 @@ class AccountsActivity : AppCompatActivity() {
|
|||||||
val aor = data!!.getStringExtra("aor")!!
|
val aor = data!!.getStringExtra("aor")!!
|
||||||
val ua = UserAgent.ofAor(aor)!!
|
val ua = UserAgent.ofAor(aor)!!
|
||||||
if (MainActivity.aorPasswords.containsKey(aor) && MainActivity.aorPasswords[aor] == "")
|
if (MainActivity.aorPasswords.containsKey(aor) && MainActivity.aorPasswords[aor] == "")
|
||||||
askPassword(String.format(getString(R.string.account_password),
|
askPassword(ua)
|
||||||
Utils.plainAor(aor)), ua)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun askPassword(title: String, ua: UserAgent) {
|
private fun askPassword(ua: UserAgent) {
|
||||||
val builder = AlertDialog.Builder(this)
|
val builder = AlertDialog.Builder(this)
|
||||||
builder.setTitle(title)
|
val layout = LayoutInflater.from(this)
|
||||||
val viewInflated = LayoutInflater.from(this)
|
|
||||||
.inflate(R.layout.password_dialog, findViewById(android.R.id.content) as ViewGroup,
|
.inflate(R.layout.password_dialog, findViewById(android.R.id.content) as ViewGroup,
|
||||||
false)
|
false)
|
||||||
val input = viewInflated.findViewById(R.id.password) as EditText
|
val titleView = layout.findViewById(R.id.title) as TextView
|
||||||
val checkBox = viewInflated.findViewById(R.id.checkbox) as CheckBox
|
titleView.text = getString(R.string.authentication_password)
|
||||||
|
val messageView = layout.findViewById(R.id.message) as TextView
|
||||||
|
val message = getString(R.string.account) + " " + Utils.plainAor(ua.account.aor)
|
||||||
|
messageView.text = message
|
||||||
|
val input = layout.findViewById(R.id.password) as EditText
|
||||||
|
val checkBox = layout.findViewById(R.id.checkbox) as CheckBox
|
||||||
checkBox.setOnCheckedChangeListener { _, isChecked ->
|
checkBox.setOnCheckedChangeListener { _, isChecked ->
|
||||||
if (isChecked)
|
if (isChecked)
|
||||||
input.transformationMethod = HideReturnsTransformationMethod()
|
input.transformationMethod = HideReturnsTransformationMethod()
|
||||||
else
|
else
|
||||||
input.transformationMethod = PasswordTransformationMethod()
|
input.transformationMethod = PasswordTransformationMethod()
|
||||||
}
|
}
|
||||||
builder.setView(viewInflated)
|
builder.setView(layout)
|
||||||
builder.setPositiveButton(android.R.string.ok) { dialog, _ ->
|
builder.setPositiveButton(android.R.string.ok) { dialog, _ ->
|
||||||
dialog.dismiss()
|
dialog.dismiss()
|
||||||
var password = input.text.toString().trim()
|
var password = input.text.toString().trim()
|
||||||
|
|||||||
@@ -1,24 +1,28 @@
|
|||||||
package com.tutpro.baresip
|
package com.tutpro.baresip
|
||||||
|
|
||||||
import android.Manifest
|
import android.Manifest
|
||||||
import android.app.*
|
import android.app.Activity
|
||||||
|
import android.app.KeyguardManager
|
||||||
|
import android.app.NotificationManager
|
||||||
import android.content.*
|
import android.content.*
|
||||||
import androidx.appcompat.app.AlertDialog
|
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
|
||||||
import android.content.pm.PackageManager
|
import android.content.pm.PackageManager
|
||||||
import android.media.AudioManager
|
import android.media.AudioManager
|
||||||
import android.os.*
|
import android.os.Build
|
||||||
import androidx.localbroadcastmanager.content.LocalBroadcastManager
|
import android.os.Bundle
|
||||||
import android.view.inputmethod.InputMethodManager
|
import android.os.CountDownTimer
|
||||||
|
import android.os.Handler
|
||||||
import android.text.InputType
|
import android.text.InputType
|
||||||
import android.text.TextWatcher
|
import android.text.TextWatcher
|
||||||
import android.text.method.HideReturnsTransformationMethod
|
import android.text.method.HideReturnsTransformationMethod
|
||||||
import android.text.method.PasswordTransformationMethod
|
import android.text.method.PasswordTransformationMethod
|
||||||
import android.widget.*
|
|
||||||
import android.view.*
|
import android.view.*
|
||||||
|
import android.view.inputmethod.InputMethodManager
|
||||||
|
import android.widget.*
|
||||||
|
import androidx.appcompat.app.AlertDialog
|
||||||
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
|
import androidx.localbroadcastmanager.content.LocalBroadcastManager
|
||||||
|
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import kotlin.collections.ArrayList
|
|
||||||
|
|
||||||
class MainActivity : AppCompatActivity() {
|
class MainActivity : AppCompatActivity() {
|
||||||
|
|
||||||
@@ -932,8 +936,7 @@ class MainActivity : AppCompatActivity() {
|
|||||||
updateIcons(ua.account)
|
updateIcons(ua.account)
|
||||||
if (resultCode == Activity.RESULT_OK)
|
if (resultCode == Activity.RESULT_OK)
|
||||||
if (aorPasswords.containsKey(activityAor) && aorPasswords[activityAor] == "")
|
if (aorPasswords.containsKey(activityAor) && aorPasswords[activityAor] == "")
|
||||||
askPassword(String.format(getString(R.string.account_password),
|
askPassword(getString(R.string.authentication_password), ua)
|
||||||
Utils.plainAor(activityAor)), ua)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
CONTACTS_CODE -> {
|
CONTACTS_CODE -> {
|
||||||
@@ -1014,13 +1017,18 @@ class MainActivity : AppCompatActivity() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun askPassword(title: String, ua: UserAgent? = null) {
|
fun askPassword(title: String, ua: UserAgent? = null) {
|
||||||
val builder = AlertDialog.Builder(this)
|
val builder = AlertDialog.Builder(this)
|
||||||
val layout = LayoutInflater.from(this)
|
val layout = LayoutInflater.from(this)
|
||||||
.inflate(R.layout.password_dialog, findViewById(android.R.id.content) as ViewGroup,
|
.inflate(R.layout.password_dialog, findViewById(android.R.id.content) as ViewGroup,
|
||||||
false)
|
false)
|
||||||
val titleView = layout.findViewById(R.id.title) as TextView
|
val titleView = layout.findViewById(R.id.title) as TextView
|
||||||
titleView.text = title
|
titleView.text = title
|
||||||
|
if (ua != null) {
|
||||||
|
val messageView = layout.findViewById(R.id.message) as TextView
|
||||||
|
val message = getString(R.string.account) + " " + Utils.plainAor(activityAor)
|
||||||
|
messageView.text = message
|
||||||
|
}
|
||||||
val input = layout.findViewById(R.id.password) as EditText
|
val input = layout.findViewById(R.id.password) as EditText
|
||||||
val checkBox = layout.findViewById(R.id.checkbox) as CheckBox
|
val checkBox = layout.findViewById(R.id.checkbox) as CheckBox
|
||||||
checkBox.setOnCheckedChangeListener { _, isChecked ->
|
checkBox.setOnCheckedChangeListener { _, isChecked ->
|
||||||
@@ -1065,7 +1073,10 @@ class MainActivity : AppCompatActivity() {
|
|||||||
.inflate(R.layout.password_dialog, findViewById(android.R.id.content) as ViewGroup,
|
.inflate(R.layout.password_dialog, findViewById(android.R.id.content) as ViewGroup,
|
||||||
false)
|
false)
|
||||||
val titleView = layout.findViewById(R.id.title) as TextView
|
val titleView = layout.findViewById(R.id.title) as TextView
|
||||||
titleView.text = String.format(getString(R.string.account_password), Utils.plainAor(aor))
|
titleView.text = getString(R.string.authentication_password)
|
||||||
|
val messageView = layout.findViewById(R.id.message) as TextView
|
||||||
|
val message = getString(R.string.account) + " " + Utils.plainAor(aor)
|
||||||
|
messageView.text = message
|
||||||
val input = layout.findViewById(R.id.password) as EditText
|
val input = layout.findViewById(R.id.password) as EditText
|
||||||
val checkBox = layout.findViewById(R.id.checkbox) as CheckBox
|
val checkBox = layout.findViewById(R.id.checkbox) as CheckBox
|
||||||
checkBox.setOnCheckedChangeListener { _, isChecked ->
|
checkBox.setOnCheckedChangeListener { _, isChecked ->
|
||||||
@@ -1164,16 +1175,19 @@ class MainActivity : AppCompatActivity() {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
Utils.deleteFile(File(zipFilePath))
|
Utils.deleteFile(File(zipFilePath))
|
||||||
val restartDialog = AlertDialog.Builder(this)
|
val builder = AlertDialog.Builder(this)
|
||||||
restartDialog.setMessage(getString(R.string.restored))
|
val titleView = LayoutInflater.from(this).inflate(R.layout.alert_title, null) as TextView
|
||||||
restartDialog.setPositiveButton(getText(R.string.restart)) { dialog, _ ->
|
titleView.text = getString(R.string.info)
|
||||||
|
builder.setCustomTitle(titleView)
|
||||||
|
builder.setMessage(getString(R.string.restored))
|
||||||
|
builder.setPositiveButton(getText(R.string.restart)) { dialog, _ ->
|
||||||
quitRestart(true)
|
quitRestart(true)
|
||||||
dialog.dismiss()
|
dialog.dismiss()
|
||||||
}
|
}
|
||||||
restartDialog.setNegativeButton(getText(R.string.cancel)) { dialog, _ ->
|
builder.setNegativeButton(getText(R.string.cancel)) { dialog, _ ->
|
||||||
dialog.dismiss()
|
dialog.dismiss()
|
||||||
}
|
}
|
||||||
restartDialog.create().show()
|
builder.create().show()
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun spinToAor(aor: String) {
|
private fun spinToAor(aor: String) {
|
||||||
|
|||||||
@@ -13,10 +13,22 @@
|
|||||||
android:background="@color/colorPrimary"
|
android:background="@color/colorPrimary"
|
||||||
android:textColor="@color/colorWhite" />
|
android:textColor="@color/colorWhite" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/message"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:textSize="15sp"
|
||||||
|
android:textColor="#000000"
|
||||||
|
android:paddingTop="20dp"
|
||||||
|
android:paddingStart="?dialogPreferredPadding"
|
||||||
|
android:paddingEnd="?dialogPreferredPadding" />
|
||||||
|
|
||||||
<com.google.android.material.textfield.TextInputLayout
|
<com.google.android.material.textfield.TextInputLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:padding="?dialogPreferredPadding" >
|
android:paddingTop="20dp"
|
||||||
|
android:paddingStart="?dialogPreferredPadding"
|
||||||
|
android:paddingEnd="?dialogPreferredPadding" >
|
||||||
|
|
||||||
<EditText
|
<EditText
|
||||||
android:id="@+id/password"
|
android:id="@+id/password"
|
||||||
|
|||||||
Reference in New Issue
Block a user