Cache reading issues fix
This commit is contained in:
		| @@ -140,9 +140,9 @@ class HomeAssistant { | |||||||
|  |  | ||||||
|   Future _getConfig(SharedPreferences sharedPrefs) async { |   Future _getConfig(SharedPreferences sharedPrefs) async { | ||||||
|     _instanceConfig?.clear(); |     _instanceConfig?.clear(); | ||||||
|     if (sharedPrefs != null) { |     if (sharedPrefs != null && sharedPrefs.containsKey('cached_config')) { | ||||||
|       try { |       try { | ||||||
|         var data = json.decode(sharedPrefs.getString('cached_config') ?? '{}'); |         var data = json.decode(sharedPrefs.getString('cached_config')); | ||||||
|         _parseConfig(data); |         _parseConfig(data); | ||||||
|       } catch (e, stacktrace) { |       } catch (e, stacktrace) { | ||||||
|        Logger.e('Error gettong config from cache: $e', stacktrace: stacktrace); |        Logger.e('Error gettong config from cache: $e', stacktrace: stacktrace); | ||||||
| @@ -160,9 +160,9 @@ class HomeAssistant { | |||||||
|   } |   } | ||||||
|  |  | ||||||
|   Future _getStates(SharedPreferences sharedPrefs) async { |   Future _getStates(SharedPreferences sharedPrefs) async { | ||||||
|     if (sharedPrefs != null) { |     if (sharedPrefs != null && sharedPrefs.containsKey('cached_states')) { | ||||||
|       try { |       try { | ||||||
|         var data = json.decode(sharedPrefs.getString('cached_states') ?? '[]'); |         var data = json.decode(sharedPrefs.getString('cached_states')); | ||||||
|         _parseStates(data); |         _parseStates(data); | ||||||
|       } catch (e, stacktrace) { |       } catch (e, stacktrace) { | ||||||
|         Logger.e('Error getting cached states: $e', stacktrace: stacktrace); |         Logger.e('Error getting cached states: $e', stacktrace: stacktrace); | ||||||
| @@ -171,7 +171,7 @@ class HomeAssistant { | |||||||
|       await ConnectionManager().sendSocketMessage(type: "get_states").then( |       await ConnectionManager().sendSocketMessage(type: "get_states").then( | ||||||
|               (data) => _parseStates(data) |               (data) => _parseStates(data) | ||||||
|       ).catchError((e) { |       ).catchError((e) { | ||||||
|        Logger.e('get_states error: $e'); |         Logger.e('get_states error: $e'); | ||||||
|         throw HACException("Error getting states: $e"); |         throw HACException("Error getting states: $e"); | ||||||
|       }); |       }); | ||||||
|     } |     } | ||||||
| @@ -183,9 +183,9 @@ class HomeAssistant { | |||||||
|   } |   } | ||||||
|  |  | ||||||
|   Future _getLovelace(SharedPreferences sharedPrefs) { |   Future _getLovelace(SharedPreferences sharedPrefs) { | ||||||
|     if (sharedPrefs != null) { |     if (sharedPrefs != null && sharedPrefs.containsKey('cached_lovelace')) { | ||||||
|       try { |       try { | ||||||
|         var data = json.decode(sharedPrefs.getString('cached_lovelace') ?? '{}'); |         var data = json.decode(sharedPrefs.getString('cached_lovelace')); | ||||||
|         _rawLovelaceData = data; |         _rawLovelaceData = data; | ||||||
|       } catch (e) { |       } catch (e) { | ||||||
|         autoUi = true; |         autoUi = true; | ||||||
| @@ -221,9 +221,9 @@ class HomeAssistant { | |||||||
|  |  | ||||||
|   Future _getServices(SharedPreferences prefs) async { |   Future _getServices(SharedPreferences prefs) async { | ||||||
|     services?.clear();	 |     services?.clear();	 | ||||||
|     if (prefs != null) { |     if (prefs != null && prefs.containsKey('cached_services')) { | ||||||
|       try { |       try { | ||||||
|         var data = json.decode(prefs.getString('cached_services') ?? '{}'); |         var data = json.decode(prefs.getString('cached_services')); | ||||||
|         _parseServices(data); |         _parseServices(data); | ||||||
|       } catch (e, stacktrace) { |       } catch (e, stacktrace) { | ||||||
|        Logger.e(e, stacktrace: stacktrace);   |        Logger.e(e, stacktrace: stacktrace);   | ||||||
| @@ -240,9 +240,19 @@ class HomeAssistant { | |||||||
|  |  | ||||||
|   Future _getUserInfo(SharedPreferences sharedPrefs) async { |   Future _getUserInfo(SharedPreferences sharedPrefs) async { | ||||||
|     _userName = null; |     _userName = null; | ||||||
|     await ConnectionManager().sendSocketMessage(type: "auth/current_user").then((data) => _parseUserInfo(data)).catchError((e) { |     if (sharedPrefs != null && sharedPrefs.containsKey('cached_user')) { | ||||||
|       Logger.e('auth/current_user error: $e'); |       try { | ||||||
|     }); |         var data = json.decode(sharedPrefs.getString('cached_user')); | ||||||
|  |         _parseUserInfo(data); | ||||||
|  |       } catch (e, stacktrace) { | ||||||
|  |         Logger.e('Error getting cached user info: $e', stacktrace: stacktrace); | ||||||
|  |       } | ||||||
|  |       return Future.value(); | ||||||
|  |     } else { | ||||||
|  |       await ConnectionManager().sendSocketMessage(type: "auth/current_user").then((data) => _parseUserInfo(data)).catchError((e) { | ||||||
|  |         Logger.e('auth/current_user error: $e'); | ||||||
|  |       }); | ||||||
|  |     } | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   void _parseUserInfo(data) { |   void _parseUserInfo(data) { | ||||||
| @@ -251,9 +261,9 @@ class HomeAssistant { | |||||||
|   } |   } | ||||||
|  |  | ||||||
|   Future _getPanels(SharedPreferences sharedPrefs) async { |   Future _getPanels(SharedPreferences sharedPrefs) async { | ||||||
|     if (sharedPrefs != null) { |     if (sharedPrefs != null && sharedPrefs.containsKey('cached_panels')) { | ||||||
|       try { |       try { | ||||||
|         var data = json.decode(sharedPrefs.getString('cached_panels') ?? '{}'); |         var data = json.decode(sharedPrefs.getString('cached_panels')); | ||||||
|         _parsePanels(data); |         _parsePanels(data); | ||||||
|       } catch (e, stacktrace) { |       } catch (e, stacktrace) { | ||||||
|         Logger.e(e, stacktrace: stacktrace); |         Logger.e(e, stacktrace: stacktrace); | ||||||
|   | |||||||
| @@ -54,7 +54,7 @@ class _EntityHistoryWidgetState extends State<EntityHistoryWidget> { | |||||||
|           }); |           }); | ||||||
|         } |         } | ||||||
|       }).catchError((e) { |       }).catchError((e) { | ||||||
|         Logger.e("Error loading $entityId history: $e"); |         Logger.e("Error loading $entityId history: $e", skipCrashlytics: true); | ||||||
|         if (!_disposed) { |         if (!_disposed) { | ||||||
|           setState(() { |           setState(() { | ||||||
|             _history = []; |             _history = []; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user