defer fcm token load
This commit is contained in:
		| @@ -35,7 +35,7 @@ public class MainActivity extends FlutterActivity { | ||||
|                         Context context = getActivity(); | ||||
|                         SharedPreferences.Editor editor = context.getSharedPreferences("FlutterSharedPreferences", Context.MODE_PRIVATE).edit(); | ||||
|                         String token = task.getResult().getToken(); | ||||
|                         editor.putString("flutter.fcm-token", token); | ||||
|                         editor.putString("flutter.push-token", token); | ||||
|                         editor.commit(); | ||||
|                     } | ||||
|                 } | ||||
|   | ||||
| @@ -20,7 +20,6 @@ class AppSettings { | ||||
|   String tempToken; | ||||
|   String oauthUrl; | ||||
|   String webhookId; | ||||
|   String fcmToken; | ||||
|   double haVersion; | ||||
|   bool scrollBadges; | ||||
|   AppTheme appTheme; | ||||
| @@ -40,7 +39,6 @@ class AppSettings { | ||||
|     if (full) { | ||||
|       Logger.d('Loading settings...'); | ||||
|       SharedPreferences prefs = await SharedPreferences.getInstance(); | ||||
|       fcmToken = prefs.getString('fcm-token'); | ||||
|       _domain = prefs.getString('hassio-domain'); | ||||
|       _port = prefs.getString('hassio-port'); | ||||
|       webhookId = prefs.getString('app-webhook-id'); | ||||
| @@ -69,6 +67,11 @@ class AppSettings { | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   Future<dynamic> loadSingle(String key) async { | ||||
|     SharedPreferences prefs = await SharedPreferences.getInstance(); | ||||
|     return prefs.get('$key'); | ||||
|   } | ||||
|  | ||||
|   Future save(Map<String, dynamic> settings) async { | ||||
|     if (settings != null && settings.isNotEmpty) { | ||||
|       SharedPreferences prefs = await SharedPreferences.getInstance(); | ||||
|   | ||||
| @@ -24,7 +24,8 @@ class MobileAppIntegrationManager { | ||||
|   static Future checkAppRegistration() { | ||||
|     Completer completer = Completer(); | ||||
|     _appRegistrationData["device_name"] = AppSettings().mobileAppDeviceName ?? getDefaultDeviceName(); | ||||
|     (_appRegistrationData["app_data"] as Map)["push_token"] = "${AppSettings().fcmToken}"; | ||||
|     AppSettings().loadSingle('push-token').then((fcmToken) { | ||||
|       (_appRegistrationData["app_data"] as Map)["push_token"] = "$fcmToken"; | ||||
|       if (AppSettings().webhookId == null) { | ||||
|         Logger.d("Mobile app was not registered yet. Registering..."); | ||||
|         var registrationData = Map.from(_appRegistrationData); | ||||
| @@ -72,7 +73,6 @@ class MobileAppIntegrationManager { | ||||
|           } | ||||
|           _showError(); | ||||
|         }); | ||||
|       return completer.future; | ||||
|       } else { | ||||
|         Logger.d("App was previously registered. Checking..."); | ||||
|         var updateData = { | ||||
| @@ -110,8 +110,9 @@ class MobileAppIntegrationManager { | ||||
|           } | ||||
|           completer.complete(); | ||||
|         }); | ||||
|       return completer.future; | ||||
|       } | ||||
|     }); | ||||
|     return completer.future; | ||||
|   } | ||||
|  | ||||
|   static void _showError() { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user