fix:第一轮跑
This commit is contained in:
1 parent
e834ec7586
commit
33235f450b
56 files changed
+4357
-210
No files matched your search
@@ -0,0 +1,34 @@
|
||||
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
||||
|
||||
import '../data/update_api_client.dart';
|
||||
|
||||
class UpdateSessionGate {
|
||||
var _used = false;
|
||||
bool takeColdLaunchSlot() => _used ? false : (_used = true);
|
||||
}
|
||||
|
||||
final updateSessionGateProvider = Provider<UpdateSessionGate>(
|
||||
(_) => UpdateSessionGate(),
|
||||
);
|
||||
|
||||
class UpdateController extends StateNotifier<AsyncValue<UpgradeInfo?>> {
|
||||
UpdateController(this._read) : super(const AsyncData(null));
|
||||
final T Function<T>(ProviderListenable<T>) _read;
|
||||
|
||||
Future<UpgradeInfo> checkUpgrade() async {
|
||||
state = const AsyncLoading();
|
||||
try {
|
||||
final result = await _read(updateApiClientProvider).checkUpgrade();
|
||||
state = AsyncData(result);
|
||||
return result;
|
||||
} catch (error, stackTrace) {
|
||||
state = AsyncError(error, stackTrace);
|
||||
rethrow;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
final updateControllerProvider =
|
||||
StateNotifierProvider<UpdateController, AsyncValue<UpgradeInfo?>>(
|
||||
(ref) => UpdateController(ref.read),
|
||||
);
|
||||
Reference in new issue
Block a user