| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- package com.example.modifier.ui
- import android.os.Bundle
- import androidx.activity.enableEdgeToEdge
- import androidx.activity.viewModels
- import androidx.appcompat.app.AppCompatActivity
- import androidx.core.view.ViewCompat
- import androidx.core.view.WindowInsetsCompat
- import androidx.databinding.DataBindingUtil
- import com.example.modifier.Global
- import com.example.modifier.R
- import com.example.modifier.databinding.ActivityLoginBinding
- import com.example.modifier.model.ServerConfig
- import dagger.hilt.android.AndroidEntryPoint
- import org.apache.commons.lang3.StringUtils
- @AndroidEntryPoint
- class LoginActivity : AppCompatActivity() {
- private val loginViewModel: LoginViewModel by viewModels()
- private lateinit var binding: ActivityLoginBinding
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- enableEdgeToEdge()
- binding = DataBindingUtil.setContentView(this, R.layout.activity_login)
- binding.loginViewModel = loginViewModel
- binding.lifecycleOwner = this
- binding.etServer.setSimpleItems(Global.servers.toTypedArray())
- binding.btnLogin.setOnClickListener { v ->
- loginViewModel.save()
- val server = binding.etDeviceLabel.text?.toString()
- val deviceLabel = binding.etDeviceLabel.text?.toString()
- val username = binding.etUsername.text?.toString()
- val password = binding.etPassword.text?.toString()
- if (StringUtils.isBlank(server)) {
- binding.tlServer.error = "Server is required"
- }
- if (StringUtils.isBlank(deviceLabel)) {
- binding.tlName.error = "Device label is required"
- }
- if (StringUtils.isBlank(username)) {
- binding.tlUsername.error = "Username is required"
- }
- if (StringUtils.isBlank(password)) {
- binding.tlPassword.error = "Password is required"
- }
- if (StringUtils.isNotBlank(server)
- && StringUtils.isNotBlank(deviceLabel)
- && StringUtils.isNotBlank(username)
- && StringUtils.isNotBlank(password)
- ) {
- Global.serverUrl = server
- Global.name = deviceLabel
- Global.load()
- }
- }
- loginViewModel.serverConfig.postValue(ServerConfig())
- }
- }
|