Add ServerSettingActivity

This commit is contained in:
Awin Huang
2024-05-15 17:04:02 +08:00
parent dccecd6417
commit 8721af1482
9 changed files with 138 additions and 14 deletions

View File

@@ -196,8 +196,12 @@ class KirbyDevice(
}
private fun publishMeasurementAutoServer(measurement: DecoderIaq.Measurement) {
// Read url from SharedPreferences
val sharedPref = context.getSharedPreferences(context.getString(R.string.app_name), Context.MODE_PRIVATE)
val url = sharedPref.getString(
"kirby_data_post_url",
context.getString(R.string.kirby_data_post_url_default)) ?: context.getString(R.string.kirby_data_post_url_default)
val accessKey = BuildConfig.API_KEY
val url = BuildConfig.API_BASE_URL
if(url.isEmpty()) {
return

View File

@@ -15,7 +15,6 @@ import android.content.pm.PackageManager
import android.net.Uri
import android.os.Build
import android.os.Bundle
import android.os.Handler
import android.util.Log
import android.view.Menu
import android.view.MenuItem
@@ -23,7 +22,6 @@ import android.view.View.INVISIBLE
import android.view.View.VISIBLE
import android.widget.Toast
import androidx.activity.result.ActivityResultLauncher
import androidx.activity.result.contract.ActivityResultContracts
import androidx.activity.result.contract.ActivityResultContracts.CreateDocument
import androidx.annotation.RequiresApi
import androidx.appcompat.app.AppCompatActivity
@@ -303,6 +301,13 @@ class MainActivity : AppCompatActivity() {
return true
}
R.id.action_server_setting -> {
// Goto server setting intent
val intent = Intent(this, ServerSettingActivity::class.java)
startActivity(intent)
return true
}
else -> super.onOptionsItemSelected(item)
}
}

View File

@@ -0,0 +1,49 @@
package com.logitech.vc.kirbytest
import android.os.Bundle
import android.util.Log
import android.widget.Button
import android.widget.EditText
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
class ServerSettingActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
setContentView(R.layout.activity_server_setting)
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets ->
val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom)
insets
}
// Get current server setting from SharedPreferences
val sharedPref = getSharedPreferences(getString(R.string.app_name), MODE_PRIVATE)
var currentUrl = sharedPref.getString(
"kirby_data_post_url",
getString(R.string.kirby_data_post_url_default)) ?: getString(R.string.kirby_data_post_url_default)
val editTextServerSetting = findViewById<EditText>(R.id.editTextServerSetting)
editTextServerSetting.setText(currentUrl)
val doneButton = findViewById<Button>(R.id.buttonDone)
doneButton.setOnClickListener {
// Save editTextServerSetting to SharedPreferences
val serverSetting = editTextServerSetting.text.toString()
sharedPref.edit().putString("kirby_data_post_url", serverSetting).apply()
finish()
}
val cancelButton = findViewById<Button>(R.id.buttonCancel)
cancelButton.setOnClickListener {
finish()
}
val defaultButton = findViewById<Button>(R.id.buttonDefault)
defaultButton.setOnClickListener {
editTextServerSetting.setText(getString(R.string.kirby_data_post_url_default))
}
}
}