Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@
package com.onesignal.capacitor

import android.app.Application
import com.getcapacitor.JSObject
import com.getcapacitor.Plugin
import com.getcapacitor.PluginCall
import com.getcapacitor.PluginMethod
import com.getcapacitor.annotation.CapacitorPlugin
import com.onesignal.OneSignal
import com.onesignal.common.OneSignalWrapper
import com.onesignal.core.internal.application.IApplicationService
import com.onesignal.inAppMessages.IInAppMessageClickEvent
import com.onesignal.inAppMessages.IInAppMessageClickListener
import com.onesignal.inAppMessages.IInAppMessageDidDismissEvent
Expand Down Expand Up @@ -137,11 +135,6 @@ class OneSignalCapacitorPlugin : Plugin(),
OneSignalWrapper.sdkVersion = "010005"
OneSignal.initWithContext(context, appId)

// If the SDK was initialized from a non-Activity context (FCM/work
// managers) before this call, its ALC missed MainActivity.onResume
// and isInForeground stays false. Forward the missed events now.
nudgeApplicationServiceForeground()

OneSignal.Notifications.addPermissionObserver(permissionObserver)
OneSignal.Notifications.addForegroundLifecycleListener(this)
OneSignal.Notifications.addClickListener(this)
Expand All @@ -153,17 +146,6 @@ class OneSignalCapacitorPlugin : Plugin(),
call.resolve()
}

/** Forward the missed activity-resume to the SDK so isInForeground is
* correct on cold start. No-op if the SDK already saw the resume. */
private fun nudgeApplicationServiceForeground() {
val activity = activity ?: return
val appSvc = runCatching { OneSignal.getServiceOrNull<IApplicationService>() }.getOrNull() ?: return
if (appSvc.isInForeground && appSvc.current === activity) return
val callbacks = appSvc as? Application.ActivityLifecycleCallbacks ?: return
callbacks.onActivityStarted(activity)
callbacks.onActivityResumed(activity)
}

private fun buildClickEventJson(event: INotificationClickEvent): JSObject {
val ret = JSObject()
val clickResult = JSObject()
Expand Down
Loading