Check callManager reference is still valid in ListenableFutureTask callbacks.

fork-5.53.8
Curt Brune 2020-02-18 09:18:54 -08:00 zatwierdzone przez Greyson Parrelli
rodzic 58b7612987
commit 1bae79af5b
1 zmienionych plików z 18 dodań i 12 usunięć

Wyświetl plik

@ -1456,31 +1456,37 @@ public class WebRtcCallService extends Service implements CallManager.Observer,
@Override @Override
public void onSuccessContinue(V result) { public void onSuccessContinue(V result) {
if (callManager != null) {
try { try {
callManager.messageSent(getCallId()); callManager.messageSent(getCallId());
} catch (CallException e) { } catch (CallException e) {
callFailure("callManager.messageSent() failed: ", e); callFailure("callManager.messageSent() failed: ", e);
} }
} }
}
@Override @Override
public void onStateChangeContinue() { public void onStateChangeContinue() {
if (callManager != null) {
try { try {
callManager.messageSent(getCallId()); callManager.messageSent(getCallId());
} catch (CallException e) { } catch (CallException e) {
callFailure("callManager.messageSent() failed: ", e); callFailure("callManager.messageSent() failed: ", e);
} }
} }
}
@Override @Override
public void onFailureContinue(Throwable error) { public void onFailureContinue(Throwable error) {
Log.w(TAG, error); Log.w(TAG, error);
if (callManager != null) {
try { try {
callManager.messageSendFailure(getCallId()); callManager.messageSendFailure(getCallId());
} catch (CallException e) { } catch (CallException e) {
callFailure("callManager.messageSendFailure() failed: ", e); callFailure("callManager.messageSendFailure() failed: ", e);
} }
}
if (activePeer == null) { if (activePeer == null) {
return; return;