Java Code Examples for com.intellij.openapi.progress.ProgressIndicator.setIndeterminate()

The following are Jave code examples for showing how to use setIndeterminate() of the com.intellij.openapi.progress.ProgressIndicator class. You can vote up the examples you like. Your votes will be used in our system to get more good examples.
Example 1
Project: intellij-ce-playground   File: AbstractExternalSystemTask.java   Source Code and License Vote up 6 votes
@Override
public void execute(@NotNull final ProgressIndicator indicator, @NotNull ExternalSystemTaskNotificationListener... listeners) {
  indicator.setIndeterminate(true);
  ExternalSystemTaskNotificationListenerAdapter adapter = new ExternalSystemTaskNotificationListenerAdapter() {
    @Override
    public void onStatusChange(@NotNull ExternalSystemTaskNotificationEvent event) {
      indicator.setText(wrapProgressText(event.getDescription()));
    }
  };
  final ExternalSystemTaskNotificationListener[] ls;
  if (listeners.length > 0) {
    ls = ArrayUtil.append(listeners, adapter);
  }
  else {
    ls = new ExternalSystemTaskNotificationListener[]{adapter};
  }

  execute(ls);
}
 
Example 2
Project: intellij-ce-playground   File: AbstractExternalSystemTask.java   Source Code and License Vote up 6 votes
@Override
public boolean cancel(@NotNull final ProgressIndicator indicator, @NotNull ExternalSystemTaskNotificationListener... listeners) {
  indicator.setIndeterminate(true);
  ExternalSystemTaskNotificationListenerAdapter adapter = new ExternalSystemTaskNotificationListenerAdapter() {
    @Override
    public void onStatusChange(@NotNull ExternalSystemTaskNotificationEvent event) {
      indicator.setText(wrapProgressText(event.getDescription()));
    }
  };
  final ExternalSystemTaskNotificationListener[] ls;
  if (listeners.length > 0) {
    ls = ArrayUtil.append(listeners, adapter);
  }
  else {
    ls = new ExternalSystemTaskNotificationListener[]{adapter};
  }

  return cancel(ls);
}
 
Example 3
Project: intellij-ce-playground   File: ComponentManagerImpl.java   Source Code and License Vote up 6 votes
protected final void init(@Nullable ProgressIndicator indicator, @Nullable Runnable componentsRegistered) {
  List<ComponentConfig> componentConfigs = getComponentConfigs();
  for (ComponentConfig config : componentConfigs) {
    registerComponents(config);
  }
  myComponentConfigCount = componentConfigs.size();

  if (componentsRegistered != null) {
    componentsRegistered.run();
  }

  if (indicator != null) {
    indicator.setIndeterminate(false);
  }
  createComponents(indicator);
  myComponentsCreated = true;
}
 
Example 4
Project: intellij-ce-playground   File: Waiter.java   Source Code and License Vote up 6 votes
public void run(@NotNull ProgressIndicator indicator) {
  indicator.setIndeterminate(true);
  indicator.setText2(VcsBundle.message("commit.wait.util.synched.text"));
  synchronized (myLock) {
    if (myStarted) {
      LOG.error("Waiter running under progress being started again.");
      return;
    }
    myStarted = true;
    while (! myDone) {
      try {
        // every second check whether we are canceled
        myLock.wait(500);
      }
      catch (InterruptedException e) {
        // ok
      }
      indicator.checkCanceled();
    }
  }
}
 
Example 5
Project: intellij-ce-playground   File: JdkDetection.java   Source Code and License Vote up 6 votes
@Override
public void run(@NotNull ProgressIndicator indicator) {
  indicator.setIndeterminate(true);
  if (myJdkDetectionInProgress.compareAndSet(false, true)) {
    try {
      myPath = detectJdkPath(myCancelled);
    }
    finally {
      myJdkDetectionInProgress.set(false);
    }
  }
  while (myJdkDetectionInProgress.get()) {
    try {
      // Just wait until previously run detection completes (progress dialog is shown then)
      //noinspection BusyWait
      Thread.sleep(300);
    }
    catch (InterruptedException ignore) {
    }
  }
}
 
Example 6
Project: intellij-ce-playground   File: PyPackageManagerUI.java   Source Code and License Vote up 6 votes
@NotNull
@Override
protected List<ExecutionException> runTask(@NotNull ProgressIndicator indicator) {
  final PyPackageManager manager = PyPackageManagers.getInstance().forSdk(mySdk);
  indicator.setIndeterminate(true);
  try {
    manager.uninstall(myPackages);
    return Collections.emptyList();
  }
  catch (ExecutionException e) {
    return Collections.singletonList(e);
  }
  finally {
    manager.refresh();
  }
}
 
Example 7
Project: intellij-ce-playground   File: AndroidSdkUtils.java   Source Code and License Vote up 6 votes
@Override
public void run(@NotNull ProgressIndicator indicator) {
  indicator.setIndeterminate(true);
  while (!myFuture.isDone()) {
    try {
      myFuture.get(200, TimeUnit.MILLISECONDS);
    }
    catch (Exception ignored) {
      // all we need to know is whether the future completed or not..
    }

    if (indicator.isCanceled()) {
      return;
    }
  }
}
 
Example 8
Project: StAnalysisRunner   File: AnalysisTask.java   Source Code and License Vote up 5 votes
@Override
public void run(@NotNull final ProgressIndicator progressIndicator) {
    isRunning = true;
    progressIndicator.setIndeterminate(true);

    try {
        runAnalysis(progressIndicator);
    } catch (final ProcessCanceledException canceledException) {
        progressIndicator.cancel();
    } catch (final Exception exception) {
        showErrorNotification("Exception: " + exception.getMessage());
    }
}
 
Example 9
Project: educational-plugin   File: StudyCheckAction.java   Source Code and License Vote up 5 votes
@Override
public void run(@NotNull ProgressIndicator indicator) {
  indicator.setIndeterminate(true);
  myCheckInProgress.set(true);
  boolean isRemote = myTask.getLesson().getCourse() instanceof RemoteCourse;
  myResult = isRemote ? checkOnRemote() : myChecker.check();
}
 
Example 10
Project: intellij-ce-playground   File: FileWithBranchComparer.java   Source Code and License Vote up 5 votes
@Override
protected void beforeCompare() {
  final ProgressIndicator indicator = ProgressManager.getInstance().getProgressIndicator();
  if (indicator != null) {
    indicator.setIndeterminate(true);
  }
}
 
Example 11
Project: intellij   File: PrefetchProjectInitializer.java   Source Code and License Vote up 5 votes
@Override
public void performInDumbMode(ProgressIndicator indicator) {
  indicator.setIndeterminate(true);
  indicator.setText("Prefetching files...");
  while (!future.isCancelled() && !future.isDone()) {
    indicator.checkCanceled();
    TimeoutUtil.sleep(100);
  }
  long end = System.currentTimeMillis();
  logger.info(String.format("Initial prefetching took: %d ms", (end - startTimeMillis)));
}
 
Example 12
Project: intellij-ce-playground   File: EditorsSplitters.java   Source Code and License Vote up 5 votes
private void initializeProgress() {
  ProgressIndicator indicator = ProgressManager.getInstance().getProgressIndicator();
  if (indicator != null) {
    indicator.setText(IdeBundle.message("loading.editors"));
    indicator.setText2("");
    indicator.setIndeterminate(false);
    indicator.setFraction(0);

    myProgressMaximum = countFiles(mySplittersElement);
    myCurrentProgress = 0;
  }
}
 
Example 13
Project: intellij-ce-playground   File: DownloadOperation.java   Source Code and License Vote up 5 votes
private static void download(@NotNull String url, @NotNull File destination, @NotNull ProgressIndicator indicator) throws IOException {
  indicator.setText(String.format("Downloading %s", destination.getName()));
  HttpURLConnection connection = HttpConfigurable.getInstance().openHttpConnection(url);
  int contentLength = connection.getContentLength();
  if (contentLength <= 0) {
    indicator.setIndeterminate(true);
  }
  InputStream readStream = null;
  OutputStream stream = null;
  try {
    readStream = connection.getInputStream();
    //noinspection IOResourceOpenedButNotSafelyClosed
    stream = new BufferedOutputStream(new FileOutputStream(destination));
    byte[] buffer = new byte[2 * 1024 * 1024];
    int read;
    int totalRead = 0;
    final long startTime = System.currentTimeMillis();
    for (read = readStream.read(buffer); read > 0; read = readStream.read(buffer)) {
      totalRead += read;
      stream.write(buffer, 0, read);
      long duration = System.currentTimeMillis() - startTime; // Duration is in ms
      long downloadRate = duration == 0 ? 0 : (totalRead / duration);
      String message =
        String.format("Downloading %1$s (%2$s/s)", destination.getName(), WelcomeUIUtils.getSizeLabel(downloadRate * 1000));
      indicator.setText(message);
      if (contentLength > 0) {
        indicator.setFraction(((double)totalRead) / contentLength);
      }
      indicator.checkCanceled();
    }
  }
  finally {
    if (stream != null) {
      stream.close();
    }
    if (readStream != null) {
      readStream.close();
    }
  }
}
 
Example 14
Project: intellij-ce-playground   File: SvnIntegrateChangesTask.java   Source Code and License Vote up 5 votes
private static void indicatorOnStart() {
  ProgressIndicator indicator = ProgressManager.getInstance().getProgressIndicator();

  if (indicator != null) {
    indicator.setIndeterminate(true);
    indicator.setText(SvnBundle.message("action.Subversion.integrate.changes.progress.integrating.text"));
  }
}
 
Example 15
Project: intellij-ce-playground   File: GenerateBinaryStubsFix.java   Source Code and License Vote up 5 votes
private boolean generateSkeletonsForList(@NotNull final PySkeletonRefresher refresher,
                                         ProgressIndicator indicator,
                                         @Nullable final String currentBinaryFilesPath) throws InvalidSdkException {
  final PySkeletonGenerator generator = new PySkeletonGenerator(refresher.getSkeletonsPath(), mySdk, currentBinaryFilesPath);
  indicator.setIndeterminate(false);
  final String homePath = mySdk.getHomePath();
  if (homePath == null) return false;
  GeneralCommandLine cmd = PythonHelper.EXTRA_SYSPATH.newCommandLine(homePath, Lists.newArrayList(myQualifiedName));
  final ProcessOutput runResult = PySdkUtil.getProcessOutput(cmd,
                                                             new File(homePath).getParent(),
                                                             PythonSdkType.getVirtualEnvExtraEnv(homePath), 5000
  );
  if (runResult.getExitCode() == 0 && !runResult.isTimeout()) {
    final String extraPath = runResult.getStdout();
    final PySkeletonGenerator.ListBinariesResult binaries = generator.listBinaries(mySdk, extraPath);
    final List<String> names = Lists.newArrayList(binaries.modules.keySet());
    Collections.sort(names);
    final int size = names.size();
    for (int i = 0; i != size; ++i) {
      final String name = names.get(i);
      indicator.setFraction((double)i / size);
      if (needBinaryList(name)) {
        indicator.setText2(name);
        final PySkeletonRefresher.PyBinaryItem item = binaries.modules.get(name);
        final String modulePath = item != null ? item.getPath() : "";
        //noinspection unchecked
        refresher.generateSkeleton(name, modulePath, new ArrayList<String>(), Consumer.EMPTY_CONSUMER);
      }
    }
  }
  return true;
}
 
Example 16
Project: intellij-ce-playground   File: ScreenRecorderAction.java   Source Code and License Vote up 5 votes
@Override
public void run(@NotNull ProgressIndicator indicator) {
  int elapsedTime = 0; // elapsed time in seconds
  indicator.setIndeterminate(true);
  while (true) {
    try {
      if (myCompletionLatch.await(1, TimeUnit.SECONDS)) {
        break;
      }

      // update elapsed time in seconds
      elapsedTime++;
      indicator.setText(String.format("Recording...%1$d %2$s elapsed", elapsedTime, StringUtil.pluralize("second", elapsedTime)));

      if (indicator.isCanceled()) {
        // explicitly cancel the running task
        myReceiver.cancel();

        indicator.setText("Stopping...");

        // Wait for an additional second to make sure that the command
        // completed and screen recorder finishes writing the output
        myCompletionLatch.await(1, TimeUnit.SECONDS);
        break;
      }
    }
    catch (InterruptedException ignored) {
    }
  }
}
 
Example 17
Project: educational-plugin   File: CCStepicConnector.java   Source Code and License Vote up 4 votes
private static void postCourse(final Project project, @NotNull Course course) {
  if (!checkIfAuthorized(project, "post course")) return;

  final ProgressIndicator indicator = ProgressManager.getInstance().getProgressIndicator();
  if (indicator != null) {
    indicator.setText("Uploading course to " + EduStepicNames.STEPIC_URL);
    indicator.setIndeterminate(false);
  }
  final HttpPost request = new HttpPost(EduStepicNames.STEPIC_API_URL + "/courses");

  final StepicUser currentUser = EduStepicAuthorizedClient.getCurrentUser();
  if (currentUser != null) {
    final List<StepicUser> courseAuthors = course.getAuthors();
    for (int i = 0; i < courseAuthors.size(); i++) {
      if (courseAuthors.size() > i) {
        final StepicUser courseAuthor = courseAuthors.get(i);
        currentUser.setFirstName(courseAuthor.getFirstName());
        currentUser.setLastName(courseAuthor.getLastName());
      }
    }
    course.setAuthors(Collections.singletonList(currentUser));
  }

  String requestBody = new Gson().toJson(new StepicWrappers.CourseWrapper(course));
  request.setEntity(new StringEntity(requestBody, ContentType.APPLICATION_JSON));

  try {
    final CloseableHttpClient client = EduStepicAuthorizedClient.getHttpClient();
    if (client == null) {
      LOG.warn("Http client is null");
      return;
    }
    final CloseableHttpResponse response = client.execute(request);
    final HttpEntity responseEntity = response.getEntity();
    final String responseString = responseEntity != null ? EntityUtils.toString(responseEntity) : "";
    final StatusLine line = response.getStatusLine();
    EntityUtils.consume(responseEntity);
    if (line.getStatusCode() != HttpStatus.SC_CREATED) {
      final String message = FAILED_TITLE + "course ";
      LOG.error(message + responseString);
      showErrorNotification(project, FAILED_TITLE, responseString);
      return;
    }
    final RemoteCourse postedCourse = new Gson().fromJson(responseString, StepicWrappers.CoursesContainer.class).courses.get(0);
    postedCourse.setLessons(course.getLessons(true));
    postedCourse.setAuthors(course.getAuthors());
    postedCourse.setCourseMode(CCUtils.COURSE_MODE);
    postedCourse.setLanguage(course.getLanguageID());
    final int sectionId = postModule(postedCourse.getId(), 1, String.valueOf(postedCourse.getName()), project);
    int position = 1;
    for (Lesson lesson : course.getLessons()) {
      if (indicator != null) {
        indicator.checkCanceled();
        indicator.setText2("Publishing lesson " + lesson.getIndex());
      }
      final int lessonId = postLesson(project, lesson);
      postUnit(lessonId, position, sectionId, project);
      if (indicator != null) {
        indicator.setFraction((double)lesson.getIndex()/course.getLessons().size());
        indicator.checkCanceled();
      }
      position += 1;
    }
    ApplicationManager.getApplication().runReadAction(() -> postAdditionalFiles(course, project, postedCourse.getId()));
    StudyTaskManager.getInstance(project).setCourse(postedCourse);
    showNotification(project, "Course published");
  }
  catch (IOException e) {
    LOG.error(e.getMessage());
  }
}
 
Example 18
Project: intellij-ce-playground   File: RootsAndBranches.java   Source Code and License Vote up 4 votes
private void createPanels(final RepositoryLocation location, final Runnable afterRefresh) {
  final Task.Backgroundable backgroundable = new Task.Backgroundable(myProject, "Subversion: loading working copies data..", false,
                                                                      BackgroundFromStartOption.getInstance()) {
    public void run(@NotNull final ProgressIndicator indicator) {
      indicator.setIndeterminate(true);
      final Map<String, SvnMergeInfoRootPanelManual> panels = new HashMap<String, SvnMergeInfoRootPanelManual>();
      final Map<String, MergeInfoHolder> holders = new HashMap<String, MergeInfoHolder>();
      final List<WCInfoWithBranches> roots = myDataLoader.loadRoots();
      SwingUtilities.invokeLater(new Runnable() {
        public void run() {
          if (myDisposed) return;
          final JPanel mainPanel = prepareData(panels, holders, roots);

          myMergePanels.clear();
          myHolders.clear();
          myMergePanels.putAll(panels);
          myHolders.putAll(holders);
          
          if (myPanelWrapper != null) {
            myPanelWrapper.removeAll();
            if (myMergePanels.isEmpty()) {
              final JPanel emptyPanel = new JPanel(new GridBagLayout());
              final GridBagConstraints gb =
                new GridBagConstraints(0, 0, 1, 1, 1, 1, GridBagConstraints.NORTHWEST, GridBagConstraints.NONE, new Insets(5, 5, 0, 5), 0, 0);
              final JLabel label = new JLabel("No Subversion 1.5 working copies\nof 1.5 repositories in the project");
              label.setUI(new MultiLineLabelUI());
              emptyPanel.add(label, gb);
              gb.fill = GridBagConstraints.HORIZONTAL;
              myPanelWrapper.add(emptyPanel, gb);
            } else {
              for (MergeInfoHolder holder : myHolders.values()) {
                holder.updateMixedRevisionsForPanel();
              }
              myPanelWrapper.add(mainPanel, new GridBagConstraints(0, 0, 1, 1, 1, 1, GridBagConstraints.NORTHWEST, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 0), 0, 0));
            }
            myPanelWrapper.repaint();
          } else {
            myPanel = mainPanel;
          }
          if (afterRefresh != null) {
            afterRefresh.run();
          }
        }
      });
    }
  };
  ProgressManager.getInstance().run(backgroundable);
}
 
Example 19
Project: intellij-ce-playground   File: CloudRuntimeTask.java   Source Code and License Vote up 4 votes
private T perform(boolean modal, final Disposable disposable) {
  final Semaphore semaphore = new Semaphore();
  semaphore.down();

  final AtomicReference<T> result = new AtomicReference<T>();

  final Progressive progressive = new Progressive() {

    @Override
    public void run(@NotNull ProgressIndicator indicator) {
      indicator.setIndeterminate(true);
      while (!indicator.isCanceled()) {
        if (semaphore.waitFor(500)) {
          if (mySuccess.get()) {
            UIUtil.invokeLaterIfNeeded(new Runnable() {

              @Override
              public void run() {
                if (disposable == null || !Disposer.isDisposed(disposable)) {
                  postPerform(result.get());
                }
              }
            });
          }
          break;
        }
      }
    }
  };

  Task task;
  boolean cancellable = isCancellable(modal);
  if (modal) {
    task = new Task.Modal(myProject, myTitle, cancellable) {

      @Override
      public void run(@NotNull ProgressIndicator indicator) {
        progressive.run(indicator);
      }
    };
  }
  else {
    task = new Task.Backgroundable(myProject, myTitle, cancellable) {

      @Override
      public void run(@NotNull ProgressIndicator indicator) {
        progressive.run(indicator);
      }

      @Override
      public boolean shouldStartInBackground() {
        return CloudRuntimeTask.this.shouldStartInBackground();
      }
    };
  }

  mySuccess.set(false);
  myErrorMessage.set(null);

  run(semaphore, result);

  task.queue();

  return result.get();
}
 
Example 20
Project: intellij-ce-playground   File: AllocationsEditor.java   Source Code and License Vote up 4 votes
private void parseAllocationsFileInBackground(final Project project, final VirtualFile file) {
  final Task.Modal parseTask = new Task.Modal(project, "Parsing allocations file", false) {
    private AllocationInfo[] myAllocations;
    private String myErrorMessage;

    @Override
    public void run(@NotNull ProgressIndicator indicator) {
      indicator.setIndeterminate(true);

      final File allocationsFile = VfsUtilCore.virtualToIoFile(file);
      ByteBuffer data;
      try {
        data = ByteBufferUtil.mapFile(allocationsFile, 0, ByteOrder.BIG_ENDIAN);
      } catch (IOException ex) {
        myErrorMessage = "Error reading from allocations file " + allocationsFile.getAbsolutePath();
        throw new ProcessCanceledException();
      }

      try {
        myAllocations = AllocationsParser.parse(data);
      }
      catch (final Throwable throwable) {
        //noinspection ThrowableResultOfMethodCallIgnored
        myErrorMessage = "Unexpected error while parsing allocations file: " + Throwables.getRootCause(throwable).getMessage();
        throw new ProcessCanceledException();
      }
    }

    @Override
    public void onSuccess() {
      AllocationsView view = new AllocationsView(project, myAllocations);
      myPanel.add(view.getComponent(), BorderLayout.CENTER);
    }

    @Override
    public void onCancel() {
      Messages.showErrorDialog(project, myErrorMessage, getName());
    }
  };
  ApplicationManager.getApplication().invokeLater(new Runnable() {
    @Override
    public void run() {
      parseTask.queue();
    }
  });
}
 
Example 21
Project: intellij-ce-playground   File: GenerateGroovyDocAction.java   Source Code and License Vote up 4 votes
private static void generateGroovydoc(final GroovyDocConfiguration configuration, final Project project) {
  Runnable groovyDocRun = new Runnable() {
    @Override
    public void run() {
      Groovydoc groovydoc = new Groovydoc();
      groovydoc.setProject(new org.apache.tools.ant.Project());
      groovydoc.setDestdir(new File(configuration.OUTPUT_DIRECTORY));
      groovydoc.setPrivate(configuration.OPTION_IS_PRIVATE);
      groovydoc.setUse(configuration.OPTION_IS_USE);
      groovydoc.setWindowtitle(configuration.WINDOW_TITLE);

      final Path path = new Path(new org.apache.tools.ant.Project());
      path.setPath(configuration.INPUT_DIRECTORY);
      groovydoc.setSourcepath(path);

      String packages = "";
      for (int i = 0; i < configuration.PACKAGES.length; i++) {
        final String s = configuration.PACKAGES[i];
        if (s != null && s.isEmpty()) continue;

        if (i > 0) {
          packages += ",";
        }

        packages += s;
      }
      groovydoc.setPackagenames(packages);

      final ProgressIndicator progressIndicator = ProgressManager.getInstance().getProgressIndicator();
      progressIndicator.setIndeterminate(true);
      progressIndicator.setText(GroovyDocBundle.message("groovy.doc.progress.indication.text"));
      groovydoc.execute();
    }
  };

  ProgressManager.getInstance()
    .runProcessWithProgressSynchronously(groovyDocRun, GroovyDocBundle.message("groovy.documentation.generating"), false, project);

  if (configuration.OPEN_IN_BROWSER) {
    File url = new File(configuration.OUTPUT_DIRECTORY, INDEX_HTML);
    if (url.exists()) {
      BrowserUtil.browse(url);
    }
  }
}
 
Example 22
Project: intellij-ce-playground   File: ComputeDominatorAction.java   Source Code and License Vote up 4 votes
@Override
public void run(@NotNull ProgressIndicator indicator) {
  indicator.setIndeterminate(true);
  // TODO do this in a separate thread.
  mySnapshot.computeDominators();
}
 
Example 23
Project: intellij-ce-playground   File: UnindexedFilesUpdater.java   Source Code and License Vote up 3 votes
private void updateUnindexedFiles(ProgressIndicator indicator) {
  PerformanceWatcher.Snapshot snapshot = PerformanceWatcher.takeSnapshot();
  PushedFilePropertiesUpdater.getInstance(myProject).pushAllPropertiesNow();
  snapshot.logResponsivenessSinceCreation("Pushing properties");

  indicator.setIndeterminate(true);
  indicator.setText(IdeBundle.message("progress.indexing.scanning"));

  CollectingContentIterator finder = myIndex.createContentIterator(indicator);
  snapshot = PerformanceWatcher.takeSnapshot();

  myIndex.iterateIndexableFilesConcurrently(finder, myProject, indicator);

  myIndex.filesUpdateEnumerationFinished();

  snapshot.logResponsivenessSinceCreation("Indexable file iteration");

  List<VirtualFile> files = finder.getFiles();

  if (myOnStartup && !ApplicationManager.getApplication().isUnitTestMode()) {
    // full VFS refresh makes sense only after it's loaded, i.e. after scanning files to index is finished
    ((StartupManagerImpl)StartupManager.getInstance(myProject)).scheduleInitialVfsRefresh();
  }

  if (files.isEmpty()) {
    return;
  }

  snapshot = PerformanceWatcher.takeSnapshot();

  LOG.info("Unindexed files update started: " + files.size() + " files to update");

  indicator.setIndeterminate(false);
  indicator.setText(IdeBundle.message("progress.indexing.updating"));

  indexFiles(indicator, files);
  snapshot.logResponsivenessSinceCreation("Unindexed files update");

}