You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
	
	
		
			47 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Dart
		
	
		
		
			
		
	
	
			47 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Dart
		
	
| 
								 
											3 years ago
										 
									 | 
							
								import 'dart:io';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								import 'package:flutter/cupertino.dart';
							 | 
						||
| 
								 | 
							
								import 'package:mohem_flutter_app/app_state/app_state.dart';
							 | 
						||
| 
								 | 
							
								import 'package:wifi_iot/wifi_iot.dart';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								class HmgConnectionProvider extends ChangeNotifier {
							 | 
						||
| 
								 | 
							
								  bool isConnectedToHMG = false;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  Future<bool> checkHmgNetworkConnectivity() async {
							 | 
						||
| 
								 | 
							
								    if (await WiFiForIoTPlugin.getSSID() == AppState().getMohemmWifiSSID) {
							 | 
						||
| 
								 | 
							
								      isConnectedToHMG = true;
							 | 
						||
| 
								 | 
							
								    } else {
							 | 
						||
| 
								 | 
							
								      isConnectedToHMG = false;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    AppState().isConnectedToHMG = isConnectedToHMG;
							 | 
						||
| 
								 | 
							
								    return isConnectedToHMG;
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  void connectWithHmgNetwork() async {
							 | 
						||
| 
								 | 
							
								    try {
							 | 
						||
| 
								 | 
							
								      bool isConnected = await WiFiForIoTPlugin.connect("MOHEMM-CONNECT", password: "0987654321", joinOnce: Platform.isIOS ? false : true, security: NetworkSecurity.WPA, withInternet: false);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								      if (isConnected) {
							 | 
						||
| 
								 | 
							
								        await WiFiForIoTPlugin.forceWifiUsage(true);
							 | 
						||
| 
								 | 
							
								        await Future.delayed(const Duration(seconds: 2));
							 | 
						||
| 
								 | 
							
								        isConnectedToHMG=true;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								    } catch (e) {
							 | 
						||
| 
								 | 
							
								      isConnectedToHMG = false;
							 | 
						||
| 
								 | 
							
								      AppState().isConnectedToHMG = isConnectedToHMG;
							 | 
						||
| 
								 | 
							
								      print("----------------o----");
							 | 
						||
| 
								 | 
							
								      print(e);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  Future<bool> closeWifiRequest() async {
							 | 
						||
| 
								 | 
							
								    if (Platform.isAndroid) {
							 | 
						||
| 
								 | 
							
								      await WiFiForIoTPlugin.forceWifiUsage(false);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    isConnectedToHMG = false;
							 | 
						||
| 
								 | 
							
								    AppState().isConnectedToHMG = isConnectedToHMG;
							 | 
						||
| 
								 | 
							
								    return await WiFiForIoTPlugin.disconnect();
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								}
							 |