mirror of
https://github.com/nextcloud/talk-android
synced 2025-06-20 12:09:45 +01:00
Migrate SignalingSettingsWorker from requery to room
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
This commit is contained in:
parent
22ef1457ee
commit
67318883d0
@ -30,6 +30,7 @@ import com.nextcloud.talk.events.EventStatus;
|
|||||||
import com.nextcloud.talk.models.json.capabilities.CapabilitiesOverall;
|
import com.nextcloud.talk.models.json.capabilities.CapabilitiesOverall;
|
||||||
import com.nextcloud.talk.users.UserManager;
|
import com.nextcloud.talk.users.UserManager;
|
||||||
import com.nextcloud.talk.utils.ApiUtils;
|
import com.nextcloud.talk.utils.ApiUtils;
|
||||||
|
import com.nextcloud.talk.utils.UserIdUtils;
|
||||||
import com.nextcloud.talk.utils.bundle.BundleKeys;
|
import com.nextcloud.talk.utils.bundle.BundleKeys;
|
||||||
|
|
||||||
import org.greenrobot.eventbus.EventBus;
|
import org.greenrobot.eventbus.EventBus;
|
||||||
@ -83,32 +84,24 @@ public class CapabilitiesWorker extends Worker {
|
|||||||
try {
|
try {
|
||||||
int rowsCount = userManager.updateOrCreateUser(user).blockingGet();
|
int rowsCount = userManager.updateOrCreateUser(user).blockingGet();
|
||||||
if (rowsCount > 0) {
|
if (rowsCount > 0) {
|
||||||
eventBus.post(new EventStatus(getIdForUser(user),
|
eventBus.post(new EventStatus(UserIdUtils.INSTANCE.getIdForUser(user),
|
||||||
EventStatus.EventType.CAPABILITIES_FETCH,
|
EventStatus.EventType.CAPABILITIES_FETCH,
|
||||||
true));
|
true));
|
||||||
} else {
|
} else {
|
||||||
Log.w(TAG, "Error updating user");
|
Log.w(TAG, "Error updating user");
|
||||||
eventBus.post(new EventStatus(getIdForUser(user),
|
eventBus.post(new EventStatus(UserIdUtils.INSTANCE.getIdForUser(user),
|
||||||
EventStatus.EventType.CAPABILITIES_FETCH,
|
EventStatus.EventType.CAPABILITIES_FETCH,
|
||||||
false));
|
false));
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
Log.e(TAG, "Error updating user", e);
|
Log.e(TAG, "Error updating user", e);
|
||||||
eventBus.post(new EventStatus(getIdForUser(user),
|
eventBus.post(new EventStatus(UserIdUtils.INSTANCE.getIdForUser(user),
|
||||||
EventStatus.EventType.CAPABILITIES_FETCH,
|
EventStatus.EventType.CAPABILITIES_FETCH,
|
||||||
false));
|
false));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private long getIdForUser(User user) {
|
|
||||||
if (user != null && user.getId() != null) {
|
|
||||||
return user.getId();
|
|
||||||
} else {
|
|
||||||
return NO_ID;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
@Override
|
@Override
|
||||||
public Result doWork() {
|
public Result doWork() {
|
||||||
|
@ -21,22 +21,20 @@
|
|||||||
package com.nextcloud.talk.jobs;
|
package com.nextcloud.talk.jobs;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.util.Log;
|
|
||||||
|
|
||||||
import com.bluelinelabs.logansquare.LoganSquare;
|
|
||||||
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.data.user.model.User;
|
||||||
import com.nextcloud.talk.events.EventStatus;
|
import com.nextcloud.talk.events.EventStatus;
|
||||||
import com.nextcloud.talk.models.ExternalSignalingServer;
|
import com.nextcloud.talk.models.ExternalSignalingServer;
|
||||||
import com.nextcloud.talk.models.database.UserEntity;
|
|
||||||
import com.nextcloud.talk.models.json.signaling.settings.SignalingSettingsOverall;
|
import com.nextcloud.talk.models.json.signaling.settings.SignalingSettingsOverall;
|
||||||
|
import com.nextcloud.talk.users.UserManager;
|
||||||
import com.nextcloud.talk.utils.ApiUtils;
|
import com.nextcloud.talk.utils.ApiUtils;
|
||||||
|
import com.nextcloud.talk.utils.UserIdUtils;
|
||||||
import com.nextcloud.talk.utils.bundle.BundleKeys;
|
import com.nextcloud.talk.utils.bundle.BundleKeys;
|
||||||
import com.nextcloud.talk.utils.database.user.UserUtils;
|
|
||||||
|
|
||||||
import org.greenrobot.eventbus.EventBus;
|
import org.greenrobot.eventbus.EventBus;
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -54,10 +52,9 @@ import io.reactivex.disposables.Disposable;
|
|||||||
|
|
||||||
@AutoInjector(NextcloudTalkApplication.class)
|
@AutoInjector(NextcloudTalkApplication.class)
|
||||||
public class SignalingSettingsWorker extends Worker {
|
public class SignalingSettingsWorker extends Worker {
|
||||||
private static final String TAG = "SignalingSettingsJob";
|
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
UserUtils userUtils;
|
UserManager userManager;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
NcApi ncApi;
|
NcApi ncApi;
|
||||||
@ -78,77 +75,75 @@ public class SignalingSettingsWorker extends Worker {
|
|||||||
|
|
||||||
long internalUserId = data.getLong(BundleKeys.INSTANCE.getKEY_INTERNAL_USER_ID(), -1);
|
long internalUserId = data.getLong(BundleKeys.INSTANCE.getKEY_INTERNAL_USER_ID(), -1);
|
||||||
|
|
||||||
List<UserEntity> userEntityList = new ArrayList<>();
|
List<User> userEntityObjectList = new ArrayList<>();
|
||||||
UserEntity userEntity;
|
boolean userExists = userManager.getUserWithInternalId(internalUserId).isEmpty().blockingGet();
|
||||||
if (internalUserId == -1 || (userEntity = userUtils.getUserWithInternalId(internalUserId)) == null) {
|
|
||||||
userEntityList = userUtils.getUsers();
|
if (internalUserId == -1 || !userExists) {
|
||||||
|
userEntityObjectList = userManager.getUsers().blockingGet();
|
||||||
} else {
|
} else {
|
||||||
userEntityList.add(userEntity);
|
userEntityObjectList.add(userManager.getUserWithInternalId(internalUserId).blockingGet());
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0; i < userEntityList.size(); i++) {
|
for (User user : userEntityObjectList) {
|
||||||
userEntity = userEntityList.get(i);
|
|
||||||
UserEntity finalUserEntity = userEntity;
|
|
||||||
|
|
||||||
int apiVersion = ApiUtils.getSignalingApiVersion(finalUserEntity, new int[] {ApiUtils.APIv3, 2, 1});
|
int apiVersion = ApiUtils.getSignalingApiVersion(user, new int[] {ApiUtils.APIv3, 2, 1});
|
||||||
|
|
||||||
ncApi.getSignalingSettings(ApiUtils.getCredentials(userEntity.getUsername(), userEntity.getToken()),
|
ncApi.getSignalingSettings(
|
||||||
ApiUtils.getUrlForSignalingSettings(apiVersion, userEntity.getBaseUrl()))
|
ApiUtils.getCredentials(user.getUsername(), user.getToken()),
|
||||||
.blockingSubscribe(new Observer<SignalingSettingsOverall>() {
|
ApiUtils.getUrlForSignalingSettings(apiVersion, user.getBaseUrl()))
|
||||||
@Override
|
.blockingSubscribe(new Observer<SignalingSettingsOverall>() {
|
||||||
public void onSubscribe(Disposable d) {
|
@Override
|
||||||
|
public void onSubscribe(Disposable d) {
|
||||||
|
// unused stm
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onNext(SignalingSettingsOverall signalingSettingsOverall) {
|
||||||
|
ExternalSignalingServer externalSignalingServer;
|
||||||
|
externalSignalingServer = new ExternalSignalingServer();
|
||||||
|
|
||||||
|
if (signalingSettingsOverall.getOcs() != null &&
|
||||||
|
signalingSettingsOverall.getOcs().getSettings() != null) {
|
||||||
|
externalSignalingServer.setExternalSignalingServer(signalingSettingsOverall
|
||||||
|
.getOcs()
|
||||||
|
.getSettings()
|
||||||
|
.getExternalSignalingServer());
|
||||||
|
externalSignalingServer.setExternalSignalingTicket(signalingSettingsOverall
|
||||||
|
.getOcs()
|
||||||
|
.getSettings()
|
||||||
|
.getExternalSignalingTicket());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
int rows = userManager.saveUser(user).blockingGet();
|
||||||
public void onNext(SignalingSettingsOverall signalingSettingsOverall) {
|
|
||||||
ExternalSignalingServer externalSignalingServer;
|
|
||||||
externalSignalingServer = new ExternalSignalingServer();
|
|
||||||
externalSignalingServer.setExternalSignalingServer(signalingSettingsOverall.getOcs().getSettings().getExternalSignalingServer());
|
|
||||||
externalSignalingServer.setExternalSignalingTicket(signalingSettingsOverall.getOcs().getSettings().getExternalSignalingTicket());
|
|
||||||
|
|
||||||
try {
|
if (rows > 0) {
|
||||||
userUtils.createOrUpdateUser(null, null, null, null, null,
|
eventBus.post(new EventStatus(UserIdUtils.INSTANCE.getIdForUser(user),
|
||||||
null, null, finalUserEntity.getId(), null, null, LoganSquare.serialize(externalSignalingServer))
|
EventStatus.EventType.SIGNALING_SETTINGS,
|
||||||
.subscribe(new Observer<UserEntity>() {
|
true));
|
||||||
@Override
|
} else {
|
||||||
public void onSubscribe(Disposable d) {
|
eventBus.post(new EventStatus(UserIdUtils.INSTANCE.getIdForUser(user),
|
||||||
|
EventStatus.EventType.SIGNALING_SETTINGS,
|
||||||
}
|
false));
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onNext(UserEntity userEntity) {
|
|
||||||
eventBus.post(new EventStatus(finalUserEntity.getId(), EventStatus.EventType.SIGNALING_SETTINGS, true));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onError(Throwable e) {
|
|
||||||
eventBus.post(new EventStatus(finalUserEntity.getId(), EventStatus.EventType.SIGNALING_SETTINGS, false));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onComplete() {
|
|
||||||
|
|
||||||
}
|
|
||||||
});
|
|
||||||
} catch (IOException e) {
|
|
||||||
Log.e(TAG, "Failed to serialize external signaling server");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onError(Throwable e) {
|
public void onError(Throwable e) {
|
||||||
eventBus.post(new EventStatus(finalUserEntity.getId(), EventStatus.EventType.SIGNALING_SETTINGS, false));
|
eventBus.post(new EventStatus(UserIdUtils.INSTANCE.getIdForUser(user),
|
||||||
}
|
EventStatus.EventType.SIGNALING_SETTINGS,
|
||||||
|
false));
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onComplete() {
|
public void onComplete() {
|
||||||
|
// unused atm
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
OneTimeWorkRequest websocketConnectionsWorker = new OneTimeWorkRequest.Builder(WebsocketConnectionsWorker.class).build();
|
OneTimeWorkRequest websocketConnectionsWorker = new OneTimeWorkRequest
|
||||||
|
.Builder(WebsocketConnectionsWorker.class)
|
||||||
|
.build();
|
||||||
WorkManager.getInstance().enqueue(websocketConnectionsWorker);
|
WorkManager.getInstance().enqueue(websocketConnectionsWorker);
|
||||||
|
|
||||||
return Result.success();
|
return Result.success();
|
||||||
|
@ -35,15 +35,15 @@ import autodagger.AutoInjector
|
|||||||
import com.bluelinelabs.conductor.Controller
|
import com.bluelinelabs.conductor.Controller
|
||||||
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.generic.GenericOverall
|
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.ApiUtils
|
||||||
import com.nextcloud.talk.utils.UriUtils
|
import com.nextcloud.talk.utils.UriUtils
|
||||||
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_FILE_PATHS
|
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_FILE_PATHS
|
||||||
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_INTERNAL_USER_ID
|
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_INTERNAL_USER_ID
|
||||||
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_META_DATA
|
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_META_DATA
|
||||||
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_ROOM_TOKEN
|
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_ROOM_TOKEN
|
||||||
import com.nextcloud.talk.utils.database.user.UserUtils
|
|
||||||
import com.nextcloud.talk.utils.preferences.AppPreferences
|
import com.nextcloud.talk.utils.preferences.AppPreferences
|
||||||
import io.reactivex.Observer
|
import io.reactivex.Observer
|
||||||
import io.reactivex.android.schedulers.AndroidSchedulers
|
import io.reactivex.android.schedulers.AndroidSchedulers
|
||||||
@ -56,7 +56,6 @@ import java.io.File
|
|||||||
import java.io.FileNotFoundException
|
import java.io.FileNotFoundException
|
||||||
import java.io.FileOutputStream
|
import java.io.FileOutputStream
|
||||||
import java.io.InputStream
|
import java.io.InputStream
|
||||||
import java.util.ArrayList
|
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@AutoInjector(NextcloudTalkApplication::class)
|
@AutoInjector(NextcloudTalkApplication::class)
|
||||||
@ -67,7 +66,7 @@ class UploadAndShareFilesWorker(val context: Context, workerParameters: WorkerPa
|
|||||||
lateinit var ncApi: NcApi
|
lateinit var ncApi: NcApi
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
lateinit var userUtils: UserUtils
|
lateinit var userManager: UserManager
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
lateinit var appPreferences: AppPreferences
|
lateinit var appPreferences: AppPreferences
|
||||||
@ -86,7 +85,7 @@ class UploadAndShareFilesWorker(val context: Context, workerParameters: WorkerPa
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
val currentUser = userUtils.currentUser
|
val currentUser = userManager.currentUser.blockingGet()
|
||||||
val sourcefiles = inputData.getStringArray(DEVICE_SOURCEFILES)
|
val sourcefiles = inputData.getStringArray(DEVICE_SOURCEFILES)
|
||||||
val ncTargetpath = inputData.getString(NC_TARGETPATH)
|
val ncTargetpath = inputData.getString(NC_TARGETPATH)
|
||||||
val roomToken = inputData.getString(ROOM_TOKEN)
|
val roomToken = inputData.getString(ROOM_TOKEN)
|
||||||
@ -137,7 +136,7 @@ class UploadAndShareFilesWorker(val context: Context, workerParameters: WorkerPa
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun uploadFile(
|
private fun uploadFile(
|
||||||
currentUser: UserEntity,
|
currentUser: User,
|
||||||
uploadItem: UploadItem,
|
uploadItem: UploadItem,
|
||||||
ncTargetPath: String?,
|
ncTargetPath: String?,
|
||||||
roomToken: String?,
|
roomToken: String?,
|
||||||
@ -192,7 +191,7 @@ class UploadAndShareFilesWorker(val context: Context, workerParameters: WorkerPa
|
|||||||
|
|
||||||
private fun shareFile(
|
private fun shareFile(
|
||||||
roomToken: String?,
|
roomToken: String?,
|
||||||
currentUser: UserEntity,
|
currentUser: User,
|
||||||
ncTargetpath: String?,
|
ncTargetpath: String?,
|
||||||
filename: String?,
|
filename: String?,
|
||||||
metaData: String?
|
metaData: String?
|
||||||
@ -202,7 +201,7 @@ class UploadAndShareFilesWorker(val context: Context, workerParameters: WorkerPa
|
|||||||
paths.add("$ncTargetpath/$filename")
|
paths.add("$ncTargetpath/$filename")
|
||||||
|
|
||||||
val data = Data.Builder()
|
val data = Data.Builder()
|
||||||
.putLong(KEY_INTERNAL_USER_ID, currentUser.id)
|
.putLong(KEY_INTERNAL_USER_ID, currentUser.id!!)
|
||||||
.putString(KEY_ROOM_TOKEN, roomToken)
|
.putString(KEY_ROOM_TOKEN, roomToken)
|
||||||
.putStringArray(KEY_FILE_PATHS, paths.toTypedArray())
|
.putStringArray(KEY_FILE_PATHS, paths.toTypedArray())
|
||||||
.putString(KEY_META_DATA, metaData)
|
.putString(KEY_META_DATA, metaData)
|
||||||
|
@ -38,14 +38,14 @@ import autodagger.AutoInjector
|
|||||||
import com.nextcloud.talk.R
|
import com.nextcloud.talk.R
|
||||||
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.generic.GenericOverall
|
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.ApiUtils
|
||||||
import com.nextcloud.talk.utils.NotificationUtils
|
import com.nextcloud.talk.utils.NotificationUtils
|
||||||
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_INTERNAL_USER_ID
|
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_INTERNAL_USER_ID
|
||||||
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_ROOM_TOKEN
|
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_ROOM_TOKEN
|
||||||
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_SYSTEM_NOTIFICATION_ID
|
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_SYSTEM_NOTIFICATION_ID
|
||||||
import com.nextcloud.talk.utils.database.user.UserUtils
|
|
||||||
import io.reactivex.Observer
|
import io.reactivex.Observer
|
||||||
import io.reactivex.android.schedulers.AndroidSchedulers
|
import io.reactivex.android.schedulers.AndroidSchedulers
|
||||||
import io.reactivex.disposables.Disposable
|
import io.reactivex.disposables.Disposable
|
||||||
@ -56,13 +56,13 @@ import javax.inject.Inject
|
|||||||
class DirectReplyReceiver : BroadcastReceiver() {
|
class DirectReplyReceiver : BroadcastReceiver() {
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
lateinit var userUtils: UserUtils
|
lateinit var userManager: UserManager
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
lateinit var ncApi: NcApi
|
lateinit var ncApi: NcApi
|
||||||
|
|
||||||
lateinit var context: Context
|
lateinit var context: Context
|
||||||
lateinit var currentUser: UserEntity
|
lateinit var currentUser: User
|
||||||
private var systemNotificationId: Int? = null
|
private var systemNotificationId: Int? = null
|
||||||
private var roomToken: String? = null
|
private var roomToken: String? = null
|
||||||
private var replyMessage: CharSequence? = null
|
private var replyMessage: CharSequence? = null
|
||||||
@ -79,8 +79,8 @@ class DirectReplyReceiver : BroadcastReceiver() {
|
|||||||
systemNotificationId = intent!!.getIntExtra(KEY_SYSTEM_NOTIFICATION_ID, 0)
|
systemNotificationId = intent!!.getIntExtra(KEY_SYSTEM_NOTIFICATION_ID, 0)
|
||||||
roomToken = intent.getStringExtra(KEY_ROOM_TOKEN)
|
roomToken = intent.getStringExtra(KEY_ROOM_TOKEN)
|
||||||
|
|
||||||
val id = intent.getLongExtra(KEY_INTERNAL_USER_ID, userUtils.currentUser!!.id)
|
val id = intent.getLongExtra(KEY_INTERNAL_USER_ID, userManager.currentUser.blockingGet().id!!)
|
||||||
currentUser = userUtils.getUserWithId(id)
|
currentUser = userManager.getUserWithId(id).blockingGet()
|
||||||
|
|
||||||
replyMessage = getMessageText(intent)
|
replyMessage = getMessageText(intent)
|
||||||
sendDirectReply()
|
sendDirectReply()
|
||||||
|
@ -32,14 +32,14 @@ import androidx.annotation.RequiresApi
|
|||||||
import autodagger.AutoInjector
|
import autodagger.AutoInjector
|
||||||
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.generic.GenericOverall
|
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.ApiUtils
|
||||||
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_INTERNAL_USER_ID
|
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_INTERNAL_USER_ID
|
||||||
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_MESSAGE_ID
|
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_MESSAGE_ID
|
||||||
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_ROOM_TOKEN
|
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_ROOM_TOKEN
|
||||||
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_SYSTEM_NOTIFICATION_ID
|
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_SYSTEM_NOTIFICATION_ID
|
||||||
import com.nextcloud.talk.utils.database.user.UserUtils
|
|
||||||
import io.reactivex.Observer
|
import io.reactivex.Observer
|
||||||
import io.reactivex.android.schedulers.AndroidSchedulers
|
import io.reactivex.android.schedulers.AndroidSchedulers
|
||||||
import io.reactivex.disposables.Disposable
|
import io.reactivex.disposables.Disposable
|
||||||
@ -50,13 +50,13 @@ import javax.inject.Inject
|
|||||||
class MarkAsReadReceiver : BroadcastReceiver() {
|
class MarkAsReadReceiver : BroadcastReceiver() {
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
lateinit var userUtils: UserUtils
|
lateinit var userManager: UserManager
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
lateinit var ncApi: NcApi
|
lateinit var ncApi: NcApi
|
||||||
|
|
||||||
lateinit var context: Context
|
lateinit var context: Context
|
||||||
lateinit var currentUser: UserEntity
|
lateinit var currentUser: User
|
||||||
private var systemNotificationId: Int? = null
|
private var systemNotificationId: Int? = null
|
||||||
private var roomToken: String? = null
|
private var roomToken: String? = null
|
||||||
private var messageId: Int = 0
|
private var messageId: Int = 0
|
||||||
@ -74,8 +74,8 @@ class MarkAsReadReceiver : BroadcastReceiver() {
|
|||||||
roomToken = intent.getStringExtra(KEY_ROOM_TOKEN)
|
roomToken = intent.getStringExtra(KEY_ROOM_TOKEN)
|
||||||
messageId = intent.getIntExtra(KEY_MESSAGE_ID, 0)
|
messageId = intent.getIntExtra(KEY_MESSAGE_ID, 0)
|
||||||
|
|
||||||
val id = intent.getLongExtra(KEY_INTERNAL_USER_ID, userUtils.currentUser!!.id)
|
val id = intent.getLongExtra(KEY_INTERNAL_USER_ID, userManager.currentUser.blockingGet().id!!)
|
||||||
currentUser = userUtils.getUserWithId(id)
|
currentUser = userManager.getUserWithId(id).blockingGet()
|
||||||
|
|
||||||
markAsRead()
|
markAsRead()
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user