fluffychat/lib/utils/localized_exception_extension.dart

24 lines
798 B
Dart
Raw Normal View History

2020-12-25 09:58:34 +01:00
import 'package:famedlysdk/famedlysdk.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
extension LocalizedExceptionExtension on Object {
String toLocalizedString(BuildContext context) {
if (this is MatrixException) {
switch ((this as MatrixException).error) {
case MatrixError.M_FORBIDDEN:
return L10n.of(context).noPermission;
case MatrixError.M_LIMIT_EXCEEDED:
return L10n.of(context).tooManyRequestsWarning;
default:
return (this as MatrixException).errorMessage;
}
}
if (this is MatrixConnectionException) {
L10n.of(context).noConnectionToTheServer;
}
Logs().d('Something went wrong: ', this);
return L10n.of(context).oopsSomethingWentWrong;
}
}