语音设置

This commit is contained in:
2026-05-19 17:47:58 +08:00
parent 157ac8be13
commit 7c26e90687
3 changed files with 152 additions and 41 deletions

View File

@@ -8,7 +8,6 @@ import com.example.defenseapplication.R
import com.example.defenseapplication.base.BaseActivity
import com.example.defenseapplication.databinding.SettingsActivityBinding
import com.example.defenseapplication.utils.DeviceIdEvent
import com.example.defenseapplication.utils.DeviceUpdateEvent
import com.example.defenseapplication.utils.LanguageUtil
import com.example.defenseapplication.utils.RetrofitNetwork
import com.example.defenseapplication.view.CustomDialogFragmentText
@@ -20,12 +19,18 @@ import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
//设置页面
class SettingsActivity : BaseActivity(), DeviceUpdateEvent.DeviceUpdateListener {
class SettingsActivity : BaseActivity() {
private lateinit var binding: SettingsActivityBinding
private val SP_NAME = "DeviceSettings"
private val KEY_RECOGNITION_MODE = "recognition_mode"
private var alertAudio: String? = null
private var audioContent: String? = null
override fun onResume() {
super.onResume()
fetchDeviceInfo()
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = SettingsActivityBinding.inflate(layoutInflater)
@@ -37,6 +42,8 @@ class SettingsActivity : BaseActivity(), DeviceUpdateEvent.DeviceUpdateListener
.init()
binding.itemVoiceSetting.setOnClickListener {
val intent = Intent(this, VoiceSettingsActivity::class.java)
intent.putExtra("alertAudio", alertAudio ?: "1")
intent.putExtra("audioContent", audioContent ?: "")
startActivity(intent)
}
binding.ivBack.setOnClickListener {
@@ -95,17 +102,6 @@ class SettingsActivity : BaseActivity(), DeviceUpdateEvent.DeviceUpdateListener
val intent = Intent(this, WiFiManagementActivity::class.java)
startActivity(intent)
}
fetchDeviceInfo()
DeviceUpdateEvent.addListener(this)
}
override fun onDestroy() {
super.onDestroy()
DeviceUpdateEvent.removeListener(this)
}
override fun onDeviceUpdated(deviceId: String) {
fetchDeviceInfo()
}
private fun fetchDeviceInfo() {
@@ -138,6 +134,10 @@ class SettingsActivity : BaseActivity(), DeviceUpdateEvent.DeviceUpdateListener
binding.tvDeviceName.text = device.deviceName ?: "未设置"
binding.tvWifiName.text = device.wifiName ?: "未设置"
// 保存告警音频和内容数据,用于传递给 VoiceSettingsActivity
alertAudio = device.alertAudio
audioContent = device.audioContet
val serverMode = device.patternPerception
val cacheMode = getCachedRecognitionMode()
@@ -192,7 +192,6 @@ class SettingsActivity : BaseActivity(), DeviceUpdateEvent.DeviceUpdateListener
if (response.code == 200) {
binding.tvDeviceName.text = name
Toast.makeText(this@SettingsActivity, "修改成功", Toast.LENGTH_SHORT).show()
DeviceUpdateEvent.notifyDeviceUpdated(deviceId)
} else {
Toast.makeText(this@SettingsActivity, response.msg, Toast.LENGTH_SHORT).show()
}
@@ -231,7 +230,6 @@ class SettingsActivity : BaseActivity(), DeviceUpdateEvent.DeviceUpdateListener
binding.tvRecognitionMode.text = mode
saveRecognitionMode(mode)
Toast.makeText(this@SettingsActivity, "修改成功", Toast.LENGTH_SHORT).show()
DeviceUpdateEvent.notifyDeviceUpdated(deviceId)
} else {
Toast.makeText(this@SettingsActivity, response.msg, Toast.LENGTH_SHORT).show()
}