import 'package:agrilink_vocpro/core/state/result_state.dart'; import 'package:agrilink_vocpro/domain/service/mqtt_service.dart'; import 'package:flutter/material.dart'; class ControlProvider extends ChangeNotifier { bool _control_1 = false; bool _control_2 = false; bool _control_3 = false; bool _control_4 = false; bool _control_5 = false; bool _control_6 = false; // Getters bool get control_1 => _control_1; bool get control_2 => _control_2; bool get control_3 => _control_3; bool get control_4 => _control_4; bool get control_5 => _control_5; bool get control_6 => _control_6; ControlProvider() { connectMqtt(); } ResultState mqttState = ResultState.initial; // Koneksi MQTT Future connectMqtt() async { mqttState = ResultState.loading; try { final result = await MQTTService().setupMqtt(); if (result == ResultState.hasData) { mqttState = result; print('Connected to MQTT'); } else { mqttState = ResultState.error; print('Failed to connect to MQTT'); } } catch (e) { print(e); } notifyListeners(); } Future disconnectMqtt() async { try { final result = await MQTTService().disconnectMqtt(); if (result == ResultState.hasData) print('Disconnected from MQTT'); } catch (e) { rethrow; } notifyListeners(); } Future isMqttConnected() async { return true; } @override void dispose() { disconnectMqtt(); super.dispose(); } void switchControl1() { _control_1 = !_control_1; notifyListeners(); } void switchControl2() { _control_2 = !_control_2; notifyListeners(); } void switchControl3() { _control_3 = !_control_3; notifyListeners(); } void switchControl4() { _control_4 = !_control_4; notifyListeners(); } void switchControl5() { _control_5 = !_control_5; notifyListeners(); } void switchControl6() { _control_6 = !_control_6; notifyListeners(); } }