Skip to content

Commit be28f39

Browse files
fix(init): Try to get Application from Context to register App Lifecycle Integrations
1 parent 373370e commit be28f39

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
@@ -275,23 +275,24 @@ static void installDefaultIntegrations(
275275
options.addIntegration(new AppLifecycleIntegration());
276276
options.addIntegration(AnrIntegrationFactory.create(context, buildInfoProvider));
277277

278-
// registerActivityLifecycleCallbacks is only available if Context is an AppContext
279-
if (context instanceof Application) {
278+
// registerActivityLifecycleCallbacks is only available on AppContext
279+
if (ContextUtils.getApplicationContext(context) instanceof Application) {
280+
final Application application = (Application) ContextUtils.getApplicationContext(context);
280281
options.addIntegration(
281282
new ActivityLifecycleIntegration(
282-
(Application) context, buildInfoProvider, activityFramesTracker));
283-
options.addIntegration(new ActivityBreadcrumbsIntegration((Application) context));
284-
options.addIntegration(new CurrentActivityIntegration((Application) context));
285-
options.addIntegration(new UserInteractionIntegration((Application) context, loadClass));
283+
application, buildInfoProvider, activityFramesTracker));
284+
options.addIntegration(new ActivityBreadcrumbsIntegration(application));
285+
options.addIntegration(new CurrentActivityIntegration(application));
286+
options.addIntegration(new UserInteractionIntegration(application, loadClass));
286287
if (isFragmentAvailable) {
287-
options.addIntegration(new FragmentLifecycleIntegration((Application) context, true, true));
288+
options.addIntegration(new FragmentLifecycleIntegration(application, true, true));
288289
}
289290
} else {
290291
options
291292
.getLogger()
292293
.log(
293294
SentryLevel.WARNING,
294-
"ActivityLifecycle, FragmentLifecycle and UserInteraction Integrations need an Application class to be installed.");
295+
"ActivityLifecycle, FragmentLifecycle and UserInteraction Integrations need context or getApplicationContext() to be an Application class to be installed.");
295296
}
296297

297298
if (isTimberAvailable) {

0 commit comments

Comments
 (0)