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

92 lines
2.7 KiB
Kotlin
Raw Normal View History

2018-08-18 07:04:31 +02:00
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.*
2018-09-15 22:41:50 +02:00
import org.libre.agosto.p2play.ajax.Auth
2018-08-18 07:04:31 +02:00
import org.libre.agosto.p2play.ajax.Client
class HostActivity : AppCompatActivity() {
lateinit var settings: SharedPreferences
lateinit var editor: SharedPreferences.Editor
2018-09-15 22:41:50 +02:00
val client:Auth = Auth()
2018-08-18 07:04:31 +02:00
val _db = Database(this)
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_host)
settings = PreferenceManager.getDefaultSharedPreferences(this)
2018-08-18 07:04:31 +02:00
editor = settings.edit()
2019-02-10 18:41:56 +01:00
button.setOnClickListener {
getKeys(hostText.text.toString())
}
2018-08-18 07:04:31 +02:00
2019-01-28 21:54:08 +01:00
val host = settings.getString("hostP2play", "")
val lastHost = settings.getString("last_host", "")
2018-08-18 07:04:31 +02:00
if(host!=""){
if(lastHost!=host){
_db.logout()
ManagerSingleton.logout()
2024-03-19 01:45:04 +01:00
getKeys(host!!)
}else{
ManagerSingleton.url=host
2019-01-28 21:54:08 +01:00
startApp()
}
2018-08-18 07:04:31 +02:00
}
}
2018-09-15 22:41:50 +02:00
2018-08-18 07:04:31 +02:00
fun saveHost(host: String){
editor.putString("last_host",host)
2018-08-18 07:04:31 +02:00
editor.putString("hostP2play",host)
editor.apply()
2019-02-10 18:41:56 +01:00
ManagerSingleton.Toast(getString(R.string.finallyMsg), this)
ManagerSingleton.url=host
2019-01-28 21:54:08 +01:00
startApp()
2018-08-18 07:04:31 +02:00
}
private fun getKeys(hostText: String){
2018-08-18 07:04:31 +02:00
button.isEnabled = false
var host = hostText.toString()
2018-08-18 07:04:31 +02:00
host = host.replace("http://","")
host = host.replace("https://","")
host = host.replace("/","")
ManagerSingleton.url = host
AsyncTask.execute {
2018-09-06 05:04:40 +02:00
if (Looper.myLooper()==null)
Looper.prepare()
2018-08-18 07:04:31 +02:00
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(host)
2018-08-18 07:04:31 +02:00
}
else{
runOnUiThread {
2019-02-10 18:41:56 +01:00
ManagerSingleton.Toast(getString(R.string.errorMsg), this)
2018-08-18 07:04:31 +02:00
button.isEnabled = true
}
}
}
}
private fun startApp(){
2018-08-18 07:04:31 +02:00
runOnUiThread {
2019-02-10 18:41:56 +01:00
val intent = Intent(this,MainActivity::class.java)
2018-08-18 07:04:31 +02:00
startActivity(intent)
2019-01-28 21:54:08 +01:00
this.finish()
2018-08-18 07:04:31 +02:00
}
}
}