Skip to content

Commit 2226b2d

Browse files
committed
feat(android): Add ApplicationStartInfo API support for Android 15+
1 parent af6aa3f commit 2226b2d

File tree

7 files changed

+789
-0
lines changed

7 files changed

+789
-0
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,11 @@
44

55
### Features
66

7+
- Add ApplicationStartInfo API support for Android 15+ ([#5055](https://github.com/getsentry/sentry-java/pull/5055))
8+
- Captures detailed app startup timing data from Android system
9+
- Creates transactions with milestone spans (bind_application, application_oncreate, ttid, ttfd)
10+
- Enriches with AppStartMetrics data (content provider spans, class names)
11+
- Opt-in via `SentryAndroidOptions.setEnableApplicationStartInfo(boolean)` (disabled by default)
712
- Update Android targetSdk to API 36 (Android 16) ([#5016](https://github.com/getsentry/sentry-java/pull/5016))
813

914
### Internal

sentry-android-core/api/sentry-android-core.api

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,12 @@ public final class io/sentry/android/core/ApplicationExitInfoEventProcessor : io
215215
public fun process (Lio/sentry/protocol/SentryTransaction;Lio/sentry/Hint;)Lio/sentry/protocol/SentryTransaction;
216216
}
217217

218+
public final class io/sentry/android/core/ApplicationStartInfoIntegration : io/sentry/Integration, java/io/Closeable {
219+
public fun <init> (Landroid/content/Context;Lio/sentry/android/core/BuildInfoProvider;)V
220+
public fun close ()V
221+
public final fun register (Lio/sentry/IScopes;Lio/sentry/SentryOptions;)V
222+
}
223+
218224
public final class io/sentry/android/core/BuildConfig {
219225
public static final field BUILD_TYPE Ljava/lang/String;
220226
public static final field DEBUG Z
@@ -353,6 +359,7 @@ public final class io/sentry/android/core/SentryAndroidOptions : io/sentry/Sentr
353359
public fun isEnableActivityLifecycleTracingAutoFinish ()Z
354360
public fun isEnableAppComponentBreadcrumbs ()Z
355361
public fun isEnableAppLifecycleBreadcrumbs ()Z
362+
public fun isEnableApplicationStartInfo ()Z
356363
public fun isEnableAutoActivityLifecycleTracing ()Z
357364
public fun isEnableAutoTraceIdGeneration ()Z
358365
public fun isEnableFramesTracking ()Z
@@ -381,6 +388,7 @@ public final class io/sentry/android/core/SentryAndroidOptions : io/sentry/Sentr
381388
public fun setEnableActivityLifecycleTracingAutoFinish (Z)V
382389
public fun setEnableAppComponentBreadcrumbs (Z)V
383390
public fun setEnableAppLifecycleBreadcrumbs (Z)V
391+
public fun setEnableApplicationStartInfo (Z)V
384392
public fun setEnableAutoActivityLifecycleTracing (Z)V
385393
public fun setEnableAutoTraceIdGeneration (Z)V
386394
public fun setEnableFramesTracking (Z)V

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -380,6 +380,8 @@ static void installDefaultIntegrations(
380380
options.addIntegration(new TombstoneIntegration(context));
381381
}
382382

383+
options.addIntegration(new ApplicationStartInfoIntegration(context, buildInfoProvider));
384+
383385
// this integration uses android.os.FileObserver, we can't move to sentry
384386
// before creating a pure java impl.
385387
options.addIntegration(EnvelopeFileObserverIntegration.getOutboxFileObserver());

0 commit comments

Comments
 (0)