You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
1.1 KiB
Dart
33 lines
1.1 KiB
Dart
import 'package:hmg_qline/constants/app_constants.dart';
|
|
import 'package:shared_preferences/shared_preferences.dart';
|
|
|
|
abstract class CacheService {
|
|
Future<DateTime?> getLastTimeUpdatedFromCache();
|
|
|
|
Future<void> setLastTimeUpdatedInCache({required String lasTimeUpdated});
|
|
}
|
|
|
|
class CacheServiceImp implements CacheService {
|
|
SharedPreferences preferencesInstance;
|
|
|
|
CacheServiceImp({required this.preferencesInstance});
|
|
|
|
@override
|
|
Future<DateTime?> getLastTimeUpdatedFromCache() async {
|
|
final SharedPreferences prefs = await SharedPreferences.getInstance();
|
|
|
|
if (prefs.containsKey(CacheConstants.lastTimeUpdated)) {
|
|
String? lastTimeUpdated = prefs.getString(CacheConstants.lastTimeUpdated);
|
|
DateTime currentLastTimeUpdated = DateTime.fromMillisecondsSinceEpoch(int.parse(lastTimeUpdated!));
|
|
return currentLastTimeUpdated;
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
|
|
@override
|
|
Future<void> setLastTimeUpdatedInCache({required String lasTimeUpdated}) async {
|
|
await preferencesInstance.setString(CacheConstants.lastTimeUpdated, lasTimeUpdated);
|
|
}
|
|
}
|