diff --git a/app/src/main/java/com/nextcloud/talk/jobs/LeaveConversationWorker.java b/app/src/main/java/com/nextcloud/talk/jobs/LeaveConversationWorker.java index 826e3b7f8..fcf633c02 100644 --- a/app/src/main/java/com/nextcloud/talk/jobs/LeaveConversationWorker.java +++ b/app/src/main/java/com/nextcloud/talk/jobs/LeaveConversationWorker.java @@ -23,34 +23,38 @@ package com.nextcloud.talk.jobs; import android.content.Context; import android.util.Log; +import com.nextcloud.talk.api.NcApi; +import com.nextcloud.talk.application.NextcloudTalkApplication; +import com.nextcloud.talk.data.user.model.User; +import com.nextcloud.talk.events.EventStatus; +import com.nextcloud.talk.models.json.generic.GenericOverall; +import com.nextcloud.talk.users.UserManager; +import com.nextcloud.talk.utils.ApiUtils; +import com.nextcloud.talk.utils.UserIdUtils; +import com.nextcloud.talk.utils.bundle.BundleKeys; + +import org.greenrobot.eventbus.EventBus; + +import java.net.CookieManager; + +import javax.inject.Inject; + import androidx.annotation.NonNull; import androidx.work.Data; import androidx.work.Worker; import androidx.work.WorkerParameters; import autodagger.AutoInjector; -import com.nextcloud.talk.api.NcApi; -import com.nextcloud.talk.application.NextcloudTalkApplication; -import com.nextcloud.talk.events.EventStatus; -import com.nextcloud.talk.models.database.UserEntity; -import com.nextcloud.talk.models.json.generic.GenericOverall; -import com.nextcloud.talk.utils.ApiUtils; -import com.nextcloud.talk.utils.bundle.BundleKeys; -import com.nextcloud.talk.utils.database.user.UserUtils; import io.reactivex.Observer; import io.reactivex.disposables.Disposable; import io.reactivex.schedulers.Schedulers; import okhttp3.JavaNetCookieJar; import okhttp3.OkHttpClient; -import org.greenrobot.eventbus.EventBus; import retrofit2.Retrofit; -import javax.inject.Inject; -import java.net.CookieManager; - @AutoInjector(NextcloudTalkApplication.class) public class LeaveConversationWorker extends Worker { - private static String TAG = "LeaveConversationWorker"; + private static final String TAG = "LeaveConversationWorker"; @Inject Retrofit retrofit; @@ -59,7 +63,7 @@ public class LeaveConversationWorker extends Worker { OkHttpClient okHttpClient; @Inject - UserUtils userUtils; + UserManager userManager; @Inject EventBus eventBus; @@ -77,15 +81,16 @@ public class LeaveConversationWorker extends Worker { Data data = getInputData(); long operationUserId = data.getLong(BundleKeys.INSTANCE.getKEY_INTERNAL_USER_ID(), -1); String conversationToken = data.getString(BundleKeys.INSTANCE.getKEY_ROOM_TOKEN()); - UserEntity operationUser = userUtils.getUserWithId(operationUserId); + User operationUser = userManager.getUserWithId(operationUserId).blockingGet(); if (operationUser != null) { String credentials = ApiUtils.getCredentials(operationUser.getUsername(), operationUser.getToken()); ncApi = retrofit.newBuilder().client(okHttpClient.newBuilder().cookieJar(new JavaNetCookieJar(new CookieManager())).build()).build().create(NcApi.class); - EventStatus eventStatus = new EventStatus(operationUser.getId(), - EventStatus.EventType.CONVERSATION_UPDATE, true); + EventStatus eventStatus = new EventStatus(UserIdUtils.INSTANCE.getIdForUser(operationUser), + EventStatus.EventType.CONVERSATION_UPDATE, + true); int apiVersion = ApiUtils.getConversationApiVersion(operationUser, new int[] {ApiUtils.APIv4, 1}); @@ -99,13 +104,11 @@ public class LeaveConversationWorker extends Worker { @Override public void onSubscribe(Disposable d) { disposable = d; - } @Override public void onNext(GenericOverall genericOverall) { eventBus.postSticky(eventStatus); - } @Override