diff --git a/app/src/main/kotlin/com/tutpro/baresip/AccountsActivity.kt b/app/src/main/kotlin/com/tutpro/baresip/AccountsActivity.kt index 72452521..905afbc7 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/AccountsActivity.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/AccountsActivity.kt @@ -5,12 +5,11 @@ import android.content.Intent import android.os.Bundle import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AppCompatActivity -import android.text.method.HideReturnsTransformationMethod -import android.text.method.PasswordTransformationMethod import android.view.LayoutInflater import android.view.Menu import android.view.MenuItem import android.widget.* +import androidx.activity.result.contract.ActivityResultContracts import com.tutpro.baresip.databinding.ActivityAccountsBinding import java.util.ArrayList @@ -35,6 +34,17 @@ class AccountsActivity : AppCompatActivity() { alAdapter = AccountListAdapter(this, accounts) listView.adapter = alAdapter + val accountRequest = + registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { + if (it.resultCode == RESULT_OK) { + val aor = it.data!!.getStringExtra("aor")!! + val ua = UserAgent.ofAor(aor)!! + if (MainActivity.aorPasswords.containsKey(aor) && + MainActivity.aorPasswords[aor] == "") + askPassword(ua) + } + } + val addAccountButton = binding.addAccount val newAorView = binding.newAor addAccountButton.setOnClickListener { @@ -73,25 +83,7 @@ class AccountsActivity : AppCompatActivity() { b.putString("aor", ua.account.aor) b.putBoolean("new", true) i.putExtras(b) - startActivityForResult(i, MainActivity.ACCOUNT_CODE) - } - - } - - override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { - - super.onActivityResult(requestCode, resultCode, data) - - when (requestCode) { - MainActivity.ACCOUNT_CODE -> { - if (resultCode == Activity.RESULT_OK) { - val aor = data!!.getStringExtra("aor")!! - val ua = UserAgent.ofAor(aor)!! - if (MainActivity.aorPasswords.containsKey(aor) && - MainActivity.aorPasswords[aor] == "") - askPassword(ua) - } - } + accountRequest.launch(i) } } @@ -106,13 +98,6 @@ 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 - val checkBox = layout.findViewById(R.id.checkbox) as CheckBox - checkBox.setOnCheckedChangeListener { _, isChecked -> - if (isChecked) - input.transformationMethod = HideReturnsTransformationMethod() - else - input.transformationMethod = PasswordTransformationMethod() - } with (AlertDialog.Builder(this)) { setView(layout) setPositiveButton(android.R.string.ok) { dialog, _ ->