use of com.android.repository.api.RepoManager.DEFAULT_EXPIRATION_PERIOD_MS in project android by JetBrains.
the class InstallCMakeHyperlink method execute.
@Override
protected void execute(@NotNull Project project) {
// We need to statically fetch the SDK handler each time because the location might change.
// TODO: remove the need for doing this each time.
AndroidSdkHandler sdkHandler = AndroidSdks.getInstance().tryToChooseSdkHandler();
StudioLoggerProgressIndicator progressIndicator = new StudioLoggerProgressIndicator(getClass());
RepoManager sdkManager = sdkHandler.getSdkManager(progressIndicator);
StudioProgressRunner progressRunner = new StudioProgressRunner(false, /* backgroundable */
false, /* cancellable */
"Loading Remote SDK", true, /* in UI thread */
project);
RepoManager.RepoLoadedCallback onComplete = packages -> {
Collection<RemotePackage> cmakePackages = packages.getRemotePackagesForPrefix(FD_CMAKE);
if (!cmakePackages.isEmpty()) {
RemotePackage cmakePackage;
if (cmakePackages.size() == 1) {
cmakePackage = getFirstItem(cmakePackages);
} else {
cmakePackage = sdkHandler.getLatestRemotePackageForPrefix(FD_CMAKE, false, progressIndicator);
}
if (cmakePackage != null) {
ModelWizardDialog dialog = createDialogForPaths(project, ImmutableList.of(cmakePackage.getPath()));
if (dialog != null && dialog.showAndGet()) {
GradleSyncInvoker.getInstance().requestProjectSyncAndSourceGeneration(project, null);
}
return;
}
notifyCMakePackageNotFound(project);
}
};
Runnable onError = () -> notifyCMakePackageNotFound(project);
sdkManager.load(DEFAULT_EXPIRATION_PERIOD_MS, null, ImmutableList.of(onComplete), ImmutableList.of(onError), progressRunner, new StudioDownloader(), StudioSettingsController.getInstance(), false);
}
use of com.android.repository.api.RepoManager.DEFAULT_EXPIRATION_PERIOD_MS in project android by JetBrains.
the class InstallNdkHyperlink method execute.
@Override
protected void execute(@NotNull Project project) {
File path = getNdkPath(project);
if (path != null) {
// Try to install SDK in local.properties.
SelectNdkDialog dialog = new SelectNdkDialog(path.getPath(), false, true);
dialog.setModal(true);
if (dialog.showAndGet() && setNdkPath(project, dialog.getAndroidNdkPath())) {
// Saving NDK path is successful.
GradleSyncInvoker.getInstance().requestProjectSyncAndSourceGeneration(project, null);
}
return;
}
// There is no path. Try installing from SDK.
AndroidSdkHandler sdkHandler = AndroidSdks.getInstance().tryToChooseSdkHandler();
StudioLoggerProgressIndicator progressIndicator = new StudioLoggerProgressIndicator(getClass());
RepoManager sdkManager = sdkHandler.getSdkManager(progressIndicator);
StudioProgressRunner progressRunner = new StudioProgressRunner(false, /* backgroundable */
false, /* cancellable */
"Loading Remote SDK", true, /* in UI thread */
project);
RepoManager.RepoLoadedCallback onComplete = packages -> {
Map<String, RemotePackage> remotePackages = packages.getRemotePackages();
RemotePackage ndkPackage = remotePackages.get(FD_NDK);
if (ndkPackage != null) {
ModelWizardDialog dialog = createDialogForPaths(project, ImmutableList.of(ndkPackage.getPath()));
if (dialog != null && dialog.showAndGet()) {
GradleSyncInvoker.getInstance().requestProjectSyncAndSourceGeneration(project, null);
}
return;
}
notifyNdkPackageNotFound(project);
};
Runnable onError = () -> notifyNdkPackageNotFound(project);
sdkManager.load(DEFAULT_EXPIRATION_PERIOD_MS, null, ImmutableList.of(onComplete), ImmutableList.of(onError), progressRunner, new StudioDownloader(), StudioSettingsController.getInstance(), false);
}
Aggregations