forked from hush/SilentDragonAndroid-old
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
123 lines
4.0 KiB
123 lines
4.0 KiB
// Copyright 2019-2020 The Hush developers
|
|
package org.myhush.silentdragon.ui
|
|
|
|
import android.content.SharedPreferences
|
|
import android.os.Bundle
|
|
import android.view.View
|
|
import android.widget.*
|
|
import androidx.appcompat.app.AppCompatActivity
|
|
import kotlinx.android.synthetic.main.activity_settings.*
|
|
import org.myhush.silentdragon.ConnectionManager
|
|
import org.myhush.silentdragon.DataModel
|
|
import org.myhush.silentdragon.R
|
|
import org.myhush.silentdragon.SilentDragonApp
|
|
|
|
class SettingsActivity : AppCompatActivity() {
|
|
|
|
override fun onCreate(savedInstanceState: Bundle?) {
|
|
super.onCreate(savedInstanceState)
|
|
setContentView(R.layout.activity_settings)
|
|
|
|
updateUI()
|
|
|
|
btnDisconnect.setOnClickListener {
|
|
DataModel.setConnString(
|
|
null,
|
|
applicationContext
|
|
)
|
|
DataModel.clear()
|
|
ConnectionManager.closeConnection()
|
|
|
|
updateUI()
|
|
}
|
|
|
|
chkDisallowInternet.setOnClickListener {
|
|
DataModel.setGlobalAllowInternet(!chkDisallowInternet.isChecked)
|
|
|
|
if (chkDisallowInternet.isChecked) {
|
|
ConnectionManager.closeConnection()
|
|
}
|
|
|
|
updateUI()
|
|
}
|
|
|
|
btnSetWormhole.setOnClickListener {
|
|
val inputText = findViewById<View>(R.id.wormholeInput) as EditText
|
|
val result = findViewById<View>(R.id.lblCurrentWormhole) as TextView
|
|
val myhushDefaultWormhole : String = "wormhole.myhush.org:443"
|
|
val customWormhole = inputText.getText().toString()
|
|
|
|
// set to myhushDefaultWormhole if nothing in EditText (wormholeInput)
|
|
if (inputText.text.isBlank()) {
|
|
result.text = myhushDefaultWormhole
|
|
Toast.makeText(this, "Defaulting to: " + myhushDefaultWormhole, Toast.LENGTH_SHORT).show()
|
|
DataModel.setWormholeServer(myhushDefaultWormhole)
|
|
} else {
|
|
result.text = customWormhole
|
|
Toast.makeText(this, "Wormhole set to: " + customWormhole, Toast.LENGTH_SHORT).show()
|
|
DataModel.setWormholeServer(customWormhole)
|
|
}
|
|
}
|
|
|
|
spinnerCurrency!!.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
|
|
|
|
override fun onItemSelected(parent: AdapterView<*>, view: View, pos: Int, id: Long) {
|
|
var cur = parent.adapter.getItem(pos).toString() // Set selected currency
|
|
|
|
DataModel.selectedCurrency = cur // Set cur as selected
|
|
|
|
// Save currency
|
|
var pref: SharedPreferences = getSharedPreferences("MainFile", 0)
|
|
|
|
var editor: SharedPreferences.Editor = pref.edit()
|
|
editor.putString(
|
|
"currency",
|
|
DataModel.selectedCurrency
|
|
)
|
|
|
|
editor.commit()
|
|
}
|
|
|
|
override fun onNothingSelected(parent: AdapterView<out Adapter>?) {}
|
|
}
|
|
|
|
}
|
|
|
|
private fun fillSpinner(){
|
|
val items = DataModel.currencyValues.keys.toMutableList()
|
|
var selectedIndex = 0
|
|
items.sort()
|
|
|
|
for (i in items){
|
|
if(i == DataModel.selectedCurrency)
|
|
break
|
|
selectedIndex++
|
|
}
|
|
|
|
var adapter: ArrayAdapter<String> = ArrayAdapter(
|
|
this,
|
|
android.R.layout.simple_spinner_item,
|
|
items
|
|
)
|
|
|
|
adapter.setDropDownViewResource(android.R.layout.simple_spinner_item)
|
|
spinnerCurrency.adapter = adapter
|
|
spinnerCurrency.setSelection(selectedIndex)
|
|
}
|
|
|
|
fun updateUI() {
|
|
fillSpinner()
|
|
txtSettingsConnString.text = DataModel.getConnString(
|
|
SilentDragonApp.appContext!!
|
|
)
|
|
?: getString(R.string.not_connected)
|
|
|
|
chkDisallowInternet.isChecked = !DataModel.getGlobalAllowInternet()
|
|
|
|
lblServerVersion.text = DataModel.mainResponseData?.serverversion ?: getString(
|
|
R.string.not_connected
|
|
)
|
|
|
|
lblCurrentWormhole.text = DataModel.getWormholeServer()
|
|
}
|
|
}
|
|
|