clean-code-javascript
clean-code-javascript copied to clipboard
MainActivity.kt
package com.example.smarthome
import android.os.Bundle import androidx.appcompat.app.AppCompatActivity import androidx.lifecycle.Observer import com.example.smarthome.manager.DeviceManager import com.example.smarthome.manager.SceneManager import com.example.smarthome.model.SmartDevice
class MainActivity : AppCompatActivity() {
private val deviceManager = DeviceManager()
private val sceneManager = SceneManager()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
setupUI()
loadDevices()
loadScenes()
}
private fun setupUI() {
// Пример: подписка на изменения списка устройств
deviceManager.devices.observe(this, Observer { devices ->
// Обновить UI (например, RecyclerView)
updateDeviceList(devices)
})
}
private fun loadDevices() {
try {
deviceManager.fetchDevices()
} catch (e: Exception) {
showError("Не удалось загрузить устройства: ${e.message}")
}
}
private fun loadScenes() {
try {
sceneManager.fetchScenes()
} catch (e: Exception) {
showError("Не удалось загрузить сценарии: ${e.message}")
}
}
private fun updateDeviceList(devices: List<SmartDevice>) {
// Логика обновления интерфейса
}
private fun showError(message: String) {
// Показать ошибку пользователю (Toast, Dialog и т.п.)
}
} DeviceManager.kt