Migrate from Kotlin synthetics to Jetpack view binding
This commit is contained in:
@@ -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)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user