mirror of
				https://gitlab.com/famedly/fluffychat.git
				synced 2025-11-04 06:17:26 +01:00 
			
		
		
		
	Merge branch 'soru/microg-toast-only-once' into 'master'
Only show the no google services toast once Closes #106 See merge request ChristianPauly/fluffychat-flutter!113
This commit is contained in:
		
						commit
						c8d71b8e73
					
				@ -81,7 +81,7 @@ class MatrixState extends State<Matrix> {
 | 
			
		||||
    client.connect();
 | 
			
		||||
    if (await initLoginState == LoginState.logged && !kIsWeb) {
 | 
			
		||||
      await FirebaseController.setupFirebase(
 | 
			
		||||
        client,
 | 
			
		||||
        this,
 | 
			
		||||
        widget.clientName,
 | 
			
		||||
      );
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@ -13,6 +13,7 @@ import 'package:bot_toast/bot_toast.dart';
 | 
			
		||||
import 'package:path_provider/path_provider.dart';
 | 
			
		||||
import 'package:famedlysdk/famedlysdk.dart';
 | 
			
		||||
import 'famedlysdk_store.dart';
 | 
			
		||||
import '../components/matrix.dart';
 | 
			
		||||
 | 
			
		||||
abstract class FirebaseController {
 | 
			
		||||
  static final FirebaseMessaging _firebaseMessaging = FirebaseMessaging();
 | 
			
		||||
@ -26,7 +27,9 @@ abstract class FirebaseController {
 | 
			
		||||
  static const String GATEWAY_URL = 'https://janian.de:7023/';
 | 
			
		||||
  static const String PUSHER_FORMAT = 'event_id_only';
 | 
			
		||||
 | 
			
		||||
  static Future<void> setupFirebase(Client client, String clientName) async {
 | 
			
		||||
  static Future<void> setupFirebase(
 | 
			
		||||
      MatrixState matrix, String clientName) async {
 | 
			
		||||
    final client = matrix.client;
 | 
			
		||||
    if (Platform.isIOS) iOS_Permission();
 | 
			
		||||
 | 
			
		||||
    String token;
 | 
			
		||||
@ -36,10 +39,18 @@ abstract class FirebaseController {
 | 
			
		||||
      token = null;
 | 
			
		||||
    }
 | 
			
		||||
    if (token?.isEmpty ?? true) {
 | 
			
		||||
      BotToast.showText(
 | 
			
		||||
        text: L10n.of(context).noGoogleServicesWarning,
 | 
			
		||||
        duration: Duration(seconds: 15),
 | 
			
		||||
      );
 | 
			
		||||
      final storeItem =
 | 
			
		||||
          await matrix.store.getItem('chat.fluffy.show_no_google');
 | 
			
		||||
      final configOptionMissing = storeItem == null || storeItem.isEmpty;
 | 
			
		||||
      if (configOptionMissing || (!configOptionMissing && storeItem == '1')) {
 | 
			
		||||
        BotToast.showText(
 | 
			
		||||
          text: L10n.of(context).noGoogleServicesWarning,
 | 
			
		||||
          duration: Duration(seconds: 15),
 | 
			
		||||
        );
 | 
			
		||||
        if (configOptionMissing) {
 | 
			
		||||
          await matrix.store.setItem('chat.fluffy.show_no_google', '0');
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
      return;
 | 
			
		||||
    }
 | 
			
		||||
    final pushers = await client.api.requestPushers();
 | 
			
		||||
 | 
			
		||||
@ -57,7 +57,7 @@ class _LoginState extends State<Login> {
 | 
			
		||||
    if (!kIsWeb) {
 | 
			
		||||
      try {
 | 
			
		||||
        await FirebaseController.setupFirebase(
 | 
			
		||||
          matrix.client,
 | 
			
		||||
          matrix,
 | 
			
		||||
          matrix.widget.clientName,
 | 
			
		||||
        );
 | 
			
		||||
      } catch (exception) {
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user