migrate mention auto complete from requery to room

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
This commit is contained in:
Andy Scherzinger 2022-07-23 14:08:45 +02:00
parent 525da5fba1
commit 70ae6eb27d
No known key found for this signature in database
GPG Key ID: 6CADC7E3523C308B
2 changed files with 15 additions and 12 deletions

View File

@ -4,7 +4,7 @@
* @author Mario Danic * @author Mario Danic
* @author Marcel Hibbe * @author Marcel Hibbe
* @author Andy Scherzinger * @author Andy Scherzinger
* Copyright (C) 2021 Andy Scherzinger <info@andy-scherzinger.de> * Copyright (C) 2021-2022 Andy Scherzinger <info@andy-scherzinger.de>
* Copyright (C) 2022 Marcel Hibbe <dev@mhibbe.de> * Copyright (C) 2022 Marcel Hibbe <dev@mhibbe.de>
* Copyright (C) 2017 Mario Danic <mario@lovelyhq.com> * Copyright (C) 2017 Mario Danic <mario@lovelyhq.com>
* *
@ -32,7 +32,7 @@ import com.facebook.drawee.backends.pipeline.Fresco;
import com.facebook.drawee.interfaces.DraweeController; import com.facebook.drawee.interfaces.DraweeController;
import com.nextcloud.talk.R; import com.nextcloud.talk.R;
import com.nextcloud.talk.application.NextcloudTalkApplication; import com.nextcloud.talk.application.NextcloudTalkApplication;
import com.nextcloud.talk.models.database.UserEntity; import com.nextcloud.talk.data.user.model.User;
import com.nextcloud.talk.models.json.mention.Mention; import com.nextcloud.talk.models.json.mention.Mention;
import com.nextcloud.talk.models.json.status.StatusType; import com.nextcloud.talk.models.json.status.StatusType;
import com.nextcloud.talk.ui.StatusDrawable; import com.nextcloud.talk.ui.StatusDrawable;
@ -65,12 +65,12 @@ public class MentionAutocompleteItem extends AbstractFlexibleItem<ParticipantIte
private final String status; private final String status;
private final String statusIcon; private final String statusIcon;
private final String statusMessage; private final String statusMessage;
private final UserEntity currentUser; private final User currentUser;
private final Context context; private final Context context;
public MentionAutocompleteItem( public MentionAutocompleteItem(
Mention mention, Mention mention,
UserEntity currentUser, User currentUser,
Context activityContext) { Context activityContext) {
this.objectId = mention.getId(); this.objectId = mention.getId();
this.displayName = mention.getLabel(); this.displayName = mention.getLabel();

View File

@ -4,8 +4,8 @@
* @author Mario Danic * @author Mario Danic
* @author Andy Scherzinger * @author Andy Scherzinger
* @author Marcel Hibbe * @author Marcel Hibbe
* Copyright (C) 2022 Marcel Hibbe (dev@mhibbe.de) * Copyright (C) 2022 Marcel Hibbe <dev@mhibbe.de>
* Copyright (C) 2021 Andy Scherzinger <info@andy-scherzinger.de> * Copyright (C) 2021-2022 Andy Scherzinger <info@andy-scherzinger.de>
* Copyright (C) 2017-2018 Mario Danic <mario@lovelyhq.com> * Copyright (C) 2017-2018 Mario Danic <mario@lovelyhq.com>
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -33,11 +33,11 @@ import android.view.ViewGroup;
import com.nextcloud.talk.adapters.items.MentionAutocompleteItem; import com.nextcloud.talk.adapters.items.MentionAutocompleteItem;
import com.nextcloud.talk.api.NcApi; import com.nextcloud.talk.api.NcApi;
import com.nextcloud.talk.application.NextcloudTalkApplication; import com.nextcloud.talk.application.NextcloudTalkApplication;
import com.nextcloud.talk.models.database.UserEntity; import com.nextcloud.talk.data.user.model.User;
import com.nextcloud.talk.models.json.mention.Mention; import com.nextcloud.talk.models.json.mention.Mention;
import com.nextcloud.talk.models.json.mention.MentionOverall; import com.nextcloud.talk.models.json.mention.MentionOverall;
import com.nextcloud.talk.users.UserManager;
import com.nextcloud.talk.utils.ApiUtils; import com.nextcloud.talk.utils.ApiUtils;
import com.nextcloud.talk.utils.database.user.UserUtils;
import com.otaliastudios.autocomplete.RecyclerViewPresenter; import com.otaliastudios.autocomplete.RecyclerViewPresenter;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@ -62,11 +62,14 @@ import io.reactivex.schedulers.Schedulers;
@AutoInjector(NextcloudTalkApplication.class) @AutoInjector(NextcloudTalkApplication.class)
public class MentionAutocompletePresenter extends RecyclerViewPresenter<Mention> implements FlexibleAdapter.OnItemClickListener { public class MentionAutocompletePresenter extends RecyclerViewPresenter<Mention> implements FlexibleAdapter.OnItemClickListener {
private static final String TAG = "MentionAutocompletePresenter"; private static final String TAG = "MentionAutocompletePresenter";
@Inject @Inject
NcApi ncApi; NcApi ncApi;
@Inject @Inject
UserUtils userUtils; UserManager userManager;
private UserEntity currentUser;
private User currentUser;
private FlexibleAdapter<AbstractFlexibleItem> adapter; private FlexibleAdapter<AbstractFlexibleItem> adapter;
private Context context; private Context context;
@ -78,7 +81,7 @@ public class MentionAutocompletePresenter extends RecyclerViewPresenter<Mention>
super(context); super(context);
this.context = context; this.context = context;
NextcloudTalkApplication.Companion.getSharedApplication().getComponentApplication().inject(this); NextcloudTalkApplication.Companion.getSharedApplication().getComponentApplication().inject(this);
currentUser = userUtils.getCurrentUser(); currentUser = userManager.getCurrentUser().blockingGet();
} }
public MentionAutocompletePresenter(Context context, String roomToken) { public MentionAutocompletePresenter(Context context, String roomToken) {
@ -86,7 +89,7 @@ public class MentionAutocompletePresenter extends RecyclerViewPresenter<Mention>
this.roomToken = roomToken; this.roomToken = roomToken;
this.context = context; this.context = context;
NextcloudTalkApplication.Companion.getSharedApplication().getComponentApplication().inject(this); NextcloudTalkApplication.Companion.getSharedApplication().getComponentApplication().inject(this);
currentUser = userUtils.getCurrentUser(); currentUser = userManager.getCurrentUser().blockingGet();
} }
@Override @Override