feat: add socket control and temperature humidity modules

Implement ViewModel state management, Compose UI screens, navigation routing,
localized strings, and comprehensive unit tests for smart socket control and
temperature/humidity telemetry monitoring.
This commit is contained in:
2026-08-25 13:17:15 +08:00
committed by KremeCN
parent 249721be33
commit 8612229e93
15 changed files with 1849 additions and 7 deletions
@@ -52,4 +52,49 @@
<string name="device_temperature_humidity_description">View temperature and humidity status.</string>
<string name="device_infrared_title">Infrared Controller</string>
<string name="device_infrared_description">Access infrared controller features.</string>
<!-- Socket strings -->
<string name="socket_title">Smart Socket</string>
<string name="socket_status_label">Power Status</string>
<string name="socket_status_on">ON</string>
<string name="socket_status_off">OFF</string>
<string name="socket_status_offline">Offline</string>
<string name="socket_status_unknown">Unknown</string>
<string name="socket_action_toggle">Toggle Power</string>
<string name="socket_action_turn_on">Turn ON</string>
<string name="socket_action_turn_off">Turn OFF</string>
<string name="socket_operating_label">Updating socket state…</string>
<string name="socket_confirmed_at">Confirmed at %1$s</string>
<!-- Temperature & Humidity strings -->
<string name="th_title">Temperature &amp; Humidity</string>
<string name="th_temperature_label">Temperature</string>
<string name="th_humidity_label">Humidity</string>
<string name="th_unit_celsius">°C</string>
<string name="th_unit_percent">%</string>
<string name="th_read_only_notice">Sensor Device (Read-only)</string>
<string name="th_read_only_description">This sensor provides real-time environmental telemetry and does not support remote control actions.</string>
<string name="th_no_data_title">No Sensor Data</string>
<string name="th_no_data_description">No telemetry data has been received from this sensor. Tap Refresh to query again.</string>
<string name="th_last_updated">Updated at %1$s</string>
<!-- Common action & error strings -->
<string name="action_refresh">Refresh</string>
<string name="action_retry">Retry</string>
<string name="action_back">Back</string>
<string name="action_edit_device_name">Edit Device Name</string>
<string name="dialog_edit_device_name_title">Edit Device Name</string>
<string name="dialog_edit_device_name_hint">Enter gateway device name</string>
<string name="action_confirm">Confirm</string>
<string name="action_cancel">Cancel</string>
<string name="status_loading">Loading…</string>
<string name="status_device_offline_banner">Device is offline. Commands cannot be sent.</string>
<string name="error_authentication">Authentication failed. Please log in again.</string>
<string name="error_token_invalid">Session expired. Please log in again.</string>
<string name="error_network">Network error. Please check your connection.</string>
<string name="error_device_not_found">Device not found.</string>
<string name="error_device_offline">Device is currently offline.</string>
<string name="error_invalid_request">Invalid request parameters.</string>
<string name="error_operation_failed">Operation failed. Please try again.</string>
<string name="error_no_data">No sensor data available.</string>
<string name="error_unknown">An unexpected error occurred.</string>
</resources>