refactor: Upgrade to Flutter 3.0.0
This commit is contained in:
parent
4e497f5c39
commit
22ad34ab0a
21 changed files with 116 additions and 87 deletions
|
|
@ -8,7 +8,6 @@ import 'package:adaptive_theme/adaptive_theme.dart';
|
|||
import 'package:flutter_app_lock/flutter_app_lock.dart';
|
||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||
import 'package:future_loading_dialog/future_loading_dialog.dart';
|
||||
import 'package:gaeilge_flutter_l10n/gaeilge_flutter_l10n.dart';
|
||||
import 'package:matrix/matrix.dart';
|
||||
import 'package:universal_html/html.dart' as html;
|
||||
import 'package:vrouter/vrouter.dart';
|
||||
|
|
@ -114,7 +113,7 @@ class _FluffyChatAppState extends State<FluffyChatApp> {
|
|||
_router ??= GlobalKey<VRouterState>();
|
||||
if (columnMode != newColumns > 1) {
|
||||
Logs().v('Set Column Mode = $columnMode');
|
||||
WidgetsBinding.instance?.addPostFrameCallback((_) {
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||
setState(() {
|
||||
_initialUrl = _router?.currentState?.url;
|
||||
columnMode = newColumns > 1;
|
||||
|
|
@ -131,7 +130,6 @@ class _FluffyChatAppState extends State<FluffyChatApp> {
|
|||
darkTheme: darkTheme,
|
||||
localizationsDelegates: const [
|
||||
...L10n.localizationsDelegates,
|
||||
GaMaterialLocalizations.delegate
|
||||
],
|
||||
supportedLocales: L10n.supportedLocales,
|
||||
initialUrl: _initialUrl ?? '/',
|
||||
|
|
@ -141,7 +139,7 @@ class _FluffyChatAppState extends State<FluffyChatApp> {
|
|||
LoadingDialog.defaultBackLabel = L10n.of(context)!.close;
|
||||
LoadingDialog.defaultOnError =
|
||||
(e) => (e as Object?)!.toLocalizedString(context);
|
||||
WidgetsBinding.instance?.addPostFrameCallback((_) {
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||
SystemChrome.setSystemUIOverlayStyle(
|
||||
SystemUiOverlayStyle(
|
||||
statusBarColor: Colors.transparent,
|
||||
|
|
|
|||
|
|
@ -147,27 +147,27 @@ class _BootstrapDialogState extends State<BootstrapDialog> {
|
|||
case BootstrapState.loading:
|
||||
break;
|
||||
case BootstrapState.askWipeSsss:
|
||||
WidgetsBinding.instance!.addPostFrameCallback(
|
||||
WidgetsBinding.instance.addPostFrameCallback(
|
||||
(_) => bootstrap.wipeSsss(_wipe!),
|
||||
);
|
||||
break;
|
||||
case BootstrapState.askBadSsss:
|
||||
WidgetsBinding.instance!.addPostFrameCallback(
|
||||
WidgetsBinding.instance.addPostFrameCallback(
|
||||
(_) => bootstrap.ignoreBadSecrets(true),
|
||||
);
|
||||
break;
|
||||
case BootstrapState.askUseExistingSsss:
|
||||
WidgetsBinding.instance!.addPostFrameCallback(
|
||||
WidgetsBinding.instance.addPostFrameCallback(
|
||||
(_) => bootstrap.useExistingSsss(!_wipe!),
|
||||
);
|
||||
break;
|
||||
case BootstrapState.askUnlockSsss:
|
||||
WidgetsBinding.instance!.addPostFrameCallback(
|
||||
WidgetsBinding.instance.addPostFrameCallback(
|
||||
(_) => bootstrap.unlockedSsss(),
|
||||
);
|
||||
break;
|
||||
case BootstrapState.askNewSsss:
|
||||
WidgetsBinding.instance!.addPostFrameCallback(
|
||||
WidgetsBinding.instance.addPostFrameCallback(
|
||||
(_) => bootstrap.newSsss(),
|
||||
);
|
||||
break;
|
||||
|
|
@ -312,12 +312,12 @@ class _BootstrapDialogState extends State<BootstrapDialog> {
|
|||
),
|
||||
);
|
||||
case BootstrapState.askWipeCrossSigning:
|
||||
WidgetsBinding.instance!.addPostFrameCallback(
|
||||
WidgetsBinding.instance.addPostFrameCallback(
|
||||
(_) => bootstrap.wipeCrossSigning(_wipe!),
|
||||
);
|
||||
break;
|
||||
case BootstrapState.askSetupCrossSigning:
|
||||
WidgetsBinding.instance!.addPostFrameCallback(
|
||||
WidgetsBinding.instance.addPostFrameCallback(
|
||||
(_) => bootstrap.askSetupCrossSigning(
|
||||
setupMasterKey: true,
|
||||
setupSelfSigningKey: true,
|
||||
|
|
@ -326,13 +326,13 @@ class _BootstrapDialogState extends State<BootstrapDialog> {
|
|||
);
|
||||
break;
|
||||
case BootstrapState.askWipeOnlineKeyBackup:
|
||||
WidgetsBinding.instance!.addPostFrameCallback(
|
||||
WidgetsBinding.instance.addPostFrameCallback(
|
||||
(_) => bootstrap.wipeOnlineKeyBackup(_wipe!),
|
||||
);
|
||||
|
||||
break;
|
||||
case BootstrapState.askSetupOnlineKeyBackup:
|
||||
WidgetsBinding.instance!.addPostFrameCallback(
|
||||
WidgetsBinding.instance.addPostFrameCallback(
|
||||
(_) => bootstrap.askSetupOnlineKeyBackup(true),
|
||||
);
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -171,7 +171,7 @@ class ChatController extends State<Chat> {
|
|||
final voipPlugin = Matrix.of(context).voipPlugin;
|
||||
|
||||
if (voipPlugin != null) {
|
||||
WidgetsBinding.instance?.addPostFrameCallback((_) {
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||
CallKeepManager().setVoipPlugin(voipPlugin);
|
||||
CallKeepManager().initialize().catchError((_) => true);
|
||||
});
|
||||
|
|
@ -210,7 +210,7 @@ class ChatController extends State<Chat> {
|
|||
// when the scroll controller is attached we want to scroll to an event id, if specified
|
||||
// and update the scroll controller...which will trigger a request history, if the
|
||||
// "load more" button is visible on the screen
|
||||
SchedulerBinding.instance!.addPostFrameCallback((_) async {
|
||||
SchedulerBinding.instance.addPostFrameCallback((_) async {
|
||||
if (mounted) {
|
||||
final event = VRouter.of(context).queryParameters['event'];
|
||||
if (event != null) {
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@ class _ImageBubbleState extends State<ImageBubble> {
|
|||
try {
|
||||
final res = await widget.event
|
||||
.downloadAndDecryptAttachmentCached(getThumbnail: getThumbnail);
|
||||
WidgetsBinding.instance!.addPostFrameCallback((_) {
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||
if (getThumbnail) {
|
||||
if (mounted) {
|
||||
setState(() => _thumbnail = res);
|
||||
|
|
@ -106,7 +106,7 @@ class _ImageBubbleState extends State<ImageBubble> {
|
|||
}
|
||||
});
|
||||
} catch (err) {
|
||||
WidgetsBinding.instance!.addPostFrameCallback((_) {
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||
if (mounted) {
|
||||
setState(() => _error = err);
|
||||
}
|
||||
|
|
@ -278,7 +278,7 @@ class _ImageBubbleState extends State<ImageBubble> {
|
|||
errorBuilder: (context, error, stacktrace) {
|
||||
if (widget.event.hasThumbnail && !_requestedThumbnailOnFailure) {
|
||||
_requestedThumbnailOnFailure = true;
|
||||
WidgetsBinding.instance!.addPostFrameCallback((_) {
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||
setState(() {
|
||||
_file = null;
|
||||
_requestFile(getThumbnail: true);
|
||||
|
|
@ -352,7 +352,7 @@ class _ImageBubbleState extends State<ImageBubble> {
|
|||
// the image failed to load but the event has a thumbnail attached....so we can
|
||||
// try to load this one!
|
||||
_requestedThumbnailOnFailure = true;
|
||||
WidgetsBinding.instance!.addPostFrameCallback((_) {
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||
setState(() {
|
||||
thumbnailUrl = widget.event
|
||||
.getAttachmentUrl(
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ import '../../widgets/matrix.dart';
|
|||
import '../bootstrap/bootstrap_dialog.dart';
|
||||
|
||||
enum SelectMode { normal, share, select }
|
||||
|
||||
enum PopupMenuAction {
|
||||
settings,
|
||||
invite,
|
||||
|
|
@ -171,7 +172,7 @@ class ChatListController extends State<ChatList> with TickerProviderStateMixin {
|
|||
void _processIncomingUris(String? text) async {
|
||||
if (text == null) return;
|
||||
VRouter.of(context).to('/rooms');
|
||||
WidgetsBinding.instance!.addPostFrameCallback((_) {
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||
UrlLauncher(context, text).openMatrixToUrl();
|
||||
});
|
||||
}
|
||||
|
|
@ -475,7 +476,7 @@ class ChatListController extends State<ChatList> with TickerProviderStateMixin {
|
|||
setState(() {
|
||||
waitForFirstSync = true;
|
||||
});
|
||||
WidgetsBinding.instance!.addPostFrameCallback((_) => checkBootstrap());
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) => checkBootstrap());
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -572,7 +573,7 @@ class ChatListController extends State<ChatList> with TickerProviderStateMixin {
|
|||
}
|
||||
|
||||
void resetActiveBundle() {
|
||||
WidgetsBinding.instance!.addPostFrameCallback((timeStamp) {
|
||||
WidgetsBinding.instance.addPostFrameCallback((timeStamp) {
|
||||
setState(() {
|
||||
Matrix.of(context).activeBundle = null;
|
||||
});
|
||||
|
|
|
|||
|
|
@ -110,7 +110,7 @@ class SearchController extends State<Search> {
|
|||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
WidgetsBinding.instance?.addPostFrameCallback((_) async {
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) async {
|
||||
controller.text = VRouter.of(context).queryParameters['query'] ?? '';
|
||||
final server = await Store().getItem(_serverStoreNamespace);
|
||||
if (server?.isNotEmpty ?? false) {
|
||||
|
|
|
|||
|
|
@ -83,7 +83,7 @@ class SettingsStoriesController extends State<SettingsStories> {
|
|||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
WidgetsBinding.instance?.addPostFrameCallback((_) {
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||
setState(() {
|
||||
loadUsers = _loadUsers();
|
||||
});
|
||||
|
|
|
|||
|
|
@ -359,7 +359,7 @@ class StoryPageController extends State<StoryPage> {
|
|||
}
|
||||
|
||||
void _setLoadingMode(bool mode) => loadingMode != mode
|
||||
? WidgetsBinding.instance?.addPostFrameCallback((_) {
|
||||
? WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||
setState(() {
|
||||
loadingMode = mode;
|
||||
});
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ class BackgroundPush {
|
|||
|
||||
bool upAction = false;
|
||||
|
||||
BackgroundPush._(this.client, {this.onFcmError}) {
|
||||
BackgroundPush._(this.client) {
|
||||
onLogin ??=
|
||||
client.onLoginStateChanged.stream.listen(handleLoginStateChanged);
|
||||
onRoomSync ??= client.onSync.stream
|
||||
|
|
|
|||
|
|
@ -28,10 +28,8 @@ class VoipPlugin extends WidgetsBindingObserver implements WebRTCDelegate {
|
|||
.catchError((e) => _currentConnectivity = ConnectivityResult.none);
|
||||
if (!kIsWeb) {
|
||||
final wb = WidgetsBinding.instance;
|
||||
wb?.addObserver(this);
|
||||
if (wb != null) {
|
||||
didChangeAppLifecycleState(wb.lifecycleState!);
|
||||
}
|
||||
wb.addObserver(this);
|
||||
didChangeAppLifecycleState(wb.lifecycleState!);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ class LoadingView extends StatelessWidget {
|
|||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
WidgetsBinding.instance?.addPostFrameCallback(
|
||||
WidgetsBinding.instance.addPostFrameCallback(
|
||||
(_) => VRouter.of(context).to(
|
||||
Matrix.of(context)
|
||||
.widget
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ class LoginScaffold extends StatelessWidget {
|
|||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
WidgetsBinding.instance?.addPostFrameCallback((_) {
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||
SystemChrome.setSystemUIOverlayStyle(
|
||||
const SystemUiOverlayStyle(
|
||||
statusBarIconBrightness: Brightness.light,
|
||||
|
|
|
|||
|
|
@ -253,7 +253,7 @@ class MatrixState extends State<Matrix> with WidgetsBindingObserver {
|
|||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
WidgetsBinding.instance!.addObserver(this);
|
||||
WidgetsBinding.instance.addObserver(this);
|
||||
initMatrix();
|
||||
if (PlatformInfos.isWeb) {
|
||||
initConfig().then((_) => initSettings());
|
||||
|
|
@ -382,7 +382,7 @@ class MatrixState extends State<Matrix> with WidgetsBindingObserver {
|
|||
void initMatrix() {
|
||||
// Display the app lock
|
||||
if (PlatformInfos.isMobile) {
|
||||
WidgetsBinding.instance!.addPostFrameCallback((_) {
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||
([TargetPlatform.linux].contains(Theme.of(context).platform)
|
||||
? SharedPreferences.getInstance()
|
||||
.then((prefs) => prefs.getString(SettingKeys.appLockKey))
|
||||
|
|
@ -513,7 +513,7 @@ class MatrixState extends State<Matrix> with WidgetsBindingObserver {
|
|||
|
||||
@override
|
||||
void dispose() {
|
||||
WidgetsBinding.instance!.removeObserver(this);
|
||||
WidgetsBinding.instance.removeObserver(this);
|
||||
|
||||
onRoomKeyRequestSub.values.map((s) => s.cancel());
|
||||
onKeyVerificationRequestSub.values.map((s) => s.cancel());
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue