Line data Source code
1 : import 'package:flutter/cupertino.dart'; 2 : 3 : class ErrorHandler extends ChangeNotifier { 4 : // General Error Types 5 : static const String successErrorType = "success"; 6 : 7 : // Add Contact Specific Errors... 8 : static const String changePasswordErrorPrefix = "changepassword"; 9 : static const String invalidImportStringErrorType = "invalid_import_string"; 10 : static const String contactAlreadyExistsErrorType = "contact_already_exists"; 11 : 12 : // ChangePassword 13 : bool changePasswordError = false; 14 : bool explicitChangePasswordSuccess = false; 15 : 16 : static const String deleteProfileErrorPrefix = "deleteprofile"; 17 : bool deleteProfileError = false; 18 : bool deleteProfileSuccess = false; 19 : 20 : static const String deletedServerErrorPrefix = "deletedserver"; 21 : bool deletedServerError = false; 22 : bool deletedServerSuccess = false; 23 : 24 0 : reset() { 25 0 : deleteProfileError = false; 26 0 : deleteProfileSuccess = false; 27 : 28 0 : deletedServerError = false; 29 0 : deletedServerSuccess = false; 30 : 31 0 : changePasswordError = false; 32 0 : explicitChangePasswordSuccess = false; 33 : 34 0 : notifyListeners(); 35 : } 36 : 37 : /// Called by the event bus. 38 0 : handleUpdate(String error) { 39 0 : var parts = error.split("."); 40 0 : String prefix = parts[0]; 41 0 : String errorType = parts[1]; 42 : 43 : switch (prefix) { 44 0 : case deleteProfileErrorPrefix: 45 0 : handleDeleteProfileError(errorType); 46 : break; 47 0 : case changePasswordErrorPrefix: 48 0 : handleChangePasswordError(errorType); 49 : break; 50 0 : case deletedServerErrorPrefix: 51 0 : handleDeletedServerError(errorType); 52 : } 53 : 54 0 : notifyListeners(); 55 : } 56 : 57 0 : handleDeleteProfileError(String errorType) { 58 : // Reset add contact errors 59 0 : deleteProfileError = false; 60 0 : deleteProfileSuccess = false; 61 : 62 : switch (errorType) { 63 0 : case successErrorType: 64 0 : deleteProfileSuccess = true; 65 : break; 66 : default: 67 0 : deleteProfileError = true; 68 : break; 69 : } 70 : } 71 : 72 0 : handleChangePasswordError(String errorType) { 73 : // Reset add contact errors 74 0 : changePasswordError = false; 75 0 : explicitChangePasswordSuccess = false; 76 : 77 : switch (errorType) { 78 0 : case successErrorType: 79 0 : explicitChangePasswordSuccess = true; 80 : break; 81 : default: 82 0 : changePasswordError = true; 83 : break; 84 : } 85 : } 86 : 87 0 : handleDeletedServerError(String errorType) { 88 : // reset 89 0 : deletedServerError = false; 90 0 : deletedServerSuccess = false; 91 : 92 : switch (errorType) { 93 0 : case successErrorType: 94 0 : deletedServerSuccess = true; 95 : break; 96 : default: 97 0 : deletedServerError = true; 98 : break; 99 : } 100 : } 101 : }