2021-03-24 23:35:24 +00:00
|
|
|
import 'package:flutter/cupertino.dart';
|
|
|
|
|
|
|
|
class ErrorHandler extends ChangeNotifier {
|
|
|
|
// General Error Types
|
|
|
|
static const String successErrorType = "success";
|
|
|
|
|
|
|
|
// Add Contact Specific Errors...
|
|
|
|
static const String addContactErrorPrefix = "addcontact";
|
|
|
|
static const String invalidImportStringErrorType = "invalid_import_string";
|
|
|
|
static const String contactAlreadyExistsErrorType = "contact_already_exists";
|
|
|
|
bool invalidImportStringError = false;
|
|
|
|
bool contactAlreadyExistsError = false;
|
|
|
|
bool explicitAddContactSuccess = false;
|
|
|
|
|
2021-04-22 21:15:27 +00:00
|
|
|
// Import Bundle Specific Errors
|
|
|
|
static const String importBundleErrorPrefix = "importBundle";
|
|
|
|
bool importBundleError = false;
|
|
|
|
bool importBundleSuccess = false;
|
|
|
|
|
2021-03-24 23:35:24 +00:00
|
|
|
/// Called by the event bus.
|
|
|
|
handleUpdate(String error) {
|
|
|
|
var parts = error.split(".");
|
|
|
|
String prefix = parts[0];
|
|
|
|
String errorType = parts[1];
|
|
|
|
|
|
|
|
switch (prefix) {
|
|
|
|
case addContactErrorPrefix:
|
|
|
|
handleAddContactError(errorType);
|
|
|
|
break;
|
2021-04-22 21:15:27 +00:00
|
|
|
case importBundleErrorPrefix:
|
|
|
|
handleImportBundleError(errorType);
|
2021-05-31 23:11:39 +00:00
|
|
|
break;
|
2021-03-24 23:35:24 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
notifyListeners();
|
|
|
|
}
|
|
|
|
|
|
|
|
handleAddContactError(String errorType) {
|
|
|
|
// Reset add contact errors
|
|
|
|
invalidImportStringError = false;
|
|
|
|
contactAlreadyExistsError = false;
|
|
|
|
explicitAddContactSuccess = false;
|
|
|
|
|
|
|
|
switch (errorType) {
|
|
|
|
case invalidImportStringErrorType:
|
|
|
|
invalidImportStringError = true;
|
|
|
|
break;
|
|
|
|
case contactAlreadyExistsErrorType:
|
|
|
|
contactAlreadyExistsError = true;
|
|
|
|
break;
|
|
|
|
case successErrorType:
|
|
|
|
explicitAddContactSuccess = true;
|
2021-05-31 23:11:39 +00:00
|
|
|
importBundleSuccess = true;
|
2021-03-24 23:35:24 +00:00
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
2021-04-22 21:15:27 +00:00
|
|
|
|
|
|
|
handleImportBundleError(String errorType) {
|
|
|
|
// Reset add contact errors
|
|
|
|
importBundleError = false;
|
|
|
|
importBundleSuccess = false;
|
|
|
|
|
|
|
|
switch (errorType) {
|
|
|
|
case successErrorType:
|
|
|
|
importBundleSuccess = true;
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
importBundleError = true;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
2021-03-24 23:35:24 +00:00
|
|
|
}
|