googlesamples / easypermissions

Simplify Android M system permissions
https://firebaseopensource.com/projects/googlesamples/easypermissions/
Apache License 2.0
9.86k stars 1.46k forks source link

onRequestPermissionsResult of fragment is marked deprecated #338

Open AndyAWD opened 2 years ago

AndyAWD commented 2 years ago

Basic Information

Device type: Pixel 3a XL OS version: Android 12 targetSdk 31 EasyPermissions version: 3.0.0

Describe the problem

In android sdk 31, onRequestPermissionsResult of fragment is marked deprecated.

Code and logs

/**
 * Callback for the result from requesting permissions. This method
 * is invoked for every call on {@link #requestPermissions(String[], int)}.
 * <p>
 * <strong>Note:</strong> It is possible that the permissions request interaction
 * with the user is interrupted. In this case you will receive empty permissions
 * and results arrays which should be treated as a cancellation.
 * </p>
 *
 * @param requestCode The request code passed in {@link #requestPermissions(String[], int)}.
 * @param permissions The requested permissions. Never null.
 * @param grantResults The grant results for the corresponding permissions
 *     which is either {@link android.content.pm.PackageManager#PERMISSION_GRANTED}
 *     or {@link android.content.pm.PackageManager#PERMISSION_DENIED}. Never null.
 *
 * @see #requestPermissions(String[], int)
 *
 * @deprecated use
 * {@link #registerForActivityResult(ActivityResultContract, ActivityResultCallback)} passing
 * in a {@link RequestMultiplePermissions} object for the {@link ActivityResultContract} and
 * handling the result in the {@link ActivityResultCallback#onActivityResult(Object) callback}.
 */
@SuppressWarnings({"DeprecatedIsStillUsed", "unused"})
@Deprecated
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions,
        @NonNull int[] grantResults) {
    /* callback - do nothing */
}
override fun onRequestPermissionsResult(
    requestCode: Int,
    permissions: Array<out String>,
    grantResults: IntArray
) {
    super.onRequestPermissionsResult(requestCode, permissions, grantResults)
    EasyPermissions.onRequestPermissionsResult(requestCode, permissions, grantResults, this)
}