mirror of
https://github.com/koloideal/Casha.git
synced 2026-08-08 09:41:13 +03:00
35 lines
853 B
Dart
35 lines
853 B
Dart
import 'package:shared_preferences/shared_preferences.dart';
|
|
import '../models/user_model.dart';
|
|
|
|
abstract class BillingService {
|
|
Future<bool> purchasePro();
|
|
Future<bool> restorePurchases();
|
|
Future<UserPlan> getCurrentPlan();
|
|
}
|
|
|
|
class MockBillingService implements BillingService {
|
|
static const _key = 'user_plan';
|
|
final SharedPreferences _prefs;
|
|
|
|
MockBillingService(this._prefs);
|
|
|
|
@override
|
|
Future<bool> purchasePro() async {
|
|
await Future.delayed(const Duration(seconds: 1));
|
|
await _prefs.setString(_key, 'vip');
|
|
return true;
|
|
}
|
|
|
|
@override
|
|
Future<bool> restorePurchases() async {
|
|
await Future.delayed(const Duration(seconds: 1));
|
|
return false;
|
|
}
|
|
|
|
@override
|
|
Future<UserPlan> getCurrentPlan() async {
|
|
final value = _prefs.getString(_key);
|
|
return value == 'vip' ? UserPlan.vip : UserPlan.free;
|
|
}
|
|
}
|