Skip to content

Commit 42e6aca

Browse files
[Fix]Check internet
1 parent 0f4980d commit 42e6aca

File tree

1 file changed

+33
-8
lines changed

1 file changed

+33
-8
lines changed

mode/tools/SDKUpdater/src/processing/mode/android/tools/SDKUpdater.java

Lines changed: 33 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,8 @@
5050
import java.beans.PropertyChangeEvent;
5151
import java.beans.PropertyChangeListener;
5252
import java.io.File;
53+
import java.net.URL;
54+
import java.net.URLConnection;
5355
import java.util.*;
5456
import java.util.List;
5557
import java.util.concurrent.CancellationException;
@@ -71,6 +73,9 @@ public class SDKUpdater extends JFrame implements PropertyChangeListener, Tool {
7173
private final Vector<String> columns_platforms = new Vector<>(Arrays.asList("Select","Platform",
7274
"Revision","Status"));
7375
private static final String PROPERTY_CHANGE_QUERY = "query";
76+
private final String errorTitle = "Internet connection not available";
77+
private final String errorMessage = "SDK Updater needs internet connection." +
78+
" Check your internet connection and restart the SDK Updater.";
7479

7580
private File sdkFolder;
7681

@@ -103,17 +108,22 @@ public void init(Base base) {
103108
createLayout(base.getActiveEditor() == null);
104109
}
105110

111+
106112

107113
@Override
108114
public void run() {
109115
setVisible(true);
110116
String path = Preferences.get("android.sdk.path");
111-
sdkFolder = new File(path);
112-
queryTask = new QueryTask();
113-
queryTask.addPropertyChangeListener(this);
114-
queryTask.execute();
115-
status.setText("Querying packages...");
116-
statusPlatform.setText("Querying packages... ");
117+
sdkFolder = new File(path);
118+
119+
//start by checking internet connection:
120+
if(checkConnectivity()) {
121+
queryTask = new QueryTask();
122+
queryTask.addPropertyChangeListener(this);
123+
queryTask.execute();
124+
status.setText("Querying packages...");
125+
statusPlatform.setText("Querying packages... ");
126+
}
117127
}
118128

119129

@@ -166,7 +176,7 @@ protected Object doInBackground() throws Exception {
166176
with some changes
167177
*/
168178
AndroidSdkHandler mHandler = AndroidSdkHandler.getInstance(sdkFolder);
169-
179+
170180
FileSystemFileOp fop = (FileSystemFileOp) FileOpUtils.create();
171181
RepoManager mRepoManager = mHandler.getSdkManager(progress);
172182
mRepoManager.loadSynchronously(0, progress, new LegacyDownloader(fop, new SettingsController() {
@@ -224,7 +234,7 @@ public Channel getChannel() {
224234
for (UpdatablePackage update : packages.getUpdatedPkgs()) {
225235
String path = update.getPath();
226236
String loc = update.getLocal().getVersion().toString();
227-
String rem = update.getRemote().getVersion().toString();
237+
String rem = update.getRemote().getVersion().toString();
228238
updated.put(path, Arrays.asList(loc, rem));
229239
}
230240

@@ -466,6 +476,21 @@ public java.util.List<String> getPaths(RepoManager mgr,Boolean isPlatform) {
466476
}
467477
}
468478

479+
private Boolean checkConnectivity() {
480+
URL url = null;
481+
try {
482+
url = new URL("https://dl.google.com");
483+
URLConnection connection = url.openConnection();
484+
connection.connect();
485+
} catch (Exception e) {
486+
Messages.showWarning(errorTitle,errorMessage);
487+
this.setVisible(false);
488+
this.dispose();
489+
return false;
490+
}
491+
return true;
492+
}
493+
469494
private void startProgressThread(final JProgressBar bar){
470495
Thread update = new Thread() {
471496
@Override

0 commit comments

Comments
 (0)