Only show the no google services toast once
This commit is contained in:
parent
896e8ce2b3
commit
300aea2561
|
@ -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) {
|
||||
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…
Reference in a new issue