updatePhoneNumber method

  1. @override
Future<bool> updatePhoneNumber(
  1. String phone,
  2. String countryCode
)
override

Implementation

@override
Future<bool> updatePhoneNumber(String phone, String countryCode) async {
  AppConfig.logger.d("updatePhoneNumber Phone: $phone & countryCode $countryCode");
  bool wasUpdated = false;
  try {
    if(user.phoneNumber != phone) {
      if(await userFirestore.isAvailablePhone(phone)) {

        if(user.countryCode != countryCode) {
          userFirestore.updateCountryCode(user.id, countryCode);
          user.countryCode = countryCode;
        } else {
          AppConfig.logger.d("Same Country Code");
        }

        userFirestore.updatePhoneNumber(user.id, phone);
        user.phoneNumber = phone;
        wasUpdated = true;
      } else {
        AppConfig.logger.e("Phone number is not available");
        Get.snackbar(CoreConstants.updatePhone.tr,
          CoreConstants.phoneNotAvailable.tr,
          snackPosition: SnackPosition.bottom,
        );
      }
    } else {
      AppConfig.logger.d("Same Phone number");
    }
  } catch (e) {
    AppConfig.logger.e(e.toString());
  }

  update();
  return wasUpdated;
}