Skip to content

Commit 658ca47

Browse files
committed
Simplify connection checks for both wireless and wired connections
1 parent ba1e6da commit 658ca47

File tree

5 files changed

+31
-61
lines changed

5 files changed

+31
-61
lines changed

app/src/main/java/com/aaronjwood/portauthority/activity/HostActivity.java

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import android.app.Dialog;
44
import android.app.ProgressDialog;
5+
import android.content.Context;
56
import android.content.Intent;
67
import android.content.pm.PackageManager;
78
import android.net.Uri;
@@ -24,6 +25,9 @@
2425
import com.aaronjwood.portauthority.db.Database;
2526
import com.aaronjwood.portauthority.listener.ScanPortsListener;
2627
import com.aaronjwood.portauthority.network.Host;
28+
import com.aaronjwood.portauthority.network.Network;
29+
import com.aaronjwood.portauthority.network.Wired;
30+
import com.aaronjwood.portauthority.network.Wireless;
2731
import com.aaronjwood.portauthority.response.HostAsyncResponse;
2832
import com.aaronjwood.portauthority.utils.Constants;
2933
import com.aaronjwood.portauthority.utils.Errors;
@@ -37,6 +41,8 @@
3741

3842
public abstract class HostActivity extends AppCompatActivity implements HostAsyncResponse {
3943

44+
protected Wireless wifi;
45+
protected Wired wired;
4046
protected int layout;
4147
protected ArrayAdapter<String> adapter;
4248
protected ListView portList;
@@ -56,7 +62,10 @@ protected void onCreate(Bundle savedInstanceState) {
5662
super.onCreate(savedInstanceState);
5763
setContentView(layout);
5864

59-
db = Database.getInstance(getApplicationContext());
65+
Context ctx = getApplicationContext();
66+
db = Database.getInstance(ctx);
67+
wifi = new Wireless(ctx);
68+
wired = new Wired(ctx);
6069
handler = new Handler(Looper.getMainLooper());
6170

6271
setupPortsAdapter();
@@ -342,4 +351,17 @@ public void run() {
342351
}
343352
});
344353
}
354+
355+
/**
356+
* Determines if there is an active network connection.
357+
*
358+
* @return True if there's a connection, otherwise false.
359+
*/
360+
protected boolean isConnected() {
361+
try {
362+
return wifi.isConnected() || wired.isConnected();
363+
} catch (Network.NoConnectivityManagerException e) {
364+
return false;
365+
}
366+
}
345367
}

app/src/main/java/com/aaronjwood/portauthority/activity/LanHostActivity.java

Lines changed: 7 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,13 @@
1212
import com.aaronjwood.portauthority.R;
1313
import com.aaronjwood.portauthority.listener.ScanPortsListener;
1414
import com.aaronjwood.portauthority.network.Host;
15-
import com.aaronjwood.portauthority.network.Wireless;
1615
import com.aaronjwood.portauthority.utils.Constants;
1716
import com.aaronjwood.portauthority.utils.Errors;
1817
import com.aaronjwood.portauthority.utils.UserPreference;
1918

19+
import java.util.Objects;
20+
2021
public final class LanHostActivity extends HostActivity {
21-
private Wireless wifi;
2222
private Host host;
2323

2424
/**
@@ -40,13 +40,9 @@ protected void onCreate(Bundle savedInstanceState) {
4040
return;
4141
}
4242

43-
wifi = new Wireless(getApplicationContext());
4443
host = (Host) extras.get("HOST");
45-
if (host == null) {
46-
return;
47-
}
4844

49-
hostMacVendor.setText(host.getVendor());
45+
hostMacVendor.setText(Objects.requireNonNull(host).getVendor());
5046
hostName.setText(host.getHostname());
5147
hostMac.setText(host.getMac());
5248
ipAddress.setText(host.getIp());
@@ -92,13 +88,7 @@ private void scanWellKnownPortsClick() {
9288
@Override
9389
public void onClick(View v) {
9490
super.onClick(v);
95-
96-
try {
97-
if (!wifi.isConnected()) {
98-
Errors.showError(getApplicationContext(), getResources().getString(R.string.notConnectedLan));
99-
return;
100-
}
101-
} catch (Wireless.NoConnectivityManagerException e) {
91+
if (!isConnected()) {
10292
Errors.showError(getApplicationContext(), getResources().getString(R.string.notConnectedLan));
10393
return;
10494
}
@@ -131,12 +121,7 @@ private void scanPortRangeClick() {
131121
*/
132122
@Override
133123
public void onClick(View v) {
134-
try {
135-
if (!wifi.isConnected()) {
136-
Errors.showError(getApplicationContext(), getResources().getString(R.string.notConnectedLan));
137-
return;
138-
}
139-
} catch (Wireless.NoConnectivityManagerException e) {
124+
if (!isConnected()) {
140125
Errors.showError(getApplicationContext(), getResources().getString(R.string.notConnectedLan));
141126
return;
142127
}
@@ -173,12 +158,7 @@ private void setupWol() {
173158

174159
@Override
175160
public void onClick(View v) {
176-
try {
177-
if (!wifi.isConnected()) {
178-
Errors.showError(getApplicationContext(), getResources().getString(R.string.notConnectedLan));
179-
return;
180-
}
181-
} catch (Wireless.NoConnectivityManagerException e) {
161+
if (!isConnected()) {
182162
Errors.showError(getApplicationContext(), getResources().getString(R.string.notConnectedLan));
183163
return;
184164
}
@@ -209,6 +189,7 @@ public void processFinish(boolean output) {
209189
if (output && scanProgressDialog != null && scanProgressDialog.isShowing()) {
210190
scanProgressDialog.dismiss();
211191
}
192+
212193
if (output && portRangeDialog != null && portRangeDialog.isShowing()) {
213194
portRangeDialog.dismiss();
214195
}

app/src/main/java/com/aaronjwood/portauthority/network/Network.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,10 @@ public class NoConnectivityManagerException extends Exception {
2020
*
2121
* @return Network information
2222
*/
23-
NetworkInfo getNetworkInfo() throws NoConnectivityManagerException {
23+
private NetworkInfo getNetworkInfo() throws NoConnectivityManagerException {
2424
return getConnectivityManager().getActiveNetworkInfo();
2525
}
2626

27-
NetworkInfo getNetworkInfo(int type) throws NoConnectivityManagerException {
28-
return getConnectivityManager().getNetworkInfo(type);
29-
}
30-
3127
/**
3228
* Gets the Android connectivity manager in the context of the current activity
3329
*
Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,11 @@
11
package com.aaronjwood.portauthority.network;
22

33
import android.content.Context;
4-
import android.net.ConnectivityManager;
5-
import android.net.NetworkInfo;
64

75
public class Wired extends Network {
86

97
public Wired(Context context) {
108
super(context);
119
}
1210

13-
/**
14-
* Checks if ethernet is connected.
15-
*
16-
* @return True if connected or in the process of connecting, false otherwise.
17-
* @throws NoConnectivityManagerException
18-
*/
19-
@Override
20-
public boolean isConnected() throws NoConnectivityManagerException {
21-
NetworkInfo info = getNetworkInfo(ConnectivityManager.TYPE_ETHERNET);
22-
return info != null && info.isConnectedOrConnecting();
23-
}
24-
2511
}

app/src/main/java/com/aaronjwood/portauthority/network/Wireless.java

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
package com.aaronjwood.portauthority.network;
22

33
import android.content.Context;
4-
import android.net.ConnectivityManager;
54
import android.net.DhcpInfo;
6-
import android.net.NetworkInfo;
75
import android.net.wifi.WifiInfo;
86
import android.net.wifi.WifiManager;
97

@@ -270,17 +268,4 @@ private WifiInfo getWifiInfo() throws NoWifiManagerException {
270268
return getWifiManager().getConnectionInfo();
271269
}
272270

273-
/**
274-
* Checks if WiFi is connected.
275-
*
276-
* @return True if connected or in the process of connecting, false otherwise.
277-
* @throws NoConnectivityManagerException
278-
*/
279-
@Override
280-
public boolean isConnected() throws NoConnectivityManagerException {
281-
NetworkInfo info = getNetworkInfo(ConnectivityManager.TYPE_WIFI);
282-
return info != null && info.isConnectedOrConnecting();
283-
}
284-
285-
286271
}

0 commit comments

Comments
 (0)