Skip to content

Commit 1e699ed

Browse files
[FIX] Send querying to background
1 parent 0b67fd6 commit 1e699ed

File tree

1 file changed

+45
-19
lines changed

1 file changed

+45
-19
lines changed

mode/src/processing/mode/android/SDKDownloader.java

Lines changed: 45 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ public class SDKDownloader extends JDialog implements PropertyChangeListener {
7878
private JLabel downloadedTextArea;
7979

8080
private SDKDownloadTask downloadTask;
81-
81+
8282
private Frame editor;
8383
private AndroidSDK sdk;
8484
private boolean cancelled;
@@ -380,6 +380,43 @@ private void getMainDownloadUrls(SDKUrlHolder urlHolder,
380380
}
381381
}
382382

383+
class QueryUrl extends SwingWorker<Object,Object>{
384+
SDKUrlHolder downloadUrls;
385+
386+
QueryUrl(SDKUrlHolder downloadUrls){
387+
this.downloadUrls = downloadUrls;
388+
}
389+
390+
391+
@Override
392+
protected Object doInBackground() throws Exception {
393+
downloadTask = new SDKDownloadTask();
394+
String repositoryUrl = REPOSITORY_URL + REPOSITORY_LIST;
395+
String addonUrl = REPOSITORY_URL + ADDON_LIST;
396+
String haxmUrl = HAXM_URL + ADDON_LIST;
397+
try {
398+
downloadTask.getMainDownloadUrls(downloadUrls, repositoryUrl, Platform.getName());
399+
getExtrasDownloadUrls(downloadUrls, addonUrl, Platform.getName());
400+
getHaxmDownloadUrl(downloadUrls, haxmUrl, Platform.getName());
401+
} catch (IOException e) {
402+
e.printStackTrace();
403+
} catch (XPathException e) {
404+
e.printStackTrace();
405+
} catch (ParserConfigurationException e) {
406+
e.printStackTrace();
407+
} catch (SAXException e) {
408+
e.printStackTrace();
409+
}
410+
return null;
411+
}
412+
413+
@Override
414+
protected void done() {
415+
super.done();
416+
createInitLayout(downloadUrls);
417+
}
418+
}
419+
383420
private void getExtrasDownloadUrls(SDKUrlHolder urlHolder,
384421
String repositoryUrl, String requiredHostOs)
385422
throws ParserConfigurationException, IOException, SAXException, XPathException {
@@ -600,25 +637,14 @@ public SDKDownloader(Frame editor) {
600637
super(editor, AndroidMode.getTextString("sdk_downloader.download_title"), true);
601638
this.editor = editor;
602639
this.sdk = null;
603-
downloadTask = new SDKDownloadTask();
604640
SDKUrlHolder downloadUrls = new SDKUrlHolder();
605-
String repositoryUrl = REPOSITORY_URL + REPOSITORY_LIST;
606-
String addonUrl = REPOSITORY_URL + ADDON_LIST;
607-
String haxmUrl = HAXM_URL + ADDON_LIST;
608-
try {
609-
downloadTask.getMainDownloadUrls(downloadUrls, repositoryUrl, Platform.getName());
610-
getExtrasDownloadUrls(downloadUrls, addonUrl, Platform.getName());
611-
getHaxmDownloadUrl(downloadUrls, haxmUrl, Platform.getName());
612-
} catch (IOException e) {
613-
e.printStackTrace();
614-
} catch (XPathException e) {
615-
e.printStackTrace();
616-
} catch (ParserConfigurationException e) {
617-
e.printStackTrace();
618-
} catch (SAXException e) {
619-
e.printStackTrace();
620-
}
621-
createInitLayout(downloadUrls);
641+
QueryUrl queryTask = new QueryUrl(downloadUrls);
642+
queryTask.execute();
643+
644+
//Base UX----------------------------------
645+
add(new JLabel("Querying...",SwingConstants.CENTER));
646+
setSize(150,100);
647+
setLocationRelativeTo(editor);
622648
setAlwaysOnTop(true);
623649
setVisible(true);
624650
}

0 commit comments

Comments
 (0)