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.
HMG_QLine/lib/services/cache_service.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);
}
}