From b46fd32550d0f21e0c860680d5d84038d02ff2d5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@savoirfairelinux.com>
Date: Wed, 2 Sep 2020 17:18:28 -0400
Subject: [PATCH] callfragment: remove from stack on finish, check for null
 binding

Change-Id: Ia63b257d49624165e53b9ecd00e373f07098405d
---
 .../main/java/cx/ring/fragments/CallFragment.java    | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

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 fb621578e..c72f8ac4e 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
@@ -68,7 +68,6 @@ import android.view.inputmethod.InputMethodManager;
 import android.widget.FrameLayout;
 import android.widget.LinearLayout;
 import android.widget.RelativeLayout;
-import android.widget.TextView;
 import android.widget.Toast;
 
 import androidx.annotation.NonNull;
@@ -380,6 +379,8 @@ public class CallFragment extends BaseSupportFragment<CallPresenter> implements
 
         animation.setDuration(150);
         animation.addUpdateListener(valueAnimator -> {
+            if (binding == null)
+                return;
             int upBy = (int) valueAnimator.getAnimatedValue();
             RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams) binding.previewContainer.getLayoutParams();
             layoutParams.setMargins(0, 0, 0, (int) (upBy * dpRatio));
@@ -1244,18 +1245,13 @@ public class CallFragment extends BaseSupportFragment<CallPresenter> implements
     public void finish() {
         Activity activity = getActivity();
         if (activity != null) {
+            activity.finishAndRemoveTask();
             if (mBackstackLost) {
-                activity.finishAndRemoveTask();
-                startActivity(
-                        Intent.makeMainActivity(
-                                new ComponentName(activity, HomeActivity.class)).addFlags(Intent.FLAG_ACTIVITY_NEW_TASK));
-            } else {
-                activity.finish();
+                startActivity(Intent.makeMainActivity(new ComponentName(activity, HomeActivity.class)).addFlags(Intent.FLAG_ACTIVITY_NEW_TASK));
             }
         }
     }
 
-
     public void speakerClicked() {
         presenter.speakerClick(binding.callSpeakerBtn.isChecked());
     }
-- 
GitLab