p2play-app-android/app/src/main/java/org/libre/agosto/p2play/LoginActivity.kt

87 lines
2.7 KiB
Kotlin

package org.libre.agosto.p2play
import android.content.Intent
import android.content.SharedPreferences
import android.os.AsyncTask
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.os.Looper
import android.util.Log
import kotlinx.android.synthetic.main.activity_login.*
import org.libre.agosto.p2play.ajax.Auth
class LoginActivity : AppCompatActivity() {
private val _auth = Auth()
lateinit var settings: SharedPreferences
lateinit var client_id: String
lateinit var client_secret: String
private lateinit var _db: Database
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_login)
setTitle(R.string.action_login)
ManagerSingleton.context = this
_db = Database(this)
settings = this.getSharedPreferences("P2play",0)
client_id = settings.getString("client_id", "")
client_secret = settings.getString("client_secret", "")
registerActionBtn.setOnClickListener { startActivity(Intent(this, RegisterActivity::class.java)) }
loginBtn.setOnClickListener { tryLogin() }
}
fun tryLogin(){
loginBtn.isEnabled = false;
val username = userText.text.toString()
val password = passwordText.text.toString()
AsyncTask.execute {
Looper.prepare()
val token = _auth.login(username, password, client_id, client_secret)
Log.d("token", token.token )
Log.d("status", token.status.toString() )
when(token.status.toString()){
"1" -> {
_db.newToken(token)
ManagerSingleton.token = token
getUser()
}
"0" -> {
runOnUiThread {
ManagerSingleton.Toast(getString(R.string.loginError_msg))
}
}
"-1" -> {
runOnUiThread {
loginBtn.isEnabled = true
ManagerSingleton.Toast(getString(R.string.loginFailed_msg))
}
}
}
}
}
fun getUser(){
val user = _auth.me(ManagerSingleton.token.token)
if(user.status == 1){
_db.newUser(user)
ManagerSingleton.user = user
runOnUiThread {
ManagerSingleton.Toast(getString(R.string.loginSuccess_msg))
finish()
}
}
else{
runOnUiThread {
ManagerSingleton.Toast(getString(R.string.loginError_msg))
}
}
}
}