-
-
Notifications
You must be signed in to change notification settings - Fork 47
/
changelog_provider.dart
33 lines (27 loc) · 1009 Bytes
/
changelog_provider.dart
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import 'package:shiori/domain/services/api_service.dart';
import 'package:shiori/domain/services/changelog_provider.dart';
import 'package:shiori/domain/services/logging_service.dart';
import 'package:shiori/domain/services/network_service.dart';
const _defaultChangelog = '''
### Changelog
#### NA
''';
class ChangelogProviderImpl implements ChangelogProvider {
final LoggingService _loggingService;
final NetworkService _networkService;
final ApiService _apiService;
static const String defaultChangelog = _defaultChangelog;
ChangelogProviderImpl(this._loggingService, this._networkService, this._apiService);
@override
Future<String> load() async {
try {
if (!await _networkService.isInternetAvailable()) {
return _defaultChangelog;
}
return await _apiService.getChangelog(_defaultChangelog);
} catch (e, s) {
_loggingService.error(runtimeType, 'Unknown error occurred while loading changelog', e, s);
return _defaultChangelog;
}
}
}