Migrate from Kotlin synthetics to Jetpack view binding

This commit is contained in:
MM20
2021-12-11 14:46:46 +01:00
parent 299d421e5c
commit 89a2754eaf
49 changed files with 423 additions and 431 deletions
+4 -1
View File
@@ -1,7 +1,6 @@
plugins {
id("com.android.library")
id("kotlin-android")
id("kotlin-android-extensions")
}
android {
@@ -33,6 +32,10 @@ android {
kotlinOptions {
jvmTarget = "1.8"
}
buildFeatures {
viewBinding = true
}
}
dependencies {
@@ -2,10 +2,11 @@ package de.mm20.launcher2.owncloud
import android.app.Activity
import android.os.Bundle
import android.view.LayoutInflater
import androidx.appcompat.app.AppCompatActivity
import androidx.lifecycle.lifecycleScope
import kotlinx.android.synthetic.main.activity_owncloud_login.*
import kotlinx.android.synthetic.main.activity_owncloud_login_username_password.*
import de.mm20.launcher2.owncloud.databinding.ActivityOwncloudLoginBinding
import de.mm20.launcher2.owncloud.databinding.ActivityOwncloudLoginUsernamePasswordBinding
import kotlinx.coroutines.*
class LoginActivity : AppCompatActivity() {
@@ -14,37 +15,39 @@ class LoginActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_owncloud_login)
nextButton.setOnClickListener {
serverUrlInputLayout.error = null
val binding = ActivityOwncloudLoginBinding.inflate(LayoutInflater.from(this))
setContentView(binding.root)
binding.nextButton.setOnClickListener {
binding.serverUrlInputLayout.error = null
lifecycleScope.launch {
var url = serverUrlInput.text.toString()
var url = binding.serverUrlInput.text.toString()
if (!(url.startsWith("http://") || url.startsWith("https://"))) {
url = "https://$url"
}
if (url.isBlank()) {
serverUrlInputLayout.error = getString(R.string.next_cloud_server_url_empty)
binding.serverUrlInputLayout.error = getString(R.string.next_cloud_server_url_empty)
return@launch
}
if (owncloudClient.checkOwncloudInstallation(url)) {
openLoginPage(url)
} else {
serverUrlInputLayout.error = getString(R.string.owncloud_server_invalid_url)
binding.serverUrlInputLayout.error = getString(R.string.owncloud_server_invalid_url)
}
}
}
}
private fun openLoginPage(url: String) {
setContentView(R.layout.activity_owncloud_login_username_password)
loginButton.setOnClickListener {
val username = username.text.toString()
val password = password.text.toString()
val binding = ActivityOwncloudLoginUsernamePasswordBinding.inflate(LayoutInflater.from(this))
setContentView(binding.root)
binding.loginButton.setOnClickListener {
val username = binding.username.text.toString()
val password = binding.password.text.toString()
if (username.isEmpty()) {
usernameInputLayout.error = getString(R.string.owncloud_username_empty)
binding.usernameInputLayout.error = getString(R.string.owncloud_username_empty)
}
if (password.isEmpty()) {
passwordInputLayout.error = getString(R.string.owncloud_password_empty)
binding.passwordInputLayout.error = getString(R.string.owncloud_password_empty)
}
if(username.isEmpty() || password.isEmpty()) {
return@setOnClickListener
@@ -54,7 +57,7 @@ class LoginActivity : AppCompatActivity() {
setResult(Activity.RESULT_OK)
finish()
} else {
passwordInputLayout.error = getString(R.string.owncloud_login_failed)
binding.passwordInputLayout.error = getString(R.string.owncloud_login_failed)
}
}
}