From 530c02996b1a16d83a8f84a9c023df72efb31f3c Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Tue, 19 Jun 2018 22:35:24 +0200 Subject: [PATCH] Fix Null pointer exception when putting the call on hold. --- src/android/org/linphone/call/CallActivity.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/android/org/linphone/call/CallActivity.java b/src/android/org/linphone/call/CallActivity.java index 2fe3a2db2..e97a50ef5 100644 --- a/src/android/org/linphone/call/CallActivity.java +++ b/src/android/org/linphone/call/CallActivity.java @@ -140,6 +140,7 @@ public class CallActivity extends LinphoneGenericActivity implements OnClickList private HashMap mEncoderTexts; private HashMap mDecoderTexts; private CallListenerStub mCallListener; + private Call mCallDisplayedInStats; private boolean oldIsSpeakerEnabled = false; @@ -1675,9 +1676,16 @@ public class CallActivity extends LinphoneGenericActivity implements OnClickList } public void initCallStatsRefresher(final Call call, final View view) { + if (mCallDisplayedInStats == call) return; + if (mTimer != null && mTask != null) { - return; + mTimer.cancel(); + mTimer = null; + mTask = null; } + mCallDisplayedInStats = call; + + if (call == null) return; final TextView titleAudio = (TextView) view.findViewById(R.id.call_stats_audio); final TextView titleVideo = (TextView) view.findViewById(R.id.call_stats_video); @@ -1742,7 +1750,7 @@ public class CallActivity extends LinphoneGenericActivity implements OnClickList public void run() { if (LinphoneManager.getLcIfManagerNotDestroyedOrNull() == null) return; synchronized(LinphoneManager.getLc()) { - if (LinphoneActivity.isInstanciated()) { + if (LinphoneActivity.isInstanciated() && call.getState() != Call.State.Released) { CallParams params = call.getCurrentParams(); if (params != null) { CallStats audioStats = call.getStats(StreamType.Audio);