Commit 2f38170d by Maurits van Beusekom Committed by GitHub

Removed unused method and fix analysis warnings (#1167)

* Removed unused method and fix analysis warnings

* Bumped version number
parent 508e3538
## 11.0.5
* Removes the obsolete `updatePermissionShouldShowStatus` method from the Java code base.
* Fixes some analysis warnings in the Java code base.
## 11.0.4 ## 11.0.4
* Fixes a bug where the status of special permissions would incorrectly be reported as `denied`. * Fixes a bug where the status of special permissions would incorrectly be reported as `denied`.
......
...@@ -15,9 +15,6 @@ import io.flutter.plugin.common.MethodChannel; ...@@ -15,9 +15,6 @@ import io.flutter.plugin.common.MethodChannel;
* *
* <p>Instantiate this in an add-to-app scenario to gracefully handle activity and context changes. * <p>Instantiate this in an add-to-app scenario to gracefully handle activity and context changes.
* See {@code com.example.permissionhandlerexample.MainActivity} for an example. * See {@code com.example.permissionhandlerexample.MainActivity} for an example.
*
* <p>Call {@link #registerWith(io.flutter.plugin.common.PluginRegistry.Registrar)} to register an
* implementation of this that uses the stable {@code io.flutter.plugin.common} package.
*/ */
public final class PermissionHandlerPlugin implements FlutterPlugin, ActivityAware { public final class PermissionHandlerPlugin implements FlutterPlugin, ActivityAware {
......
...@@ -72,12 +72,7 @@ final class PermissionManager implements PluginRegistry.ActivityResultListener, ...@@ -72,12 +72,7 @@ final class PermissionManager implements PluginRegistry.ActivityResultListener,
@Override @Override
public boolean onActivityResult(int requestCode, int resultCode, Intent data) { public boolean onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode != PermissionConstants.PERMISSION_CODE_IGNORE_BATTERY_OPTIMIZATIONS && if (activity == null) {
requestCode != PermissionConstants.PERMISSION_CODE_MANAGE_EXTERNAL_STORAGE &&
requestCode != PermissionConstants.PERMISSION_CODE_SYSTEM_ALERT_WINDOW &&
requestCode != PermissionConstants.PERMISSION_CODE_REQUEST_INSTALL_PACKAGES &&
requestCode != PermissionConstants.PERMISSION_CODE_ACCESS_NOTIFICATION_POLICY &&
requestCode != PermissionConstants.PERMISSION_CODE_SCHEDULE_EXACT_ALARM) {
return false; return false;
} }
...@@ -144,7 +139,7 @@ final class PermissionManager implements PluginRegistry.ActivityResultListener, ...@@ -144,7 +139,7 @@ final class PermissionManager implements PluginRegistry.ActivityResultListener,
pendingRequestCount--; pendingRequestCount--;
// Post result if all requests have been handled. // Post result if all requests have been handled.
if (pendingRequestCount == 0) { if (successCallback != null && pendingRequestCount == 0) {
this.successCallback.onSuccess(requestResults); this.successCallback.onSuccess(requestResults);
} }
return true; return true;
...@@ -228,14 +223,12 @@ final class PermissionManager implements PluginRegistry.ActivityResultListener, ...@@ -228,14 +223,12 @@ final class PermissionManager implements PluginRegistry.ActivityResultListener,
permission, permission,
PermissionUtils.toPermissionStatus(this.activity, permissionName, result)); PermissionUtils.toPermissionStatus(this.activity, permissionName, result));
} }
PermissionUtils.updatePermissionShouldShowStatus(this.activity, permission);
} }
pendingRequestCount -= grantResults.length; pendingRequestCount -= grantResults.length;
// Post result if all requests have been handled. // Post result if all requests have been handled.
if (pendingRequestCount == 0) { if (successCallback != null && pendingRequestCount == 0) {
this.successCallback.onSuccess(requestResults); this.successCallback.onSuccess(requestResults);
} }
return true; return true;
...@@ -401,7 +394,7 @@ final class PermissionManager implements PluginRegistry.ActivityResultListener, ...@@ -401,7 +394,7 @@ final class PermissionManager implements PluginRegistry.ActivityResultListener,
} }
// Post results immediately if no requests are pending. // Post results immediately if no requests are pending.
if (pendingRequestCount == 0) { if (this.successCallback != null && pendingRequestCount == 0) {
this.successCallback.onSuccess(requestResults); this.successCallback.onSuccess(requestResults);
} }
} }
...@@ -544,6 +537,10 @@ final class PermissionManager implements PluginRegistry.ActivityResultListener, ...@@ -544,6 +537,10 @@ final class PermissionManager implements PluginRegistry.ActivityResultListener,
* @param requestCode a request code to verify incoming results. * @param requestCode a request code to verify incoming results.
*/ */
private void launchSpecialPermission(String permissionAction, int requestCode) { private void launchSpecialPermission(String permissionAction, int requestCode) {
if (activity == null) {
return;
}
Intent intent = new Intent(permissionAction); Intent intent = new Intent(permissionAction);
if (!permissionAction.equals(Settings.ACTION_NOTIFICATION_POLICY_ACCESS_SETTINGS)) { if (!permissionAction.equals(Settings.ACTION_NOTIFICATION_POLICY_ACCESS_SETTINGS)) {
String packageName = activity.getPackageName(); String packageName = activity.getPackageName();
......
...@@ -273,34 +273,40 @@ public class PermissionUtils { ...@@ -273,34 +273,40 @@ public class PermissionUtils {
permissionNames.add(Manifest.permission.ACCESS_NOTIFICATION_POLICY); permissionNames.add(Manifest.permission.ACCESS_NOTIFICATION_POLICY);
break; break;
case PermissionConstants.PERMISSION_GROUP_BLUETOOTH_SCAN: { case PermissionConstants.PERMISSION_GROUP_BLUETOOTH_SCAN: {
// The BLUETOOTH_SCAN permission is introduced in Android S, meaning we should if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
// not handle permissions on pre Android S devices. // The BLUETOOTH_SCAN permission is introduced in Android S, meaning we should
String result = determineBluetoothPermission(context, Manifest.permission.BLUETOOTH_SCAN); // not handle permissions on pre Android S devices.
String result = determineBluetoothPermission(context, Manifest.permission.BLUETOOTH_SCAN);
if (result != null) { if (result != null) {
permissionNames.add(result); permissionNames.add(result);
}
} }
break; break;
} }
case PermissionConstants.PERMISSION_GROUP_BLUETOOTH_ADVERTISE: { case PermissionConstants.PERMISSION_GROUP_BLUETOOTH_ADVERTISE: {
// The BLUETOOTH_ADVERTISE permission is introduced in Android S, meaning we should if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
// not handle permissions on pre Android S devices. // The BLUETOOTH_ADVERTISE permission is introduced in Android S, meaning we should
String result = determineBluetoothPermission(context, Manifest.permission.BLUETOOTH_ADVERTISE); // not handle permissions on pre Android S devices.
String result = determineBluetoothPermission(context, Manifest.permission.BLUETOOTH_ADVERTISE);
if (result != null) { if (result != null) {
permissionNames.add(result); permissionNames.add(result);
}
} }
break; break;
} }
case PermissionConstants.PERMISSION_GROUP_BLUETOOTH_CONNECT: { case PermissionConstants.PERMISSION_GROUP_BLUETOOTH_CONNECT: {
// The BLUETOOTH_CONNECT permission is introduced in Android S, meaning we should if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
// not handle permissions on pre Android S devices. // The BLUETOOTH_CONNECT permission is introduced in Android S, meaning we should
String result = determineBluetoothPermission(context, Manifest.permission.BLUETOOTH_CONNECT); // not handle permissions on pre Android S devices.
String result = determineBluetoothPermission(context, Manifest.permission.BLUETOOTH_CONNECT);
if (result != null) { if (result != null) {
permissionNames.add(result); permissionNames.add(result);
}
} }
break; break;
...@@ -522,21 +528,6 @@ public class PermissionUtils { ...@@ -522,21 +528,6 @@ public class PermissionUtils {
return PermissionConstants.PERMISSION_STATUS_DENIED; return PermissionConstants.PERMISSION_STATUS_DENIED;
} }
static void updatePermissionShouldShowStatus(
@Nullable final Activity activity,
@PermissionConstants.PermissionGroup int permission) {
if (activity == null) {
return;
}
List<String> names = getManifestNames(activity, permission);
if (names == null || names.isEmpty()) {
return;
}
}
@RequiresApi(api = Build.VERSION_CODES.M) @RequiresApi(api = Build.VERSION_CODES.M)
static boolean isNeverAskAgainSelected( static boolean isNeverAskAgainSelected(
@NonNull final Activity activity, @NonNull final Activity activity,
...@@ -557,7 +548,7 @@ public class PermissionUtils { ...@@ -557,7 +548,7 @@ public class PermissionUtils {
} }
return null; return null;
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q && hasPermissionInManifest(context, null, Manifest.permission.ACCESS_FINE_LOCATION)) { } else if (hasPermissionInManifest(context, null, Manifest.permission.ACCESS_FINE_LOCATION)) {
return Manifest.permission.ACCESS_FINE_LOCATION; return Manifest.permission.ACCESS_FINE_LOCATION;
} }
......
name: permission_handler_android name: permission_handler_android
description: Permission plugin for Flutter. This plugin provides the Android API to request and check permissions. description: Permission plugin for Flutter. This plugin provides the Android API to request and check permissions.
homepage: https://github.com/baseflow/flutter-permission-handler homepage: https://github.com/baseflow/flutter-permission-handler
version: 11.0.4 version: 11.0.5
environment: environment:
sdk: ">=2.15.0 <4.0.0" sdk: ">=2.15.0 <4.0.0"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment