Skip to content

Commit 20bd586

Browse files
fix(init): Try to get Application from Context to register App Lifecycle Integrations
1 parent 58e9007 commit 20bd586

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

sentry-android-core/src/main/java/io/sentry/android/core/AndroidOptionsInitializer.java

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -357,23 +357,24 @@ static void installDefaultIntegrations(
357357
// it to set the replayId in case of an ANR
358358
options.addIntegration(AnrIntegrationFactory.create(context, buildInfoProvider));
359359

360-
// registerActivityLifecycleCallbacks is only available if Context is an AppContext
361-
if (context instanceof Application) {
360+
// registerActivityLifecycleCallbacks is only available on AppContext
361+
if (ContextUtils.getApplicationContext(context) instanceof Application) {
362+
final Application application = (Application) ContextUtils.getApplicationContext(context);
362363
options.addIntegration(
363364
new ActivityLifecycleIntegration(
364-
(Application) context, buildInfoProvider, activityFramesTracker));
365-
options.addIntegration(new ActivityBreadcrumbsIntegration((Application) context));
366-
options.addIntegration(new CurrentActivityIntegration((Application) context));
367-
options.addIntegration(new UserInteractionIntegration((Application) context, loadClass));
365+
application, buildInfoProvider, activityFramesTracker));
366+
options.addIntegration(new ActivityBreadcrumbsIntegration(application));
367+
options.addIntegration(new CurrentActivityIntegration(application));
368+
options.addIntegration(new UserInteractionIntegration(application, loadClass));
368369
if (isFragmentAvailable) {
369-
options.addIntegration(new FragmentLifecycleIntegration((Application) context, true, true));
370+
options.addIntegration(new FragmentLifecycleIntegration(application, true, true));
370371
}
371372
} else {
372373
options
373374
.getLogger()
374375
.log(
375376
SentryLevel.WARNING,
376-
"ActivityLifecycle, FragmentLifecycle and UserInteraction Integrations need an Application class to be installed.");
377+
"ActivityLifecycle, FragmentLifecycle and UserInteraction Integrations need context or getApplicationContext() to be an Application class to be installed.");
377378
}
378379

379380
if (isTimberAvailable) {

0 commit comments

Comments
 (0)