@@ -84,7 +84,8 @@ public class SDKDownloader extends JDialog implements PropertyChangeListener {
84
84
private boolean cancelled ;
85
85
private boolean goBack ;
86
86
87
- private int totalSize = 0 ;
87
+ private int totalSize = 0 ;
88
+ private File sdkFolder ;
88
89
89
90
class SDKUrlHolder {
90
91
public String platformToolsVersion , buildToolsVersion ,platformVersion ,toolsVersion ,emulatorVersion ;
@@ -118,7 +119,7 @@ protected Object doInBackground() throws Exception {
118
119
File androidFolder = new File (sketchbookFolder , "android" );
119
120
if (!androidFolder .exists ()) androidFolder .mkdir ();
120
121
121
- File sdkFolder = AndroidUtil .createSubFolder (androidFolder , "sdk" );
122
+ sdkFolder = AndroidUtil .createSubFolder (androidFolder , "sdk" );
122
123
123
124
// creating sdk folders
124
125
File platformsFolder = new File (sdkFolder , "platforms" );
@@ -688,6 +689,17 @@ private void addPackage(GridBagConstraints gc, int gridy, JPanel packagesPanel,
688
689
packagesPanel .add (versionLabel ,gc );
689
690
}
690
691
692
+ private void deleteFolder (File folder ) { //recursively delete a complete directory with files and folders.
693
+ for (File f : folder .listFiles ()) {
694
+ if (f .isDirectory ()) {
695
+ deleteFolder (f );
696
+ f .delete ();
697
+ }
698
+ else f .delete ();
699
+ }
700
+ folder .delete ();
701
+ }
702
+
691
703
private void createInitLayout (SDKUrlHolder downloadUrls ) {
692
704
goBack = false ;
693
705
Container outer = getContentPane ();
@@ -867,6 +879,7 @@ private void createLayout() {
867
879
public void actionPerformed (ActionEvent e ) {
868
880
if (downloadTask != null ) {
869
881
downloadTask .cancel (true );
882
+ deleteFolder (sdkFolder );
870
883
}
871
884
setVisible (false );
872
885
cancelled = true ;
0 commit comments