3232import cc .arduino .Constants ;
3333import cc .arduino .contributions .DownloadableContribution ;
3434import cc .arduino .contributions .DownloadableContributionsDownloader ;
35+ import cc .arduino .contributions .ProgressListener ;
3536import cc .arduino .contributions .SignatureVerifier ;
3637import cc .arduino .filters .FileExecutablePredicate ;
3738import cc .arduino .utils .ArchiveExtractor ;
@@ -64,16 +65,23 @@ public class ContributionInstaller {
6465 private final DownloadableContributionsDownloader downloader ;
6566 private final Platform platform ;
6667 private final SignatureVerifier signatureVerifier ;
68+ private final ProgressListener progressListener ;
6769
6870 public ContributionInstaller (ContributionsIndexer contributionsIndexer , Platform platform , SignatureVerifier signatureVerifier ) {
71+ this (contributionsIndexer , platform , signatureVerifier , progress -> {
72+ });
73+ }
74+
75+ public ContributionInstaller (ContributionsIndexer contributionsIndexer , Platform platform , SignatureVerifier signatureVerifier , ProgressListener progressListener ) {
6976 this .platform = platform ;
7077 this .signatureVerifier = signatureVerifier ;
78+ this .progressListener = progressListener ;
7179 File stagingFolder = contributionsIndexer .getStagingFolder ();
7280 indexer = contributionsIndexer ;
7381 downloader = new DownloadableContributionsDownloader (stagingFolder ) {
7482 @ Override
7583 protected void onProgress (Progress progress ) {
76- ContributionInstaller . this .onProgress (progress );
84+ progressListener .onProgress (progress );
7785 }
7886 };
7987 }
@@ -132,7 +140,7 @@ public List<String> install(ContributedPlatform contributedPlatform) throws Exce
132140 int i = 1 ;
133141 for (ContributedTool tool : tools ) {
134142 progress .setStatus (format (tr ("Installing tools ({0}/{1})..." ), i , tools .size ()));
135- onProgress (progress );
143+ progressListener . onProgress (progress );
136144 i ++;
137145 DownloadableContribution toolContrib = tool .getDownloadableContribution (platform );
138146 File destFolder = new File (toolsFolder , tool .getName () + File .separator + tool .getVersion ());
@@ -152,7 +160,7 @@ public List<String> install(ContributedPlatform contributedPlatform) throws Exce
152160
153161 // Unpack platform on the correct location
154162 progress .setStatus (tr ("Installing boards..." ));
155- onProgress (progress );
163+ progressListener . onProgress (progress );
156164 File platformFolder = new File (packageFolder , "hardware" + File .separator + contributedPlatform .getArchitecture ());
157165 File destFolder = new File (platformFolder , contributedPlatform .getParsedVersion ());
158166 Files .createDirectories (destFolder .toPath ());
@@ -168,7 +176,7 @@ public List<String> install(ContributedPlatform contributedPlatform) throws Exce
168176 progress .stepDone ();
169177
170178 progress .setStatus (tr ("Installation completed!" ));
171- onProgress (progress );
179+ progressListener . onProgress (progress );
172180
173181 return errors ;
174182 }
@@ -328,10 +336,6 @@ private File download(MultiStepProgress progress, String packageIndexUrl) throws
328336 return outputFile ;
329337 }
330338
331- protected void onProgress (Progress progress ) {
332- // Empty
333- }
334-
335339 public void deleteUnknownFiles (List <String > downloadedPackageIndexFiles ) throws IOException {
336340 File preferencesFolder = indexer .getIndexFile ("." ).getParentFile ();
337341 File [] additionalPackageIndexFiles = preferencesFolder .listFiles (new PackageIndexFilenameFilter (Constants .DEFAULT_INDEX_FILE_NAME ));
0 commit comments