Skip to content

Commit 6b3b1ac

Browse files
committed
Made a lot of changes to port and subnet scanners
- Replaced ListViews with RecyclerViews - Created custom adapters for both scanners - Improved the list item design - Created a database of port service names and organization unique identifiers - Improved the file structure of Java classes
1 parent 5498e13 commit 6b3b1ac

40 files changed

+1018
-428
lines changed

app/build.gradle

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ android {
2121
applicationId "com.truemlgpro.wifiinfo"
2222
minSdkVersion 21
2323
targetSdkVersion 33
24-
versionCode 1600
25-
versionName "1.6"
24+
versionCode 1610
25+
versionName "1.6.1"
2626
}
2727
buildTypes {
2828
release {
@@ -75,6 +75,7 @@ dependencies {
7575

7676
implementation 'com.github.TrueMLGPro:AndroidNetworkTools:76b8feabb6' // Fork of a Kotlin rewrite of stealthcopter/AndroidNetworkTools
7777
implementation 'com.github.100rabhkr:TCWHOIS:master' // Minimum SDK version is 22, ignored in AndroidManifest.xml
78+
implementation 'com.readystatesoftware.sqliteasset:sqliteassethelper:+'
7879
implementation 'org.minidns:minidns-hla:1.0.4'
7980
implementation 'org.minidns:minidns-android21:1.0.4'
8081

app/src/main/AndroidManifest.xml

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
android:value="true" />
3131

3232
<activity
33-
android:name="com.truemlgpro.wifiinfo.MainActivity"
33+
android:name="com.truemlgpro.wifiinfo.ui.MainActivity"
3434
android:screenOrientation="unspecified"
3535
android:configChanges="orientation|screenSize|screenLayout|smallestScreenSize"
3636
android:theme="@style/SplashDark"
@@ -44,77 +44,77 @@
4444
</intent-filter>
4545
</activity>
4646
<activity
47-
android:name="com.truemlgpro.wifiinfo.SupportersActivity"
47+
android:name="com.truemlgpro.wifiinfo.ui.SupportersActivity"
4848
android:label="Supporters"
4949
android:screenOrientation="unspecified"
5050
android:configChanges="orientation|screenSize|screenLayout|smallestScreenSize"
51-
android:parentActivityName=".SettingsActivity">
51+
android:parentActivityName=".ui.SettingsActivity">
5252
</activity>
5353
<activity
54-
android:name="com.truemlgpro.wifiinfo.ToolsActivity"
54+
android:name="com.truemlgpro.wifiinfo.ui.ToolsActivity"
5555
android:label="Tools"
5656
android:screenOrientation="unspecified"
5757
android:configChanges="orientation|screenSize|screenLayout|smallestScreenSize"
58-
android:parentActivityName=".MainActivity">
58+
android:parentActivityName=".ui.MainActivity">
5959
</activity>
6060
<activity
61-
android:name="com.truemlgpro.wifiinfo.SettingsActivity"
61+
android:name="com.truemlgpro.wifiinfo.ui.SettingsActivity"
6262
android:label="Settings"
6363
android:screenOrientation="unspecified"
6464
android:configChanges="orientation|screenSize|screenLayout|smallestScreenSize"
65-
android:parentActivityName=".MainActivity">
65+
android:parentActivityName=".ui.MainActivity">
6666
<meta-data
6767
android:name="android.support.PARENT_ACTIVITY"
68-
android:value="com.truemlgpro.wifiinfo.MainActivity" />
68+
android:value="com.truemlgpro.wifiinfo.ui.MainActivity" />
6969
</activity>
7070
<activity
71-
android:name="com.truemlgpro.wifiinfo.CellularDataIPActivity"
71+
android:name="com.truemlgpro.wifiinfo.ui.CellularDataIPActivity"
7272
android:label="Cellular Data IP"
7373
android:screenOrientation="unspecified"
7474
android:configChanges="orientation|screenSize|screenLayout|smallestScreenSize"
75-
android:parentActivityName=".ToolsActivity">
75+
android:parentActivityName=".ui.ToolsActivity">
7676
</activity>
7777
<activity
78-
android:name="com.truemlgpro.wifiinfo.RouterSetupActivity"
78+
android:name="com.truemlgpro.wifiinfo.ui.RouterSetupActivity"
7979
android:label="Router Setup"
8080
android:screenOrientation="unspecified"
8181
android:configChanges="orientation|screenSize|screenLayout|smallestScreenSize"
82-
android:parentActivityName=".ToolsActivity">
82+
android:parentActivityName=".ui.ToolsActivity">
8383
</activity>
8484
<activity
85-
android:name="com.truemlgpro.wifiinfo.PingToolActivity"
85+
android:name="com.truemlgpro.wifiinfo.ui.PingToolActivity"
8686
android:label="Ping Tool"
8787
android:screenOrientation="unspecified"
8888
android:configChanges="orientation|screenSize|screenLayout|smallestScreenSize"
89-
android:parentActivityName=".ToolsActivity">
89+
android:parentActivityName=".ui.ToolsActivity">
9090
</activity>
9191
<activity
92-
android:name="com.truemlgpro.wifiinfo.SubnetScannerActivity"
92+
android:name="com.truemlgpro.wifiinfo.ui.SubnetScannerActivity"
9393
android:label="Subnet Scanner"
9494
android:screenOrientation="unspecified"
9595
android:configChanges="orientation|screenSize|screenLayout|smallestScreenSize"
96-
android:parentActivityName=".ToolsActivity">
96+
android:parentActivityName=".ui.ToolsActivity">
9797
</activity>
9898
<activity
99-
android:name="com.truemlgpro.wifiinfo.PortScannerActivity"
99+
android:name="com.truemlgpro.wifiinfo.ui.PortScannerActivity"
100100
android:label="Port Scanner"
101101
android:screenOrientation="unspecified"
102102
android:configChanges="orientation|screenSize|screenLayout|smallestScreenSize"
103-
android:parentActivityName=".ToolsActivity">
103+
android:parentActivityName=".ui.ToolsActivity">
104104
</activity>
105105
<activity
106-
android:name="com.truemlgpro.wifiinfo.WhoIsToolActivity"
106+
android:name="com.truemlgpro.wifiinfo.ui.WhoIsToolActivity"
107107
android:label="Whois Tool"
108108
android:screenOrientation="unspecified"
109109
android:configChanges="orientation|screenSize|screenLayout|smallestScreenSize"
110-
android:parentActivityName=".ToolsActivity">
110+
android:parentActivityName=".ui.ToolsActivity">
111111
</activity>
112112
<activity
113-
android:name="com.truemlgpro.wifiinfo.DNSLookupActivity"
113+
android:name="com.truemlgpro.wifiinfo.ui.DNSLookupActivity"
114114
android:label="DNS Lookup"
115115
android:screenOrientation="unspecified"
116116
android:configChanges="orientation|screenSize|screenLayout|smallestScreenSize"
117-
android:parentActivityName=".ToolsActivity">
117+
android:parentActivityName=".ui.ToolsActivity">
118118
</activity>
119119

120120
<service
@@ -127,17 +127,17 @@
127127
</service>
128128

129129
<service
130-
android:name=".ConnectionStateService"
130+
android:name=".services.ConnectionStateService"
131131
android:enabled="true">
132132
</service>
133133

134134
<service
135-
android:name=".NotificationService"
135+
android:name=".services.NotificationService"
136136
android:enabled="true">
137137
</service>
138138

139139
<service
140-
android:name=".QSTileService"
140+
android:name=".services.QSTileService"
141141
android:label="IP Address"
142142
android:icon="@drawable/wifi_24px"
143143
android:permission="android.permission.BIND_QUICK_SETTINGS_TILE"
@@ -147,14 +147,14 @@
147147
</intent-filter>
148148
</service>
149149

150-
<receiver android:name=".BootReceiver"
150+
<receiver android:name=".receivers.BootReceiver"
151151
android:exported="true">
152152
<intent-filter>
153153
<action android:name="android.intent.action.BOOT_COMPLETED" />
154154
</intent-filter>
155155
</receiver>
156156

157-
<receiver android:name=".ActionButtonReceiver"
157+
<receiver android:name=".receivers.ActionButtonReceiver"
158158
android:exported="false">
159159
<intent-filter>
160160
<action android:name="ACTION_STOP" />
1.48 MB
Binary file not shown.

app/src/main/assets/databases/oui.db

1.21 MB
Binary file not shown.

app/src/main/java/com/truemlgpro/wifiinfo/SubnetDevice.java

Lines changed: 0 additions & 25 deletions
This file was deleted.

app/src/main/java/com/truemlgpro/wifiinfo/SubnetScannerAdapter.java

Lines changed: 0 additions & 58 deletions
This file was deleted.
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
package com.truemlgpro.wifiinfo.adapters;
2+
3+
import android.view.LayoutInflater;
4+
import android.view.View;
5+
import android.view.ViewGroup;
6+
import android.widget.TextView;
7+
8+
import androidx.annotation.NonNull;
9+
import androidx.recyclerview.widget.RecyclerView;
10+
11+
import com.truemlgpro.wifiinfo.R;
12+
import com.truemlgpro.wifiinfo.models.DiscoveredPort;
13+
14+
import java.util.ArrayList;
15+
16+
public class PortScannerAdapter extends RecyclerView.Adapter<PortScannerAdapter.ViewHolder> {
17+
private final ArrayList<DiscoveredPort> discoveredPortsArrayList;
18+
19+
public PortScannerAdapter(ArrayList<DiscoveredPort> discoveredPortsArrayList) {
20+
this.discoveredPortsArrayList = discoveredPortsArrayList;
21+
}
22+
23+
public static class ViewHolder extends RecyclerView.ViewHolder {
24+
public TextView textview_open_port;
25+
public TextView textview_port_service_name;
26+
public TextView textview_port_service_desc;
27+
public TextView textview_port_service_protocol;
28+
29+
public ViewHolder(View itemView) {
30+
super(itemView);
31+
textview_open_port = itemView.findViewById(R.id.port_scanner_item_open_port);
32+
textview_port_service_name = itemView.findViewById(R.id.port_scanner_item_port_service_name);
33+
textview_port_service_desc = itemView.findViewById(R.id.port_scanner_item_port_service_desc);
34+
textview_port_service_protocol = itemView.findViewById(R.id.port_scanner_item_port_service_protocol);
35+
}
36+
}
37+
38+
@NonNull
39+
@Override
40+
public PortScannerAdapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
41+
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.port_scanner_recycler_item, parent, false);
42+
return new PortScannerAdapter.ViewHolder(view);
43+
}
44+
45+
@Override
46+
public void onBindViewHolder(@NonNull PortScannerAdapter.ViewHolder holder, int position) {
47+
DiscoveredPort discoveredPort = discoveredPortsArrayList.get(position);
48+
holder.textview_open_port.setText(discoveredPort.getOpenPort());
49+
holder.textview_port_service_name.setText(discoveredPort.getPortServiceName());
50+
holder.textview_port_service_desc.setText(discoveredPort.getPortServiceDescription());
51+
holder.textview_port_service_protocol.setText(discoveredPort.getPortServiceProtocol());
52+
}
53+
54+
@Override
55+
public int getItemCount() {
56+
return discoveredPortsArrayList.size();
57+
}
58+
59+
public void clear() {
60+
int size = discoveredPortsArrayList.size();
61+
discoveredPortsArrayList.clear();
62+
notifyItemRangeRemoved(0, size);
63+
}
64+
}

0 commit comments

Comments
 (0)