refactor: Update to Dart 3.10 with . shorthands

This commit is contained in:
Christian Kußowski 2025-11-30 12:54:06 +01:00
commit 1ea649f01e
No known key found for this signature in database
GPG key ID: E067ECD60F1A0652
167 changed files with 3351 additions and 3912 deletions

View file

@ -55,10 +55,7 @@ class EmotesSettingsController extends State<EmotesSettings> {
final event = key == null
? null
: room?.getState(
'im.ponies.room_emotes',
key,
);
: room?.getState('im.ponies.room_emotes', key);
final eventPack = event?.content.tryGetMap<String, Object?>('pack');
packDisplayNameController.text =
eventPack?.tryGet<String>('display_name') ?? '';
@ -71,13 +68,11 @@ class EmotesSettingsController extends State<EmotesSettings> {
ImagePackContent _getPack() {
final client = Matrix.of(context).client;
final event = (room != null
final event =
(room != null
? room!.getState('im.ponies.room_emotes', stateKey ?? '')
: client.accountData['im.ponies.user_emotes']) ??
BasicEvent(
type: 'm.dummy',
content: {},
);
BasicEvent(type: 'm.dummy', content: {});
// make sure we work on a *copy* of the event
return BasicEvent.fromJson(event.toJson()).parsedImagePackContent;
}
@ -124,7 +119,8 @@ class EmotesSettingsController extends State<EmotesSettings> {
return;
}
final client = Matrix.of(context).client;
final content = client.accountData['im.ponies.emote_rooms']?.content ??
final content =
client.accountData['im.ponies.emote_rooms']?.content ??
<String, dynamic>{};
if (active) {
if (content['rooms'] is! Map) {
@ -158,14 +154,15 @@ class EmotesSettingsController extends State<EmotesSettings> {
TextEditingController();
void removeImageAction(String oldImageCode) => setState(() {
pack!.images.remove(oldImageCode);
showSave = true;
});
pack!.images.remove(oldImageCode);
showSave = true;
});
void toggleUsage(String imageCode, ImagePackUsage usage) {
setState(() {
final usages =
pack!.images[imageCode]!.usage ??= List.from(ImagePackUsage.values);
final usages = pack!.images[imageCode]!.usage ??= List.from(
ImagePackUsage.values,
);
if (!usages.remove(usage)) usages.add(usage);
showSave = true;
});
@ -265,9 +262,7 @@ class EmotesSettingsController extends State<EmotesSettings> {
if (packKeys?.contains(name) ?? false) {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
content: Text(L10n.of(context).stickerPackNameAlreadyExists),
),
SnackBar(content: Text(L10n.of(context).stickerPackNameAlreadyExists)),
);
return;
}
@ -316,20 +311,19 @@ class EmotesSettingsController extends State<EmotesSettings> {
bytes: await pickedFile.readAsBytes(),
name: pickedFile.name,
);
file = await file.generateThumbnail(
file =
await file.generateThumbnail(
nativeImplementations: ClientManager.nativeImplementations,
) ??
file;
final uri = await Matrix.of(context).client.uploadContent(
file.bytes,
filename: file.name,
contentType: file.mimeType,
);
file.bytes,
filename: file.name,
contentType: file.mimeType,
);
setState(() {
final info = <String, dynamic>{
...file.info,
};
final info = <String, dynamic>{...file.info};
// normalize width / height to 256, required for stickers
if (info['w'] is int && info['h'] is int) {
final ratio = info['w'] / info['h'];
@ -342,11 +336,9 @@ class EmotesSettingsController extends State<EmotesSettings> {
}
}
final imageCode = pickedFile.name.split('.').first;
pack!.images[imageCode] =
ImagePackImageContent.fromJson(<String, dynamic>{
'url': uri.toString(),
'info': info,
});
pack!.images[imageCode] = ImagePackImageContent.fromJson(
<String, dynamic>{'url': uri.toString(), 'info': info},
);
});
}
},
@ -363,10 +355,7 @@ class EmotesSettingsController extends State<EmotesSettings> {
}
Future<void> importEmojiZip() async {
final result = await selectFiles(
context,
type: FileSelectorType.zip,
);
final result = await selectFiles(context, type: FileSelectorType.zip);
if (result.isEmpty) return;
@ -378,10 +367,8 @@ class EmotesSettingsController extends State<EmotesSettings> {
context: context,
// breaks [Matrix.of] calls otherwise
useRootNavigator: false,
builder: (context) => ImportEmoteArchiveDialog(
controller: this,
archive: archive,
),
builder: (context) =>
ImportEmoteArchiveDialog(controller: this, archive: archive),
);
setState(() {});
}
@ -404,11 +391,7 @@ class EmotesSettingsController extends State<EmotesSettings> {
);
archive.addFile(
ArchiveFile(
name,
response.bodyBytes.length,
response.bodyBytes,
),
ArchiveFile(name, response.bodyBytes.length, response.bodyBytes),
);
}
final fileName =