check cache locals in update locals
This commit is contained in:
parent
bc0ef37a60
commit
ab19c7f231
|
@ -18,7 +18,8 @@ import 'package:hub/shared/utils/dialog_util.dart';
|
||||||
import 'package:hub/shared/utils/snackbar_util.dart';
|
import 'package:hub/shared/utils/snackbar_util.dart';
|
||||||
|
|
||||||
abstract class LocalsRemoteDataSource {
|
abstract class LocalsRemoteDataSource {
|
||||||
Future<void> checkLocals(BuildContext context);
|
Future<void> linkLocal(BuildContext context);
|
||||||
|
Future<bool> checkLocals(BuildContext context);
|
||||||
Future<bool> processLocals(BuildContext context) ;
|
Future<bool> processLocals(BuildContext context) ;
|
||||||
Future<bool> processData(BuildContext context);
|
Future<bool> processData(BuildContext context);
|
||||||
Future<bool> selectLocal(BuildContext context, ApiCallResponse? response) ;
|
Future<bool> selectLocal(BuildContext context, ApiCallResponse? response) ;
|
||||||
|
@ -31,7 +32,7 @@ class LocalsRemoteDataSourceImpl implements LocalsRemoteDataSource {
|
||||||
LocalsRemoteDataSourceImpl._internal();
|
LocalsRemoteDataSourceImpl._internal();
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<void> checkLocals(BuildContext context) async {
|
Future<void> linkLocal(BuildContext context) async {
|
||||||
try {
|
try {
|
||||||
final GetLocalsCall callback = PhpGroup.getLocalsCall;
|
final GetLocalsCall callback = PhpGroup.getLocalsCall;
|
||||||
var response = await callback.call();
|
var response = await callback.call();
|
||||||
|
@ -142,6 +143,13 @@ class LocalsRemoteDataSourceImpl implements LocalsRemoteDataSource {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<bool> checkLocals(BuildContext context) async {
|
||||||
|
String cliUUID = (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? '';
|
||||||
|
String cliName = (await StorageHelper().get(KeychainStorageKey.clientName.value)) ?? '';
|
||||||
|
return cliUUID.isEmpty && cliName.isEmpty;
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<bool> processData(BuildContext context) async {
|
Future<bool> processData(BuildContext context) async {
|
||||||
try {
|
try {
|
||||||
|
|
|
@ -20,7 +20,7 @@ class LocalsRepositoryImpl implements LocalsRepository {
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<void> validateLocal(BuildContext context) async {
|
Future<void> validateLocal(BuildContext context) async {
|
||||||
return await remoteDataSource.checkLocals(context);
|
return await remoteDataSource.linkLocal(context);
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
@ -49,6 +49,8 @@ class LocalsRepositoryImpl implements LocalsRepository {
|
||||||
|
|
||||||
Future<bool> _handleReponse(BuildContext context) async {
|
Future<bool> _handleReponse(BuildContext context) async {
|
||||||
bool response = false;
|
bool response = false;
|
||||||
|
final bool isUnselected = await remoteDataSource.checkLocals(context);
|
||||||
|
if (isUnselected) {
|
||||||
while (!response) {
|
while (!response) {
|
||||||
try {
|
try {
|
||||||
response = await remoteDataSource.processLocals(context);
|
response = await remoteDataSource.processLocals(context);
|
||||||
|
@ -60,6 +62,9 @@ class LocalsRepositoryImpl implements LocalsRepository {
|
||||||
await _handleUpdateError(context);
|
await _handleUpdateError(context);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue