import 'dart:async'; import 'package:flutter/foundation.dart'; class AppState with ChangeNotifier { List contacts = [ Contact(address: "Living Room Window", isOpen: false), Contact(address: "Front Door", isOpen: true), Contact(address: "Back Door", isOpen: false), Contact(address: "Garage Window", isOpen: true), ]; Timer? _timer; AppState() { _timer = Timer.periodic(const Duration(seconds: 1), (_) { toggleFirstContact(); }); } void toggleFirstContact() { if (contacts.isEmpty) { return; } contacts[0].isOpen = !contacts[0].isOpen; notifyListeners(); } @override void dispose() { _timer?.cancel(); super.dispose(); } } class Contact { final String address; bool isOpen; Contact({required this.address, required this.isOpen}); }