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 3092a022038275981143377e2f1aaa12b42d357d..828d97ef5dc14621f09c807bece7d39c23a0e636 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 ddb94f4d034db0457b9e4d8ec36ecfcce01cdf06..42490c99895d782ae6a55247a280ccd18c2b0a42 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 92dd5ac045a8c04cf7b18aeef5658c8c9f87c955..875d0efb09851f2876b1d8de2c63eb865f525bf0 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);