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
* 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;
*
* <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.
*
* <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 {
......
......@@ -72,12 +72,7 @@ final class PermissionManager implements PluginRegistry.ActivityResultListener,
@Override
public boolean onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode != PermissionConstants.PERMISSION_CODE_IGNORE_BATTERY_OPTIMIZATIONS &&
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) {
if (activity == null) {
return false;
}
......@@ -144,7 +139,7 @@ final class PermissionManager implements PluginRegistry.ActivityResultListener,
pendingRequestCount--;
// Post result if all requests have been handled.
if (pendingRequestCount == 0) {
if (successCallback != null && pendingRequestCount == 0) {
this.successCallback.onSuccess(requestResults);
}
return true;
......@@ -228,14 +223,12 @@ final class PermissionManager implements PluginRegistry.ActivityResultListener,
permission,
PermissionUtils.toPermissionStatus(this.activity, permissionName, result));
}
PermissionUtils.updatePermissionShouldShowStatus(this.activity, permission);
}
pendingRequestCount -= grantResults.length;
// Post result if all requests have been handled.
if (pendingRequestCount == 0) {
if (successCallback != null && pendingRequestCount == 0) {
this.successCallback.onSuccess(requestResults);
}
return true;
......@@ -401,7 +394,7 @@ final class PermissionManager implements PluginRegistry.ActivityResultListener,
}
// Post results immediately if no requests are pending.
if (pendingRequestCount == 0) {
if (this.successCallback != null && pendingRequestCount == 0) {
this.successCallback.onSuccess(requestResults);
}
}
......@@ -544,6 +537,10 @@ final class PermissionManager implements PluginRegistry.ActivityResultListener,
* @param requestCode a request code to verify incoming results.
*/
private void launchSpecialPermission(String permissionAction, int requestCode) {
if (activity == null) {
return;
}
Intent intent = new Intent(permissionAction);
if (!permissionAction.equals(Settings.ACTION_NOTIFICATION_POLICY_ACCESS_SETTINGS)) {
String packageName = activity.getPackageName();
......
......@@ -273,34 +273,40 @@ public class PermissionUtils {
permissionNames.add(Manifest.permission.ACCESS_NOTIFICATION_POLICY);
break;
case PermissionConstants.PERMISSION_GROUP_BLUETOOTH_SCAN: {
// The BLUETOOTH_SCAN permission is introduced in Android S, meaning we should
// not handle permissions on pre Android S devices.
String result = determineBluetoothPermission(context, Manifest.permission.BLUETOOTH_SCAN);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
// The BLUETOOTH_SCAN permission is introduced in Android S, meaning we should
// not handle permissions on pre Android S devices.
String result = determineBluetoothPermission(context, Manifest.permission.BLUETOOTH_SCAN);
if (result != null) {
permissionNames.add(result);
if (result != null) {
permissionNames.add(result);
}
}
break;
}
case PermissionConstants.PERMISSION_GROUP_BLUETOOTH_ADVERTISE: {
// The BLUETOOTH_ADVERTISE permission is introduced in Android S, meaning we should
// not handle permissions on pre Android S devices.
String result = determineBluetoothPermission(context, Manifest.permission.BLUETOOTH_ADVERTISE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
// The BLUETOOTH_ADVERTISE permission is introduced in Android S, meaning we should
// not handle permissions on pre Android S devices.
String result = determineBluetoothPermission(context, Manifest.permission.BLUETOOTH_ADVERTISE);
if (result != null) {
permissionNames.add(result);
if (result != null) {
permissionNames.add(result);
}
}
break;
}
case PermissionConstants.PERMISSION_GROUP_BLUETOOTH_CONNECT: {
// The BLUETOOTH_CONNECT permission is introduced in Android S, meaning we should
// not handle permissions on pre Android S devices.
String result = determineBluetoothPermission(context, Manifest.permission.BLUETOOTH_CONNECT);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
// The BLUETOOTH_CONNECT permission is introduced in Android S, meaning we should
// not handle permissions on pre Android S devices.
String result = determineBluetoothPermission(context, Manifest.permission.BLUETOOTH_CONNECT);
if (result != null) {
permissionNames.add(result);
if (result != null) {
permissionNames.add(result);
}
}
break;
......@@ -522,21 +528,6 @@ public class PermissionUtils {
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)
static boolean isNeverAskAgainSelected(
@NonNull final Activity activity,
......@@ -557,7 +548,7 @@ public class PermissionUtils {
}
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;
}
......
name: permission_handler_android
description: Permission plugin for Flutter. This plugin provides the Android API to request and check permissions.
homepage: https://github.com/baseflow/flutter-permission-handler
version: 11.0.4
version: 11.0.5
environment:
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