diff --git a/app/src/main/kotlin/com/github/gotify/login/AdvancedDialog.kt b/app/src/main/kotlin/com/github/gotify/login/AdvancedDialog.kt index 6a1910d..8c4809f 100644 --- a/app/src/main/kotlin/com/github/gotify/login/AdvancedDialog.kt +++ b/app/src/main/kotlin/com/github/gotify/login/AdvancedDialog.kt @@ -1,11 +1,11 @@ package com.github.gotify.login -import android.app.AlertDialog import android.content.Context import android.view.LayoutInflater import android.widget.CompoundButton import com.github.gotify.R import com.github.gotify.databinding.AdvancedSettingsDialogBinding +import com.google.android.material.dialog.MaterialAlertDialogBuilder internal class AdvancedDialog( private val context: Context, @@ -42,7 +42,7 @@ internal class AdvancedDialog( } else { showRemoveCACertificate(selectedCertificate) } - AlertDialog.Builder(context) + MaterialAlertDialogBuilder(context) .setView(binding.root) .setTitle(R.string.advanced_settings) .setPositiveButton(context.getString(R.string.done), null) diff --git a/app/src/main/kotlin/com/github/gotify/login/LoginActivity.kt b/app/src/main/kotlin/com/github/gotify/login/LoginActivity.kt index ed84f7b..f46dd42 100644 --- a/app/src/main/kotlin/com/github/gotify/login/LoginActivity.kt +++ b/app/src/main/kotlin/com/github/gotify/login/LoginActivity.kt @@ -8,10 +8,7 @@ import android.os.Bundle import android.text.Editable import android.text.TextWatcher import android.view.View -import android.widget.EditText -import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AppCompatActivity -import androidx.appcompat.view.ContextThemeWrapper import com.github.gotify.R import com.github.gotify.SSLSettings import com.github.gotify.Settings @@ -27,10 +24,13 @@ import com.github.gotify.client.api.UserApi import com.github.gotify.client.model.Client import com.github.gotify.client.model.VersionInfo import com.github.gotify.databinding.ActivityLoginBinding +import com.github.gotify.databinding.ClientNameDialogBinding import com.github.gotify.init.InitializationActivity import com.github.gotify.log.Log import com.github.gotify.log.LogsActivity import com.github.gotify.log.UncaughtExceptionHandler +import com.google.android.material.dialog.MaterialAlertDialogBuilder +import com.google.android.material.textfield.TextInputEditText import okhttp3.HttpUrl import java.security.cert.X509Certificate @@ -59,7 +59,7 @@ internal class LoginActivity : AppCompatActivity() { override fun onPostCreate(savedInstanceState: Bundle?) { super.onPostCreate(savedInstanceState) - binding.gotifyUrl.addTextChangedListener(object : TextWatcher { + binding.gotifyUrlEditext.addTextChangedListener(object : TextWatcher { override fun beforeTextChanged(charSequence: CharSequence, i: Int, i1: Int, i2: Int) {} override fun onTextChanged(charSequence: CharSequence, i: Int, i1: Int, i2: Int) { @@ -83,7 +83,7 @@ internal class LoginActivity : AppCompatActivity() { } private fun doCheckUrl() { - val url = binding.gotifyUrl.text.toString().trim().trimEnd('/') + val url = binding.gotifyUrlEditext.text.toString().trim().trimEnd('/') val parsedUrl = HttpUrl.parse(url) if (parsedUrl == null) { Utils.showSnackBar(this, "Invalid URL (include http:// or https://)") @@ -110,7 +110,7 @@ internal class LoginActivity : AppCompatActivity() { } private fun showHttpWarning() { - AlertDialog.Builder(ContextThemeWrapper(this, R.style.AppTheme_Dialog)) + MaterialAlertDialogBuilder(this) .setTitle(R.string.warning) .setCancelable(true) .setMessage(R.string.http_warning) @@ -213,8 +213,8 @@ internal class LoginActivity : AppCompatActivity() { } private fun doLogin() { - val username = binding.username.text.toString() - val password = binding.password.text.toString() + val username = binding.usernameEditext.text.toString() + val password = binding.passwordEditext.text.toString() binding.login.visibility = View.GONE binding.loginProgress.visibility = View.VISIBLE @@ -238,21 +238,22 @@ internal class LoginActivity : AppCompatActivity() { } private fun newClientDialog(client: ApiClient) { - val clientName = EditText(this) - clientName.setText(Build.MODEL) + val clientDialogBinding = ClientNameDialogBinding.inflate(layoutInflater) + val clientDialogEditext = clientDialogBinding.clientNameEditext + clientDialogEditext.setText(Build.MODEL) - AlertDialog.Builder(ContextThemeWrapper(this, R.style.AppTheme_Dialog)) + MaterialAlertDialogBuilder(this) .setTitle(R.string.create_client_title) .setMessage(R.string.create_client_message) - .setView(clientName) - .setPositiveButton(R.string.create, doCreateClient(client, clientName)) + .setView(clientDialogBinding.root) + .setPositiveButton(R.string.create, doCreateClient(client, clientDialogEditext)) .setNegativeButton(R.string.cancel) { _, _ -> onCancelClientDialog() } .show() } private fun doCreateClient( client: ApiClient, - nameProvider: EditText + nameProvider: TextInputEditText ): DialogInterface.OnClickListener { return DialogInterface.OnClickListener { _, _ -> val newClient = Client().name(nameProvider.text.toString()) diff --git a/app/src/main/res/layout/activity_login.xml b/app/src/main/res/layout/activity_login.xml index 1ce90e8..8c23990 100644 --- a/app/src/main/res/layout/activity_login.xml +++ b/app/src/main/res/layout/activity_login.xml @@ -13,19 +13,18 @@ tools:context=".login.LoginActivity" tools:layout_editor_absoluteY="25dp"> -