public void doUpdatePackages()

in src/org/jetbrains/r/packages/remote/ui/RInstalledPackagesPanelBase.java [561:600]


  public void doUpdatePackages(final @NotNull RPackageManagementService packageManagementService) {
    onUpdateStarted();
    ProgressManager.getInstance().run(new Task.Backgroundable(myProject,
                                                              LOADING_PACKAGES_LIST_TITLE,
                                                              true,
                                                              PerformInBackgroundOption.ALWAYS_BACKGROUND) {
      @Override
      public void run(@NotNull ProgressIndicator indicator) {
        List<RInstalledPackage> packages = List.of();
        try {
          packages = packageManagementService.getInstalledPackagesList();
        }
        finally {
          List<Object[]> rows = ContainerUtil.map(packages,
                                                  pkg -> new Object[]{
                                                    "",
                                                    pkg,
                                                    pkg.getDescription().get(TITLE),
                                                    pkg.getVersion(),
                                                    "",
                                                    ""
                                                  });

          final boolean shouldFetchLatestVersionsForOnlyInstalledPackages = shouldFetchLatestVersionsForOnlyInstalledPackages();
          UIUtil.invokeLaterIfNeeded(() -> {
            if (packageManagementService == myPackageManagementService) {
              myPackagesTableModel.getDataVector().clear();
              for (Object[] row : rows) {
                myPackagesTableModel.addRow(row);
              }
              onUpdateFinished();
              if (shouldFetchLatestVersionsForOnlyInstalledPackages) {
                setLatestVersionsForInstalledPackages();
              }
            }
          });
        }
      }
    });
  }