-
Notifications
You must be signed in to change notification settings - Fork 379
Expand file tree
/
Copy pathOneSignalInitializer.java
More file actions
37 lines (33 loc) · 1.38 KB
/
OneSignalInitializer.java
File metadata and controls
37 lines (33 loc) · 1.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package com.onesignal.rnonesignalandroid;
import android.app.Application;
import android.content.Context;
import androidx.annotation.NonNull;
import androidx.startup.Initializer;
import java.util.Collections;
import java.util.List;
/**
* androidx.startup entry point that registers {@link ActivityLifecycleTracker} against the host
* {@link Application} during {@code Application.onCreate}, before any Activity is created.
*
* <p>This does NOT initialize the OneSignal SDK itself: the App ID is supplied at runtime by JS
* via {@code OneSignal.initialize(appId)}. The job here is purely to capture the current Activity
* early so that when JS later calls initialize, {@code RNOneSignal} can hand a real Activity to
* {@code OneSignal.initWithContext}.
*/
public class OneSignalInitializer implements Initializer<ActivityLifecycleTracker> {
@NonNull
@Override
public ActivityLifecycleTracker create(@NonNull Context context) {
ActivityLifecycleTracker tracker = ActivityLifecycleTracker.getInstance();
Context appContext = context.getApplicationContext();
if (appContext instanceof Application) {
((Application) appContext).registerActivityLifecycleCallbacks(tracker);
}
return tracker;
}
@NonNull
@Override
public List<Class<? extends Initializer<?>>> dependencies() {
return Collections.emptyList();
}
}