Feat: Update scanner persistence, more migrations and bugfixes

This commit is contained in:
Anton Stubenbord
2023-09-28 17:14:27 +02:00
parent 18ab657932
commit 653344c9ee
55 changed files with 887 additions and 442 deletions

View File

@@ -7,6 +7,7 @@ import 'package:paperless_mobile/core/interceptor/server_reachability_error_inte
import 'package:paperless_mobile/core/security/session_manager.dart';
import 'package:paperless_mobile/features/login/model/client_certificate.dart';
import 'package:paperless_mobile/features/login/model/reachability_status.dart';
import 'package:rxdart/subjects.dart';
abstract class ConnectivityStatusService {
Future<bool> isConnectedToInternet();
@@ -20,14 +21,19 @@ abstract class ConnectivityStatusService {
class ConnectivityStatusServiceImpl implements ConnectivityStatusService {
final Connectivity _connectivity;
final BehaviorSubject<bool> _connectivityState$ = BehaviorSubject();
ConnectivityStatusServiceImpl(this._connectivity);
ConnectivityStatusServiceImpl(this._connectivity) {
_connectivityState$.addStream(
_connectivity.onConnectivityChanged
.map(_hasActiveInternetConnection)
.asBroadcastStream(),
);
}
@override
Stream<bool> connectivityChanges() {
return _connectivity.onConnectivityChanged
.map(_hasActiveInternetConnection)
.asBroadcastStream();
return _connectivityState$.asBroadcastStream();
}
@override
@@ -98,3 +104,31 @@ class ConnectivityStatusServiceImpl implements ConnectivityStatusService {
return ReachabilityStatus.notReachable;
}
}
class ConnectivityStatusServiceMock implements ConnectivityStatusService {
final bool isConnected;
ConnectivityStatusServiceMock(this.isConnected);
@override
Stream<bool> connectivityChanges() {
return Stream.value(isConnected);
}
@override
Future<bool> isConnectedToInternet() async {
return isConnected;
}
@override
Future<ReachabilityStatus> isPaperlessServerReachable(String serverAddress,
[ClientCertificate? clientCertificate]) async {
return isConnected
? ReachabilityStatus.reachable
: ReachabilityStatus.notReachable;
}
@override
Future<bool> isServerReachable(String serverAddress) async {
return isConnected;
}
}