Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge Firebase Sessions into main line #5108

Merged
merged 73 commits into from
Jun 26, 2023
Merged

Merge Firebase Sessions into main line #5108

merged 73 commits into from
Jun 26, 2023

Conversation

mrober
Copy link
Contributor

@mrober mrober commented Jun 26, 2023

mrober and others added 30 commits February 23, 2023 13:50
* Initial commit for Firebase Sessions SDK

* Add copyright notice

* Remove redundant dependency

* Revert 'Remove redundant dependency' to avoid using api

* Generate api.txt file
* Implement SessionInitiator and hook it up to lifecycle events

* Add a warning when failed to register lifecycle callbacks

* Fix formatting
* Use kotlin.time.Duration instead of Long for time intervals

* Adjust test constants

* Simplify elapsedRealtime to always be millis precision
* Add SessionEvent data class

* Add enum test case

* Remove serialization (this will be handled in encoders) and rename SessionState

* Generate a SessionEvent based on the SessionState

* Rename SessionState to SessionDetails

* Firebase Session Event
* Add Firebase Sessions Test App

* Remove boilerplate
)

* Use the private setter pattern on SessionGenerator.currentSession

* Comments
* Use googleServices.gradle

* Move package level function to object to fix api surface check

* Add android manifest file with versionName set to fix android tests

* Update pinned deps

* Make getApplicationInfo look leaner
* Fix test app and add README's

* Undo app changes

* Undo app changes

* Add description and formatting to README file
* Start setting up sessions e2e workflow

* Remove schedule

* Format

* Setup gcloud

* Set FIREBASE_APP_CHECK_DEBUG_SECRET

* Set FTL_RESULTS_BUCKET

* Add schedule

* Add 20 min
mrober and others added 14 commits June 2, 2023 13:52
* Add and populate appQualitySessionId in Crashlytics reports

* Bump Crashlytics ktx target sdk to 33, same as Java sdk

* Log warning when missing AQS session id
* Fix firebase-crashlytics-ktx deps

* Fix CrashlyticsTests and clean up build file

* Make FirebaseCrashlyticsKtxRegistrar internal

* Bump health metrics compile sdk

* Add versionName version
* Do not send session id to subscribers if Sessions is disabled

* Move the Sessions settings disabled check to after subscrubers
* Add fid to Crashlytics report

* Format
* Handle IOExceptions went fetching remote settings

* Add failure test case for RemoteSettingsFetcher
…ues (#5103)

* Make remote settings fetch non-blocking

* Ensure the settings cache has loaded from disk before reading any values

* Fix runtime exception with a load-bearing empty block

* Inline the definition of metadata to avoid needing an empty block

* Comments
* Make remote settings fetch non-blocking

* Ensure the settings cache has loaded from disk before reading any values

* Fix runtime exception with a load-bearing empty block

* Inline the definition of metadata to avoid needing an empty block

* Fetch remote settings on session, not on launch

* Log warning when we fail to fetch the fid
@github-actions
Copy link
Contributor

github-actions bot commented Jun 26, 2023

Javadoc Changes:
--- /Users/runner/diff/original/firebase-kotlindoc/android/client/firebase-sessions/_toc.yaml	1970-01-01 00:00:00.000000000 +0000
+++ /Users/runner/diff/modified/firebase-kotlindoc/android/client/firebase-sessions/_toc.yaml	2023-06-26 16:54:08.000000000 +0000
@@ -0,0 +1,36 @@
+toc:
+- title: "firebase.sessions"
+  path: "/docs/reference/android/com/google/firebase/sessions/package-summary.html"
+
+  section:
+  - title: "Classes"
+
+    section:
+    - title: "FirebaseSessions"
+      path: "/docs/reference/android/com/google/firebase/sessions/FirebaseSessions.html"
+
+- title: "firebase.sessions.api"
+  path: "/docs/reference/android/com/google/firebase/sessions/api/package-summary.html"
+
+  section:
+  - title: "Interfaces"
+
+    section:
+    - title: "SessionSubscriber"
+      path: "/docs/reference/android/com/google/firebase/sessions/api/SessionSubscriber.html"
+
+  - title: "Classes"
+
+    section:
+    - title: "FirebaseSessionsDependencies"
+      path: "/docs/reference/android/com/google/firebase/sessions/api/FirebaseSessionsDependencies.html"
+    - title: "SessionSubscriber.SessionDetails"
+      path: "/docs/reference/android/com/google/firebase/sessions/api/SessionSubscriber.SessionDetails.html"
+
+  - title: "Enums"
+
+    section:
+    - title: "SessionSubscriber.Name"
+      path: "/docs/reference/android/com/google/firebase/sessions/api/SessionSubscriber.Name.html"
+
+
--- /Users/runner/diff/original/firebase-kotlindoc/android/com/google/firebase/sessions/FirebaseSessions.Companion.html	1970-01-01 00:00:00.000000000 +0000
+++ /Users/runner/diff/modified/firebase-kotlindoc/android/com/google/firebase/sessions/FirebaseSessions.Companion.html	2023-06-26 16:54:08.000000000 +0000
@@ -0,0 +1,73 @@
+<html devsite="true">
+  <head>
+    <title>FirebaseSessions.Companion</title>
+{% setvar book_path %}/_book.yaml{% endsetvar %}
+{% include "docs/reference/android/_reference-head-tags.html" %}
+  </head>
+  <body>
+    <div id="metadata-info-block"></div>
+    <h1>FirebaseSessions.Companion</h1>
+    <p>
+      <pre>public static class <a href="/docs/reference/android/com/google/firebase/sessions/FirebaseSessions.Companion.html">FirebaseSessions.Companion</a></pre>
+    </p>
+    <hr>
+    <h2>Summary</h2>
+    <div class="devsite-table-wrapper">
+      <table class="responsive">
+        <colgroup>
+          <col width="40%">
+          <col>
+        </colgroup>
+        <thead>
+          <tr>
+            <th colspan="100%"><h3>Public fields</h3></th>
+          </tr>
+        </thead>
+        <tbody class="list">
+          <tr>
+            <td><code>static&nbsp;final @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/sessions/FirebaseSessions.html">FirebaseSessions</a></code></td>
+            <td>
+              <div><code><a href="/docs/reference/android/com/google/firebase/sessions/FirebaseSessions.Companion.html#instance()">instance</a></code></div>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+    <div class="devsite-table-wrapper">
+      <table class="responsive">
+        <colgroup>
+          <col width="40%">
+          <col>
+        </colgroup>
+        <thead>
+          <tr>
+            <th colspan="100%"><h3>Public methods</h3></th>
+          </tr>
+        </thead>
+        <tbody class="list">
+          <tr>
+            <td><code>static&nbsp;final @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/sessions/FirebaseSessions.html">FirebaseSessions</a></code></td>
+            <td>
+              <div><code><a href="/docs/reference/android/com/google/firebase/sessions/FirebaseSessions.Companion.html#getInstance(com.google.firebase.FirebaseApp)">getInstance</a>(@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/FirebaseApp.html">FirebaseApp</a>&nbsp;app)</code></div>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+    <div class="list">
+      <h2>Public fields</h2>
+      <div class="api-item"><a name="getInstance()"></a><a name="setInstance()"></a><a name="getInstance--"></a><a name="setInstance--"></a>
+        <h3 class="api-name" id="instance()">instance</h3>
+        <pre class="api-signature no-pretty-print">public&nbsp;static&nbsp;final&nbsp;@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/sessions/FirebaseSessions.html">FirebaseSessions</a>&nbsp;<a href="/docs/reference/android/com/google/firebase/sessions/FirebaseSessions.Companion.html#instance()">instance</a></pre>
+      </div>
+    </div>
+    <div class="list">
+      <h2>Public methods</h2>
+      <div class="api-item"><a name="getInstance-com.google.firebase.FirebaseApp-"></a><a name="getinstance"></a>
+        <h3 class="api-name" id="getInstance(com.google.firebase.FirebaseApp)">getInstance</h3>
+        <pre class="api-signature no-pretty-print">public&nbsp;static&nbsp;final&nbsp;@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/sessions/FirebaseSessions.html">FirebaseSessions</a>&nbsp;<a href="/docs/reference/android/com/google/firebase/sessions/FirebaseSessions.Companion.html#getInstance(com.google.firebase.FirebaseApp)">getInstance</a>(@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/FirebaseApp.html">FirebaseApp</a>&nbsp;app)</pre>
+      </div>
+    </div>
+  </body>
+</html>
+
--- /Users/runner/diff/original/firebase-kotlindoc/android/com/google/firebase/sessions/FirebaseSessions.html	1970-01-01 00:00:00.000000000 +0000
+++ /Users/runner/diff/modified/firebase-kotlindoc/android/com/google/firebase/sessions/FirebaseSessions.html	2023-06-26 16:54:08.000000000 +0000
@@ -0,0 +1,106 @@
+<html devsite="true">
+  <head>
+    <title>FirebaseSessions</title>
+{% setvar book_path %}/_book.yaml{% endsetvar %}
+{% include "docs/reference/android/_reference-head-tags.html" %}
+  </head>
+  <body>
+    <div id="metadata-info-block"></div>
+    <h1>FirebaseSessions</h1>
+    <p>
+      <pre>public final class <a href="/docs/reference/android/com/google/firebase/sessions/FirebaseSessions.html">FirebaseSessions</a></pre>
+    </p>
+    <hr>
+    <p>The <code><a href="/docs/reference/android/com/google/firebase/sessions/FirebaseSessions.html">FirebaseSessions</a></code> API provides methods to register a <code><a href="/docs/reference/android/com/google/firebase/sessions/api/SessionSubscriber.html">SessionSubscriber</a></code>.</p>
+    <h2>Summary</h2>
+    <div class="devsite-table-wrapper">
+      <table class="responsive">
+        <colgroup>
+          <col width="40%">
+          <col>
+        </colgroup>
+        <thead>
+          <tr>
+            <th colspan="100%"><h3>Nested types</h3></th>
+          </tr>
+        </thead>
+        <tbody class="list">
+          <tr>
+            <td>
+              <div><code>public static class <a href="/docs/reference/android/com/google/firebase/sessions/FirebaseSessions.Companion.html">FirebaseSessions.Companion</a></code></div>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+    <div class="devsite-table-wrapper">
+      <table class="responsive">
+        <colgroup>
+          <col width="40%">
+          <col>
+        </colgroup>
+        <thead>
+          <tr>
+            <th colspan="100%"><h3>Public fields</h3></th>
+          </tr>
+        </thead>
+        <tbody class="list">
+          <tr>
+            <td><code>static&nbsp;final @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/sessions/FirebaseSessions.html">FirebaseSessions</a></code></td>
+            <td>
+              <div><code><a href="/docs/reference/android/com/google/firebase/sessions/FirebaseSessions.Companion.html#instance()">instance</a></code></div>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+    <div class="devsite-table-wrapper">
+      <table class="responsive">
+        <colgroup>
+          <col width="40%">
+          <col>
+        </colgroup>
+        <thead>
+          <tr>
+            <th colspan="100%"><h3>Public methods</h3></th>
+          </tr>
+        </thead>
+        <tbody class="list">
+          <tr>
+            <td><code>static&nbsp;final @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/sessions/FirebaseSessions.html">FirebaseSessions</a></code></td>
+            <td>
+              <div><code><a href="/docs/reference/android/com/google/firebase/sessions/FirebaseSessions.Companion.html#getInstance(com.google.firebase.FirebaseApp)">getInstance</a>(@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/FirebaseApp.html">FirebaseApp</a>&nbsp;app)</code></div>
+            </td>
+          </tr>
+          <tr>
+            <td><code>final void</code></td>
+            <td>
+              <div><code><a href="/docs/reference/android/com/google/firebase/sessions/FirebaseSessions.html#register(com.google.firebase.sessions.api.SessionSubscriber)">register</a>(@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/sessions/api/SessionSubscriber.html">SessionSubscriber</a>&nbsp;subscriber)</code></div>
+              <p>Register the <code><a href="/docs/reference/android/com/google/firebase/sessions/FirebaseSessions.html#register(com.google.firebase.sessions.api.SessionSubscriber)">subscriber</a></code>.</p>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+    <div class="list">
+      <h2>Public fields</h2>
+      <div class="api-item"><a name="getInstance()"></a><a name="setInstance()"></a><a name="getInstance--"></a><a name="setInstance--"></a>
+        <h3 class="api-name" id="instance()">instance</h3>
+        <pre class="api-signature no-pretty-print">public&nbsp;static&nbsp;final&nbsp;@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/sessions/FirebaseSessions.html">FirebaseSessions</a>&nbsp;<a href="/docs/reference/android/com/google/firebase/sessions/FirebaseSessions.Companion.html#instance()">instance</a></pre>
+      </div>
+    </div>
+    <div class="list">
+      <h2>Public methods</h2>
+      <div class="api-item"><a name="getInstance-com.google.firebase.FirebaseApp-"></a><a name="getinstance"></a>
+        <h3 class="api-name" id="getInstance(com.google.firebase.FirebaseApp)">getInstance</h3>
+        <pre class="api-signature no-pretty-print">public&nbsp;static&nbsp;final&nbsp;@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/sessions/FirebaseSessions.html">FirebaseSessions</a>&nbsp;<a href="/docs/reference/android/com/google/firebase/sessions/FirebaseSessions.Companion.html#getInstance(com.google.firebase.FirebaseApp)">getInstance</a>(@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/FirebaseApp.html">FirebaseApp</a>&nbsp;app)</pre>
+      </div>
+      <div class="api-item"><a name="register-com.google.firebase.sessions.api.SessionSubscriber-"></a><a name="register"></a>
+        <h3 class="api-name" id="register(com.google.firebase.sessions.api.SessionSubscriber)">register</h3>
+        <pre class="api-signature no-pretty-print">public&nbsp;final&nbsp;void&nbsp;<a href="/docs/reference/android/com/google/firebase/sessions/FirebaseSessions.html#register(com.google.firebase.sessions.api.SessionSubscriber)">register</a>(@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/sessions/api/SessionSubscriber.html">SessionSubscriber</a>&nbsp;subscriber)</pre>
+        <p>Register the <code><a href="/docs/reference/android/com/google/firebase/sessions/FirebaseSessions.html#register(com.google.firebase.sessions.api.SessionSubscriber)">subscriber</a></code>. This must be called for every dependency.</p>
+      </div>
+    </div>
+  </body>
+</html>
+
--- /Users/runner/diff/original/firebase-kotlindoc/android/com/google/firebase/sessions/api/FirebaseSessionsDependencies.html	1970-01-01 00:00:00.000000000 +0000
+++ /Users/runner/diff/modified/firebase-kotlindoc/android/com/google/firebase/sessions/api/FirebaseSessionsDependencies.html	2023-06-26 16:54:08.000000000 +0000
@@ -0,0 +1,77 @@
+<html devsite="true">
+  <head>
+    <title>FirebaseSessionsDependencies</title>
+{% setvar book_path %}/_book.yaml{% endsetvar %}
+{% include "docs/reference/android/_reference-head-tags.html" %}
+  </head>
+  <body>
+    <div id="metadata-info-block"></div>
+    <h1>FirebaseSessionsDependencies</h1>
+    <p>
+      <pre>public static class <a href="/docs/reference/android/com/google/firebase/sessions/api/FirebaseSessionsDependencies.html">FirebaseSessionsDependencies</a></pre>
+    </p>
+    <hr>
+    <p><code><a href="/docs/reference/android/com/google/firebase/sessions/api/FirebaseSessionsDependencies.html">FirebaseSessionsDependencies</a></code> determines when a dependent SDK is installed in the app. The Sessions SDK uses this to figure out which dependencies to wait for to getting the data collection state. This is thread safe.</p>
+    <p>This is important because the Sessions SDK starts up before dependent SDKs.</p>
+    <h2>Summary</h2>
+    <div class="devsite-table-wrapper">
+      <table class="responsive">
+        <colgroup>
+          <col width="40%">
+          <col>
+        </colgroup>
+        <thead>
+          <tr>
+            <th colspan="100%"><h3>Public fields</h3></th>
+          </tr>
+        </thead>
+        <tbody class="list">
+          <tr>
+            <td><code>static @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/sessions/api/FirebaseSessionsDependencies.html">FirebaseSessionsDependencies</a></code></td>
+            <td>
+              <div><code><a href="/docs/reference/android/com/google/firebase/sessions/api/FirebaseSessionsDependencies.html#INSTANCE()">INSTANCE</a></code></div>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+    <div class="devsite-table-wrapper">
+      <table class="responsive">
+        <colgroup>
+          <col width="40%">
+          <col>
+        </colgroup>
+        <thead>
+          <tr>
+            <th colspan="100%"><h3>Public methods</h3></th>
+          </tr>
+        </thead>
+        <tbody class="list">
+          <tr>
+            <td><code>static&nbsp;final void</code></td>
+            <td>
+              <div><code><a href="/docs/reference/android/com/google/firebase/sessions/api/FirebaseSessionsDependencies.html#addDependency(com.google.firebase.sessions.api.SessionSubscriber.Name)">addDependency</a>(@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/sessions/api/SessionSubscriber.Name.html">SessionSubscriber.Name</a>&nbsp;subscriberName)</code></div>
+              <p>Add a subscriber as a dependency to the Sessions SDK.</p>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+    <div class="list">
+      <h2>Public fields</h2>
+      <div class="api-item"><a name="getINSTANCE()"></a><a name="setINSTANCE()"></a><a name="getINSTANCE--"></a><a name="setINSTANCE--"></a>
+        <h3 class="api-name" id="INSTANCE()">INSTANCE</h3>
+        <pre class="api-signature no-pretty-print">public&nbsp;static&nbsp;@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/sessions/api/FirebaseSessionsDependencies.html">FirebaseSessionsDependencies</a>&nbsp;<a href="/docs/reference/android/com/google/firebase/sessions/api/FirebaseSessionsDependencies.html#INSTANCE()">INSTANCE</a></pre>
+      </div>
+    </div>
+    <div class="list">
+      <h2>Public methods</h2>
+      <div class="api-item"><a name="addDependency-com.google.firebase.sessions.api.SessionSubscriber.Name-"></a><a name="adddependency"></a>
+        <h3 class="api-name" id="addDependency(com.google.firebase.sessions.api.SessionSubscriber.Name)">addDependency</h3>
+        <pre class="api-signature no-pretty-print">public&nbsp;static&nbsp;final&nbsp;void&nbsp;<a href="/docs/reference/android/com/google/firebase/sessions/api/FirebaseSessionsDependencies.html#addDependency(com.google.firebase.sessions.api.SessionSubscriber.Name)">addDependency</a>(@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/sessions/api/SessionSubscriber.Name.html">SessionSubscriber.Name</a>&nbsp;subscriberName)</pre>
+        <p>Add a subscriber as a dependency to the Sessions SDK. Every dependency must register itself, or the Sessions SDK will never generate a session.</p>
+      </div>
+    </div>
+  </body>
+</html>
+
--- /Users/runner/diff/original/firebase-kotlindoc/android/com/google/firebase/sessions/api/SessionSubscriber.Name.html	1970-01-01 00:00:00.000000000 +0000
+++ /Users/runner/diff/modified/firebase-kotlindoc/android/com/google/firebase/sessions/api/SessionSubscriber.Name.html	2023-06-26 16:54:08.000000000 +0000
@@ -0,0 +1,142 @@
+<html devsite="true">
+  <head>
+    <title>SessionSubscriber.Name</title>
+{% setvar book_path %}/_book.yaml{% endsetvar %}
+{% include "docs/reference/android/_reference-head-tags.html" %}
+  </head>
+  <body>
+    <div id="metadata-info-block"></div>
+    <h1>SessionSubscriber.Name</h1>
+    <p>
+      <pre>public enum <a href="/docs/reference/android/com/google/firebase/sessions/api/SessionSubscriber.Name.html">SessionSubscriber.Name</a> extends <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-enum/index.html">Enum</a></pre>
+    </p>
+    <div class="devsite-table-wrapper">
+      <table class="jd-inheritance-table">
+        <tbody>
+          <tr>
+            <td colspan="3"><a href="https://developer.android.com/reference/kotlin/java/lang/Object.html">java.lang.Object</a></td>
+          </tr>
+          <tr>
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;↳</td>
+            <td colspan="2"><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-enum/index.html">kotlin.Enum</a></td>
+          </tr>
+          <tr>
+            <td>&nbsp;</td>
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;↳</td>
+            <td colspan="1"><a href="/docs/reference/android/com/google/firebase/sessions/api/SessionSubscriber.Name.html">com.google.firebase.sessions.api.SessionSubscriber.Name</a></td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+    <hr>
+    <p><code><a href="/docs/reference/android/com/google/firebase/sessions/api/SessionSubscriber.Name.html">SessionSubscriber.Name</a></code>s are used for identifying subscribers.</p>
+    <h2>Summary</h2>
+    <div class="devsite-table-wrapper">
+      <table class="responsive">
+        <colgroup>
+          <col width="40%">
+          <col>
+        </colgroup>
+        <thead>
+          <tr>
+            <th colspan="100%"><h3>Enum Values</h3></th>
+          </tr>
+        </thead>
+        <tbody class="list">
+          <tr>
+            <td><code><a href="/docs/reference/android/com/google/firebase/sessions/api/SessionSubscriber.Name.html#CRASHLYTICS">CRASHLYTICS</a></code></td>
+            <td></td>
+          </tr>
+          <tr>
+            <td><code><a href="/docs/reference/android/com/google/firebase/sessions/api/SessionSubscriber.Name.html#MATT_SAYS_HI">MATT_SAYS_HI</a></code></td>
+            <td></td>
+          </tr>
+          <tr>
+            <td><code><a href="/docs/reference/android/com/google/firebase/sessions/api/SessionSubscriber.Name.html#PERFORMANCE">PERFORMANCE</a></code></td>
+            <td></td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+    <div class="devsite-table-wrapper">
+      <table class="responsive">
+        <colgroup>
+          <col width="40%">
+          <col>
+        </colgroup>
+        <thead>
+          <tr>
+            <th colspan="100%"><h3>Public methods</h3></th>
+          </tr>
+        </thead>
+        <tbody class="list">
+          <tr>
+            <td><code>final @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/sessions/api/SessionSubscriber.Name.html">SessionSubscriber.Name</a></code></td>
+            <td>
+              <div><code><a href="/docs/reference/android/com/google/firebase/sessions/api/SessionSubscriber.Name.html#valueOf(kotlin.String)">valueOf</a>(@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/kotlin/java/lang/String.html">String</a>&nbsp;value)</code></div>
+              <p>Returns the enum constant of this type with the specified name.</p>
+            </td>
+          </tr>
+          <tr>
+            <td><code>final @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> SessionSubscriber.Name[]</code></td>
+            <td>
+              <div><code><a href="/docs/reference/android/com/google/firebase/sessions/api/SessionSubscriber.Name.html#values()">values</a>()</code></div>
+              <p>Returns an array containing the constants of this enum type, in the order they're declared.</p>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+    <div class="list">
+      <h2>Enum Values</h2>
+      <div class="api-item">
+        <h3 class="api-name" id="CRASHLYTICS">CRASHLYTICS</h3>
+        <pre class="api-signature no-pretty-print"><a href="/docs/reference/android/com/google/firebase/sessions/api/SessionSubscriber.Name.html">SessionSubscriber.Name</a>&nbsp;<a href="/docs/reference/android/com/google/firebase/sessions/api/SessionSubscriber.Name.html#CRASHLYTICS">SessionSubscriber.Name.CRASHLYTICS</a></pre>
+      </div>
+      <div class="api-item">
+        <h3 class="api-name" id="MATT_SAYS_HI">MATT_SAYS_HI</h3>
+        <pre class="api-signature no-pretty-print"><a href="/docs/reference/android/com/google/firebase/sessions/api/SessionSubscriber.Name.html">SessionSubscriber.Name</a>&nbsp;<a href="/docs/reference/android/com/google/firebase/sessions/api/SessionSubscriber.Name.html#MATT_SAYS_HI">SessionSubscriber.Name.MATT_SAYS_HI</a></pre>
+      </div>
+      <div class="api-item">
+        <h3 class="api-name" id="PERFORMANCE">PERFORMANCE</h3>
+        <pre class="api-signature no-pretty-print"><a href="/docs/reference/android/com/google/firebase/sessions/api/SessionSubscriber.Name.html">SessionSubscriber.Name</a>&nbsp;<a href="/docs/reference/android/com/google/firebase/sessions/api/SessionSubscriber.Name.html#PERFORMANCE">SessionSubscriber.Name.PERFORMANCE</a></pre>
+      </div>
+    </div>
+    <div class="list">
+      <h2>Public methods</h2>
+      <div class="api-item"><a name="valueOf-kotlin.String-"></a><a name="valueof"></a>
+        <h3 class="api-name" id="valueOf(kotlin.String)">valueOf</h3>
+        <pre class="api-signature no-pretty-print">public&nbsp;final&nbsp;@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/sessions/api/SessionSubscriber.Name.html">SessionSubscriber.Name</a>&nbsp;<a href="/docs/reference/android/com/google/firebase/sessions/api/SessionSubscriber.Name.html#valueOf(kotlin.String)">valueOf</a>(@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/kotlin/java/lang/String.html">String</a>&nbsp;value)</pre>
+        <p>Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)</p>
+        <div class="devsite-table-wrapper">
+          <table class="responsive">
+            <colgroup>
+              <col width="40%">
+              <col>
+            </colgroup>
+            <thead>
+              <tr>
+                <th colspan="100%">Throws</th>
+              </tr>
+            </thead>
+            <tbody class="list">
+              <tr>
+                <td><code><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-illegal-argument-exception/index.html">kotlin.IllegalArgumentException</a>&nbsp;kotlin.IllegalArgumentException</code></td>
+                <td>
+                  <p>if this enum type has no constant with the specified name</p>
+                </td>
+              </tr>
+            </tbody>
+          </table>
+        </div>
+      </div>
+      <div class="api-item"><a name="values--"></a><a name="values"></a>
+        <h3 class="api-name" id="values()">values</h3>
+        <pre class="api-signature no-pretty-print">public&nbsp;final&nbsp;@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> SessionSubscriber.Name[]&nbsp;<a href="/docs/reference/android/com/google/firebase/sessions/api/SessionSubscriber.Name.html#values()">values</a>()</pre>
+        <p>Returns an array containing the constants of this enum type, in the order they're declared.</p>
+        <p>This method may be used to iterate over the constants.</p>
+      </div>
+    </div>
+  </body>
+</html>
+
--- /Users/runner/diff/original/firebase-kotlindoc/android/com/google/firebase/sessions/api/SessionSubscriber.SessionDetails.html	1970-01-01 00:00:00.000000000 +0000
+++ /Users/runner/diff/modified/firebase-kotlindoc/android/com/google/firebase/sessions/api/SessionSubscriber.SessionDetails.html	2023-06-26 16:54:08.000000000 +0000
@@ -0,0 +1,73 @@
+<html devsite="true">
+  <head>
+    <title>SessionSubscriber.SessionDetails</title>
+{% setvar book_path %}/_book.yaml{% endsetvar %}
+{% include "docs/reference/android/_reference-head-tags.html" %}
+  </head>
+  <body>
+    <div id="metadata-info-block"></div>
+    <h1>SessionSubscriber.SessionDetails</h1>
+    <p>
+      <pre>public final data class <a href="/docs/reference/android/com/google/firebase/sessions/api/SessionSubscriber.SessionDetails.html">SessionSubscriber.SessionDetails</a></pre>
+    </p>
+    <hr>
+    <p><code><a href="/docs/reference/android/com/google/firebase/sessions/api/SessionSubscriber.SessionDetails.html">SessionDetails</a></code> contains session data passed to subscribers whenever the session changes</p>
+    <h2>Summary</h2>
+    <div class="devsite-table-wrapper">
+      <table class="responsive">
+        <colgroup>
+          <col width="40%">
+          <col>
+        </colgroup>
+        <thead>
+          <tr>
+            <th colspan="100%"><h3>Public fields</h3></th>
+          </tr>
+        </thead>
+        <tbody class="list">
+          <tr>
+            <td><code>final @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/kotlin/java/lang/String.html">String</a></code></td>
+            <td>
+              <div><code><a href="/docs/reference/android/com/google/firebase/sessions/api/SessionSubscriber.SessionDetails.html#sessionId()">sessionId</a></code></div>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+    <div class="devsite-table-wrapper">
+      <table class="responsive">
+        <colgroup>
+          <col width="40%">
+          <col>
+        </colgroup>
+        <thead>
+          <tr>
+            <th colspan="100%"><h3>Public constructors</h3></th>
+          </tr>
+        </thead>
+        <tbody class="list">
+          <tr>
+            <td>
+              <div><code><a href="/docs/reference/android/com/google/firebase/sessions/api/SessionSubscriber.SessionDetails.html#SessionDetails(kotlin.String)">SessionDetails</a>(@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/kotlin/java/lang/String.html">String</a>&nbsp;sessionId)</code></div>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+    <div class="list">
+      <h2>Public fields</h2>
+      <div class="api-item"><a name="getSessionId()"></a><a name="setSessionId()"></a><a name="getSessionId--"></a><a name="setSessionId--"></a>
+        <h3 class="api-name" id="sessionId()">sessionId</h3>
+        <pre class="api-signature no-pretty-print">public&nbsp;final&nbsp;@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/kotlin/java/lang/String.html">String</a>&nbsp;<a href="/docs/reference/android/com/google/firebase/sessions/api/SessionSubscriber.SessionDetails.html#sessionId()">sessionId</a></pre>
+      </div>
+    </div>
+    <div class="list">
+      <h2>Public constructors</h2>
+      <div class="api-item"><a name="SessionDetails-kotlin.String-"></a><a name="sessiondetails"></a>
+        <h3 class="api-name" id="SessionDetails(kotlin.String)">SessionDetails</h3>
+        <pre class="api-signature no-pretty-print">public&nbsp;<a href="/docs/reference/android/com/google/firebase/sessions/api/SessionSubscriber.SessionDetails.html#SessionDetails(kotlin.String)">SessionDetails</a>(@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/kotlin/java/lang/String.html">String</a>&nbsp;sessionId)</pre>
+      </div>
+    </div>
+  </body>
+</html>
+
--- /Users/runner/diff/original/firebase-kotlindoc/android/com/google/firebase/sessions/api/SessionSubscriber.html	1970-01-01 00:00:00.000000000 +0000
+++ /Users/runner/diff/modified/firebase-kotlindoc/android/com/google/firebase/sessions/api/SessionSubscriber.html	2023-06-26 16:54:08.000000000 +0000
@@ -0,0 +1,111 @@
+<html devsite="true">
+  <head>
+    <title>SessionSubscriber</title>
+{% setvar book_path %}/_book.yaml{% endsetvar %}
+{% include "docs/reference/android/_reference-head-tags.html" %}
+  </head>
+  <body>
+    <div id="metadata-info-block"></div>
+    <h1>SessionSubscriber</h1>
+    <p>
+      <pre>public interface <a href="/docs/reference/android/com/google/firebase/sessions/api/SessionSubscriber.html">SessionSubscriber</a></pre>
+    </p>
+    <hr>
+    <p><code><a href="/docs/reference/android/com/google/firebase/sessions/api/SessionSubscriber.html">SessionSubscriber</a></code> is an interface that dependent SDKs must implement.</p>
+    <h2>Summary</h2>
+    <div class="devsite-table-wrapper">
+      <table class="responsive">
+        <colgroup>
+          <col width="40%">
+          <col>
+        </colgroup>
+        <thead>
+          <tr>
+            <th colspan="100%"><h3>Nested types</h3></th>
+          </tr>
+        </thead>
+        <tbody class="list">
+          <tr>
+            <td>
+              <div><code>public enum <a href="/docs/reference/android/com/google/firebase/sessions/api/SessionSubscriber.Name.html">SessionSubscriber.Name</a> extends <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-enum/index.html">Enum</a></code></div>
+              <p><code><a href="/docs/reference/android/com/google/firebase/sessions/api/SessionSubscriber.Name.html">SessionSubscriber.Name</a></code>s are used for identifying subscribers.</p>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <div><code>public final data class <a href="/docs/reference/android/com/google/firebase/sessions/api/SessionSubscriber.SessionDetails.html">SessionSubscriber.SessionDetails</a></code></div>
+              <p><code><a href="/docs/reference/android/com/google/firebase/sessions/api/SessionSubscriber.SessionDetails.html">SessionDetails</a></code> contains session data passed to subscribers whenever the session changes</p>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+    <div class="devsite-table-wrapper">
+      <table class="responsive">
+        <colgroup>
+          <col width="40%">
+          <col>
+        </colgroup>
+        <thead>
+          <tr>
+            <th colspan="100%"><h3>Public fields</h3></th>
+          </tr>
+        </thead>
+        <tbody class="list">
+          <tr>
+            <td><code>abstract boolean</code></td>
+            <td>
+              <div><code><a href="/docs/reference/android/com/google/firebase/sessions/api/SessionSubscriber.html#isDataCollectionEnabled()">isDataCollectionEnabled</a></code></div>
+            </td>
+          </tr>
+          <tr>
+            <td><code>abstract @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/sessions/api/SessionSubscriber.Name.html">SessionSubscriber.Name</a></code></td>
+            <td>
+              <div><code><a href="/docs/reference/android/com/google/firebase/sessions/api/SessionSubscriber.html#sessionSubscriberName()">sessionSubscriberName</a></code></div>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+    <div class="devsite-table-wrapper">
+      <table class="responsive">
+        <colgroup>
+          <col width="40%">
+          <col>
+        </colgroup>
+        <thead>
+          <tr>
+            <th colspan="100%"><h3>Public methods</h3></th>
+          </tr>
+        </thead>
+        <tbody class="list">
+          <tr>
+            <td><code>abstract void</code></td>
+            <td>
+              <div><code><a href="/docs/reference/android/com/google/firebase/sessions/api/SessionSubscriber.html#onSessionChanged(com.google.firebase.sessions.api.SessionSubscriber.SessionDetails)">onSessionChanged</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/sessions/api/SessionSubscriber.SessionDetails.html">SessionSubscriber.SessionDetails</a>&nbsp;sessionDetails<br>)</code></div>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+    <div class="list">
+      <h2>Public fields</h2>
+      <div class="api-item"><a name="getIsDataCollectionEnabled()"></a><a name="setIsDataCollectionEnabled()"></a><a name="getIsDataCollectionEnabled--"></a><a name="setIsDataCollectionEnabled--"></a>
+        <h3 class="api-name" id="isDataCollectionEnabled()">isDataCollectionEnabled</h3>
+        <pre class="api-signature no-pretty-print">abstract&nbsp;boolean&nbsp;<a href="/docs/reference/android/com/google/firebase/sessions/api/SessionSubscriber.html#isDataCollectionEnabled()">isDataCollectionEnabled</a></pre>
+      </div>
+      <div class="api-item"><a name="getSessionSubscriberName()"></a><a name="setSessionSubscriberName()"></a><a name="getSessionSubscriberName--"></a><a name="setSessionSubscriberName--"></a>
+        <h3 class="api-name" id="sessionSubscriberName()">sessionSubscriberName</h3>
+        <pre class="api-signature no-pretty-print">abstract&nbsp;@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/sessions/api/SessionSubscriber.Name.html">SessionSubscriber.Name</a>&nbsp;<a href="/docs/reference/android/com/google/firebase/sessions/api/SessionSubscriber.html#sessionSubscriberName()">sessionSubscriberName</a></pre>
+      </div>
+    </div>
+    <div class="list">
+      <h2>Public methods</h2>
+      <div class="api-item"><a name="onSessionChanged-com.google.firebase.sessions.api.SessionSubscriber.SessionDetails-"></a><a name="onsessionchanged"></a>
+        <h3 class="api-name" id="onSessionChanged(com.google.firebase.sessions.api.SessionSubscriber.SessionDetails)">onSessionChanged</h3>
+        <pre class="api-signature no-pretty-print">abstract&nbsp;void&nbsp;<a href="/docs/reference/android/com/google/firebase/sessions/api/SessionSubscriber.html#onSessionChanged(com.google.firebase.sessions.api.SessionSubscriber.SessionDetails)">onSessionChanged</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/sessions/api/SessionSubscriber.SessionDetails.html">SessionSubscriber.SessionDetails</a>&nbsp;sessionDetails<br>)</pre>
+      </div>
+    </div>
+  </body>
+</html>
+
--- /Users/runner/diff/original/firebase-kotlindoc/android/com/google/firebase/sessions/api/package-summary.html	1970-01-01 00:00:00.000000000 +0000
+++ /Users/runner/diff/modified/firebase-kotlindoc/android/com/google/firebase/sessions/api/package-summary.html	2023-06-26 16:54:08.000000000 +0000
@@ -0,0 +1,68 @@
+<html devsite="true">
+  <head>
+    <title>com.google.firebase.sessions.api</title>
+{% setvar book_path %}/_book.yaml{% endsetvar %}
+{% include "docs/reference/android/_reference-head-tags.html" %}
+  </head>
+  <body>
+    <h1>com.google.firebase.sessions.api</h1>
+    <h2>Interfaces</h2>
+    <div class="devsite-table-wrapper">
+      <table class="responsive">
+        <colgroup>
+          <col width="40%">
+          <col>
+        </colgroup>
+        <tbody class="list">
+          <tr>
+            <td><code><a href="/docs/reference/android/com/google/firebase/sessions/api/SessionSubscriber.html">SessionSubscriber</a></code></td>
+            <td>
+              <p><code><a href="/docs/reference/android/com/google/firebase/sessions/api/SessionSubscriber.html">SessionSubscriber</a></code> is an interface that dependent SDKs must implement.</p>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+    <h2>Classes</h2>
+    <div class="devsite-table-wrapper">
+      <table class="responsive">
+        <colgroup>
+          <col width="40%">
+          <col>
+        </colgroup>
+        <tbody class="list">
+          <tr>
+            <td><code><a href="/docs/reference/android/com/google/firebase/sessions/api/SessionSubscriber.SessionDetails.html">SessionSubscriber.SessionDetails</a></code></td>
+            <td>
+              <p><code><a href="/docs/reference/android/com/google/firebase/sessions/api/SessionSubscriber.SessionDetails.html">SessionDetails</a></code> contains session data passed to subscribers whenever the session changes</p>
+            </td>
+          </tr>
+          <tr>
+            <td><code><a href="/docs/reference/android/com/google/firebase/sessions/api/FirebaseSessionsDependencies.html">FirebaseSessionsDependencies</a></code></td>
+            <td>
+              <p><code><a href="/docs/reference/android/com/google/firebase/sessions/api/FirebaseSessionsDependencies.html">FirebaseSessionsDependencies</a></code> determines when a dependent SDK is installed in the app.</p>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+    <h2>Enums</h2>
+    <div class="devsite-table-wrapper">
+      <table class="responsive">
+        <colgroup>
+          <col width="40%">
+          <col>
+        </colgroup>
+        <tbody class="list">
+          <tr>
+            <td><code><a href="/docs/reference/android/com/google/firebase/sessions/api/SessionSubscriber.Name.html">SessionSubscriber.Name</a></code></td>
+            <td>
+              <p><code><a href="/docs/reference/android/com/google/firebase/sessions/api/SessionSubscriber.Name.html">SessionSubscriber.Name</a></code>s are used for identifying subscribers.</p>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+  </body>
+</html>
+
--- /Users/runner/diff/original/firebase-kotlindoc/android/com/google/firebase/sessions/package-summary.html	1970-01-01 00:00:00.000000000 +0000
+++ /Users/runner/diff/modified/firebase-kotlindoc/android/com/google/firebase/sessions/package-summary.html	2023-06-26 16:54:08.000000000 +0000
@@ -0,0 +1,28 @@
+<html devsite="true">
+  <head>
+    <title>com.google.firebase.sessions</title>
+{% setvar book_path %}/_book.yaml{% endsetvar %}
+{% include "docs/reference/android/_reference-head-tags.html" %}
+  </head>
+  <body>
+    <h1>com.google.firebase.sessions</h1>
+    <h2>Classes</h2>
+    <div class="devsite-table-wrapper">
+      <table class="responsive">
+        <colgroup>
+          <col width="40%">
+          <col>
+        </colgroup>
+        <tbody class="list">
+          <tr>
+            <td><code><a href="/docs/reference/android/com/google/firebase/sessions/FirebaseSessions.html">FirebaseSessions</a></code></td>
+            <td>
+              <p>The <code><a href="/docs/reference/android/com/google/firebase/sessions/FirebaseSessions.html">FirebaseSessions</a></code> API provides methods to register a <code><a href="/docs/reference/android/com/google/firebase/sessions/api/SessionSubscriber.html">SessionSubscriber</a></code>.</p>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+  </body>
+</html>
+
--- /Users/runner/diff/original/firebase-kotlindoc/kotlin/client/firebase-sessions/_toc.yaml	1970-01-01 00:00:00.000000000 +0000
+++ /Users/runner/diff/modified/firebase-kotlindoc/kotlin/client/firebase-sessions/_toc.yaml	2023-06-26 16:54:07.000000000 +0000
@@ -0,0 +1,40 @@
+toc:
+- title: "com.google.firebase.sessions"
+  path: "/docs/reference/kotlin/com/google/firebase/sessions/package-summary.html"
+
+  section:
+  - title: "Classes"
+
+    section:
+    - title: "FirebaseSessions"
+      path: "/docs/reference/kotlin/com/google/firebase/sessions/FirebaseSessions.html"
+
+- title: "com.google.firebase.sessions.api"
+  path: "/docs/reference/kotlin/com/google/firebase/sessions/api/package-summary.html"
+
+  section:
+  - title: "Interfaces"
+
+    section:
+    - title: "SessionSubscriber"
+      path: "/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.html"
+
+  - title: "Classes"
+
+    section:
+    - title: "SessionSubscriber.SessionDetails"
+      path: "/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.SessionDetails.html"
+
+  - title: "Enums"
+
+    section:
+    - title: "SessionSubscriber.Name"
+      path: "/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.Name.html"
+
+  - title: "Objects"
+
+    section:
+    - title: "FirebaseSessionsDependencies"
+      path: "/docs/reference/kotlin/com/google/firebase/sessions/api/FirebaseSessionsDependencies.html"
+
+
--- /Users/runner/diff/original/firebase-kotlindoc/kotlin/com/google/firebase/sessions/FirebaseSessions.html	1970-01-01 00:00:00.000000000 +0000
+++ /Users/runner/diff/modified/firebase-kotlindoc/kotlin/com/google/firebase/sessions/FirebaseSessions.html	2023-06-26 16:54:07.000000000 +0000
@@ -0,0 +1,104 @@
+<html devsite="true">
+  <head>
+    <title>FirebaseSessions</title>
+{% setvar book_path %}/_book.yaml{% endsetvar %}
+{% include "docs/reference/kotlin/_reference-head-tags.html" %}
+  </head>
+  <body>
+    <div id="metadata-info-block"></div>
+    <h1>FirebaseSessions</h1>
+    <p>
+      <pre>class <a href="/docs/reference/kotlin/com/google/firebase/sessions/FirebaseSessions.html">FirebaseSessions</a></pre>
+    </p>
+    <hr>
+    <p>The <code><a href="/docs/reference/kotlin/com/google/firebase/sessions/FirebaseSessions.html">FirebaseSessions</a></code> API provides methods to register a <code><a href="/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.html">SessionSubscriber</a></code>.</p>
+    <h2>Summary</h2>
+    <div class="devsite-table-wrapper">
+      <table class="responsive">
+        <colgroup>
+          <col width="40%">
+          <col>
+        </colgroup>
+        <thead>
+          <tr>
+            <th colspan="100%"><h3>Public companion functions</h3></th>
+          </tr>
+        </thead>
+        <tbody class="list">
+          <tr>
+            <td><code><a href="/docs/reference/kotlin/com/google/firebase/sessions/FirebaseSessions.html">FirebaseSessions</a></code></td>
+            <td>
+              <div><code><a href="/docs/reference/kotlin/com/google/firebase/sessions/FirebaseSessions.Companion.html#getInstance(com.google.firebase.FirebaseApp)">getInstance</a>(app:&nbsp;<a href="/docs/reference/kotlin/com/google/firebase/FirebaseApp.html">FirebaseApp</a>)</code></div>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+    <div class="devsite-table-wrapper">
+      <table class="responsive">
+        <colgroup>
+          <col width="40%">
+          <col>
+        </colgroup>
+        <thead>
+          <tr>
+            <th colspan="100%"><h3>Public companion properties</h3></th>
+          </tr>
+        </thead>
+        <tbody class="list">
+          <tr>
+            <td><code><a href="/docs/reference/kotlin/com/google/firebase/sessions/FirebaseSessions.html">FirebaseSessions</a></code></td>
+            <td>
+              <div><code><a href="/docs/reference/kotlin/com/google/firebase/sessions/FirebaseSessions.Companion.html#instance()">instance</a></code></div>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+    <div class="devsite-table-wrapper">
+      <table class="responsive">
+        <colgroup>
+          <col width="40%">
+          <col>
+        </colgroup>
+        <thead>
+          <tr>
+            <th colspan="100%"><h3>Public functions</h3></th>
+          </tr>
+        </thead>
+        <tbody class="list">
+          <tr>
+            <td><code><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html">Unit</a></code></td>
+            <td>
+              <div><code><a href="/docs/reference/kotlin/com/google/firebase/sessions/FirebaseSessions.html#register(com.google.firebase.sessions.api.SessionSubscriber)">register</a>(subscriber:&nbsp;<a href="/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.html">SessionSubscriber</a>)</code></div>
+              <p>Register the <code><a href="/docs/reference/kotlin/com/google/firebase/sessions/FirebaseSessions.html#register(com.google.firebase.sessions.api.SessionSubscriber)">subscriber</a></code>.</p>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+    <div class="list">
+      <h2>Public companion functions</h2>
+      <div class="api-item"><a name="getInstance-com.google.firebase.FirebaseApp-"></a><a name="getinstance"></a>
+        <h3 class="api-name" id="getInstance(com.google.firebase.FirebaseApp)">getInstance</h3>
+        <pre class="api-signature no-pretty-print">fun&nbsp;<a href="/docs/reference/kotlin/com/google/firebase/sessions/FirebaseSessions.Companion.html#getInstance(com.google.firebase.FirebaseApp)">getInstance</a>(app:&nbsp;<a href="/docs/reference/kotlin/com/google/firebase/FirebaseApp.html">FirebaseApp</a>):&nbsp;<a href="/docs/reference/kotlin/com/google/firebase/sessions/FirebaseSessions.html">FirebaseSessions</a></pre>
+      </div>
+    </div>
+    <div class="list">
+      <h2>Public companion properties</h2>
+      <div class="api-item"><a name="getInstance()"></a><a name="setInstance()"></a><a name="getInstance--"></a><a name="setInstance--"></a>
+        <h3 class="api-name" id="instance()">instance</h3>
+        <pre class="api-signature no-pretty-print">val&nbsp;<a href="/docs/reference/kotlin/com/google/firebase/sessions/FirebaseSessions.Companion.html#instance()">instance</a>:&nbsp;<a href="/docs/reference/kotlin/com/google/firebase/sessions/FirebaseSessions.html">FirebaseSessions</a></pre>
+      </div>
+    </div>
+    <div class="list">
+      <h2>Public functions</h2>
+      <div class="api-item"><a name="register-com.google.firebase.sessions.api.SessionSubscriber-"></a><a name="register"></a>
+        <h3 class="api-name" id="register(com.google.firebase.sessions.api.SessionSubscriber)">register</h3>
+        <pre class="api-signature no-pretty-print">fun&nbsp;<a href="/docs/reference/kotlin/com/google/firebase/sessions/FirebaseSessions.html#register(com.google.firebase.sessions.api.SessionSubscriber)">register</a>(subscriber:&nbsp;<a href="/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.html">SessionSubscriber</a>):&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html">Unit</a></pre>
+        <p>Register the <code><a href="/docs/reference/kotlin/com/google/firebase/sessions/FirebaseSessions.html#register(com.google.firebase.sessions.api.SessionSubscriber)">subscriber</a></code>. This must be called for every dependency.</p>
+      </div>
+    </div>
+  </body>
+</html>
+
--- /Users/runner/diff/original/firebase-kotlindoc/kotlin/com/google/firebase/sessions/api/FirebaseSessionsDependencies.html	1970-01-01 00:00:00.000000000 +0000
+++ /Users/runner/diff/modified/firebase-kotlindoc/kotlin/com/google/firebase/sessions/api/FirebaseSessionsDependencies.html	2023-06-26 16:54:07.000000000 +0000
@@ -0,0 +1,49 @@
+<html devsite="true">
+  <head>
+    <title>FirebaseSessionsDependencies</title>
+{% setvar book_path %}/_book.yaml{% endsetvar %}
+{% include "docs/reference/kotlin/_reference-head-tags.html" %}
+  </head>
+  <body>
+    <div id="metadata-info-block"></div>
+    <h1>FirebaseSessionsDependencies</h1>
+    <p>
+      <pre>object <a href="/docs/reference/kotlin/com/google/firebase/sessions/api/FirebaseSessionsDependencies.html">FirebaseSessionsDependencies</a></pre>
+    </p>
+    <hr>
+    <p><code><a href="/docs/reference/kotlin/com/google/firebase/sessions/api/FirebaseSessionsDependencies.html">FirebaseSessionsDependencies</a></code> determines when a dependent SDK is installed in the app. The Sessions SDK uses this to figure out which dependencies to wait for to getting the data collection state. This is thread safe.</p>
+    <p>This is important because the Sessions SDK starts up before dependent SDKs.</p>
+    <h2>Summary</h2>
+    <div class="devsite-table-wrapper">
+      <table class="responsive">
+        <colgroup>
+          <col width="40%">
+          <col>
+        </colgroup>
+        <thead>
+          <tr>
+            <th colspan="100%"><h3>Public functions</h3></th>
+          </tr>
+        </thead>
+        <tbody class="list">
+          <tr>
+            <td><code><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html">Unit</a></code></td>
+            <td>
+              <div><code><a href="/docs/reference/kotlin/com/google/firebase/sessions/api/FirebaseSessionsDependencies.html#addDependency(com.google.firebase.sessions.api.SessionSubscriber.Name)">addDependency</a>(subscriberName:&nbsp;<a href="/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.Name.html">SessionSubscriber.Name</a>)</code></div>
+              <p>Add a subscriber as a dependency to the Sessions SDK.</p>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+    <div class="list">
+      <h2>Public functions</h2>
+      <div class="api-item"><a name="addDependency-com.google.firebase.sessions.api.SessionSubscriber.Name-"></a><a name="adddependency"></a>
+        <h3 class="api-name" id="addDependency(com.google.firebase.sessions.api.SessionSubscriber.Name)">addDependency</h3>
+        <pre class="api-signature no-pretty-print">fun&nbsp;<a href="/docs/reference/kotlin/com/google/firebase/sessions/api/FirebaseSessionsDependencies.html#addDependency(com.google.firebase.sessions.api.SessionSubscriber.Name)">addDependency</a>(subscriberName:&nbsp;<a href="/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.Name.html">SessionSubscriber.Name</a>):&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html">Unit</a></pre>
+        <p>Add a subscriber as a dependency to the Sessions SDK. Every dependency must register itself, or the Sessions SDK will never generate a session.</p>
+      </div>
+    </div>
+  </body>
+</html>
+
--- /Users/runner/diff/original/firebase-kotlindoc/kotlin/com/google/firebase/sessions/api/SessionSubscriber.Name.html	1970-01-01 00:00:00.000000000 +0000
+++ /Users/runner/diff/modified/firebase-kotlindoc/kotlin/com/google/firebase/sessions/api/SessionSubscriber.Name.html	2023-06-26 16:54:07.000000000 +0000
@@ -0,0 +1,142 @@
+<html devsite="true">
+  <head>
+    <title>SessionSubscriber.Name</title>
+{% setvar book_path %}/_book.yaml{% endsetvar %}
+{% include "docs/reference/kotlin/_reference-head-tags.html" %}
+  </head>
+  <body>
+    <div id="metadata-info-block"></div>
+    <h1>SessionSubscriber.Name</h1>
+    <p>
+      <pre>enum <a href="/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.Name.html">SessionSubscriber.Name</a> : <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-enum/index.html">Enum</a></pre>
+    </p>
+    <div class="devsite-table-wrapper">
+      <table class="jd-inheritance-table">
+        <tbody>
+          <tr>
+            <td colspan="3"><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html">kotlin.Any</a></td>
+          </tr>
+          <tr>
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;↳</td>
+            <td colspan="2"><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-enum/index.html">kotlin.Enum</a></td>
+          </tr>
+          <tr>
+            <td>&nbsp;</td>
+            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;↳</td>
+            <td colspan="1"><a href="/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.Name.html">com.google.firebase.sessions.api.SessionSubscriber.Name</a></td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+    <hr>
+    <p><code><a href="/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.Name.html">SessionSubscriber.Name</a></code>s are used for identifying subscribers.</p>
+    <h2>Summary</h2>
+    <div class="devsite-table-wrapper">
+      <table class="responsive">
+        <colgroup>
+          <col width="40%">
+          <col>
+        </colgroup>
+        <thead>
+          <tr>
+            <th colspan="100%"><h3>Enum Values</h3></th>
+          </tr>
+        </thead>
+        <tbody class="list">
+          <tr>
+            <td><code><a href="/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.Name.html#CRASHLYTICS">CRASHLYTICS</a></code></td>
+            <td></td>
+          </tr>
+          <tr>
+            <td><code><a href="/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.Name.html#MATT_SAYS_HI">MATT_SAYS_HI</a></code></td>
+            <td></td>
+          </tr>
+          <tr>
+            <td><code><a href="/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.Name.html#PERFORMANCE">PERFORMANCE</a></code></td>
+            <td></td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+    <div class="devsite-table-wrapper">
+      <table class="responsive">
+        <colgroup>
+          <col width="40%">
+          <col>
+        </colgroup>
+        <thead>
+          <tr>
+            <th colspan="100%"><h3>Public functions</h3></th>
+          </tr>
+        </thead>
+        <tbody class="list">
+          <tr>
+            <td><code><a href="/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.Name.html">SessionSubscriber.Name</a></code></td>
+            <td>
+              <div><code><a href="/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.Name.html#valueOf(kotlin.String)">valueOf</a>(value:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a>)</code></div>
+              <p>Returns the enum constant of this type with the specified name.</p>
+            </td>
+          </tr>
+          <tr>
+            <td><code><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html">Array</a>&lt;<a href="/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.Name.html">SessionSubscriber.Name</a>&gt;</code></td>
+            <td>
+              <div><code><a href="/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.Name.html#values()">values</a>()</code></div>
+              <p>Returns an array containing the constants of this enum type, in the order they're declared.</p>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+    <div class="list">
+      <h2>Enum Values</h2>
+      <div class="api-item">
+        <h3 class="api-name" id="CRASHLYTICS">CRASHLYTICS</h3>
+        <pre class="api-signature no-pretty-print">val&nbsp;<a href="/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.Name.html#CRASHLYTICS">SessionSubscriber.Name.CRASHLYTICS</a>:&nbsp;<a href="/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.Name.html">SessionSubscriber.Name</a></pre>
+      </div>
+      <div class="api-item">
+        <h3 class="api-name" id="MATT_SAYS_HI">MATT_SAYS_HI</h3>
+        <pre class="api-signature no-pretty-print">val&nbsp;<a href="/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.Name.html#MATT_SAYS_HI">SessionSubscriber.Name.MATT_SAYS_HI</a>:&nbsp;<a href="/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.Name.html">SessionSubscriber.Name</a></pre>
+      </div>
+      <div class="api-item">
+        <h3 class="api-name" id="PERFORMANCE">PERFORMANCE</h3>
+        <pre class="api-signature no-pretty-print">val&nbsp;<a href="/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.Name.html#PERFORMANCE">SessionSubscriber.Name.PERFORMANCE</a>:&nbsp;<a href="/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.Name.html">SessionSubscriber.Name</a></pre>
+      </div>
+    </div>
+    <div class="list">
+      <h2>Public functions</h2>
+      <div class="api-item"><a name="valueOf-kotlin.String-"></a><a name="valueof"></a>
+        <h3 class="api-name" id="valueOf(kotlin.String)">valueOf</h3>
+        <pre class="api-signature no-pretty-print">fun&nbsp;<a href="/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.Name.html#valueOf(kotlin.String)">valueOf</a>(value:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a>):&nbsp;<a href="/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.Name.html">SessionSubscriber.Name</a></pre>
+        <p>Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)</p>
+        <div class="devsite-table-wrapper">
+          <table class="responsive">
+            <colgroup>
+              <col width="40%">
+              <col>
+            </colgroup>
+            <thead>
+              <tr>
+                <th colspan="100%">Throws</th>
+              </tr>
+            </thead>
+            <tbody class="list">
+              <tr>
+                <td><code>kotlin.IllegalArgumentException:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-illegal-argument-exception/index.html">kotlin.IllegalArgumentException</a></code></td>
+                <td>
+                  <p>if this enum type has no constant with the specified name</p>
+                </td>
+              </tr>
+            </tbody>
+          </table>
+        </div>
+      </div>
+      <div class="api-item"><a name="values--"></a><a name="values"></a>
+        <h3 class="api-name" id="values()">values</h3>
+        <pre class="api-signature no-pretty-print">fun&nbsp;<a href="/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.Name.html#values()">values</a>():&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html">Array</a>&lt;<a href="/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.Name.html">SessionSubscriber.Name</a>&gt;</pre>
+        <p>Returns an array containing the constants of this enum type, in the order they're declared.</p>
+        <p>This method may be used to iterate over the constants.</p>
+      </div>
+    </div>
+  </body>
+</html>
+
--- /Users/runner/diff/original/firebase-kotlindoc/kotlin/com/google/firebase/sessions/api/SessionSubscriber.SessionDetails.html	1970-01-01 00:00:00.000000000 +0000
+++ /Users/runner/diff/modified/firebase-kotlindoc/kotlin/com/google/firebase/sessions/api/SessionSubscriber.SessionDetails.html	2023-06-26 16:54:07.000000000 +0000
@@ -0,0 +1,73 @@
+<html devsite="true">
+  <head>
+    <title>SessionSubscriber.SessionDetails</title>
+{% setvar book_path %}/_book.yaml{% endsetvar %}
+{% include "docs/reference/kotlin/_reference-head-tags.html" %}
+  </head>
+  <body>
+    <div id="metadata-info-block"></div>
+    <h1>SessionSubscriber.SessionDetails</h1>
+    <p>
+      <pre>data class <a href="/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.SessionDetails.html">SessionSubscriber.SessionDetails</a></pre>
+    </p>
+    <hr>
+    <p><code><a href="/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.SessionDetails.html">SessionDetails</a></code> contains session data passed to subscribers whenever the session changes</p>
+    <h2>Summary</h2>
+    <div class="devsite-table-wrapper">
+      <table class="responsive">
+        <colgroup>
+          <col width="40%">
+          <col>
+        </colgroup>
+        <thead>
+          <tr>
+            <th colspan="100%"><h3>Public constructors</h3></th>
+          </tr>
+        </thead>
+        <tbody class="list">
+          <tr>
+            <td>
+              <div><code><a href="/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.SessionDetails.html#SessionDetails(kotlin.String)">SessionDetails</a>(sessionId:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a>)</code></div>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+    <div class="devsite-table-wrapper">
+      <table class="responsive">
+        <colgroup>
+          <col width="40%">
+          <col>
+        </colgroup>
+        <thead>
+          <tr>
+            <th colspan="100%"><h3>Public properties</h3></th>
+          </tr>
+        </thead>
+        <tbody class="list">
+          <tr>
+            <td><code><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a></code></td>
+            <td>
+              <div><code><a href="/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.SessionDetails.html#sessionId()">sessionId</a></code></div>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+    <div class="list">
+      <h2>Public constructors</h2>
+      <div class="api-item"><a name="SessionDetails-kotlin.String-"></a><a name="sessiondetails"></a>
+        <h3 class="api-name" id="SessionDetails(kotlin.String)">SessionDetails</h3>
+        <pre class="api-signature no-pretty-print"><a href="/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.SessionDetails.html#SessionDetails(kotlin.String)">SessionDetails</a>(sessionId:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a>)</pre>
+      </div>
+    </div>
+    <div class="list">
+      <h2>Public properties</h2>
+      <div class="api-item"><a name="getSessionId()"></a><a name="setSessionId()"></a><a name="getSessionId--"></a><a name="setSessionId--"></a>
+        <h3 class="api-name" id="sessionId()">sessionId</h3>
+        <pre class="api-signature no-pretty-print">val&nbsp;<a href="/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.SessionDetails.html#sessionId()">sessionId</a>:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a></pre>
+      </div>
+    </div>
+  </body>
+</html>
+
--- /Users/runner/diff/original/firebase-kotlindoc/kotlin/com/google/firebase/sessions/api/SessionSubscriber.html	1970-01-01 00:00:00.000000000 +0000
+++ /Users/runner/diff/modified/firebase-kotlindoc/kotlin/com/google/firebase/sessions/api/SessionSubscriber.html	2023-06-26 16:54:07.000000000 +0000
@@ -0,0 +1,111 @@
+<html devsite="true">
+  <head>
+    <title>SessionSubscriber</title>
+{% setvar book_path %}/_book.yaml{% endsetvar %}
+{% include "docs/reference/kotlin/_reference-head-tags.html" %}
+  </head>
+  <body>
+    <div id="metadata-info-block"></div>
+    <h1>SessionSubscriber</h1>
+    <p>
+      <pre>interface <a href="/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.html">SessionSubscriber</a></pre>
+    </p>
+    <hr>
+    <p><code><a href="/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.html">SessionSubscriber</a></code> is an interface that dependent SDKs must implement.</p>
+    <h2>Summary</h2>
+    <div class="devsite-table-wrapper">
+      <table class="responsive">
+        <colgroup>
+          <col width="40%">
+          <col>
+        </colgroup>
+        <thead>
+          <tr>
+            <th colspan="100%"><h3>Nested types</h3></th>
+          </tr>
+        </thead>
+        <tbody class="list">
+          <tr>
+            <td>
+              <div><code>enum <a href="/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.Name.html">SessionSubscriber.Name</a> : <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-enum/index.html">Enum</a></code></div>
+              <p><code><a href="/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.Name.html">SessionSubscriber.Name</a></code>s are used for identifying subscribers.</p>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <div><code>data class <a href="/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.SessionDetails.html">SessionSubscriber.SessionDetails</a></code></div>
+              <p><code><a href="/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.SessionDetails.html">SessionDetails</a></code> contains session data passed to subscribers whenever the session changes</p>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+    <div class="devsite-table-wrapper">
+      <table class="responsive">
+        <colgroup>
+          <col width="40%">
+          <col>
+        </colgroup>
+        <thead>
+          <tr>
+            <th colspan="100%"><h3>Public functions</h3></th>
+          </tr>
+        </thead>
+        <tbody class="list">
+          <tr>
+            <td><code><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html">Unit</a></code></td>
+            <td>
+              <div><code><a href="/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.html#onSessionChanged(com.google.firebase.sessions.api.SessionSubscriber.SessionDetails)">onSessionChanged</a>(sessionDetails:&nbsp;<a href="/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.SessionDetails.html">SessionSubscriber.SessionDetails</a>)</code></div>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+    <div class="devsite-table-wrapper">
+      <table class="responsive">
+        <colgroup>
+          <col width="40%">
+          <col>
+        </colgroup>
+        <thead>
+          <tr>
+            <th colspan="100%"><h3>Public properties</h3></th>
+          </tr>
+        </thead>
+        <tbody class="list">
+          <tr>
+            <td><code><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html">Boolean</a></code></td>
+            <td>
+              <div><code><a href="/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.html#isDataCollectionEnabled()">isDataCollectionEnabled</a></code></div>
+            </td>
+          </tr>
+          <tr>
+            <td><code><a href="/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.Name.html">SessionSubscriber.Name</a></code></td>
+            <td>
+              <div><code><a href="/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.html#sessionSubscriberName()">sessionSubscriberName</a></code></div>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+    <div class="list">
+      <h2>Public functions</h2>
+      <div class="api-item"><a name="onSessionChanged-com.google.firebase.sessions.api.SessionSubscriber.SessionDetails-"></a><a name="onsessionchanged"></a>
+        <h3 class="api-name" id="onSessionChanged(com.google.firebase.sessions.api.SessionSubscriber.SessionDetails)">onSessionChanged</h3>
+        <pre class="api-signature no-pretty-print">fun&nbsp;<a href="/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.html#onSessionChanged(com.google.firebase.sessions.api.SessionSubscriber.SessionDetails)">onSessionChanged</a>(sessionDetails:&nbsp;<a href="/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.SessionDetails.html">SessionSubscriber.SessionDetails</a>):&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html">Unit</a></pre>
+      </div>
+    </div>
+    <div class="list">
+      <h2>Public properties</h2>
+      <div class="api-item"><a name="getIsDataCollectionEnabled()"></a><a name="setIsDataCollectionEnabled()"></a><a name="getIsDataCollectionEnabled--"></a><a name="setIsDataCollectionEnabled--"></a>
+        <h3 class="api-name" id="isDataCollectionEnabled()">isDataCollectionEnabled</h3>
+        <pre class="api-signature no-pretty-print">val&nbsp;<a href="/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.html#isDataCollectionEnabled()">isDataCollectionEnabled</a>:&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html">Boolean</a></pre>
+      </div>
+      <div class="api-item"><a name="getSessionSubscriberName()"></a><a name="setSessionSubscriberName()"></a><a name="getSessionSubscriberName--"></a><a name="setSessionSubscriberName--"></a>
+        <h3 class="api-name" id="sessionSubscriberName()">sessionSubscriberName</h3>
+        <pre class="api-signature no-pretty-print">val&nbsp;<a href="/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.html#sessionSubscriberName()">sessionSubscriberName</a>:&nbsp;<a href="/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.Name.html">SessionSubscriber.Name</a></pre>
+      </div>
+    </div>
+  </body>
+</html>
+
--- /Users/runner/diff/original/firebase-kotlindoc/kotlin/com/google/firebase/sessions/api/package-summary.html	1970-01-01 00:00:00.000000000 +0000
+++ /Users/runner/diff/modified/firebase-kotlindoc/kotlin/com/google/firebase/sessions/api/package-summary.html	2023-06-26 16:54:07.000000000 +0000
@@ -0,0 +1,79 @@
+<html devsite="true">
+  <head>
+    <title>com.google.firebase.sessions.api</title>
+{% setvar book_path %}/_book.yaml{% endsetvar %}
+{% include "docs/reference/kotlin/_reference-head-tags.html" %}
+  </head>
+  <body>
+    <h1>com.google.firebase.sessions.api</h1>
+    <h2>Interfaces</h2>
+    <div class="devsite-table-wrapper">
+      <table class="responsive">
+        <colgroup>
+          <col width="40%">
+          <col>
+        </colgroup>
+        <tbody class="list">
+          <tr>
+            <td><code><a href="/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.html">SessionSubscriber</a></code></td>
+            <td>
+              <p><code><a href="/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.html">SessionSubscriber</a></code> is an interface that dependent SDKs must implement.</p>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+    <h2>Classes</h2>
+    <div class="devsite-table-wrapper">
+      <table class="responsive">
+        <colgroup>
+          <col width="40%">
+          <col>
+        </colgroup>
+        <tbody class="list">
+          <tr>
+            <td><code><a href="/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.SessionDetails.html">SessionSubscriber.SessionDetails</a></code></td>
+            <td>
+              <p><code><a href="/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.SessionDetails.html">SessionDetails</a></code> contains session data passed to subscribers whenever the session changes</p>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+    <h2>Objects</h2>
+    <div class="devsite-table-wrapper">
+      <table class="responsive">
+        <colgroup>
+          <col width="40%">
+          <col>
+        </colgroup>
+        <tbody class="list">
+          <tr>
+            <td><code><a href="/docs/reference/kotlin/com/google/firebase/sessions/api/FirebaseSessionsDependencies.html">FirebaseSessionsDependencies</a></code></td>
+            <td>
+              <p><code><a href="/docs/reference/kotlin/com/google/firebase/sessions/api/FirebaseSessionsDependencies.html">FirebaseSessionsDependencies</a></code> determines when a dependent SDK is installed in the app.</p>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+    <h2>Enums</h2>
+    <div class="devsite-table-wrapper">
+      <table class="responsive">
+        <colgroup>
+          <col width="40%">
+          <col>
+        </colgroup>
+        <tbody class="list">
+          <tr>
+            <td><code><a href="/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.Name.html">SessionSubscriber.Name</a></code></td>
+            <td>
+              <p><code><a href="/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.Name.html">SessionSubscriber.Name</a></code>s are used for identifying subscribers.</p>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+  </body>
+</html>
+
--- /Users/runner/diff/original/firebase-kotlindoc/kotlin/com/google/firebase/sessions/package-summary.html	1970-01-01 00:00:00.000000000 +0000
+++ /Users/runner/diff/modified/firebase-kotlindoc/kotlin/com/google/firebase/sessions/package-summary.html	2023-06-26 16:54:07.000000000 +0000
@@ -0,0 +1,28 @@
+<html devsite="true">
+  <head>
+    <title>com.google.firebase.sessions</title>
+{% setvar book_path %}/_book.yaml{% endsetvar %}
+{% include "docs/reference/kotlin/_reference-head-tags.html" %}
+  </head>
+  <body>
+    <h1>com.google.firebase.sessions</h1>
+    <h2>Classes</h2>
+    <div class="devsite-table-wrapper">
+      <table class="responsive">
+        <colgroup>
+          <col width="40%">
+          <col>
+        </colgroup>
+        <tbody class="list">
+          <tr>
+            <td><code><a href="/docs/reference/kotlin/com/google/firebase/sessions/FirebaseSessions.html">FirebaseSessions</a></code></td>
+            <td>
+              <p>The <code><a href="/docs/reference/kotlin/com/google/firebase/sessions/FirebaseSessions.html">FirebaseSessions</a></code> API provides methods to register a <code><a href="/docs/reference/kotlin/com/google/firebase/sessions/api/SessionSubscriber.html">SessionSubscriber</a></code>.</p>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+  </body>
+</html>
+

@github-actions
Copy link
Contributor

📝 PRs merging into main branch

Our main branch should always be in a releasable state. If you are working on a larger change, or if you don't want this change to see the light of the day just yet, consider using a feature branch first, and only merge into the main branch when the code complete and ready to be released.

@github-actions
Copy link
Contributor

Unit Test Results

   818 files  +24     818 suites  +24   38m 46s ⏱️ + 3m 36s
4 948 tests +33  4 927 ✔️ +34  21 💤 ±0  0  - 1 
9 805 runs  +66  9 763 ✔️ +67  42 💤 ±0  0  - 1 

Results for commit b5cc0d2. ± Comparison against base commit d028b21.

Copy link
Contributor

@samedson samedson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

image

@google-oss-bot
Copy link
Contributor

Size Report 1

Affected Products

  • base

    TypeBase (d028b21)Merge (82334ff)Diff
    apk (release)8.65 kB8.66 kB+4 B (+0.0%)
  • firebase-abt

    TypeBase (d028b21)Merge (82334ff)Diff
    apk (aggressive)116 kB116 kB+4 B (+0.0%)
    apk (release)1.27 MB1.27 MB+4 B (+0.0%)
  • firebase-annotations

    TypeBase (d028b21)Merge (82334ff)Diff
    apk (aggressive)8.39 kB8.39 kB+4 B (+0.0%)
    apk (release)9.46 kB9.47 kB+4 B (+0.0%)
  • firebase-appcheck

    TypeBase (d028b21)Merge (82334ff)Diff
    apk (aggressive)362 kB362 kB+4 B (+0.0%)
    apk (release)1.56 MB1.56 MB+4 B (+0.0%)
  • firebase-appcheck-debug

    TypeBase (d028b21)Merge (82334ff)Diff
    apk (aggressive)363 kB363 kB+4 B (+0.0%)
    apk (release)1.56 MB1.56 MB+4 B (+0.0%)
  • firebase-appcheck-debug-testing

    TypeBase (d028b21)Merge (82334ff)Diff
    apk (release)1.60 MB1.60 MB+4 B (+0.0%)
  • firebase-appcheck-interop

    TypeBase (d028b21)Merge (82334ff)Diff
    apk (aggressive)312 kB312 kB-4 B (-0.0%)
    apk (release)931 kB931 kB+4 B (+0.0%)
  • firebase-appcheck-ktx

    TypeBase (d028b21)Merge (82334ff)Diff
    apk (aggressive)370 kB370 kB+4 B (+0.0%)
    apk (release)1.94 MB1.94 MB+4 B (+0.0%)
  • firebase-appcheck-playintegrity

    TypeBase (d028b21)Merge (82334ff)Diff
    apk (aggressive)365 kB365 kB+4 B (+0.0%)
    apk (release)1.57 MB1.57 MB+4 B (+0.0%)
  • firebase-appcheck-safetynet

    TypeBase (d028b21)Merge (82334ff)Diff
    apk (aggressive)364 kB364 kB+4 B (+0.0%)
    apk (release)1.57 MB1.57 MB+4 B (+0.0%)
  • firebase-appdistribution

    TypeBase (d028b21)Merge (82334ff)Diff
    apk (aggressive)905 kB905 kB-120 B (-0.0%)
    apk (release)2.64 MB2.64 MB+4 B (+0.0%)
  • firebase-appdistribution-api

    TypeBase (d028b21)Merge (82334ff)Diff
    apk (release)1.27 MB1.27 MB+4 B (+0.0%)
  • firebase-appdistribution-api-ktx

    TypeBase (d028b21)Merge (82334ff)Diff
    apk (aggressive)124 kB124 kB+4 B (+0.0%)
    apk (release)1.65 MB1.65 MB+4 B (+0.0%)
  • firebase-common

    TypeBase (d028b21)Merge (82334ff)Diff
    apk (aggressive)112 kB112 kB+8 B (+0.0%)
    apk (release)1.26 MB1.26 MB+12 B (+0.0%)
  • firebase-common-ktx

    TypeBase (d028b21)Merge (82334ff)Diff
    apk (aggressive)123 kB123 kB+8 B (+0.0%)
    apk (release)1.64 MB1.64 MB+4 B (+0.0%)
  • firebase-config-ktx

    TypeBase (d028b21)Merge (82334ff)Diff
    apk (aggressive)160 kB160 kB+8 B (+0.0%)
    apk (release)1.71 MB1.71 MB+4 B (+0.0%)
  • firebase-crashlytics

    TypeBase (d028b21)Merge (82334ff)Diff
    aar351 kB357 kB+5.53 kB (+1.6%)
    apk (aggressive)247 kB432 kB+185 kB (+75.0%)
    apk (release)1.48 MB2.17 MB+696 kB (+47.2%)
  • firebase-crashlytics-ktx

    TypeBase (d028b21)Merge (82334ff)Diff
    aar6.58 kB7.31 kB+731 B (+11.1%)
    apk (aggressive)255 kB433 kB+178 kB (+69.9%)
    apk (release)1.86 MB2.17 MB+316 kB (+17.0%)
  • firebase-crashlytics-ndk

    TypeBase (d028b21)Merge (82334ff)Diff
    apk (aggressive / arm64-v8a)1.41 MB1.60 MB+186 kB (+13.2%)
    apk (aggressive / armeabi-v7a)890 kB1.08 MB+186 kB (+20.9%)
    apk (aggressive / x86)1.40 MB1.58 MB+186 kB (+13.3%)
    apk (aggressive / x86_64)1.46 MB1.64 MB+186 kB (+12.7%)
    apk (release / arm64-v8a)2.64 MB3.34 MB+698 kB (+26.4%)
    apk (release / armeabi-v7a)2.12 MB2.81 MB+698 kB (+33.0%)
    apk (release / x86)2.62 MB3.32 MB+698 kB (+26.6%)
    apk (release / x86_64)2.68 MB3.38 MB+698 kB (+26.0%)
  • firebase-database

    TypeBase (d028b21)Merge (82334ff)Diff
    apk (aggressive)359 kB359 kB+4 B (+0.0%)
    apk (release)1.72 MB1.72 MB+4 B (+0.0%)
  • firebase-database-collection

    TypeBase (d028b21)Merge (82334ff)Diff
    apk (aggressive)312 kB312 kB+4 B (+0.0%)
    apk (release)942 kB942 kB+4 B (+0.0%)
  • firebase-database-ktx

    TypeBase (d028b21)Merge (82334ff)Diff
    apk (aggressive)367 kB367 kB+4 B (+0.0%)
    apk (release)2.11 MB2.11 MB+4 B (+0.0%)
  • firebase-datatransport

    TypeBase (d028b21)Merge (82334ff)Diff
    apk (aggressive)161 kB161 kB+8 B (+0.0%)
    apk (release)1.35 MB1.35 MB+4 B (+0.0%)
  • firebase-decoders-json

    TypeBase (d028b21)Merge (82334ff)Diff
    apk (aggressive)8.68 kB8.69 kB+4 B (+0.0%)
    apk (release)15.3 kB15.3 kB+4 B (+0.0%)
  • firebase-dynamic-links

    TypeBase (d028b21)Merge (82334ff)Diff
    apk (aggressive)360 kB360 kB+4 B (+0.0%)
    apk (release)1.56 MB1.56 MB+4 B (+0.0%)
  • firebase-dynamic-links-ktx

    TypeBase (d028b21)Merge (82334ff)Diff
    apk (aggressive)368 kB368 kB+4 B (+0.0%)
    apk (release)1.94 MB1.94 MB+4 B (+0.0%)
  • firebase-dynamic-module-support

    TypeBase (d028b21)Merge (82334ff)Diff
    apk (aggressive)124 kB124 kB+4 B (+0.0%)
    apk (release)1.31 MB1.31 MB+4 B (+0.0%)
  • firebase-encoders

    TypeBase (d028b21)Merge (82334ff)Diff
    apk (aggressive)8.68 kB8.69 kB+4 B (+0.0%)
  • firebase-encoders-json

    TypeBase (d028b21)Merge (82334ff)Diff
    apk (aggressive)24.0 kB24.0 kB+4 B (+0.0%)
  • firebase-encoders-proto

    TypeBase (d028b21)Merge (82334ff)Diff
    apk (release)21.7 kB21.7 kB+4 B (+0.0%)
  • firebase-encoders-reflective

    TypeBase (d028b21)Merge (82334ff)Diff
    apk (release)22.5 kB22.5 kB+4 B (+0.0%)
  • firebase-firestore

    TypeBase (d028b21)Merge (82334ff)Diff
    apk (release)3.95 MB3.95 MB+4 B (+0.0%)
  • firebase-firestore-ktx

    TypeBase (d028b21)Merge (82334ff)Diff
    apk (aggressive)528 kB528 kB+4 B (+0.0%)
    apk (release)4.34 MB4.34 MB+4 B (+0.0%)
  • firebase-functions

    TypeBase (d028b21)Merge (82334ff)Diff
    apk (release)1.82 MB1.82 MB+4 B (+0.0%)
  • firebase-functions-ktx

    TypeBase (d028b21)Merge (82334ff)Diff
    apk (aggressive)408 kB408 kB+4 B (+0.0%)
    apk (release)2.19 MB2.19 MB+4 B (+0.0%)
  • firebase-inappmessaging

    TypeBase (d028b21)Merge (82334ff)Diff
    apk (aggressive)700 kB700 kB+4 B (+0.0%)
  • firebase-inappmessaging-display

    TypeBase (d028b21)Merge (82334ff)Diff
    apk (release)5.21 MB5.21 MB+4 B (+0.0%)
  • firebase-installations

    TypeBase (d028b21)Merge (82334ff)Diff
    apk (aggressive)114 kB114 kB+4 B (+0.0%)
    apk (release)1.28 MB1.28 MB+4 B (+0.0%)
  • firebase-installations-interop

    TypeBase (d028b21)Merge (82334ff)Diff
    apk (release)652 kB652 kB+4 B (+0.0%)
  • firebase-installations-ktx

    TypeBase (d028b21)Merge (82334ff)Diff
    apk (aggressive)127 kB127 kB+8 B (+0.0%)
    apk (release)1.67 MB1.67 MB+4 B (+0.0%)
  • firebase-messaging

    TypeBase (d028b21)Merge (82334ff)Diff
    apk (aggressive)465 kB465 kB+4 B (+0.0%)
    apk (release)1.72 MB1.72 MB+4 B (+0.0%)
  • firebase-messaging-directboot

    TypeBase (d028b21)Merge (82334ff)Diff
    apk (aggressive)465 kB465 kB+4 B (+0.0%)
    apk (release)1.72 MB1.72 MB+4 B (+0.0%)
  • firebase-messaging-ktx

    TypeBase (d028b21)Merge (82334ff)Diff
    apk (aggressive)472 kB472 kB+4 B (+0.0%)
    apk (release)2.10 MB2.10 MB+4 B (+0.0%)
  • firebase-ml-modeldownloader

    TypeBase (d028b21)Merge (82334ff)Diff
    apk (aggressive)168 kB168 kB+8 B (+0.0%)
  • firebase-ml-modeldownloader-ktx

    TypeBase (d028b21)Merge (82334ff)Diff
    apk (release)1.79 MB1.79 MB+4 B (+0.0%)
  • firebase-perf

    TypeBase (d028b21)Merge (82334ff)Diff
    aar316 kB317 kB+1.06 kB (+0.3%)
    apk (aggressive)1.06 MB1.24 MB+180 kB (+16.9%)
    apk (release)3.06 MB3.74 MB+684 kB (+22.4%)
  • firebase-perf-ktx

    TypeBase (d028b21)Merge (82334ff)Diff
    apk (aggressive)1.07 MB1.24 MB+171 kB (+16.0%)
    apk (release)3.44 MB3.75 MB+306 kB (+8.9%)
  • firebase-sessions

    TypeBase (d028b21)Merge (82334ff)Diff
    aar?107 kB? (?)
    apk (aggressive)?364 kB? (?)
    apk (release)?2.06 MB? (?)
  • firebase-storage

    TypeBase (d028b21)Merge (82334ff)Diff
    apk (aggressive)361 kB361 kB+4 B (+0.0%)
  • firebase-storage-ktx

    TypeBase (d028b21)Merge (82334ff)Diff
    apk (aggressive)369 kB369 kB+4 B (+0.0%)
    apk (release)1.97 MB1.97 MB+4 B (+0.0%)
  • protolite-well-known-types

    TypeBase (d028b21)Merge (82334ff)Diff
    apk (aggressive)134 kB134 kB+4 B (+0.0%)
    apk (release)666 kB666 kB+4 B (+0.0%)
  • transport-api

    TypeBase (d028b21)Merge (82334ff)Diff
    apk (aggressive)8.68 kB8.69 kB+4 B (+0.0%)
  • transport-backend-cct

    TypeBase (d028b21)Merge (82334ff)Diff
    apk (aggressive)57.6 kB57.6 kB+4 B (+0.0%)
    apk (release)105 kB105 kB+4 B (+0.0%)
  • transport-runtime

    TypeBase (d028b21)Merge (82334ff)Diff
    apk (aggressive)44.6 kB44.6 kB+4 B (+0.0%)
    apk (release)84.0 kB84.1 kB+4 B (+0.0%)

Test Logs

  1. https://storage.googleapis.com/firebase-sdk-metric-reports/GTl071ezLZ.html

@mrober mrober merged commit b7aae80 into master Jun 26, 2023
@mrober mrober deleted the firebase-sessions branch June 26, 2023 17:08
@google-oss-bot
Copy link
Contributor

Coverage Report 1

Affected Products

  • firebase-crashlytics

    Overall coverage changed from 10.07% (d028b21) to 9.69% (82334ff) by -0.38%.

    14 individual files with coverage change

    FilenameBase (d028b21)Merge (82334ff)Diff
    AutoCrashlyticsReportEncoder.java57.82%57.72%-0.11%
    AutoValue_InstallIdProvider_InstallIds.java?0.00%?
    AutoValue_StaticSessionData_AppData.java6.00%0.00%-6.00%
    CrashlyticsAppQualitySessionsSubscriber.java?0.00%?
    CrashlyticsController.java16.49%15.96%-0.53%
    CrashlyticsCore.java0.62%0.62%-0.00%
    CrashlyticsReport.java2.73%2.59%-0.14%
    CrashlyticsReportDataCapture.java3.54%3.52%-0.02%
    CrashlyticsReportJsonTransform.java1.18%1.18%-0.01%
    CrashlyticsReportPersistence.java3.16%2.96%-0.20%
    DeliveryMechanism.java90.91%0.00%-90.91%
    IdManager.java3.13%3.03%-0.09%
    SessionReportingCoordinator.java44.76%43.05%-1.71%
    StaticSessionData.java12.50%0.00%-12.50%

  • firebase-messaging

    Overall coverage changed from 84.18% (d028b21) to 84.10% (82334ff) by -0.08%.

    FilenameBase (d028b21)Merge (82334ff)Diff
    FirebaseMessaging.java74.01%73.13%-0.88%
  • firebase-perf

    Overall coverage changed from 71.25% (d028b21) to 71.19% (82334ff) by -0.06%.

    FilenameBase (d028b21)Merge (82334ff)Diff
    AppStateMonitor.java86.71%84.97%-1.73%
    AppStateUpdateHandler.java92.86%89.29%-3.57%
    FirebasePerfEarly.java76.92%85.00%+8.08%
    MemoryGaugeCollector.java89.66%91.38%+1.72%
    Trace.java96.67%95.83%-0.83%
  • firebase-sessions

    Overall coverage changed from ? (d028b21) to 72.21% (82334ff) by ?.

    20 individual files with coverage change

    FilenameBase (d028b21)Merge (82334ff)Diff
    ApplicationInfo.kt?100.00%?
    AutoSessionEventEncoder.java?100.00%?
    EventGDTLogger.kt?75.00%?
    FirebaseSessions.kt?0.00%?
    FirebaseSessionsDependencies.kt?91.30%?
    FirebaseSessionsRegistrar.kt?0.00%?
    LocalOverrideSettings.kt?83.33%?
    RemoteSettings.kt?88.06%?
    RemoteSettingsFetcher.kt?65.85%?
    SessionCoordinator.kt?75.00%?
    SessionEvent.kt?100.00%?
    SessionEvents.kt?96.97%?
    SessionGenerator.kt?91.67%?
    SessionInitiateListener.kt?0.00%?
    SessionInitiator.kt?74.19%?
    SessionsSettings.kt?70.45%?
    SessionSubscriber.kt?75.00%?
    SettingsCache.kt?94.83%?
    SettingsProvider.kt?50.00%?
    Time.kt?0.00%?

  • firebase-storage

    Overall coverage changed from 85.90% (d028b21) to 86.11% (82334ff) by +0.22%.

    FilenameBase (d028b21)Merge (82334ff)Diff
    StorageException.java65.45%69.09%+3.64%
    StorageTask.java83.69%83.99%+0.30%
    UploadTask.java82.51%83.17%+0.66%
  • firebase-database

    FilenameBase (d028b21)Merge (82334ff)Diff
    ChildChangeAccumulator.java96.67%83.33%-13.33%
    WebsocketConnection.java32.77%35.03%+2.26%
  • firebase-firestore

    FilenameBase (d028b21)Merge (82334ff)Diff
    DeleteMutation.java90.48%95.24%+4.76%
    PatchMutation.java100.00%98.39%-1.61%

Test Logs

  1. https://storage.googleapis.com/firebase-sdk-metric-reports/TjmhvDsLMV.html

@google-oss-bot
Copy link
Contributor

Startup Time Report 1

The report is too large (121,549 chars) to be displayed on GitHub. Please check this report on GCS.

  1. https://storage.googleapis.com/firebase-sdk-metric-reports/J2p07iunSs/index.html

@firebase firebase locked and limited conversation to collaborators Jul 27, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants