27 lines
1023 B
Dart
27 lines
1023 B
Dart
import 'package:shared_preferences/shared_preferences.dart';
|
|
|
|
/// Guarda em disco o uid de uma conta que acabou de se registar e ainda não
|
|
/// aceitou os Termos e Condições. Um simples valor em memória não chega:
|
|
/// se o sistema matar o processo entre o cadastro e a aceitação (comum em
|
|
/// Android quando a app fica em segundo plano), reabrir a app perderia o
|
|
/// estado "pendente" e o utilizador entraria direto na Home sem nunca ter
|
|
/// aceitado nada.
|
|
class TermsGatePrefs {
|
|
static const String _kPendingUidKey = 'pending_terms_uid';
|
|
|
|
static Future<String?> getPendingUid() async {
|
|
final prefs = await SharedPreferences.getInstance();
|
|
return prefs.getString(_kPendingUidKey);
|
|
}
|
|
|
|
static Future<void> setPendingUid(String uid) async {
|
|
final prefs = await SharedPreferences.getInstance();
|
|
await prefs.setString(_kPendingUidKey, uid);
|
|
}
|
|
|
|
static Future<void> clearPendingUid() async {
|
|
final prefs = await SharedPreferences.getInstance();
|
|
await prefs.remove(_kPendingUidKey);
|
|
}
|
|
}
|