Call new method CordovaPlugin.onRequestPermissionsResult (#1855)

- Fixes https://github.com/apache/cordova-android/issues/1388
- `CordovaInterfaceImpl` called the deprecated method `CordovaPlugin.onRequestPermissionResult` but not the new one. Now the one will also be called.
- Renamed `CordovaInterfaceImpl.onRequestPermissionResult` to `CordovaInterfaceImpl.onRequestPermissionsResult` to reflect the new method name
This commit is contained in:
Manuel Beck
2026-04-20 18:06:08 +02:00
committed by GitHub
parent 8c83976486
commit b66f0f33b8
3 changed files with 8 additions and 4 deletions
@@ -577,7 +577,7 @@ public class CordovaActivity extends AppCompatActivity {
try
{
cordovaInterface.onRequestPermissionResult(requestCode, permissions, grantResults);
cordovaInterface.onRequestPermissionsResult(requestCode, permissions, grantResults);
}
catch (JSONException e)
{
@@ -217,11 +217,15 @@ public class CordovaInterfaceImpl implements CordovaInterface {
* @param permissions
* @param grantResults
*/
public void onRequestPermissionResult(int requestCode, String[] permissions,
public void onRequestPermissionsResult(int requestCode, String[] permissions,
int[] grantResults) throws JSONException {
Pair<CordovaPlugin, Integer> callback = permissionResultCallbacks.getAndRemoveCallback(requestCode);
if(callback != null) {
// This one is deprecated - see https://github.com/apache/cordova-android/issues/592
// and should be removed in a future release
callback.first.onRequestPermissionResult(callback.second, permissions, grantResults);
// Call the new method
callback.first.onRequestPermissionsResult(callback.second, permissions, grantResults);
}
}
@@ -87,7 +87,7 @@ public class EmbeddedWebViewActivity extends AppCompatActivity {
* Called by the system when the user grants permissions!
*
* Note: The fragment gets priority over the activity, since the activity doesn't call
* into the parent onRequestPermissionResult, which is why there's no override.
* into the parent onRequestPermissionsResult, which is why there's no override.
*
* @param requestCode
* @param permissions
@@ -98,7 +98,7 @@ public class EmbeddedWebViewActivity extends AppCompatActivity {
int[] grantResults) {
try
{
cordovaInterface.onRequestPermissionResult(requestCode, permissions, grantResults);
cordovaInterface.onRequestPermissionsResult(requestCode, permissions, grantResults);
}
catch (JSONException e)
{