87 lines
2.7 KiB
Kotlin
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))
|
|
}
|
|
}
|
|
}
|
|
}
|