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

90 lines
2.6 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.preference.PreferenceManager
import android.util.Log
import kotlinx.android.synthetic.main.activity_host.*
import org.libre.agosto.p2play.ajax.Client
class HostActivity : AppCompatActivity() {
lateinit var settings: SharedPreferences
lateinit var editor: SharedPreferences.Editor
val client:Client = Client()
val _db = Database(this)
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_host)
settings = this.getSharedPreferences("P2play",0)
editor = settings.edit()
ManagerSingleton.context = this
button.setOnClickListener { getKeys() }
val host = settings.getString("hostP2play","")
if(host!=""){
ManagerSingleton.url=host
checkUser()
startApp()
this.finish()
}
}
fun checkUser(){
val token = _db.getToken()
val user = _db.getUser()
if(token.status == 1 && user.status==1){
ManagerSingleton.user = user
ManagerSingleton.token = token
}
else{
_db.logout()
}
}
fun saveHost(){
val host = hostText.text.toString()
editor.putString("hostP2play",host)
editor.apply()
startApp()
}
fun getKeys(){
button.isEnabled = false
var host = hostText.text.toString()
host = host.replace("http://","")
host = host.replace("https://","")
host = host.replace("/","")
ManagerSingleton.url = host
AsyncTask.execute {
Looper.prepare()
val keys = client.getKeys()
if(keys.client_id!=""){
editor.putString("client_id",keys.client_id)
editor.putString("client_secret",keys.client_secret)
editor.apply()
saveHost()
}
else{
runOnUiThread {
ManagerSingleton.Toast(getString(R.string.errorMsg))
button.isEnabled = true
}
}
}
}
fun startApp(){
runOnUiThread {
ManagerSingleton.Toast(getString(R.string.finallyMsg))
val intent = Intent(ManagerSingleton.context,MainActivity::class.java)
startActivity(intent)
}
}
}