refreshContacts method

dynamic refreshContacts(
  1. bool isNetworkToastNeeded
)

Implementation

refreshContacts(bool isNetworkToastNeeded) async {
  if (Constants.enableContactSync) {
    mirrorFlyLog('Contact Sync', "[Contact Sync] refreshContacts()");
    if (await AppUtils.isNetConnected()) {
      if (!await Mirrorfly.contactSyncStateValue()) {
        var contactPermissionHandle = await AppPermission.checkPermission(
            context!,
            Permission.contacts,
            contactPermission,
            AppConstants.contactSyncPermission);
        if (contactPermissionHandle) {
          progressSpinner(true);
          Mirrorfly.syncContacts(
                  isFirstTime: !SessionManagement.isInitialContactSyncDone(),
                  flyCallBack: (_) {})
              .then((value) {
            progressSpinner(false);
            // viewModel.onContactSyncFinished(success)
            // viewModel.isContactSyncSuccess.value = true
            _first = true;
            fetchUsers(_searchText.isNotEmpty);
          });
        } /* else {
    MediaPermissions.requestContactsReadPermission(
    this,
    permissionAlertDialog,
    contactPermissionLauncher,
    null)
    val email = Utils.returnEmptyStringIfNull(SharedPreferenceManager.getString(Constants.EMAIL))
    if (ChatUtils.isContusUser(email))
    EmailContactSyncService.start()
    }*/
      } else {
        progressSpinner(true);
        mirrorFlyLog('Contact Sync',
            "[Contact Sync] Contact syncing is already in progress");
      }
    } else {
      if (isNetworkToastNeeded) {
        toToast(AppConstants.noInternetConnection);
      }
      // viewModel.onContactSyncFinished(false);
    }
  }
}