From 5aec11f38b41e2ebab2f258725d53c076da14d01 Mon Sep 17 00:00:00 2001 From: jinliu9508 Date: Tue, 5 Dec 2023 18:32:12 -0500 Subject: [PATCH] Remove code related to the previous user state --- .../sdktest/application/MainApplication.java | 11 +++++++ .../sdktest/model/MainActivityViewModel.java | 25 +-------------- .../java/com/onesignal/common/IDManager.kt | 15 --------- .../onesignal/common/events/EventProducer.kt | 2 +- .../common/modeling/IModelChangedHandler.kt | 11 ------- .../ISingletonModelStoreChangeHandler.kt | 2 +- .../common/modeling/SingletonModelStore.kt | 4 +-- .../config/impl/ConfigModelStoreListener.kt | 3 +- .../listeners/SingletonModelStoreListener.kt | 5 ++- .../java/com/onesignal/user/IUserManager.kt | 10 ++++++ .../com/onesignal/user/UserChangedState.kt | 2 -- .../main/java/com/onesignal/user/UserState.kt | 27 +++++----------- .../onesignal/user/internal/UserManager.kt | 32 +++++-------------- .../listeners/IdentityModelStoreListener.kt | 3 +- .../listeners/PropertiesModelStoreListener.kt | 3 +- .../internal/InAppMessagesManager.kt | 3 +- .../listeners/DeviceRegistrationListener.kt | 5 ++- 17 files changed, 49 insertions(+), 114 deletions(-) diff --git a/Examples/OneSignalDemo/app/src/main/java/com/onesignal/sdktest/application/MainApplication.java b/Examples/OneSignalDemo/app/src/main/java/com/onesignal/sdktest/application/MainApplication.java index 8d82807c91..eaecd7774c 100644 --- a/Examples/OneSignalDemo/app/src/main/java/com/onesignal/sdktest/application/MainApplication.java +++ b/Examples/OneSignalDemo/app/src/main/java/com/onesignal/sdktest/application/MainApplication.java @@ -26,6 +26,9 @@ import com.onesignal.sdktest.constant.Text; import com.onesignal.sdktest.notification.OneSignalNotificationSender; import com.onesignal.sdktest.util.SharedPreferenceUtil; +import com.onesignal.user.IUserStateObserver; +import com.onesignal.user.UserChangedState; +import com.onesignal.user.UserState; import org.json.JSONObject; @@ -116,6 +119,14 @@ public void onWillDisplay(@NonNull INotificationWillDisplayEvent event) { } }); + OneSignal.getUser().addObserver(new IUserStateObserver() { + @Override + public void onUserStateChange(@NonNull UserChangedState state) { + UserState currentUserState = state.getCurrent(); + Log.v(Tag.LOG_TAG, "onUserStateChange fired " + currentUserState.toJSONObject()); + } + }); + OneSignal.getInAppMessages().setPaused(true); OneSignal.getLocation().setShared(false); diff --git a/Examples/OneSignalDemo/app/src/main/java/com/onesignal/sdktest/model/MainActivityViewModel.java b/Examples/OneSignalDemo/app/src/main/java/com/onesignal/sdktest/model/MainActivityViewModel.java index 6aa6e10d21..58069a298c 100644 --- a/Examples/OneSignalDemo/app/src/main/java/com/onesignal/sdktest/model/MainActivityViewModel.java +++ b/Examples/OneSignalDemo/app/src/main/java/com/onesignal/sdktest/model/MainActivityViewModel.java @@ -3,7 +3,6 @@ import android.app.Activity; import android.content.Context; import com.google.android.material.appbar.AppBarLayout; - import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.annotation.RequiresApi; @@ -13,10 +12,8 @@ import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; import androidx.appcompat.widget.Toolbar; - import android.content.Intent; import android.os.Build; -import android.util.Log; import android.util.Pair; import android.view.View; import android.view.ViewTreeObserver; @@ -25,17 +22,10 @@ import android.widget.RelativeLayout; import android.widget.Switch; import android.widget.TextView; - import com.onesignal.Continue; import com.onesignal.OneSignal; -import com.onesignal.debug.internal.logging.Logging; import com.onesignal.sdktest.adapter.SubscriptionRecyclerViewAdapter; -import com.onesignal.user.IUserStateObserver; -import com.onesignal.user.UserChangedState; -import com.onesignal.user.UserState; -import com.onesignal.user.subscriptions.IEmailSubscription; import com.onesignal.user.subscriptions.IPushSubscription; -import com.onesignal.user.subscriptions.ISmsSubscription; import com.onesignal.sdktest.R; import com.onesignal.sdktest.activity.SecondaryActivity; import com.onesignal.sdktest.adapter.InAppMessageRecyclerViewAdapter; @@ -61,13 +51,12 @@ import com.onesignal.user.subscriptions.ISubscription; import com.onesignal.user.subscriptions.IPushSubscriptionObserver; import com.onesignal.user.subscriptions.PushSubscriptionChangedState; - import java.util.ArrayList; import java.util.HashMap; import java.util.Map; @RequiresApi(api = Build.VERSION_CODES.N) -public class MainActivityViewModel implements ActivityViewModel, IPushSubscriptionObserver, IUserStateObserver { +public class MainActivityViewModel implements ActivityViewModel, IPushSubscriptionObserver { private Animate animate; private Dialog dialog; @@ -297,7 +286,6 @@ public ActivityViewModel onActivityCreated(Context context) { triggerArrayList = new ArrayList<>(); OneSignal.getUser().getPushSubscription().addObserver(this); - OneSignal.getUser().addObserver(this); return this; } @@ -506,17 +494,6 @@ public void onPushSubscriptionChange(@NonNull PushSubscriptionChangedState state refreshSubscriptionState(); } - @Override - public void onUserStateChange(@NonNull UserChangedState state) { - UserState currentState = state.getCurrent(); - UserState prevState = state.getPrevious(); - Logging.debug("onUserStateChanged; previous onesignalId: " + String.valueOf(prevState.getOnesignalId()) - + ", previous externalId: " + String.valueOf(prevState.getExternalId()) - + ", current onesignalId: " + String.valueOf(currentState.getOnesignalId()) - + ", current externalId: " + String.valueOf(currentState.getExternalId()), - null); - } - private class DummySubscription implements ISubscription { private String _id; diff --git a/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/common/IDManager.kt b/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/common/IDManager.kt index c3de6dcb08..d0e168a787 100644 --- a/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/common/IDManager.kt +++ b/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/common/IDManager.kt @@ -26,19 +26,4 @@ object IDManager { * @return true if the [id] provided was created via [createLocalId]. */ fun isLocalId(id: String): Boolean = id.startsWith(LOCAL_PREFIX) - - /** - * Get non local ID or null. - * - * @param id The ID to test. - * - * @return [id] or null if the [id] provided was created via [createLocalId]. - */ - fun getNonLocalIDOrNull(id: String): String? { - if (isLocalId(id)) { - return null - } - - return id - } } diff --git a/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/common/events/EventProducer.kt b/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/common/events/EventProducer.kt index 6094c76ead..30f593a871 100644 --- a/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/common/events/EventProducer.kt +++ b/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/common/events/EventProducer.kt @@ -44,7 +44,7 @@ open class EventProducer : IEventNotifier { * * @param callback The callback will be invoked for each subscribed handler, allowing you to call the handler. */ - open fun fire(callback: (THandler) -> Unit) { + fun fire(callback: (THandler) -> Unit) { synchronized(subscribers) { for (s in subscribers) { callback(s) diff --git a/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/common/modeling/IModelChangedHandler.kt b/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/common/modeling/IModelChangedHandler.kt index ae7eec5eba..ba526dc4ad 100644 --- a/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/common/modeling/IModelChangedHandler.kt +++ b/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/common/modeling/IModelChangedHandler.kt @@ -49,14 +49,3 @@ class ModelChangedArgs( */ val newValue: Any?, ) - -/** - * The arguments passed to the [IModelChangedHandler] handler when subscribed via [Model.subscribe] - */ -class ModelReplacedArgs( - /** - * The full model in its previous and current state. - */ - val oldModel: TModel, - val newModel: TModel, -) where TModel : Model diff --git a/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/common/modeling/ISingletonModelStoreChangeHandler.kt b/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/common/modeling/ISingletonModelStoreChangeHandler.kt index 143711f2d3..c929fe8ff9 100644 --- a/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/common/modeling/ISingletonModelStoreChangeHandler.kt +++ b/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/common/modeling/ISingletonModelStoreChangeHandler.kt @@ -12,7 +12,7 @@ interface ISingletonModelStoreChangeHandler where TModel : Model { * @param tag The tag which identifies how/why the model was replaced. */ fun onModelReplaced( - model: ModelReplacedArgs, + model: TModel, tag: String, ) diff --git a/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/common/modeling/SingletonModelStore.kt b/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/common/modeling/SingletonModelStore.kt index 741b5c5428..b00410eeb9 100644 --- a/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/common/modeling/SingletonModelStore.kt +++ b/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/common/modeling/SingletonModelStore.kt @@ -38,12 +38,10 @@ open class SingletonModelStore( tag: String, ) { synchronized(replaceLock) { - val oldModel = this.store.create() ?: throw Exception("Unable to initialize model from store $store") - oldModel.initializeFromModel(singletonId, this.model) val existingModel = this.model existingModel.initializeFromModel(singletonId, model) store.persist() - changeSubscription.fire { it.onModelReplaced(ModelReplacedArgs(oldModel, existingModel), tag) } + changeSubscription.fire { it.onModelReplaced(existingModel, tag) } } } diff --git a/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/core/internal/config/impl/ConfigModelStoreListener.kt b/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/core/internal/config/impl/ConfigModelStoreListener.kt index 7121989606..87d7eae6b0 100644 --- a/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/core/internal/config/impl/ConfigModelStoreListener.kt +++ b/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/core/internal/config/impl/ConfigModelStoreListener.kt @@ -4,7 +4,6 @@ import com.onesignal.common.exceptions.BackendException import com.onesignal.common.modeling.ISingletonModelStoreChangeHandler import com.onesignal.common.modeling.ModelChangeTags import com.onesignal.common.modeling.ModelChangedArgs -import com.onesignal.common.modeling.ModelReplacedArgs import com.onesignal.common.threading.suspendifyOnThread import com.onesignal.core.internal.backend.IParamsBackendService import com.onesignal.core.internal.config.ConfigModel @@ -44,7 +43,7 @@ internal class ConfigModelStoreListener( } override fun onModelReplaced( - model: ModelReplacedArgs, + model: ConfigModel, tag: String, ) { if (tag != ModelChangeTags.NORMAL) { diff --git a/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/core/internal/operations/listeners/SingletonModelStoreListener.kt b/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/core/internal/operations/listeners/SingletonModelStoreListener.kt index 34d2331ba6..26261d8db2 100644 --- a/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/core/internal/operations/listeners/SingletonModelStoreListener.kt +++ b/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/core/internal/operations/listeners/SingletonModelStoreListener.kt @@ -5,7 +5,6 @@ import com.onesignal.common.modeling.ISingletonModelStoreChangeHandler import com.onesignal.common.modeling.Model import com.onesignal.common.modeling.ModelChangeTags import com.onesignal.common.modeling.ModelChangedArgs -import com.onesignal.common.modeling.ModelReplacedArgs import com.onesignal.common.modeling.SingletonModelStore import com.onesignal.core.internal.operations.IOperationRepo import com.onesignal.core.internal.operations.Operation @@ -31,7 +30,7 @@ internal abstract class SingletonModelStoreListener( } override fun onModelReplaced( - model: ModelReplacedArgs, + model: TModel, tag: String, ) { if (tag != ModelChangeTags.NORMAL) { @@ -63,7 +62,7 @@ internal abstract class SingletonModelStoreListener( * * @return The operation to enqueue when the model has been replaced, or null if no operation should be enqueued. */ - abstract fun getReplaceOperation(model: ModelReplacedArgs): Operation? + abstract fun getReplaceOperation(model: TModel): Operation? /** * Called when the model has been updated. diff --git a/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/user/IUserManager.kt b/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/user/IUserManager.kt index 3c628ce375..9d10b948e1 100644 --- a/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/user/IUserManager.kt +++ b/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/user/IUserManager.kt @@ -25,6 +25,16 @@ interface IUserManager { */ val pushSubscription: IPushSubscription + /** + * onesignalId, null if this is current unavailable + */ + val onesignalId: String + + /** + * externalId, null if this is current unavailable + */ + val externalId: String + /** * Set the 2-character language either as a detected language or explicitly set for this user. See * See [Supported Languages | OneSignal](https://documentation.onesignal.com/docs/language-localization#what-languages-are-supported) diff --git a/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/user/UserChangedState.kt b/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/user/UserChangedState.kt index b6d74391cb..eab8ba9b8b 100644 --- a/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/user/UserChangedState.kt +++ b/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/user/UserChangedState.kt @@ -3,12 +3,10 @@ package com.onesignal.user import org.json.JSONObject class UserChangedState( - val previous: UserState, val current: UserState, ) { fun toJSONObject(): JSONObject { return JSONObject() - .put("previous", previous.toJSONObject()) .put("current", current.toJSONObject()) } } diff --git a/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/user/UserState.kt b/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/user/UserState.kt index ac9ff10e34..2b741bd3d0 100644 --- a/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/user/UserState.kt +++ b/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/user/UserState.kt @@ -1,36 +1,25 @@ package com.onesignal.user -import com.onesignal.common.IDManager import org.json.JSONObject /** * A user state. */ -class UserState { +class UserState( /** - * The unique identifier for your OneSignal account. This will be a null string until the + * The unique identifier for your OneSignal account. This will be an empty string until the * user has been successfully logged in on the backend and assigned an ID. * Use [addObserver] to be notified when the [onesignalId] has been successfully assigned. */ - val onesignalId: String? - + val onesignalId: String, /** - * The external identifier that you use to identify users. This will be an null string - * until the user has been successfully logged in on the backend and - * assigned an ID. Use [addObserver] to be notified when the [externalId] has + * The external identifier that you use to identify users. This will be an empty string + * until the user has been successfully logged in on the backend and assigned an ID. + * Use [addObserver] to be notified when the [externalId] has * been successfully assigned. */ - val externalId: String? - - constructor(onesignalId: String?, externalId: String?) { - if (onesignalId == null) { - this.onesignalId = null - } else { - this.onesignalId = IDManager.getNonLocalIDOrNull(onesignalId) - } - this.externalId = externalId - } - + val externalId: String, +) { fun toJSONObject(): JSONObject { return JSONObject() .put("onesignalId", onesignalId) diff --git a/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/user/internal/UserManager.kt b/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/user/internal/UserManager.kt index f77a55f7a3..147aa4f4e5 100644 --- a/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/user/internal/UserManager.kt +++ b/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/user/internal/UserManager.kt @@ -5,7 +5,6 @@ import com.onesignal.common.OneSignalUtils import com.onesignal.common.events.EventProducer import com.onesignal.common.modeling.ISingletonModelStoreChangeHandler import com.onesignal.common.modeling.ModelChangedArgs -import com.onesignal.common.modeling.ModelReplacedArgs import com.onesignal.core.internal.language.ILanguageContext import com.onesignal.debug.LogLevel import com.onesignal.debug.internal.logging.Logging @@ -28,11 +27,11 @@ internal open class UserManager( private val _propertiesModelStore: PropertiesModelStore, private val _languageContext: ILanguageContext, ) : IUserManager, ISingletonModelStoreChangeHandler { - val onesignalId: String? - get() = IDManager.getNonLocalIDOrNull(_identityModel.onesignalId) + override val onesignalId: String + get() = if (IDManager.isLocalId(_identityModel.onesignalId)) "" else _identityModel.onesignalId - val externalId: String? - get() = _identityModel.externalId + override val externalId: String + get() = _identityModel.externalId ?: "" val aliases: Map get() = _identityModel.filter { it.key != IdentityModel::id.name }.toMap() @@ -246,33 +245,18 @@ internal open class UserManager( } override fun onModelReplaced( - args: ModelReplacedArgs, + model: IdentityModel, tag: String, - ) { - val oldUserState = UserState(args.oldModel[IdentityConstants.ONESIGNAL_ID], args.oldModel.externalId) - val newUserState = UserState(args.newModel.onesignalId, args.newModel.externalId) - - // do not fire the callback if onesignalId is null or the new model is identical to the old model - if (newUserState.onesignalId == null || - oldUserState.onesignalId.equals(newUserState.onesignalId) && - oldUserState.externalId.equals(newUserState.externalId) - ) { - return - } - this.changeHandlersNotifier.fire { - it.onUserStateChange(UserChangedState(oldUserState, newUserState)) - } - } + ) { } override fun onModelUpdated( args: ModelChangedArgs, tag: String, ) { - if (args.property.equals(IdentityConstants.ONESIGNAL_ID)) { - val oldUserState = UserState(args.oldValue.toString(), externalId) + if (args.property == IdentityConstants.ONESIGNAL_ID) { val newUserState = UserState(args.newValue.toString(), externalId) this.changeHandlersNotifier.fire { - it.onUserStateChange(UserChangedState(oldUserState, newUserState)) + it.onUserStateChange(UserChangedState(newUserState)) } } Logging.debug(args.property) diff --git a/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/user/internal/operations/impl/listeners/IdentityModelStoreListener.kt b/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/user/internal/operations/impl/listeners/IdentityModelStoreListener.kt index cb4d7cffeb..90a565a5a2 100644 --- a/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/user/internal/operations/impl/listeners/IdentityModelStoreListener.kt +++ b/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/user/internal/operations/impl/listeners/IdentityModelStoreListener.kt @@ -1,6 +1,5 @@ package com.onesignal.user.internal.operations.impl.listeners -import com.onesignal.common.modeling.ModelReplacedArgs import com.onesignal.core.internal.config.ConfigModelStore import com.onesignal.core.internal.operations.IOperationRepo import com.onesignal.core.internal.operations.Operation @@ -15,7 +14,7 @@ internal class IdentityModelStoreListener( opRepo: IOperationRepo, private val _configModelStore: ConfigModelStore, ) : SingletonModelStoreListener(store, opRepo) { - override fun getReplaceOperation(model: ModelReplacedArgs): Operation? { + override fun getReplaceOperation(model: IdentityModel): Operation? { // when the identity model is replaced, nothing to do on the backend. Already handled via login process. return null } diff --git a/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/user/internal/operations/impl/listeners/PropertiesModelStoreListener.kt b/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/user/internal/operations/impl/listeners/PropertiesModelStoreListener.kt index ed724a0cc7..d020c5cc66 100644 --- a/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/user/internal/operations/impl/listeners/PropertiesModelStoreListener.kt +++ b/OneSignalSDK/onesignal/core/src/main/java/com/onesignal/user/internal/operations/impl/listeners/PropertiesModelStoreListener.kt @@ -1,6 +1,5 @@ package com.onesignal.user.internal.operations.impl.listeners -import com.onesignal.common.modeling.ModelReplacedArgs import com.onesignal.core.internal.config.ConfigModelStore import com.onesignal.core.internal.operations.IOperationRepo import com.onesignal.core.internal.operations.Operation @@ -16,7 +15,7 @@ internal class PropertiesModelStoreListener( opRepo: IOperationRepo, private val _configModelStore: ConfigModelStore, ) : SingletonModelStoreListener(store, opRepo) { - override fun getReplaceOperation(model: ModelReplacedArgs): Operation? { + override fun getReplaceOperation(model: PropertiesModel): Operation? { // when the property model is replaced, nothing to do on the backend. Already handled via login process. return null } diff --git a/OneSignalSDK/onesignal/in-app-messages/src/main/java/com/onesignal/inAppMessages/internal/InAppMessagesManager.kt b/OneSignalSDK/onesignal/in-app-messages/src/main/java/com/onesignal/inAppMessages/internal/InAppMessagesManager.kt index fe1e299457..df598f273d 100644 --- a/OneSignalSDK/onesignal/in-app-messages/src/main/java/com/onesignal/inAppMessages/internal/InAppMessagesManager.kt +++ b/OneSignalSDK/onesignal/in-app-messages/src/main/java/com/onesignal/inAppMessages/internal/InAppMessagesManager.kt @@ -8,7 +8,6 @@ import com.onesignal.common.events.EventProducer import com.onesignal.common.exceptions.BackendException import com.onesignal.common.modeling.ISingletonModelStoreChangeHandler import com.onesignal.common.modeling.ModelChangedArgs -import com.onesignal.common.modeling.ModelReplacedArgs import com.onesignal.common.threading.suspendifyOnThread import com.onesignal.core.internal.application.IApplicationService import com.onesignal.core.internal.config.ConfigModel @@ -185,7 +184,7 @@ internal class InAppMessagesManager( } override fun onModelReplaced( - model: ModelReplacedArgs, + model: ConfigModel, tag: String, ) { suspendifyOnThread { diff --git a/OneSignalSDK/onesignal/notifications/src/main/java/com/onesignal/notifications/internal/listeners/DeviceRegistrationListener.kt b/OneSignalSDK/onesignal/notifications/src/main/java/com/onesignal/notifications/internal/listeners/DeviceRegistrationListener.kt index 88eb84e201..49b9f95e2e 100644 --- a/OneSignalSDK/onesignal/notifications/src/main/java/com/onesignal/notifications/internal/listeners/DeviceRegistrationListener.kt +++ b/OneSignalSDK/onesignal/notifications/src/main/java/com/onesignal/notifications/internal/listeners/DeviceRegistrationListener.kt @@ -3,7 +3,6 @@ package com.onesignal.notifications.internal.listeners import com.onesignal.common.modeling.ISingletonModelStoreChangeHandler import com.onesignal.common.modeling.ModelChangeTags import com.onesignal.common.modeling.ModelChangedArgs -import com.onesignal.common.modeling.ModelReplacedArgs import com.onesignal.common.threading.suspendifyOnThread import com.onesignal.core.internal.config.ConfigModel import com.onesignal.core.internal.config.ConfigModelStore @@ -43,7 +42,7 @@ internal class DeviceRegistrationListener( } override fun onModelReplaced( - model: ModelReplacedArgs, + model: ConfigModel, tag: String, ) { // we only need to do things when the config model was replaced @@ -52,7 +51,7 @@ internal class DeviceRegistrationListener( return } - _channelManager.processChannelList(model.newModel.notificationChannels) + _channelManager.processChannelList(model.notificationChannels) retrievePushTokenAndUpdateSubscription() }