Watch
1
0
Fork
You've already forked nexus
0
forked from Nexus/nexus

Allow swapping UnifiedPush distributor

Fixes #120
This commit is contained in:
Henry Hiles 2026-10-14 16:41:01 -04:00
commit 3a33bf7bfe
Signed by: Henry-Hiles
SSH key fingerprint: SHA256:VKQUdS31Q90KvX7EkKMHMBpUspcmItAh86a+v7PGiIs
5 changed files with 86 additions and 29 deletions

View file

@ -0,0 +1,26 @@
import "dart:io";
import "package:fast_immutable_collections/fast_immutable_collections.dart";
import "package:flutter_riverpod/flutter_riverpod.dart";
import "package:unifiedpush/unifiedpush.dart";
class UnifiedPushDistributorsController extends AsyncNotifier<IList<String>> {
@override
Future<IList<String>> build() async {
if (!Platform.isLinux && !Platform.isAndroid) return .new();
return IList(
await UnifiedPush.getDistributors().timeout(
.new(seconds: 10),
onTimeout: () =>
throw Exception("UnifiedPush distributor check timed out."),
),
);
}
static final provider =
AsyncNotifierProvider.autoDispose<
UnifiedPushDistributorsController,
IList<String>
>(UnifiedPushDistributorsController.new);
}