use SharedPreferencesAsync to avoid race condition in Sharedprefs

This was so painful to debug...
This commit is contained in:
Henry Hiles 2026-09-20 15:45:32 -04:00
commit e8fb3a8523
Signed by: Henry-Hiles
SSH key fingerprint: SHA256:VKQUdS31Q90KvX7EkKMHMBpUspcmItAh86a+v7PGiIs
10 changed files with 69 additions and 44 deletions

View file

@ -1,12 +1,12 @@
import "package:flutter_riverpod/flutter_riverpod.dart";
import "package:shared_preferences/shared_preferences.dart";
class SharedPrefsController extends AsyncNotifier<SharedPreferences> {
class SharedPrefsController extends Notifier<SharedPreferencesAsync> {
@override
Future<SharedPreferences> build() async => .getInstance();
SharedPreferencesAsync build() => SharedPreferencesAsync();
static final provider =
AsyncNotifierProvider<SharedPrefsController, SharedPreferences>(
NotifierProvider<SharedPrefsController, SharedPreferencesAsync>(
SharedPrefsController.new,
);
}