diff --git a/app/src/main/java/org/thoughtcrime/securesms/WebRtcCallActivity.java b/app/src/main/java/org/thoughtcrime/securesms/WebRtcCallActivity.java index 224c4c5642..41d7a6d29f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/WebRtcCallActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/WebRtcCallActivity.java @@ -140,7 +140,7 @@ public class WebRtcCallActivity extends BaseActivity implements SafetyNumberChan Log.i(TAG, "onPause"); super.onPause(); - if (!isInPipMode()) { + if (!isInPipMode() || isFinishing()) { EventBus.getDefault().unregister(this); } @@ -157,7 +157,9 @@ public class WebRtcCallActivity extends BaseActivity implements SafetyNumberChan Log.i(TAG, "onStop"); super.onStop(); - EventBus.getDefault().unregister(this); + if (!isInPipMode() || isFinishing()) { + EventBus.getDefault().unregister(this); + } if (!viewModel.isCallStarting()) { CallParticipantsState state = viewModel.getCallParticipantsState().getValue(); @@ -167,6 +169,12 @@ public class WebRtcCallActivity extends BaseActivity implements SafetyNumberChan } } + @Override + protected void onDestroy() { + super.onDestroy(); + EventBus.getDefault().unregister(this); + } + @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { Permissions.onRequestPermissionsResult(this, requestCode, permissions, grantResults);