From bdc2c97d0668754e12986f45c46693bc3d991289 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@savoirfairelinux.com> Date: Thu, 17 Jun 2021 11:13:49 -0400 Subject: [PATCH] call: fix hangup, open contact Change-Id: I58aaa06ddc27a538517efe1f6720c5189950853d --- .../src/main/java/cx/ring/fragments/CallFragment.java | 2 +- .../src/main/java/net/jami/call/CallPresenter.java | 6 ++++-- .../src/main/java/net/jami/services/CallService.java | 9 ++++++++- 3 files changed, 13 insertions(+), 4 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 3092a0220..828d97ef5 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 @@ -1250,7 +1250,7 @@ public class CallFragment extends BaseSupportFragment<CallPresenter> implements @Override public void goToContact(String accountId, Contact contact) { - startActivity(new Intent(Intent.ACTION_VIEW, android.net.Uri.withAppendedPath(android.net.Uri.withAppendedPath(ContentUriHandler.CONTACT_CONTENT_URI, accountId), contact.getPrimaryNumber())) + startActivity(new Intent(Intent.ACTION_VIEW, ConversationPath.toUri(accountId, contact.getUri())) .setClass(requireContext(), ContactDetailsActivity.class)); } diff --git a/ring-android/libringclient/src/main/java/net/jami/call/CallPresenter.java b/ring-android/libringclient/src/main/java/net/jami/call/CallPresenter.java index ddb94f4d0..42490c998 100644 --- a/ring-android/libringclient/src/main/java/net/jami/call/CallPresenter.java +++ b/ring-android/libringclient/src/main/java/net/jami/call/CallPresenter.java @@ -717,9 +717,10 @@ public class CallPresenter extends RootPresenter<CallView> { } public void hangupParticipant(Conference.ParticipantInfo info) { - //mCallService. if (info.call != null) mCallService.hangUp(info.call.getDaemonIdString()); + else + mCallService.hangupParticipant(mConference.getId(), info.contact.getPrimaryNumber()); } public void muteParticipant(Conference.ParticipantInfo info, boolean mute) { @@ -727,7 +728,8 @@ public class CallPresenter extends RootPresenter<CallView> { } public void openParticipantContact(Conference.ParticipantInfo info) { - getView().goToContact(mConference.getFirstCall().getAccount(), info.contact); + Call call = info.call == null ? mConference.getFirstCall() : info.call; + getView().goToContact(call.getAccount(), info.contact); } public void stopCapture() { diff --git a/ring-android/libringclient/src/main/java/net/jami/services/CallService.java b/ring-android/libringclient/src/main/java/net/jami/services/CallService.java index 92dd5ac04..875d0efb0 100644 --- a/ring-android/libringclient/src/main/java/net/jami/services/CallService.java +++ b/ring-android/libringclient/src/main/java/net/jami/services/CallService.java @@ -302,11 +302,18 @@ public class CallService { public void muteParticipant(String confId, String peerId, boolean mute) { mExecutor.execute(() -> { - Log.i(TAG, "mute() participant... " + peerId); + Log.i(TAG, "mute participant... " + peerId); JamiService.muteParticipant(confId, peerId, mute); }); } + public void hangupParticipant(String confId, String peerId) { + mExecutor.execute(() -> { + Log.i(TAG, "hangup participant... " + peerId); + JamiService.hangupParticipant(confId, peerId); + }); + } + public void hold(final String callId) { mExecutor.execute(() -> { Log.i(TAG, "hold() running... " + callId); -- GitLab