Commit 3516c2a2 authored by Adrien Béraud's avatar Adrien Béraud Committed by Sébastien Blin
Browse files

class rename

Change-Id: I4177581e1a97aff514161c0a778f24cc7972409a
parent 9a5f4dca
......@@ -11,16 +11,16 @@ import androidx.recyclerview.widget.RecyclerView;
import java.util.List;
import cx.ring.contacts.AvatarFactory;
import cx.ring.views.AvatarFactory;
import cx.ring.databinding.ItemConferenceParticipantBinding;
import cx.ring.fragments.CallFragment;
import net.jami.model.CallContact;
import net.jami.model.SipCall;
import net.jami.model.Contact;
import net.jami.model.Call;
import cx.ring.views.ParticipantView;
public class ConfParticipantAdapter extends RecyclerView.Adapter<ParticipantView> {
protected final ConfParticipantAdapter.ConfParticipantSelected onSelectedCallback;
private List<SipCall> calls = null;
private List<Call> calls = null;
public ConfParticipantAdapter(@NonNull ConfParticipantSelected cb) {
onSelectedCallback = cb;
......@@ -34,11 +34,11 @@ public class ConfParticipantAdapter extends RecyclerView.Adapter<ParticipantView
@Override
public void onBindViewHolder(@NonNull ParticipantView holder, int position) {
final SipCall call = calls.get(position);
final CallContact contact = call.getContact();
final Call call = calls.get(position);
final Contact contact = call.getContact();
final Context context = holder.itemView.getContext();
SipCall.CallStatus status = call.getCallStatus();
if (status == SipCall.CallStatus.CURRENT) {
Call.CallStatus status = call.getCallStatus();
if (status == Call.CallStatus.CURRENT) {
holder.binding.displayName.setText(contact.getDisplayName());
holder.binding.photo.setAlpha(1f);
} else {
......@@ -57,8 +57,8 @@ public class ConfParticipantAdapter extends RecyclerView.Adapter<ParticipantView
return calls == null ? 0 : calls.size();
}
public void updateFromCalls(@NonNull final List<SipCall> contacts) {
final List<SipCall> oldCalls = calls;
public void updateFromCalls(@NonNull final List<Call> contacts) {
final List<Call> oldCalls = calls;
calls = contacts;
if (oldCalls != null) {
DiffUtil.calculateDiff(new DiffUtil.Callback() {
......@@ -88,6 +88,6 @@ public class ConfParticipantAdapter extends RecyclerView.Adapter<ParticipantView
}
public interface ConfParticipantSelected {
void onParticipantSelected(View view, SipCall contact);
void onParticipantSelected(View view, Call contact);
}
}
......@@ -78,13 +78,13 @@ import cx.ring.client.MediaViewerActivity;
import net.jami.conversation.ConversationPresenter;
import cx.ring.fragments.ConversationFragment;
import net.jami.model.Account;
import net.jami.model.CallContact;
import net.jami.model.Contact;
import net.jami.model.ContactEvent;
import net.jami.model.DataTransfer;
import net.jami.model.Interaction;
import net.jami.model.Interaction.InteractionStatus;
import net.jami.model.Interaction.InteractionType;
import net.jami.model.SipCall;
import net.jami.model.Call;
import net.jami.model.TextMessage;
import cx.ring.service.DRingService;
import cx.ring.utils.AndroidFileUtils;
......@@ -645,7 +645,7 @@ public class ConversationAdapter extends RecyclerView.Adapter<ConversationViewHo
viewHolder.mMsgDetailTxtPerm.setVisibility(View.GONE);
}
CallContact contact = interaction.getContact();
Contact contact = interaction.getContact();
if (interaction.isIncoming()) {
viewHolder.mAvatar.setImageBitmap(null);
viewHolder.mAvatar.setVisibility(View.VISIBLE);
......@@ -771,7 +771,7 @@ public class ConversationAdapter extends RecyclerView.Adapter<ConversationViewHo
int position) {
final Context context = convViewHolder.itemView.getContext();
TextMessage textMessage = (TextMessage)interaction;
CallContact contact = textMessage.getContact();
Contact contact = textMessage.getContact();
if (contact == null) {
Log.e(TAG, "Invalid contact, not able to display message correctly");
return;
......@@ -971,7 +971,7 @@ public class ConversationAdapter extends RecyclerView.Adapter<ConversationViewHo
int pictureResID;
String historyTxt;
SipCall call = (SipCall) interaction;
Call call = (Call) interaction;
if (call.isMissed()) {
if (call.isIncoming()) {
pictureResID = R.drawable.baseline_call_missed_24;
......
......@@ -32,7 +32,7 @@ import android.widget.TextView;
import java.util.ArrayList;
import cx.ring.R;
import net.jami.model.CallContact;
import net.jami.model.Contact;
import net.jami.model.Phone;
public class NumberAdapter extends BaseAdapter {
......@@ -40,7 +40,7 @@ public class NumberAdapter extends BaseAdapter {
final private ArrayList<Phone> mNumbers;
private boolean mUseFullCellForGetView = false;
public NumberAdapter(Context context, CallContact c, boolean useFullCellForGetView) {
public NumberAdapter(Context context, Contact c, boolean useFullCellForGetView) {
mContext = context;
mNumbers = (c != null && c.getPhones() != null) ?
c.getPhones() : new ArrayList<>();
......
......@@ -43,6 +43,16 @@ import androidx.annotation.RequiresApi;
import com.bumptech.glide.Glide;
import net.jami.daemon.JamiService;
import net.jami.facades.ConversationFacade;
import net.jami.services.AccountService;
import net.jami.services.CallService;
import net.jami.services.ContactService;
import net.jami.services.DaemonService;
import net.jami.services.DeviceRuntimeService;
import net.jami.services.HardwareService;
import net.jami.services.PreferencesService;
import java.io.File;
import java.util.HashMap;
import java.util.Map;
......@@ -54,22 +64,14 @@ import javax.inject.Named;
import cx.ring.BuildConfig;
import cx.ring.R;
import cx.ring.contacts.AvatarFactory;
import cx.ring.views.AvatarFactory;
import net.jami.daemon.Ringservice;
import cx.ring.dependencyinjection.DaggerJamiInjectionComponent;
import cx.ring.dependencyinjection.JamiInjectionComponent;
import cx.ring.dependencyinjection.JamiInjectionModule;
import cx.ring.dependencyinjection.ServiceInjectionModule;
import net.jami.facades.ConversationFacade;
import cx.ring.service.DRingService;
import cx.ring.service.JamiJobService;
import net.jami.services.AccountService;
import net.jami.services.CallService;
import net.jami.services.ContactService;
import net.jami.services.DaemonService;
import net.jami.services.DeviceRuntimeService;
import net.jami.services.HardwareService;
import net.jami.services.PreferencesService;
import cx.ring.utils.AndroidFileUtils;
import io.reactivex.Completable;
import io.reactivex.schedulers.Schedulers;
......
......@@ -53,15 +53,16 @@ import androidx.recyclerview.widget.RecyclerView;
import cx.ring.R;
import cx.ring.application.JamiApplication;
import cx.ring.views.AvatarFactory;
import cx.ring.databinding.ActivityContactDetailsBinding;
import cx.ring.databinding.ItemContactActionBinding;
import net.jami.facades.ConversationFacade;
import cx.ring.fragments.CallFragment;
import cx.ring.fragments.ConversationFragment;
import net.jami.model.CallContact;
import net.jami.model.Contact;
import net.jami.model.Conference;
import net.jami.model.Conversation;
import net.jami.model.SipCall;
import net.jami.model.Call;
import net.jami.model.Uri;
import net.jami.services.AccountService;
import net.jami.services.NotificationService;
......@@ -258,7 +259,7 @@ public class ContactDetailsActivity extends AppCompatActivity {
adapter.actions.add(symbolAction);
if (mConversation.getContacts().size() <= 2) {
CallContact contact = mConversation.getContact();
Contact contact = mConversation.getContact();
adapter.actions.add(new ContactAction(R.drawable.baseline_call_24, getText(R.string.ab_action_audio_call), () ->
goToCallActivity(mConversation.getAccountId(), contact.getPrimaryNumber(), true)));
adapter.actions.add(new ContactAction(R.drawable.baseline_videocam_24, getText(R.string.ab_action_video_call), () ->
......@@ -314,8 +315,8 @@ public class ContactDetailsActivity extends AppCompatActivity {
Conference conf = mConversation.getCurrentCall();
if (conf != null
&& !conf.getParticipants().isEmpty()
&& conf.getParticipants().get(0).getCallStatus() != SipCall.CallStatus.INACTIVE
&& conf.getParticipants().get(0).getCallStatus() != SipCall.CallStatus.FAILURE) {
&& conf.getParticipants().get(0).getCallStatus() != Call.CallStatus.INACTIVE
&& conf.getParticipants().get(0).getCallStatus() != Call.CallStatus.FAILURE) {
startActivity(new Intent(Intent.ACTION_VIEW)
.setClass(getApplicationContext(), CallActivity.class)
.putExtra(NotificationService.KEY_CALL_ID, conf.getId()));
......
......@@ -40,9 +40,9 @@ import cx.ring.application.JamiApplication;
import net.jami.facades.ConversationFacade;
import cx.ring.fragments.CallFragment;
import net.jami.model.CallContact;
import net.jami.model.Contact;
import net.jami.model.Conference;
import net.jami.model.SipCall;
import net.jami.model.Call;
import net.jami.services.CallService;
import net.jami.smartlist.SmartListViewModel;
import cx.ring.utils.ConversationPath;
......@@ -117,10 +117,10 @@ public class ConversationSelectionActivity extends AppCompatActivity {
return vm;
List<SmartListViewModel> filteredVms = new ArrayList<>(vm.size());
models: for (SmartListViewModel v : vm) {
List<CallContact> contacts = v.getContact();
List<Contact> contacts = v.getContact();
if (contacts.size() != 1)
continue;
for (SipCall call : conf.getParticipants()) {
for (Call call : conf.getParticipants()) {
if (call.getContact() == v.getContact().get(0)) {
continue models;
}
......
......@@ -66,7 +66,7 @@ import cx.ring.account.AccountEditionFragment;
import cx.ring.account.AccountWizardActivity;
import cx.ring.application.JamiApplication;
import cx.ring.contactrequests.ContactRequestsFragment;
import cx.ring.contacts.AvatarFactory;
import cx.ring.views.AvatarFactory;
import cx.ring.databinding.ActivityHomeBinding;
import cx.ring.fragments.ConversationFragment;
import cx.ring.fragments.SmartListFragment;
......
......@@ -28,35 +28,35 @@ import java.util.ArrayList;
import java.util.Collection;
import cx.ring.R;
import net.jami.model.CallContact;
import net.jami.model.Contact;
public class BlackListAdapter extends RecyclerView.Adapter<BlackListViewHolder> {
public class BlockListAdapter extends RecyclerView.Adapter<BlockListViewHolder> {
private final BlackListViewHolder.BlackListListeners mListener;
private final ArrayList<CallContact> mBlacklisted;
private final BlockListViewHolder.BlockListListeners mListener;
private final ArrayList<Contact> mBlacklisted;
public BlackListAdapter(Collection<CallContact> viewModels, BlackListViewHolder.BlackListListeners listener) {
public BlockListAdapter(Collection<Contact> viewModels, BlockListViewHolder.BlockListListeners listener) {
mBlacklisted = new ArrayList<>(viewModels);
mListener = listener;
}
public void replaceAll(Collection<CallContact> viewModels) {
public void replaceAll(Collection<Contact> viewModels) {
mBlacklisted.clear();
mBlacklisted.addAll(viewModels);
notifyDataSetChanged();
}
@Override
public BlackListViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
public BlockListViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View holderView = LayoutInflater.from(parent.getContext())
.inflate(R.layout.item_contact_blacklist, parent, false);
return new BlackListViewHolder(holderView);
return new BlockListViewHolder(holderView);
}
@Override
public void onBindViewHolder(BlackListViewHolder holder, int position) {
final CallContact contact = mBlacklisted.get(position);
public void onBindViewHolder(BlockListViewHolder holder, int position) {
final Contact contact = mBlacklisted.get(position);
holder.bind(mListener, contact);
}
......
......@@ -36,13 +36,13 @@ import cx.ring.account.JamiAccountSummaryFragment;
import cx.ring.application.JamiApplication;
import cx.ring.databinding.FragBlocklistBinding;
import net.jami.contactrequests.BlackListPresenter;
import net.jami.contactrequests.BlackListView;
import net.jami.model.CallContact;
import net.jami.contactrequests.BlockListPresenter;
import net.jami.contactrequests.BlockListView;
import net.jami.model.Contact;
import cx.ring.mvp.BaseSupportFragment;
public class BlockListFragment extends BaseSupportFragment<BlackListPresenter> implements BlackListView,
BlackListViewHolder.BlackListListeners {
public class BlockListFragment extends BaseSupportFragment<BlockListPresenter> implements BlockListView,
BlockListViewHolder.BlockListListeners {
public static final String TAG = BlockListFragment.class.getSimpleName();
......@@ -57,7 +57,7 @@ public class BlockListFragment extends BaseSupportFragment<BlackListPresenter> i
}
};
private BlackListAdapter mAdapter;
private BlockListAdapter mAdapter;
private FragBlocklistBinding binding;
@Nullable
......@@ -93,17 +93,17 @@ public class BlockListFragment extends BaseSupportFragment<BlackListPresenter> i
}
@Override
public void onUnblockClicked(CallContact viewModel) {
public void onUnblockClicked(Contact viewModel) {
presenter.unblockClicked(viewModel);
}
@Override
public void updateView(final Collection<CallContact> list) {
public void updateView(final Collection<Contact> list) {
binding.blocklist.setVisibility(View.VISIBLE);
if (binding.blocklist.getAdapter() != null) {
mAdapter.replaceAll(list);
} else {
mAdapter = new BlackListAdapter(list, BlockListFragment.this);
mAdapter = new BlockListAdapter(list, BlockListFragment.this);
LinearLayoutManager layoutManager = new LinearLayoutManager(getActivity());
binding.blocklist.setLayoutManager(layoutManager);
binding.blocklist.setAdapter(mAdapter);
......
......@@ -21,25 +21,25 @@ package cx.ring.contactrequests;
import androidx.recyclerview.widget.RecyclerView;
import android.view.View;
import cx.ring.contacts.AvatarFactory;
import cx.ring.views.AvatarFactory;
import cx.ring.databinding.ItemContactBlacklistBinding;
import net.jami.model.CallContact;
import net.jami.model.Contact;
public class BlackListViewHolder extends RecyclerView.ViewHolder {
public class BlockListViewHolder extends RecyclerView.ViewHolder {
private final ItemContactBlacklistBinding binding;
BlackListViewHolder(View view) {
BlockListViewHolder(View view) {
super(view);
binding = ItemContactBlacklistBinding.bind(view);
}
void bind(final BlackListListeners clickListener, final CallContact contact) {
void bind(final BlockListListeners clickListener, final Contact contact) {
AvatarFactory.loadGlideAvatar(binding.photo, contact);
binding.displayName.setText(contact.getRingUsername());
binding.unblock.setOnClickListener(view -> clickListener.onUnblockClicked(contact));
}
public interface BlackListListeners {
void onUnblockClicked(CallContact contact);
public interface BlockListListeners {
void onUnblockClicked(Contact contact);
}
}
......@@ -19,7 +19,7 @@
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
package cx.ring.contacts;
package cx.ring.views;
import android.content.Context;
import android.graphics.Bitmap;
......@@ -33,7 +33,7 @@ import com.bumptech.glide.RequestBuilder;
import com.bumptech.glide.RequestManager;
import net.jami.model.Account;
import net.jami.model.CallContact;
import net.jami.model.Contact;
import net.jami.model.Conversation;
import net.jami.smartlist.SmartListViewModel;
import cx.ring.utils.BitmapUtils;
......@@ -48,11 +48,11 @@ public class AvatarFactory {
private AvatarFactory() {}
public static void loadGlideAvatar(ImageView view, CallContact contact) {
public static void loadGlideAvatar(ImageView view, Contact contact) {
getGlideAvatar(view.getContext(), contact).into(view);
}
public static Single<Drawable> getAvatar(Context context, CallContact contact, boolean presence) {
public static Single<Drawable> getAvatar(Context context, Contact contact, boolean presence) {
return Single.fromCallable(() ->
new AvatarDrawable.Builder()
.withContact(contact)
......@@ -75,18 +75,18 @@ public class AvatarFactory {
.withCircleCrop(true)
.build(context));
}
public static Single<Drawable> getAvatar(Context context, CallContact contact) {
public static Single<Drawable> getAvatar(Context context, Contact contact) {
return getAvatar(context, contact, true);
}
public static Single<Bitmap> getBitmapAvatar(Context context, Conversation conversation, int size, boolean presence) {
return getAvatar(context, conversation, presence)
.map(d -> BitmapUtils.drawableToBitmap(d, size));
}
public static Single<Bitmap> getBitmapAvatar(Context context, CallContact contact, int size, boolean presence) {
public static Single<Bitmap> getBitmapAvatar(Context context, Contact contact, int size, boolean presence) {
return getAvatar(context, contact, presence)
.map(d -> BitmapUtils.drawableToBitmap(d, size));
}
public static Single<Bitmap> getBitmapAvatar(Context context, CallContact contact, int size) {
public static Single<Bitmap> getBitmapAvatar(Context context, Contact contact, int size) {
return getBitmapAvatar(context, contact, size, true);
}
......@@ -111,11 +111,11 @@ public class AvatarFactory {
return request.load(getDrawable(context, photo, profileName, username, id));
}
private static RequestBuilder<Drawable> getGlideAvatar(Context context, RequestManager manager, CallContact contact) {
private static RequestBuilder<Drawable> getGlideAvatar(Context context, RequestManager manager, Contact contact) {
return getGlideRequest(context, manager.asDrawable(), (Bitmap)contact.getPhoto(), contact.getProfileName(), contact.getUsername(), contact.getPrimaryNumber());
}
private static RequestBuilder<Drawable> getGlideAvatar(Context context, CallContact contact) {
private static RequestBuilder<Drawable> getGlideAvatar(Context context, Contact contact) {
return getGlideAvatar(context, Glide.with(context), contact);
}
}
......@@ -109,9 +109,9 @@ import cx.ring.client.HomeActivity;
import net.jami.daemon.Ringservice;
import cx.ring.databinding.FragCallBinding;
import cx.ring.databinding.ItemParticipantLabelBinding;
import net.jami.model.CallContact;
import net.jami.model.Contact;
import net.jami.model.Conference;
import net.jami.model.SipCall;
import net.jami.model.Call;
import cx.ring.mvp.BaseSupportFragment;
import cx.ring.plugins.RecyclerPicker.RecyclerPicker;
import cx.ring.plugins.RecyclerPicker.RecyclerPickerLayoutManager;
......@@ -123,7 +123,6 @@ import cx.ring.utils.ActionHelper;
import cx.ring.utils.ContentUriHandler;
import cx.ring.utils.ConversationPath;
import cx.ring.utils.DeviceUtils;
import cx.ring.utils.KeyboardVisibilityManager;
import cx.ring.utils.MediaButtonsHelper;
import net.jami.utils.StringUtils;
import cx.ring.views.AvatarDrawable;
......@@ -210,7 +209,7 @@ public class CallFragment extends BaseSupportFragment<CallPresenter> implements
return countDownFragment;
}
public static int callStateToHumanState(final SipCall.CallStatus state) {
public static int callStateToHumanState(final Call.CallStatus state) {
switch (state) {
case SEARCHING:
return R.string.call_human_state_searching;
......@@ -943,7 +942,7 @@ public class CallFragment extends BaseSupportFragment<CallPresenter> implements
@Override
@SuppressLint("RestrictedApi")
public void updateContactBubble(@NonNull final List<SipCall> contacts) {
public void updateContactBubble(@NonNull final List<Call> contacts) {
Log.w(TAG, "updateContactBubble " + contacts.size());
mConferenceMode = contacts.size() > 1;
......@@ -1073,14 +1072,14 @@ public class CallFragment extends BaseSupportFragment<CallPresenter> implements
}
@Override
public void updateParticipantRecording(Set<CallContact> contacts) {
public void updateParticipantRecording(Set<Contact> contacts) {
if (contacts.size() == 0) {
binding.recordLayout.setVisibility(View.INVISIBLE);
binding.recordIndicator.clearAnimation();
return;
}
StringBuilder names = new StringBuilder();
Iterator<CallContact> contact = contacts.iterator();
Iterator<Contact> contact = contacts.iterator();
for (int i = 0; i < contacts.size(); i++) {
names.append(" ").append(contact.next().getDisplayName());
if (i != contacts.size() - 1) {
......@@ -1093,7 +1092,7 @@ public class CallFragment extends BaseSupportFragment<CallPresenter> implements
}
@Override
public void updateCallStatus(final SipCall.CallStatus callStatus) {
public void updateCallStatus(final Call.CallStatus callStatus) {
binding.callStatusTxt.setText(callStateToHumanState(callStatus));
}
......@@ -1246,13 +1245,13 @@ public class CallFragment extends BaseSupportFragment<CallPresenter> implements
}
@Override
public void goToAddContact(CallContact callContact) {
startActivityForResult(ActionHelper.getAddNumberIntentForContact(callContact),
public void goToAddContact(Contact contact) {
startActivityForResult(ActionHelper.getAddNumberIntentForContact(contact),
ConversationFragment.REQ_ADD_CONTACT);
}
@Override
public void goToContact(String accountId, CallContact contact) {
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()))
.setClass(requireContext(), ContactDetailsActivity.class));
}
......
......@@ -27,7 +27,7 @@ import cx.ring.application.JamiApplication;
import cx.ring.client.HomeActivity;
import cx.ring.databinding.FragContactPickerBinding;
import net.jami.facades.ConversationFacade;
import net.jami.model.CallContact;
import net.jami.model.Contact;
import net.jami.smartlist.SmartListViewModel;
import cx.ring.viewholders.SmartListViewHolder;
import cx.ring.views.AvatarDrawable;
......@@ -43,7 +43,7 @@ public class ContactPickerFragment extends BottomSheetDialogFragment {
private final CompositeDisposable mDisposableBag = new CompositeDisposable();
private String mAccountId = null;
private final Set<CallContact> mCurrentSelection = new HashSet<>();
private final Set<Contact> mCurrentSelection = new HashSet<>();
@Inject
ConversationFacade mConversationFacade;
......
......@@ -59,8 +59,6 @@ import com.google.android.material.snackbar.Snackbar;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.view.menu.MenuBuilder;
import androidx.appcompat.view.menu.MenuPopupHelper;
import androidx.appcompat.widget.PopupMenu;
......@@ -73,12 +71,10 @@ import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import cx.ring.BuildConfig;
import cx.ring.R;
import cx.ring.adapters.ConversationAdapter;
import cx.ring.application.JamiApplication;
......@@ -86,13 +82,13 @@ import cx.ring.client.CallActivity;
import cx.ring.client.ContactDetailsActivity;
import cx.ring.client.ConversationActivity;
import cx.ring.client.HomeActivity;
import cx.ring.contacts.AvatarFactory;
import cx.ring.views.AvatarFactory;
import net.jami.conversation.ConversationPresenter;
import net.jami.conversation.ConversationView;
import cx.ring.databinding.FragConversationBinding;
import cx.ring.interfaces.Colorable;
import net.jami.model.Account;
import net.jami.model.CallContact;
import net.jami.model.Contact;
import net.jami.model.Conversation;
import net.jami.model.Interaction;
import net.jami.model.DataTransfer;
......@@ -949,7 +945,7 @@ public class ConversationFragment extends BaseSupportFragment<ConversationPresen
}
@Override
public void updateContact(CallContact contact) {
public void updateContact(Contact contact) {
String contactKey = contact.getPrimaryNumber();
AvatarDrawable a = mSmallParticipantAvatars.get(contactKey);
if (a != null) {
......@@ -1009,8 +1005,8 @@ public class ConversationFragment extends BaseSupportFragment<ConversationPresen
}