Fixed write permission force settings bug

Removed the force variable that forced permission.
Permission will only appear if it is not allowed.
This commit is contained in:
Adeel Zafar 2019-06-01 17:16:06 +05:00
parent 38af60109a
commit 7807927562
2 changed files with 15 additions and 17 deletions

View File

@ -174,7 +174,6 @@ public class MainActivity extends BaseActivity implements WebViewCallback,
private static final String NEW_TAB = "NEW_TAB"; private static final String NEW_TAB = "NEW_TAB";
private static final String HOME_URL = "file:///android_asset/home.html"; private static final String HOME_URL = "file:///android_asset/home.html";
private final String requiredPermission = "android.permission.WRITE_SETTINGS";
public static boolean isFullscreenOpened; public static boolean isFullscreenOpened;
public static boolean refresh; public static boolean refresh;
public static boolean wifiOnly; public static boolean wifiOnly;
@ -404,10 +403,8 @@ public class MainActivity extends BaseActivity implements WebViewCallback,
drawerLayout.setDescendantFocusability(ViewGroup.FOCUS_BLOCK_DESCENDANTS); drawerLayout.setDescendantFocusability(ViewGroup.FOCUS_BLOCK_DESCENDANTS);
wifiHotspotManager = new WifiHotspotManager(this); wifiHotspotManager = new WifiHotspotManager(this);
int checkVal = getApplicationContext().checkCallingOrSelfPermission(requiredPermission); wifiHotspotManager.showWritePermissionSettings();
if (checkVal == PackageManager.PERMISSION_DENIED) {
wifiHotspotManager.showWritePermissionSettings(true);
}
} }
//End of onCreate //End of onCreate
@ -952,15 +949,15 @@ public class MainActivity extends BaseActivity implements WebViewCallback,
} }
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
//if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) //if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION)
// == PackageManager.PERMISSION_GRANTED) { // // == PackageManager.PERMISSION_GRANTED) {
// wifiHotspotManager.turnOnHotspot(); // // wifiHotspotManager.turnOnHotspot();
//} else { // //} else {
// //Show rationale and request permission. // // //Show rationale and request permission.
// //No explanation needed; request the permission // // //No explanation needed; request the permission
// ActivityCompat.requestPermissions(this, // // ActivityCompat.requestPermissions(this,
// new String[] { Manifest.permission.ACCESS_FINE_LOCATION }, // // new String[] { Manifest.permission.ACCESS_FINE_LOCATION },
// MY_PERMISSIONS_ACCESS_FINE_LOCATION); // // MY_PERMISSIONS_ACCESS_FINE_LOCATION);
//} // //}
setupLocationServices(); setupLocationServices();
} else { } else {
if (wifiHotspotManager.isWifiApEnabled()) { if (wifiHotspotManager.isWifiApEnabled()) {
@ -1529,7 +1526,7 @@ public class MainActivity extends BaseActivity implements WebViewCallback,
} }
updateWidgets(this); updateWidgets(this);
wifiHotspotManager.showWritePermissionSettings(false); wifiHotspotManager.showWritePermissionSettings();
} }
private void updateBottomToolbarVisibility() { private void updateBottomToolbarVisibility() {

View File

@ -32,9 +32,10 @@ public class WifiHotspotManager {
} }
//To get write permission settings, we use this method. //To get write permission settings, we use this method.
public void showWritePermissionSettings(boolean force) { public void showWritePermissionSettings() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (force || !Settings.System.canWrite(this.context)) { if (!Settings.System.canWrite(this.context)) {
Log.v("DANG", " " + !Settings.System.canWrite(this.context));
Intent intent = new Intent(android.provider.Settings.ACTION_MANAGE_WRITE_SETTINGS); Intent intent = new Intent(android.provider.Settings.ACTION_MANAGE_WRITE_SETTINGS);
intent.setData(Uri.parse("package:" + this.context.getPackageName())); intent.setData(Uri.parse("package:" + this.context.getPackageName()));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);