Skip to content

Commit ca7adfd

Browse files
redirect to Location Setting when off
1 parent dd8add3 commit ca7adfd

File tree

6 files changed

+44
-9
lines changed

6 files changed

+44
-9
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 14:32:20 EDT 2019
2+
#Sat Aug 24 16:38:39 EDT 2019
33
version_minor=0
4-
version_build=17
4+
version_build=18
55
version_patch=7
6-
version_major=2
76
version_store=48
7+
version_major=2

app/src/main/java/com/vrem/wifianalyzer/ActivityUtils.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,9 @@
1818

1919
package com.vrem.wifianalyzer;
2020

21+
import android.annotation.TargetApi;
2122
import android.content.Intent;
23+
import android.os.Build;
2224
import android.view.View;
2325
import android.view.Window;
2426
import android.view.WindowManager;
@@ -30,6 +32,7 @@
3032
import androidx.appcompat.app.ActionBar;
3133
import androidx.appcompat.widget.Toolbar;
3234

35+
import static android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS;
3336
import static android.provider.Settings.Panel.ACTION_WIFI;
3437

3538
public class ActivityUtils {
@@ -70,12 +73,19 @@ static Toolbar setupToolbar() {
7073
return toolbar;
7174
}
7275

76+
@TargetApi(Build.VERSION_CODES.Q)
7377
public static void startWiFiSettings() {
7478
MainActivity mainActivity = MainContext.INSTANCE.getMainActivity();
7579
Intent intent = IntentUtils.makeIntent(ACTION_WIFI);
7680
mainActivity.startActivityForResult(intent, 0);
7781
}
7882

83+
static void startLocationSettings() {
84+
MainActivity mainActivity = MainContext.INSTANCE.getMainActivity();
85+
Intent intent = IntentUtils.makeIntent(ACTION_LOCATION_SOURCE_SETTINGS);
86+
mainActivity.startActivity(intent);
87+
}
88+
7989
static class WiFiBandToggle implements View.OnClickListener {
8090
private final MainActivity mainActivity;
8191

app/src/main/java/com/vrem/wifianalyzer/MainActivity.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,12 @@ protected void onPause() {
200200
@Override
201201
protected void onResume() {
202202
super.onResume();
203-
MainContext.INSTANCE.getScannerService().resume();
203+
if (permissionService.isPermissionGranted()) {
204+
if (!permissionService.isSystemEnabled()) {
205+
ActivityUtils.startLocationSettings();
206+
}
207+
MainContext.INSTANCE.getScannerService().resume();
208+
}
204209
updateActionBar();
205210
}
206211

@@ -279,4 +284,8 @@ void setNavigationMenuController(NavigationMenuController navigationMenuControll
279284
void setDrawerNavigation(DrawerNavigation drawerNavigation) {
280285
this.drawerNavigation = drawerNavigation;
281286
}
287+
288+
void setPermissionService(PermissionService permissionService) {
289+
this.permissionService = permissionService;
290+
}
282291
}

app/src/main/java/com/vrem/wifianalyzer/wifi/accesspoint/ConnectionView.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
import com.vrem.wifianalyzer.MainActivity;
2828
import com.vrem.wifianalyzer.MainContext;
2929
import com.vrem.wifianalyzer.R;
30-
import com.vrem.wifianalyzer.permission.PermissionService;
3130
import com.vrem.wifianalyzer.wifi.model.WiFiConnection;
3231
import com.vrem.wifianalyzer.wifi.model.WiFiData;
3332
import com.vrem.wifianalyzer.wifi.model.WiFiDetail;
@@ -73,8 +72,7 @@ private void displayNoData(@NonNull WiFiData wiFiData) {
7372
}
7473

7574
private int getNoLocationVisibility(int visibility) {
76-
PermissionService permissionService = mainActivity.getPermissionService();
77-
return permissionService.isEnabled() ? View.GONE : visibility;
75+
return mainActivity.getPermissionService().isEnabled() ? View.GONE : visibility;
7876
}
7977

8078
private boolean noData(@NonNull WiFiData wiFiData) {

app/src/test/java/com/vrem/wifianalyzer/ActivityUtilsTest.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,4 +181,17 @@ public void testStartWiFiSettings() {
181181
verifyStatic(IntentUtils.class);
182182
IntentUtils.makeIntent(android.provider.Settings.Panel.ACTION_WIFI);
183183
}
184+
185+
@Test
186+
public void testStartLocationSettings() {
187+
// setup
188+
when(IntentUtils.makeIntent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS)).thenReturn(intent);
189+
// execute
190+
ActivityUtils.startLocationSettings();
191+
// validate
192+
verify(mainActivity).startActivity(intent);
193+
verifyStatic(IntentUtils.class);
194+
IntentUtils.makeIntent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS);
195+
}
196+
184197
}

app/src/test/java/com/vrem/wifianalyzer/MainActivityTest.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import com.vrem.wifianalyzer.navigation.NavigationMenu;
2828
import com.vrem.wifianalyzer.navigation.NavigationMenuController;
2929
import com.vrem.wifianalyzer.navigation.options.OptionMenu;
30+
import com.vrem.wifianalyzer.permission.PermissionService;
3031
import com.vrem.wifianalyzer.settings.Settings;
3132
import com.vrem.wifianalyzer.wifi.scanner.ScannerService;
3233

@@ -43,9 +44,9 @@
4344
import static org.junit.Assert.assertEquals;
4445
import static org.junit.Assert.assertNotNull;
4546
import static org.junit.Assert.assertTrue;
47+
import static org.mockito.Mockito.mock;
4648
import static org.mockito.Mockito.verify;
47-
import static org.powermock.api.mockito.PowerMockito.mock;
48-
import static org.powermock.api.mockito.PowerMockito.when;
49+
import static org.mockito.Mockito.when;
4950
import static org.robolectric.annotation.LooperMode.Mode.PAUSED;
5051

5152
@RunWith(AndroidJUnit4.class)
@@ -83,10 +84,14 @@ public void testOnPauseWillPauseScanner() {
8384
@Test
8485
public void testOnResumeCallsOptionMenuResume() {
8586
// setup
87+
PermissionService permissionService = mock(PermissionService.class);
88+
fixture.setPermissionService(permissionService);
8689
ScannerService scannerService = MainContextHelper.INSTANCE.getScannerService();
90+
when(permissionService.isPermissionGranted()).thenReturn(true);
8791
// execute
8892
fixture.onResume();
8993
// validate
94+
verify(permissionService).isPermissionGranted();
9095
verify(scannerService).resume();
9196
}
9297

0 commit comments

Comments
 (0)