From a4a7d2ac11fb3489c8f071000c4da5bcb68918b3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@savoirfairelinux.com>
Date: Thu, 15 Apr 2021 22:14:46 -0400
Subject: [PATCH] call: catch exceptions in enterPipMode

Change-Id: I0bef953710d5ed4229abb443f7ab53c350d6816e
---
 .../app/src/main/java/cx/ring/fragments/CallFragment.java | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/ring-android/app/src/main/java/cx/ring/fragments/CallFragment.java b/ring-android/app/src/main/java/cx/ring/fragments/CallFragment.java
index 9a89d483b..15b0b8b5a 100644
--- a/ring-android/app/src/main/java/cx/ring/fragments/CallFragment.java
+++ b/ring-android/app/src/main/java/cx/ring/fragments/CallFragment.java
@@ -276,6 +276,8 @@ public class CallFragment extends BaseSupportFragment<CallPresenter> implements
                 Rect videoBounds = new Rect(x, y, x + w, y + h);
                 paramBuilder.setAspectRatio(new Rational(w, h));
                 paramBuilder.setSourceRectHint(videoBounds);
+            } else {
+                return;
             }
             ArrayList<RemoteAction> actions = new ArrayList<>(1);
             actions.add(new RemoteAction(
@@ -287,7 +289,11 @@ public class CallFragment extends BaseSupportFragment<CallPresenter> implements
                                     .setClass(context, DRingService.class)
                                     .putExtra(NotificationService.KEY_CALL_ID, callId), PendingIntent.FLAG_ONE_SHOT)));
             paramBuilder.setActions(actions);
-            requireActivity().enterPictureInPictureMode(paramBuilder.build());
+            try {
+                requireActivity().enterPictureInPictureMode(paramBuilder.build());
+            } catch (Exception e) {
+                Log.w(TAG, "Can't enter  PIP mode", e);
+            }
         } else if (DeviceUtils.isTv(context)) {
             requireActivity().enterPictureInPictureMode();
         }
-- 
GitLab