Expose Multi-DB, and add tests.
Coverage Report 1
Affected Products
firebase-firestoreOverall coverage changed from 44.34% (ad22aeb) to 44.33% (1cac111) by -0.02%.
Filename Base (ad22aeb) Merge (1cac111) Diff FirebaseFirestore.java 38.33% 38.25% -0.08% LruGarbageCollector.java 97.27% 93.64% -3.64% firebase-firestore-ktxOverall coverage changed from 37.04% (ad22aeb) to 39.29% (1cac111) by +2.25%.
Filename Base (ad22aeb) Merge (1cac111) Diff Firestore.kt 40.00% 42.31% +2.31%
Test Logs
Size Report 1
Affected Products
firebase-firestoreType Base (ad22aeb) Merge (1cac111) Diff aar 1.36 MB 1.36 MB +69 B (+0.0%) apk (release) 3.95 MB 3.95 MB +392 B (+0.0%) firebase-firestore-ktxType Base (ad22aeb) Merge (1cac111) Diff aar 25.1 kB 25.3 kB +126 B (+0.5%) apk (release) 4.34 MB 4.34 MB +384 B (+0.0%)
Test Logs
Unit Test Results
162 files + 128 162 suites +128 2m 11s :stopwatch: + 1m 9s 1 162 tests +1 104 1 146 :heavy_check_mark: +1 088 16 :zzz: +16 0 :x: ±0 2 324 runs +2 208 2 292 :heavy_check_mark: +2 176 32 :zzz: +32 0 :x: ±0
Results for commit a1cc5dd8. ± Comparison against base commit ad22aebe.
This pull request removes 58 and adds 1162 tests. Note that renamed tests count towards both.
com.google.firebase.DataCollectionPostNDefaultEnabledTest ‑ isDataCollectionDefaultEnabled_shouldDefaultToTrue
com.google.firebase.DataCollectionPostNDefaultEnabledTest ‑ isDataCollectionDefaultEnabled_whenPrefsFalse_shouldReturnFalse
com.google.firebase.DataCollectionPostNDefaultEnabledTest ‑ isDataCollectionDefaultEnabled_whenPrefsTrue_shouldReturnTrue
com.google.firebase.DataCollectionPostNDefaultEnabledTest ‑ setDataCollectionDefaultEnabledFalse_shouldUpdateSharedPrefs
com.google.firebase.DataCollectionPostNDefaultEnabledTest ‑ setDataCollectionDefaultEnabled_shouldNotAffectOtherFirebaseAppInstances
com.google.firebase.DataCollectionPreNDefaultEnabledTest ‑ isDataCollectionDefaultEnabled_shouldDefaultToTrue
com.google.firebase.DataCollectionPreNDefaultEnabledTest ‑ isDataCollectionDefaultEnabled_whenPrefsFalse_shouldReturnFalse
com.google.firebase.DataCollectionPreNDefaultEnabledTest ‑ isDataCollectionDefaultEnabled_whenPrefsTrue_shouldReturnTrue
com.google.firebase.DataCollectionPreNDefaultEnabledTest ‑ setDataCollectionDefaultEnabledFalse_shouldUpdateSharedPrefs
com.google.firebase.DataCollectionPreNDefaultEnabledTest ‑ setDataCollectionDefaultEnabled_shouldNotAffectOtherFirebaseAppInstances
…
com.google.firebase.TimestampTest ‑ testCompare
com.google.firebase.TimestampTest ‑ testFromDate
com.google.firebase.TimestampTest ‑ testRejectBadDates
com.google.firebase.TimestampTest ‑ testTimestampParcelable
com.google.firebase.firestore.AggregateQuerySnapshotTest ‑ createWithCountShouldReturnInstanceWithTheGivenQueryAndCount
com.google.firebase.firestore.AggregateQueryTest ‑ testSourceMustNotBeNull
com.google.firebase.firestore.BlobTest ‑ testComparison
com.google.firebase.firestore.BlobTest ‑ testEquals
com.google.firebase.firestore.BlobTest ‑ testMutableBytes
com.google.firebase.firestore.CollectionReferenceTest ‑ testEquals
…
:recycle: This comment has been updated with latest results.
You have a test failure with ValidationTests:
1) firestoreGetInstanceWithNullDbNamepFails(com.google.firebase.firestore.ValidationTest)
java.lang.AssertionError: Expected exception with message 'Provided database name must not be null.' but no exception was thrown
at org.junit.Assert.fail(Assert.java:89)
at com.google.firebase.firestore.testutil.TestUtil.expectError(TestUtil.java:767)
at com.google.firebase.firestore.testutil.TestUtil.expectError(TestUtil.java:746)
at com.google.firebase.firestore.ValidationTest.firestoreGetInstanceWithNullDbNamepFails(ValidationTest.java:104)
at java.lang.reflect.Method.invoke(Native Method)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
...
/test smoke-tests
As discussed, please make the added interface package-private for now.
Doing this broke other parts that call methods, so I am reverting change. I think we will just have to wait until we can make this public before we merge.
Javadoc Changes:
--- /Users/runner/diff/original/firebase-kotlindoc/android/com/google/firebase/firestore/FirebaseFirestore.html 2023-06-08 18:32:51.000000000 +0000
+++ /Users/runner/diff/modified/firebase-kotlindoc/android/com/google/firebase/firestore/FirebaseFirestore.html 2023-06-08 18:27:21.000000000 +0000
@@ -114,12 +114,28 @@
<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/firestore/FirebaseFirestore.html">FirebaseFirestore</a></code></td>
<td>
<div><code><a href="/docs/reference/android/com/google/firebase/firestore/FirebaseFirestore.html#getInstance()">getInstance</a>()</code></div>
+ <p>Returns the default <code><a href="/docs/reference/android/com/google/firebase/firestore/FirebaseFirestore.html">FirebaseFirestore</a></code> instance associated with the default .</p>
</td>
</tr>
<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/firestore/FirebaseFirestore.html">FirebaseFirestore</a></code></td>
<td>
<div><code><a href="/docs/reference/android/com/google/firebase/firestore/FirebaseFirestore.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> app)</code></div>
+ <p>Returns the default <code><a href="/docs/reference/android/com/google/firebase/firestore/FirebaseFirestore.html">FirebaseFirestore</a></code> instance that is associated with the provided <code><a href="/docs/reference/android/com/google/firebase/FirebaseApp.html">FirebaseApp</a></code>.</p>
+ </td>
+ </tr>
+ <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/firestore/FirebaseFirestore.html">FirebaseFirestore</a></code></td>
+ <td>
+ <div><code><a href="/docs/reference/android/com/google/firebase/firestore/FirebaseFirestore.html#getInstance(java.lang.String)">getInstance</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> database)</code></div>
+ <p>Returns the <code><a href="/docs/reference/android/com/google/firebase/firestore/FirebaseFirestore.html">FirebaseFirestore</a></code> instance that is associated with the default .</p>
+ </td>
+ </tr>
+ <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/firestore/FirebaseFirestore.html">FirebaseFirestore</a></code></td>
+ <td>
+ <div><code><a href="/docs/reference/android/com/google/firebase/firestore/FirebaseFirestore.html#getInstance(com.google.firebase.FirebaseApp,java.lang.String)">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> app, @<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> database)</code></div>
+ <p>Returns the <code><a href="/docs/reference/android/com/google/firebase/firestore/FirebaseFirestore.html">FirebaseFirestore</a></code> instance that is associated with the provided .</p>
</td>
</tr>
<tr>
@@ -635,10 +651,95 @@
<div class="api-item"><a name="getInstance--"></a><a name="getinstance"></a>
<h3 class="api-name" id="getInstance()">getInstance</h3>
<pre class="api-signature no-pretty-print">public static @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/firestore/FirebaseFirestore.html">FirebaseFirestore</a> <a href="/docs/reference/android/com/google/firebase/firestore/FirebaseFirestore.html#getInstance()">getInstance</a>()</pre>
+ <p>Returns the default <code><a href="/docs/reference/android/com/google/firebase/firestore/FirebaseFirestore.html">FirebaseFirestore</a></code> instance associated with the default . Returns the same instance for all invocations. If no instance exists, initializes a new instance with default settings.</p>
+ <p>The <code><a href="/docs/reference/android/com/google/firebase/firestore/FirebaseFirestore.html">FirebaseFirestore</a></code> instance.</p>
</div>
<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 static @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/firestore/FirebaseFirestore.html">FirebaseFirestore</a> <a href="/docs/reference/android/com/google/firebase/firestore/FirebaseFirestore.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> app)</pre>
+ <p>Returns the default <code><a href="/docs/reference/android/com/google/firebase/firestore/FirebaseFirestore.html">FirebaseFirestore</a></code> instance that is associated with the provided <code><a href="/docs/reference/android/com/google/firebase/FirebaseApp.html">FirebaseApp</a></code>. For a given <code><a href="/docs/reference/android/com/google/firebase/FirebaseApp.html">FirebaseApp</a></code>, invocation always returns the same instance. If no instance exists, initializes a new instance with default settings.</p>
+ <p>The <code><a href="/docs/reference/android/com/google/firebase/firestore/FirebaseFirestore.html">FirebaseFirestore</a></code> instance.</p>
+ <div class="devsite-table-wrapper">
+ <table class="responsive">
+ <colgroup>
+ <col width="40%">
+ <col>
+ </colgroup>
+ <thead>
+ <tr>
+ <th colspan="100%">Parameters</th>
+ </tr>
+ </thead>
+ <tbody class="list">
+ <tr>
+ <td><code>@<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> app</code></td>
+ <td>
+ <p>- The <code><a href="/docs/reference/android/com/google/firebase/FirebaseApp.html">FirebaseApp</a></code> instance that the returned <code><a href="/docs/reference/android/com/google/firebase/firestore/FirebaseFirestore.html">FirebaseFirestore</a></code> instance is associated with.</p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="api-item"><a name="getInstance-java.lang.String-"></a><a name="getinstance"></a>
+ <h3 class="api-name" id="getInstance(java.lang.String)">getInstance</h3>
+ <pre class="api-signature no-pretty-print">public static @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/firestore/FirebaseFirestore.html">FirebaseFirestore</a> <a href="/docs/reference/android/com/google/firebase/firestore/FirebaseFirestore.html#getInstance(java.lang.String)">getInstance</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> database)</pre>
+ <p>Returns the <code><a href="/docs/reference/android/com/google/firebase/firestore/FirebaseFirestore.html">FirebaseFirestore</a></code> instance that is associated with the default . Returns the same instance for all invocations given the same database parameter. If no instance exists, initializes a new instance with default settings.</p>
+ <p>The <code><a href="/docs/reference/android/com/google/firebase/firestore/FirebaseFirestore.html">FirebaseFirestore</a></code> instance.</p>
+ <div class="devsite-table-wrapper">
+ <table class="responsive">
+ <colgroup>
+ <col width="40%">
+ <col>
+ </colgroup>
+ <thead>
+ <tr>
+ <th colspan="100%">Parameters</th>
+ </tr>
+ </thead>
+ <tbody class="list">
+ <tr>
+ <td><code>@<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> database</code></td>
+ <td>
+ <p>- The name of database.</p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="api-item"><a name="getInstance(com.google.firebase.FirebaseApp, java.lang.String)"></a><a name="getInstance-com.google.firebase.FirebaseApp-java.lang.String-"></a><a name="getinstance"></a>
+ <h3 class="api-name" id="getInstance(com.google.firebase.FirebaseApp,java.lang.String)">getInstance</h3>
+ <pre class="api-signature no-pretty-print">public static @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/firestore/FirebaseFirestore.html">FirebaseFirestore</a> <a href="/docs/reference/android/com/google/firebase/firestore/FirebaseFirestore.html#getInstance(com.google.firebase.FirebaseApp,java.lang.String)">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> app, @<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> database)</pre>
+ <p>Returns the <code><a href="/docs/reference/android/com/google/firebase/firestore/FirebaseFirestore.html">FirebaseFirestore</a></code> instance that is associated with the provided . Returns the same instance for all invocations given the same <code><a href="/docs/reference/android/com/google/firebase/FirebaseApp.html">FirebaseApp</a></code> and database parameter. If no instance exists, initializes a new instance with default settings.</p>
+ <p>The <code><a href="/docs/reference/android/com/google/firebase/firestore/FirebaseFirestore.html">FirebaseFirestore</a></code> instance.</p>
+ <div class="devsite-table-wrapper">
+ <table class="responsive">
+ <colgroup>
+ <col width="40%">
+ <col>
+ </colgroup>
+ <thead>
+ <tr>
+ <th colspan="100%">Parameters</th>
+ </tr>
+ </thead>
+ <tbody class="list">
+ <tr>
+ <td><code>@<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> app</code></td>
+ <td>
+ <p>- The <code><a href="/docs/reference/android/com/google/firebase/FirebaseApp.html">FirebaseApp</a></code> instance that the returned <code><a href="/docs/reference/android/com/google/firebase/firestore/FirebaseFirestore.html">FirebaseFirestore</a></code> instance is associated with.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>@<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> database</code></td>
+ <td>
+ <p>- The name of database.</p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
</div>
<div class="api-item"><a name="getNamedQuery-java.lang.String-"></a><a name="getnamedquery"></a>
<h3 class="api-name" id="getNamedQuery(java.lang.String)">getNamedQuery</h3>
--- /Users/runner/diff/original/firebase-kotlindoc/kotlin/com/google/firebase/firestore/FirebaseFirestore.html 2023-06-08 18:32:51.000000000 +0000
+++ /Users/runner/diff/modified/firebase-kotlindoc/kotlin/com/google/firebase/firestore/FirebaseFirestore.html 2023-06-08 18:27:21.000000000 +0000
@@ -114,12 +114,28 @@
<td><code>java-static <a href="/docs/reference/kotlin/com/google/firebase/firestore/FirebaseFirestore.html">FirebaseFirestore</a></code></td>
<td>
<div><code><a href="/docs/reference/kotlin/com/google/firebase/firestore/FirebaseFirestore.html#getInstance()">getInstance</a>()</code></div>
+ <p>Returns the default <code><a href="/docs/reference/kotlin/com/google/firebase/firestore/FirebaseFirestore.html">FirebaseFirestore</a></code> instance associated with the default .</p>
</td>
</tr>
<tr>
<td><code>java-static <a href="/docs/reference/kotlin/com/google/firebase/firestore/FirebaseFirestore.html">FirebaseFirestore</a></code></td>
<td>
<div><code><a href="/docs/reference/kotlin/com/google/firebase/firestore/FirebaseFirestore.html#getInstance(com.google.firebase.FirebaseApp)">getInstance</a>(app: <a href="/docs/reference/kotlin/com/google/firebase/FirebaseApp.html">FirebaseApp</a>)</code></div>
+ <p>Returns the default <code><a href="/docs/reference/kotlin/com/google/firebase/firestore/FirebaseFirestore.html">FirebaseFirestore</a></code> instance that is associated with the provided <code><a href="/docs/reference/kotlin/com/google/firebase/FirebaseApp.html">FirebaseApp</a></code>.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>java-static <a href="/docs/reference/kotlin/com/google/firebase/firestore/FirebaseFirestore.html">FirebaseFirestore</a></code></td>
+ <td>
+ <div><code><a href="/docs/reference/kotlin/com/google/firebase/firestore/FirebaseFirestore.html#getInstance(java.lang.String)">getInstance</a>(database: <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a>)</code></div>
+ <p>Returns the <code><a href="/docs/reference/kotlin/com/google/firebase/firestore/FirebaseFirestore.html">FirebaseFirestore</a></code> instance that is associated with the default .</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>java-static <a href="/docs/reference/kotlin/com/google/firebase/firestore/FirebaseFirestore.html">FirebaseFirestore</a></code></td>
+ <td>
+ <div><code><a href="/docs/reference/kotlin/com/google/firebase/firestore/FirebaseFirestore.html#getInstance(com.google.firebase.FirebaseApp,java.lang.String)">getInstance</a>(app: <a href="/docs/reference/kotlin/com/google/firebase/FirebaseApp.html">FirebaseApp</a>, database: <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a>)</code></div>
+ <p>Returns the <code><a href="/docs/reference/kotlin/com/google/firebase/firestore/FirebaseFirestore.html">FirebaseFirestore</a></code> instance that is associated with the provided .</p>
</td>
</tr>
<tr>
@@ -635,10 +651,95 @@
<div class="api-item"><a name="getInstance--"></a><a name="getinstance"></a>
<h3 class="api-name" id="getInstance()">getInstance</h3>
<pre class="api-signature no-pretty-print">java-static fun <a href="/docs/reference/kotlin/com/google/firebase/firestore/FirebaseFirestore.html#getInstance()">getInstance</a>(): <a href="/docs/reference/kotlin/com/google/firebase/firestore/FirebaseFirestore.html">FirebaseFirestore</a></pre>
+ <p>Returns the default <code><a href="/docs/reference/kotlin/com/google/firebase/firestore/FirebaseFirestore.html">FirebaseFirestore</a></code> instance associated with the default . Returns the same instance for all invocations. If no instance exists, initializes a new instance with default settings.</p>
+ <p>The <code><a href="/docs/reference/kotlin/com/google/firebase/firestore/FirebaseFirestore.html">FirebaseFirestore</a></code> instance.</p>
</div>
<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">java-static fun <a href="/docs/reference/kotlin/com/google/firebase/firestore/FirebaseFirestore.html#getInstance(com.google.firebase.FirebaseApp)">getInstance</a>(app: <a href="/docs/reference/kotlin/com/google/firebase/FirebaseApp.html">FirebaseApp</a>): <a href="/docs/reference/kotlin/com/google/firebase/firestore/FirebaseFirestore.html">FirebaseFirestore</a></pre>
+ <p>Returns the default <code><a href="/docs/reference/kotlin/com/google/firebase/firestore/FirebaseFirestore.html">FirebaseFirestore</a></code> instance that is associated with the provided <code><a href="/docs/reference/kotlin/com/google/firebase/FirebaseApp.html">FirebaseApp</a></code>. For a given <code><a href="/docs/reference/kotlin/com/google/firebase/FirebaseApp.html">FirebaseApp</a></code>, invocation always returns the same instance. If no instance exists, initializes a new instance with default settings.</p>
+ <p>The <code><a href="/docs/reference/kotlin/com/google/firebase/firestore/FirebaseFirestore.html">FirebaseFirestore</a></code> instance.</p>
+ <div class="devsite-table-wrapper">
+ <table class="responsive">
+ <colgroup>
+ <col width="40%">
+ <col>
+ </colgroup>
+ <thead>
+ <tr>
+ <th colspan="100%">Parameters</th>
+ </tr>
+ </thead>
+ <tbody class="list">
+ <tr>
+ <td><code>app: <a href="/docs/reference/kotlin/com/google/firebase/FirebaseApp.html">FirebaseApp</a></code></td>
+ <td>
+ <p>- The <code><a href="/docs/reference/kotlin/com/google/firebase/FirebaseApp.html">FirebaseApp</a></code> instance that the returned <code><a href="/docs/reference/kotlin/com/google/firebase/firestore/FirebaseFirestore.html">FirebaseFirestore</a></code> instance is associated with.</p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="api-item"><a name="getInstance-java.lang.String-"></a><a name="getinstance"></a>
+ <h3 class="api-name" id="getInstance(java.lang.String)">getInstance</h3>
+ <pre class="api-signature no-pretty-print">java-static fun <a href="/docs/reference/kotlin/com/google/firebase/firestore/FirebaseFirestore.html#getInstance(java.lang.String)">getInstance</a>(database: <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a>): <a href="/docs/reference/kotlin/com/google/firebase/firestore/FirebaseFirestore.html">FirebaseFirestore</a></pre>
+ <p>Returns the <code><a href="/docs/reference/kotlin/com/google/firebase/firestore/FirebaseFirestore.html">FirebaseFirestore</a></code> instance that is associated with the default . Returns the same instance for all invocations given the same database parameter. If no instance exists, initializes a new instance with default settings.</p>
+ <p>The <code><a href="/docs/reference/kotlin/com/google/firebase/firestore/FirebaseFirestore.html">FirebaseFirestore</a></code> instance.</p>
+ <div class="devsite-table-wrapper">
+ <table class="responsive">
+ <colgroup>
+ <col width="40%">
+ <col>
+ </colgroup>
+ <thead>
+ <tr>
+ <th colspan="100%">Parameters</th>
+ </tr>
+ </thead>
+ <tbody class="list">
+ <tr>
+ <td><code>database: <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a></code></td>
+ <td>
+ <p>- The name of database.</p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="api-item"><a name="getInstance(com.google.firebase.FirebaseApp, java.lang.String)"></a><a name="getInstance-com.google.firebase.FirebaseApp-java.lang.String-"></a><a name="getinstance"></a>
+ <h3 class="api-name" id="getInstance(com.google.firebase.FirebaseApp,java.lang.String)">getInstance</h3>
+ <pre class="api-signature no-pretty-print">java-static fun <a href="/docs/reference/kotlin/com/google/firebase/firestore/FirebaseFirestore.html#getInstance(com.google.firebase.FirebaseApp,java.lang.String)">getInstance</a>(app: <a href="/docs/reference/kotlin/com/google/firebase/FirebaseApp.html">FirebaseApp</a>, database: <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a>): <a href="/docs/reference/kotlin/com/google/firebase/firestore/FirebaseFirestore.html">FirebaseFirestore</a></pre>
+ <p>Returns the <code><a href="/docs/reference/kotlin/com/google/firebase/firestore/FirebaseFirestore.html">FirebaseFirestore</a></code> instance that is associated with the provided . Returns the same instance for all invocations given the same <code><a href="/docs/reference/kotlin/com/google/firebase/FirebaseApp.html">FirebaseApp</a></code> and database parameter. If no instance exists, initializes a new instance with default settings.</p>
+ <p>The <code><a href="/docs/reference/kotlin/com/google/firebase/firestore/FirebaseFirestore.html">FirebaseFirestore</a></code> instance.</p>
+ <div class="devsite-table-wrapper">
+ <table class="responsive">
+ <colgroup>
+ <col width="40%">
+ <col>
+ </colgroup>
+ <thead>
+ <tr>
+ <th colspan="100%">Parameters</th>
+ </tr>
+ </thead>
+ <tbody class="list">
+ <tr>
+ <td><code>app: <a href="/docs/reference/kotlin/com/google/firebase/FirebaseApp.html">FirebaseApp</a></code></td>
+ <td>
+ <p>- The <code><a href="/docs/reference/kotlin/com/google/firebase/FirebaseApp.html">FirebaseApp</a></code> instance that the returned <code><a href="/docs/reference/kotlin/com/google/firebase/firestore/FirebaseFirestore.html">FirebaseFirestore</a></code> instance is associated with.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>database: <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a></code></td>
+ <td>
+ <p>- The name of database.</p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
</div>
<div class="api-item"><a name="getNamedQuery-java.lang.String-"></a><a name="getnamedquery"></a>
<h3 class="api-name" id="getNamedQuery(java.lang.String)">getNamedQuery</h3>
--- /Users/runner/diff/original/firebase-kotlindoc/kotlin/com/google/firebase/firestore/ktx/package-summary.html 2023-06-08 18:35:33.000000000 +0000
+++ /Users/runner/diff/modified/firebase-kotlindoc/kotlin/com/google/firebase/firestore/ktx/package-summary.html 2023-06-08 18:29:09.000000000 +0000
@@ -73,11 +73,25 @@
<tr>
<td><code><a href="/docs/reference/kotlin/com/google/firebase/firestore/FirebaseFirestore.html">FirebaseFirestore</a></code></td>
<td>
+ <div><code><a href="/docs/reference/kotlin/com/google/firebase/ktx/Firebase.html">Firebase</a>.<a href="/docs/reference/kotlin/com/google/firebase/firestore/ktx/package-summary.html#(com.google.firebase.ktx.Firebase).firestore(com.google.firebase.FirebaseApp,kotlin.String)">firestore</a>(app: <a href="/docs/reference/kotlin/com/google/firebase/FirebaseApp.html">FirebaseApp</a>, database: <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a>)</code></div>
+ <p>Returns the <code><a href="/docs/reference/kotlin/com/google/firebase/firestore/FirebaseFirestore.html">FirebaseFirestore</a></code> instance of a given <code><a href="/docs/reference/kotlin/com/google/firebase/FirebaseApp.html">FirebaseApp</a></code> and database name.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code><a href="/docs/reference/kotlin/com/google/firebase/firestore/FirebaseFirestore.html">FirebaseFirestore</a></code></td>
+ <td>
<div><code><a href="/docs/reference/kotlin/com/google/firebase/ktx/Firebase.html">Firebase</a>.<a href="/docs/reference/kotlin/com/google/firebase/firestore/ktx/package-summary.html#(com.google.firebase.ktx.Firebase).firestore(com.google.firebase.FirebaseApp)">firestore</a>(app: <a href="/docs/reference/kotlin/com/google/firebase/FirebaseApp.html">FirebaseApp</a>)</code></div>
<p>Returns the <code><a href="/docs/reference/kotlin/com/google/firebase/firestore/FirebaseFirestore.html">FirebaseFirestore</a></code> instance of a given <code><a href="/docs/reference/kotlin/com/google/firebase/FirebaseApp.html">FirebaseApp</a></code>.</p>
</td>
</tr>
<tr>
+ <td><code><a href="/docs/reference/kotlin/com/google/firebase/firestore/FirebaseFirestore.html">FirebaseFirestore</a></code></td>
+ <td>
+ <div><code><a href="/docs/reference/kotlin/com/google/firebase/ktx/Firebase.html">Firebase</a>.<a href="/docs/reference/kotlin/com/google/firebase/firestore/ktx/package-summary.html#(com.google.firebase.ktx.Firebase).firestore(kotlin.String)">firestore</a>(database: <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a>)</code></div>
+ <p>Returns the <code><a href="/docs/reference/kotlin/com/google/firebase/firestore/FirebaseFirestore.html">FirebaseFirestore</a></code> instance of the default <code><a href="/docs/reference/kotlin/com/google/firebase/FirebaseApp.html">FirebaseApp</a></code>, given the database name.</p>
+ </td>
+ </tr>
+ <tr>
<td><code>inline T?</code></td>
<td>
<div><code><T : <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html">Any</a>?> <a href="/docs/reference/kotlin/com/google/firebase/firestore/DocumentSnapshot.html">DocumentSnapshot</a>.<a href="/docs/reference/kotlin/com/google/firebase/firestore/ktx/package-summary.html#(com.google.firebase.firestore.DocumentSnapshot).getField(com.google.firebase.firestore.FieldPath,com.google.firebase.firestore.DocumentSnapshot.ServerTimestampBehavior)">getField</a>(<br> fieldPath: <a href="/docs/reference/kotlin/com/google/firebase/firestore/FieldPath.html">FieldPath</a>,<br> serverTimestampBehavior: <a href="/docs/reference/kotlin/com/google/firebase/firestore/DocumentSnapshot.ServerTimestampBehavior.html">DocumentSnapshot.ServerTimestampBehavior</a><br>)</code></div>
@@ -285,11 +299,21 @@
</table>
</div>
</div>
+ <div class="api-item"><a name="(com.google.firebase.ktx.Firebase).firestore(com.google.firebase.FirebaseApp, kotlin.String)"></a><a name="-com.google.firebase.ktx.Firebase-.firestore-com.google.firebase.FirebaseApp-kotlin.String-"></a><a name="firestore"></a>
+ <h3 class="api-name" id="(com.google.firebase.ktx.Firebase).firestore(com.google.firebase.FirebaseApp,kotlin.String)">firestore</h3>
+ <pre class="api-signature no-pretty-print">fun <a href="/docs/reference/kotlin/com/google/firebase/ktx/Firebase.html">Firebase</a>.<a href="/docs/reference/kotlin/com/google/firebase/firestore/ktx/package-summary.html#(com.google.firebase.ktx.Firebase).firestore(com.google.firebase.FirebaseApp,kotlin.String)">firestore</a>(app: <a href="/docs/reference/kotlin/com/google/firebase/FirebaseApp.html">FirebaseApp</a>, database: <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a>): <a href="/docs/reference/kotlin/com/google/firebase/firestore/FirebaseFirestore.html">FirebaseFirestore</a></pre>
+ <p>Returns the <code><a href="/docs/reference/kotlin/com/google/firebase/firestore/FirebaseFirestore.html">FirebaseFirestore</a></code> instance of a given <code><a href="/docs/reference/kotlin/com/google/firebase/FirebaseApp.html">FirebaseApp</a></code> and database name.</p>
+ </div>
<div class="api-item"><a name="-com.google.firebase.ktx.Firebase-.firestore-com.google.firebase.FirebaseApp-"></a><a name="firestore"></a>
<h3 class="api-name" id="(com.google.firebase.ktx.Firebase).firestore(com.google.firebase.FirebaseApp)">firestore</h3>
<pre class="api-signature no-pretty-print">fun <a href="/docs/reference/kotlin/com/google/firebase/ktx/Firebase.html">Firebase</a>.<a href="/docs/reference/kotlin/com/google/firebase/firestore/ktx/package-summary.html#(com.google.firebase.ktx.Firebase).firestore(com.google.firebase.FirebaseApp)">firestore</a>(app: <a href="/docs/reference/kotlin/com/google/firebase/FirebaseApp.html">FirebaseApp</a>): <a href="/docs/reference/kotlin/com/google/firebase/firestore/FirebaseFirestore.html">FirebaseFirestore</a></pre>
<p>Returns the <code><a href="/docs/reference/kotlin/com/google/firebase/firestore/FirebaseFirestore.html">FirebaseFirestore</a></code> instance of a given <code><a href="/docs/reference/kotlin/com/google/firebase/FirebaseApp.html">FirebaseApp</a></code>.</p>
</div>
+ <div class="api-item"><a name="-com.google.firebase.ktx.Firebase-.firestore-kotlin.String-"></a><a name="firestore"></a>
+ <h3 class="api-name" id="(com.google.firebase.ktx.Firebase).firestore(kotlin.String)">firestore</h3>
+ <pre class="api-signature no-pretty-print">fun <a href="/docs/reference/kotlin/com/google/firebase/ktx/Firebase.html">Firebase</a>.<a href="/docs/reference/kotlin/com/google/firebase/firestore/ktx/package-summary.html#(com.google.firebase.ktx.Firebase).firestore(kotlin.String)">firestore</a>(database: <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a>): <a href="/docs/reference/kotlin/com/google/firebase/firestore/FirebaseFirestore.html">FirebaseFirestore</a></pre>
+ <p>Returns the <code><a href="/docs/reference/kotlin/com/google/firebase/firestore/FirebaseFirestore.html">FirebaseFirestore</a></code> instance of the default <code><a href="/docs/reference/kotlin/com/google/firebase/FirebaseApp.html">FirebaseApp</a></code>, given the database name.</p>
+ </div>
<div class="api-item"><a name="(com.google.firebase.firestore.DocumentSnapshot).getField(com.google.firebase.firestore.FieldPath, com.google.firebase.firestore.DocumentSnapshot.ServerTimestampBehavior)"></a><a name="-com.google.firebase.firestore.DocumentSnapshot-.getField-com.google.firebase.firestore.FieldPath-com.google.firebase.firestore.DocumentSnapshot.ServerTimestampBehavior-"></a><a name="getfield"></a>
<h3 class="api-name" id="(com.google.firebase.firestore.DocumentSnapshot).getField(com.google.firebase.firestore.FieldPath,com.google.firebase.firestore.DocumentSnapshot.ServerTimestampBehavior)">getField</h3>
<pre class="api-signature no-pretty-print">inline fun <T : <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html">Any</a>?> <a href="/docs/reference/kotlin/com/google/firebase/firestore/DocumentSnapshot.html">DocumentSnapshot</a>.<a href="/docs/reference/kotlin/com/google/firebase/firestore/ktx/package-summary.html#(com.google.firebase.firestore.DocumentSnapshot).getField(com.google.firebase.firestore.FieldPath,com.google.firebase.firestore.DocumentSnapshot.ServerTimestampBehavior)">getField</a>(<br> fieldPath: <a href="/docs/reference/kotlin/com/google/firebase/firestore/FieldPath.html">FieldPath</a>,<br> serverTimestampBehavior: <a href="/docs/reference/kotlin/com/google/firebase/firestore/DocumentSnapshot.ServerTimestampBehavior.html">DocumentSnapshot.ServerTimestampBehavior</a><br>): T?</pre>
The public api surface has changed for the subproject firebase-firestore: error: Added method com.google.firebase.firestore.FirebaseFirestore.getInstance(String) [AddedMethod] error: Added method com.google.firebase.firestore.FirebaseFirestore.getInstance(com.google.firebase.FirebaseApp,String) [AddedMethod]
The public api surface has changed for the subproject firebase-firestore_ktx: error: Added method com.google.firebase.firestore.ktx.FirestoreKt.firestore(com.google.firebase.ktx.Firebase,String) [AddedMethod] error: Added method com.google.firebase.firestore.ktx.FirestoreKt.firestore(com.google.firebase.ktx.Firebase,com.google.firebase.FirebaseApp,String) [AddedMethod]
Please update the api.txt files for the subprojects being affected by this change by running ./gradlew ${subproject}:generateApiTxtFile. Also perform a major/minor bump accordingly.
Startup Time Report 1
Note: Layout is sometimes suboptimal due to limited formatting support on GitHub. Please check this report on GCS.
Notes
- This report is for comparing the base commit (ad22aeb) and the CI merge commit (1cac111)
- Please check below reports for each individual commit to find more details (Perfetto traces, histograms, detailed measurements)
Startup Times
fire-fstDevice Statistics Distributions oriole-32 Percentile ad22aeb 1cac111 Diff Significant (?) p10 329 ±15 μs 314 ±14 μs -15.3 μs (-4.6%) NO p25 345 ±21 μs 327 ±18 μs -18.5 μs (-5.4%) NO p50 361 ±25 μs 346 ±31 μs -15.2 μs (-4.2%) NO p75 385 ±33 μs 409 ±98 μs +24.0 μs (+6.2%) NO p90 434 ±76 μs 482 ±142 μs +47.5 μs (+10.9%) NO 20 test runs in comparison
Commit Test Runs ad22aeb - 2023-06-07_21:25:52.471867_krzZ
- 2023-06-07_21:25:52.475037_orbW
- 2023-06-07_21:25:52.475057_AkNj
- 2023-06-07_21:25:52.475065_gejR
- 2023-06-07_21:25:52.475071_jSsV
- 2023-06-07_21:25:52.475078_AujW
- 2023-06-07_21:25:52.475084_Labj
- 2023-06-07_21:25:52.475091_rpXi
- 2023-06-07_21:25:52.475097_WhrU
- 2023-06-07_21:25:52.475103_dXnT
1cac111 - 2023-06-08_18:44:34.545509_UlAW
- 2023-06-08_18:44:34.552390_PITX
- 2023-06-08_18:44:34.552419_gYnv
- 2023-06-08_18:44:34.552428_IKIz
- 2023-06-08_18:44:34.552435_hOTr
- 2023-06-08_18:44:34.552441_Igwv
- 2023-06-08_18:44:34.552447_fleC
- 2023-06-08_18:44:34.552453_HNvL
- 2023-06-08_18:44:34.552459_xjgJ
- 2023-06-08_18:44:34.552465_AAGy
redfin-30 Percentile ad22aeb 1cac111 Diff Significant (?) p10 629 ±28 μs 635 ±18 μs +5.75 μs (+0.9%) NO p25 647 ±33 μs 652 ±19 μs +4.37 μs (+0.7%) NO p50 675 ±41 μs 679 ±27 μs +4.56 μs (+0.7%) NO p75 718 ±60 μs 716 ±35 μs -1.67 μs (-0.2%) NO p90 779 ±108 μs 772 ±59 μs -6.84 μs (-0.9%) NO 20 test runs in comparison
Commit Test Runs ad22aeb - 2023-06-07_21:25:52.471867_krzZ
- 2023-06-07_21:25:52.475037_orbW
- 2023-06-07_21:25:52.475057_AkNj
- 2023-06-07_21:25:52.475065_gejR
- 2023-06-07_21:25:52.475071_jSsV
- 2023-06-07_21:25:52.475078_AujW
- 2023-06-07_21:25:52.475084_Labj
- 2023-06-07_21:25:52.475091_rpXi
- 2023-06-07_21:25:52.475097_WhrU
- 2023-06-07_21:25:52.475103_dXnT
1cac111 - 2023-06-08_18:44:34.545509_UlAW
- 2023-06-08_18:44:34.552390_PITX
- 2023-06-08_18:44:34.552419_gYnv
- 2023-06-08_18:44:34.552428_IKIz
- 2023-06-08_18:44:34.552435_hOTr
- 2023-06-08_18:44:34.552441_Igwv
- 2023-06-08_18:44:34.552447_fleC
- 2023-06-08_18:44:34.552453_HNvL
- 2023-06-08_18:44:34.552459_xjgJ
- 2023-06-08_18:44:34.552465_AAGy
timeToInitialDisplayDevice Statistics Distributions oriole-32 Percentile ad22aeb 1cac111 Diff Significant (?) p10 194 ±3 ms 195 ±3 ms +802 μs (+0.4%) NO p25 200 ±3 ms 201 ±3 ms +492 μs (+0.2%) NO p50 207 ±3 ms 209 ±3 ms +1.53 ms (+0.7%) NO p75 215 ±4 ms 220 ±2 ms +4.94 ms (+2.3%) NO p90 224 ±5 ms 237 ±11 ms +12.2 ms (+5.5%) NO 20 test runs in comparison
Commit Test Runs ad22aeb - 2023-06-07_21:25:52.471867_krzZ
- 2023-06-07_21:25:52.475037_orbW
- 2023-06-07_21:25:52.475057_AkNj
- 2023-06-07_21:25:52.475065_gejR
- 2023-06-07_21:25:52.475071_jSsV
- 2023-06-07_21:25:52.475078_AujW
- 2023-06-07_21:25:52.475084_Labj
- 2023-06-07_21:25:52.475091_rpXi
- 2023-06-07_21:25:52.475097_WhrU
- 2023-06-07_21:25:52.475103_dXnT
1cac111 - 2023-06-08_18:44:34.545509_UlAW
- 2023-06-08_18:44:34.552390_PITX
- 2023-06-08_18:44:34.552419_gYnv
- 2023-06-08_18:44:34.552428_IKIz
- 2023-06-08_18:44:34.552435_hOTr
- 2023-06-08_18:44:34.552441_Igwv
- 2023-06-08_18:44:34.552447_fleC
- 2023-06-08_18:44:34.552453_HNvL
- 2023-06-08_18:44:34.552459_xjgJ
- 2023-06-08_18:44:34.552465_AAGy
redfin-30 Percentile ad22aeb 1cac111 Diff Significant (?) p10 231 ±4 ms 254 ±4 ms +22.1 ms (+9.5%) YES p25 238 ±5 ms 259 ±5 ms +20.5 ms (+8.6%) MAYBE p50 245 ±5 ms 266 ±5 ms +21.0 ms (+8.6%) MAYBE p75 254 ±7 ms 274 ±4 ms +20.8 ms (+8.2%) MAYBE p90 263 ±9 ms 287 ±7 ms +24.0 ms (+9.1%) NO 20 test runs in comparison
Commit Test Runs ad22aeb - 2023-06-07_21:25:52.471867_krzZ
- 2023-06-07_21:25:52.475037_orbW
- 2023-06-07_21:25:52.475057_AkNj
- 2023-06-07_21:25:52.475065_gejR
- 2023-06-07_21:25:52.475071_jSsV
- 2023-06-07_21:25:52.475078_AujW
- 2023-06-07_21:25:52.475084_Labj
- 2023-06-07_21:25:52.475091_rpXi
- 2023-06-07_21:25:52.475097_WhrU
- 2023-06-07_21:25:52.475103_dXnT
1cac111 - 2023-06-08_18:44:34.545509_UlAW
- 2023-06-08_18:44:34.552390_PITX
- 2023-06-08_18:44:34.552419_gYnv
- 2023-06-08_18:44:34.552428_IKIz
- 2023-06-08_18:44:34.552435_hOTr
- 2023-06-08_18:44:34.552441_Igwv
- 2023-06-08_18:44:34.552447_fleC
- 2023-06-08_18:44:34.552453_HNvL
- 2023-06-08_18:44:34.552459_xjgJ
- 2023-06-08_18:44:34.552465_AAGy
The public api surface has changed for the subproject firebase-firestore: error: Added method com.google.firebase.firestore.FirebaseFirestore.getInstance(String) [AddedMethod] error: Added method com.google.firebase.firestore.FirebaseFirestore.getInstance(com.google.firebase.FirebaseApp,String) [AddedMethod]
The public api surface has changed for the subproject firebase-firestore_ktx: error: Added method com.google.firebase.firestore.ktx.FirestoreKt.firestore(com.google.firebase.ktx.Firebase,String) [AddedMethod] error: Added method com.google.firebase.firestore.ktx.FirestoreKt.firestore(com.google.firebase.ktx.Firebase,com.google.firebase.FirebaseApp,String) [AddedMethod]
Please update the api.txt files for the subprojects being affected by this change by running ./gradlew ${subproject}:generateApiTxtFile. Also perform a major/minor bump accordingly.