From 15c5a2339bea2d6972dd0488346dfde069b519d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sa=C3=BAl=20Ibarra=20Corretg=C3=A9?= Date: Tue, 26 Mar 2019 16:44:23 +0100 Subject: [PATCH] android: fix getting permission request results Now that we have both a Fragment and an Activity there are lifecycle methods that overlap. If a Fragment requests permission by calling requestPermissions then the result handler will be called on itself. React Native's permissions module, however, calls ActivityCompat.requestPermissions on the Activity, thus we need to handle the results at the Activity level and not at the Fragment level. --- .../main/java/org/jitsi/meet/sdk/JitsiMeetActivity.java | 5 +++++ .../main/java/org/jitsi/meet/sdk/JitsiMeetFragment.java | 9 --------- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/android/sdk/src/main/java/org/jitsi/meet/sdk/JitsiMeetActivity.java b/android/sdk/src/main/java/org/jitsi/meet/sdk/JitsiMeetActivity.java index 3828ee022..053b8722f 100644 --- a/android/sdk/src/main/java/org/jitsi/meet/sdk/JitsiMeetActivity.java +++ b/android/sdk/src/main/java/org/jitsi/meet/sdk/JitsiMeetActivity.java @@ -151,6 +151,11 @@ public class JitsiMeetActivity extends FragmentActivity JitsiMeetActivityDelegate.requestPermissions(this, permissions, requestCode, listener); } + @Override + public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { + JitsiMeetActivityDelegate.onRequestPermissionsResult(requestCode, permissions, grantResults); + } + // JitsiMeetViewListener // diff --git a/android/sdk/src/main/java/org/jitsi/meet/sdk/JitsiMeetFragment.java b/android/sdk/src/main/java/org/jitsi/meet/sdk/JitsiMeetFragment.java index 9fac9f93f..4ed6689e5 100644 --- a/android/sdk/src/main/java/org/jitsi/meet/sdk/JitsiMeetFragment.java +++ b/android/sdk/src/main/java/org/jitsi/meet/sdk/JitsiMeetFragment.java @@ -81,15 +81,6 @@ public class JitsiMeetFragment extends Fragment { JitsiMeetActivityDelegate.onHostDestroy(getActivity()); } - // https://developer.android.com/reference/android/support/v4/app/ActivityCompat.OnRequestPermissionsResultCallback - @Override - public void onRequestPermissionsResult( - final int requestCode, - final String[] permissions, - final int[] grantResults) { - JitsiMeetActivityDelegate.onRequestPermissionsResult(requestCode, permissions, grantResults); - } - @Override public void onResume() { super.onResume();