@@ -78,7 +78,7 @@ public class SDKDownloader extends JDialog implements PropertyChangeListener {
78
78
private JLabel downloadedTextArea ;
79
79
80
80
private SDKDownloadTask downloadTask ;
81
-
81
+
82
82
private Frame editor ;
83
83
private AndroidSDK sdk ;
84
84
private boolean cancelled ;
@@ -380,6 +380,43 @@ private void getMainDownloadUrls(SDKUrlHolder urlHolder,
380
380
}
381
381
}
382
382
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
+
383
420
private void getExtrasDownloadUrls (SDKUrlHolder urlHolder ,
384
421
String repositoryUrl , String requiredHostOs )
385
422
throws ParserConfigurationException , IOException , SAXException , XPathException {
@@ -600,25 +637,14 @@ public SDKDownloader(Frame editor) {
600
637
super (editor , AndroidMode .getTextString ("sdk_downloader.download_title" ), true );
601
638
this .editor = editor ;
602
639
this .sdk = null ;
603
- downloadTask = new SDKDownloadTask ();
604
640
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 );
622
648
setAlwaysOnTop (true );
623
649
setVisible (true );
624
650
}
0 commit comments