Skip to content

Commit 7651545

Browse files
Add link to PortAuthority Lan/Port scanner
1 parent ca7adfd commit 7651545

File tree

9 files changed

+112
-6
lines changed

9 files changed

+112
-6
lines changed

app/build.properties

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#Build Properties
2-
#Sat Aug 24 16:38:39 EDT 2019
2+
#Fri Aug 30 07:25:30 EDT 2019
33
version_minor=0
4-
version_build=18
4+
version_build=19
55
version_patch=7
6-
version_store=48
76
version_major=2
7+
version_store=48

app/src/main/java/com/vrem/wifianalyzer/navigation/NavigationGroup.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727

2828
public enum NavigationGroup {
2929
GROUP_FEATURE(NavigationMenu.ACCESS_POINTS, NavigationMenu.CHANNEL_RATING, NavigationMenu.CHANNEL_GRAPH, NavigationMenu.TIME_GRAPH),
30-
GROUP_OTHER(NavigationMenu.EXPORT, NavigationMenu.CHANNEL_AVAILABLE, NavigationMenu.VENDORS),
30+
GROUP_OTHER(NavigationMenu.EXPORT, NavigationMenu.CHANNEL_AVAILABLE, NavigationMenu.VENDORS, NavigationMenu.PORT_AUTHORITY),
3131
GROUP_SETTINGS(NavigationMenu.SETTINGS, NavigationMenu.ABOUT);
3232

3333
private final List<NavigationMenu> navigationMenus;

app/src/main/java/com/vrem/wifianalyzer/navigation/NavigationMenu.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ public enum NavigationMenu {
4242
EXPORT(R.drawable.ic_import_export, R.string.action_export, NavigationItemFactory.EXPORT),
4343
CHANNEL_AVAILABLE(R.drawable.ic_location_on, R.string.action_channel_available, NavigationItemFactory.CHANNEL_AVAILABLE),
4444
VENDORS(R.drawable.ic_list_grey, R.string.action_vendors, NavigationItemFactory.VENDORS),
45+
PORT_AUTHORITY(R.drawable.ic_lan, R.string.action_port_authority, NavigationItemFactory.PORT_AUTHORITY),
4546
SETTINGS(R.drawable.ic_settings, R.string.action_settings, NavigationItemFactory.SETTINGS),
4647
ABOUT(R.drawable.ic_info_outline, R.string.action_about, NavigationItemFactory.ABOUT);
4748

app/src/main/java/com/vrem/wifianalyzer/navigation/items/NavigationItemFactory.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ public class NavigationItemFactory {
3939
public static final NavigationItem VENDORS = new FragmentItem(new VendorFragment(), false, View.GONE);
4040
public static final NavigationItem SETTINGS = new FragmentItem(new SettingsFragment(), false, View.GONE);
4141
public static final NavigationItem ABOUT = new FragmentItem(new AboutFragment(), false, View.GONE);
42+
public static final NavigationItem PORT_AUTHORITY = new PortAuthorityItem();
4243

4344
private NavigationItemFactory() {
4445
throw new IllegalStateException("Factory class");
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
/*
2+
* WiFiAnalyzer
3+
* Copyright (C) 2019 VREM Software Development <[email protected]>
4+
*
5+
* This program is free software: you can redistribute it and/or modify
6+
* it under the terms of the GNU General Public License as published by
7+
* the Free Software Foundation, either version 3 of the License, or
8+
* (at your option) any later version.
9+
*
10+
* This program is distributed in the hope that it will be useful,
11+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13+
* GNU General Public License for more details.
14+
*
15+
* You should have received a copy of the GNU General Public License
16+
* along with this program. If not, see <http://www.gnu.org/licenses/>
17+
*/
18+
19+
package com.vrem.wifianalyzer.navigation.items;
20+
21+
import android.content.Context;
22+
import android.content.Intent;
23+
import android.content.pm.PackageManager;
24+
import android.net.Uri;
25+
import android.view.MenuItem;
26+
import android.view.View;
27+
28+
import com.vrem.wifianalyzer.MainActivity;
29+
import com.vrem.wifianalyzer.navigation.NavigationMenu;
30+
31+
import androidx.annotation.NonNull;
32+
33+
class PortAuthorityItem implements NavigationItem {
34+
private static final String PORT_AUTHORITY = "com.aaronjwood.portauthority.";
35+
private static final String PORT_AUTHORITY_FREE = PORT_AUTHORITY + "free";
36+
private static final String PORT_AUTHORITY_DONATE = PORT_AUTHORITY + "donate";
37+
38+
@Override
39+
public void activate(@NonNull MainActivity mainActivity, @NonNull MenuItem menuItem, @NonNull NavigationMenu navigationMenu) {
40+
Context context = mainActivity.getApplicationContext();
41+
PackageManager packageManager = context.getPackageManager();
42+
Intent intent = packageManager.getLaunchIntentForPackage(PORT_AUTHORITY_DONATE);
43+
if (intent == null) {
44+
intent = packageManager.getLaunchIntentForPackage(PORT_AUTHORITY_FREE);
45+
if (intent == null) {
46+
intent = redirectToPlayStore();
47+
}
48+
}
49+
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
50+
context.startActivity(intent);
51+
}
52+
53+
@Override
54+
public boolean isRegistered() {
55+
return false;
56+
}
57+
58+
@Override
59+
public int getVisibility() {
60+
return View.GONE;
61+
}
62+
63+
private Intent redirectToPlayStore() {
64+
Intent intent = new Intent(Intent.ACTION_VIEW);
65+
intent.setData(Uri.parse("market://details?id=" + PORT_AUTHORITY_FREE));
66+
return intent;
67+
}
68+
69+
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
<!--
2+
~ WiFiAnalyzer
3+
~ Copyright (C) 2019 VREM Software Development <[email protected]>
4+
~
5+
~ This program is free software: you can redistribute it and/or modify
6+
~ it under the terms of the GNU General Public License as published by
7+
~ the Free Software Foundation, either version 3 of the License, or
8+
~ (at your option) any later version.
9+
~
10+
~ This program is distributed in the hope that it will be useful,
11+
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
12+
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13+
~ GNU General Public License for more details.
14+
~
15+
~ You should have received a copy of the GNU General Public License
16+
~ along with this program. If not, see <http://www.gnu.org/licenses/>
17+
-->
18+
19+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
20+
android:width="24dp"
21+
android:height="24dp"
22+
android:viewportWidth="24"
23+
android:viewportHeight="24">
24+
<path
25+
android:fillColor="#9E9E9E"
26+
android:pathData="M10,2C8.89,2 8,2.89 8,4V7C8,8.11 8.89,9 10,9H11V11H2V13H6V15H5C3.89,15 3,15.89 3,17V20C3,21.11 3.89,22 5,22H9C10.11,22 11,21.11 11,20V17C11,15.89 10.11,15 9,15H8V13H16V15H15C13.89,15 13,15.89 13,17V20C13,21.11 13.89,22 15,22H19C20.11,22 21,21.11 21,20V17C21,15.89 20.11,15 19,15H18V13H22V11H13V9H14C15.11,9 16,8.11 16,7V4C16,2.89 15.11,2 14,2H10M10,4H14V7H10V4M5,17H9V20H5V17M15,17H19V20H15V17Z" />
27+
</vector>

app/src/main/res/values/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
<string name="action_vendors">"Vendors"</string>
4343
<string name="action_settings">"Settings"</string>
4444
<string name="action_about">"About"</string>
45+
<string name="action_port_authority" translatable="false">"PortAuthority"</string>
4546
<!-- action end -->
4647

4748
<string name="no_data">"No Data"</string>

app/src/test/java/com/vrem/wifianalyzer/navigation/NavigationGroupTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,8 @@ public void testGetNavigationMenus() {
5252
assertArrayEquals(new NavigationMenu[]{
5353
NavigationMenu.EXPORT,
5454
NavigationMenu.CHANNEL_AVAILABLE,
55-
NavigationMenu.VENDORS
55+
NavigationMenu.VENDORS,
56+
NavigationMenu.PORT_AUTHORITY
5657
},
5758
NavigationGroup.GROUP_OTHER.getNavigationMenus().toArray());
5859
assertArrayEquals(new NavigationMenu[]{

app/src/test/java/com/vrem/wifianalyzer/navigation/NavigationMenuTest.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public class NavigationMenuTest {
3232

3333
@Test
3434
public void testNavigationMenu() {
35-
assertEquals(9, NavigationMenu.values().length);
35+
assertEquals(10, NavigationMenu.values().length);
3636
}
3737

3838
@Test
@@ -46,6 +46,7 @@ public void testGetNavigationItem() {
4646
assertEquals(NavigationItemFactory.EXPORT, NavigationMenu.EXPORT.getNavigationItem());
4747
assertEquals(NavigationItemFactory.SETTINGS, NavigationMenu.SETTINGS.getNavigationItem());
4848
assertEquals(NavigationItemFactory.ABOUT, NavigationMenu.ABOUT.getNavigationItem());
49+
assertEquals(NavigationItemFactory.PORT_AUTHORITY, NavigationMenu.PORT_AUTHORITY.getNavigationItem());
4950
}
5051

5152
@Test
@@ -59,6 +60,7 @@ public void testGetTitle() {
5960
assertEquals(R.string.action_vendors, NavigationMenu.VENDORS.getTitle());
6061
assertEquals(R.string.action_settings, NavigationMenu.SETTINGS.getTitle());
6162
assertEquals(R.string.action_about, NavigationMenu.ABOUT.getTitle());
63+
assertEquals(R.string.action_port_authority, NavigationMenu.PORT_AUTHORITY.getTitle());
6264
}
6365

6466
@Test
@@ -76,6 +78,7 @@ public void testIsWiFiBandSwitchableFalse() {
7678
assertFalse(NavigationMenu.VENDORS.isWiFiBandSwitchable());
7779
assertFalse(NavigationMenu.SETTINGS.isWiFiBandSwitchable());
7880
assertFalse(NavigationMenu.ABOUT.isWiFiBandSwitchable());
81+
assertFalse(NavigationMenu.PORT_AUTHORITY.isWiFiBandSwitchable());
7982
}
8083

8184
@Test
@@ -93,6 +96,7 @@ public void testIsRegisteredFalse() {
9396
assertFalse(NavigationMenu.VENDORS.isRegistered());
9497
assertFalse(NavigationMenu.SETTINGS.isRegistered());
9598
assertFalse(NavigationMenu.ABOUT.isRegistered());
99+
assertFalse(NavigationMenu.PORT_AUTHORITY.isRegistered());
96100
}
97101

98102
@Test
@@ -106,6 +110,7 @@ public void testGetIcon() {
106110
assertEquals(R.drawable.ic_list_grey, NavigationMenu.VENDORS.getIcon());
107111
assertEquals(R.drawable.ic_settings, NavigationMenu.SETTINGS.getIcon());
108112
assertEquals(R.drawable.ic_info_outline, NavigationMenu.ABOUT.getIcon());
113+
assertEquals(R.drawable.ic_lan, NavigationMenu.PORT_AUTHORITY.getIcon());
109114
}
110115

111116
@Test
@@ -120,5 +125,6 @@ public void testGetNavigationOptions() {
120125
assertEquals(NavigationOptionFactory.OFF, NavigationMenu.EXPORT.getNavigationOptions());
121126
assertEquals(NavigationOptionFactory.OFF, NavigationMenu.SETTINGS.getNavigationOptions());
122127
assertEquals(NavigationOptionFactory.OFF, NavigationMenu.ABOUT.getNavigationOptions());
128+
assertEquals(NavigationOptionFactory.OFF, NavigationMenu.PORT_AUTHORITY.getNavigationOptions());
123129
}
124130
}

0 commit comments

Comments
 (0)