Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: flutter/packages
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 6efb75994fc0
Choose a base ref
...
head repository: flutter/packages
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 34948d11297a
Choose a head ref
  • 4 commits
  • 151 files changed
  • 4 contributors

Commits on Aug 7, 2025

  1. [google_maps_flutter_platform_interface] Add Advanced markers support (…

    …#9737)
    
    This PR adds Advanced markers support to the platform interface of `google_maps_flutter`.
    Approved combined PR: #7882
    Issue: [#155526](flutter/flutter#155526)
    
    ## Pre-Review Checklist
    
    **Note**: The Flutter team is currently trialing the use of [Gemini Code Assist for GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code). Comments from the `gemini-code-assist` bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed.
    
    [^1]: Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling.
    aednlaxer authored Aug 7, 2025
    Configuration menu
    Copy the full SHA
    09297ec View commit details
    Browse the repository at this point in the history
  2. Roll Flutter from 9de63a0 to 92a6bfb (11 revisions) (#9769)

    flutter/flutter@9de63a0...92a6bfb
    
    2025-08-07 [email protected] Roll Packages from f0b2726 to 6efb759 (4 revisions) (flutter/flutter#173414)
    2025-08-07 [email protected] Provide monitor list, display size, refresh rate, and more for Windows (flutter/flutter#164460)
    2025-08-07 [email protected] [android][tool] Consolidate minimum versions for android projects.  (flutter/flutter#171965)
    2025-08-07 [email protected] Roll Fuchsia Linux SDK from 2Mo76-tiDj4ZCZbPv... to i4vsuEGyP8Xeb5tiy... (flutter/flutter#173409)
    2025-08-07 [email protected] Roll Skia from 9a886bdfb716 to a6ccfeafbfba (1 revision) (flutter/flutter#173384)
    2025-08-07 [email protected] Fix drawerScrimColor transition. (flutter/flutter#173280)
    2025-08-07 [email protected] Roll Skia from dd60ed46a006 to 9a886bdfb716 (2 revisions) (flutter/flutter#173382)
    2025-08-06 [email protected] Roll Skia from 05d82af3f4bd to dd60ed46a006 (2 revisions) (flutter/flutter#173376)
    2025-08-06 [email protected] Roll Skia from 5518bb27db67 to 05d82af3f4bd (2 revisions) (flutter/flutter#173372)
    2025-08-06 [email protected] Roll Skia from 9bb1fc4bc326 to 5518bb27db67 (2 revisions) (flutter/flutter#173363)
    2025-08-06 [email protected] Roll Skia from a918c0e08500 to 9bb1fc4bc326 (24 revisions) (flutter/flutter#173355)
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/flutter-packages
    Please CC [email protected],[email protected] on the revert to ensure that a human
    is aware of the problem.
    
    To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://issues.skia.org/issues/new?component=1389291&template=1850622
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
    engine-flutter-autoroll authored Aug 7, 2025
    Configuration menu
    Copy the full SHA
    86115cc View commit details
    Browse the repository at this point in the history
  3. [dependabot]: Bump the test-dependencies group across 15 directories …

    …with 7 updates (#9736)
    
    In addition to the robot changes below. I (@reidbaker) Also updated the kotin version to 2.2.0 (using flutter analyze --suggestions), removed jetifier usage from hardcoded to true to not set which defaults to false (this was done in url launcher at least a year ago), and modified `FileUtilsTest` in file_selector_android and `FileUtilsTest` in image_picker_android to not set mimeTypeMap for android s and above as roboletrics handles that for you. In shared_preferences_android kotlin warned that it was taking a private variable and making it package private in the jvm because an inner class was accessing sharedPreferencesDataStore so I changed the scope to the compile time scope. 
    
    Bumps the test-dependencies group with 2 updates in the /packages/camera/camera_android/android directory: androidx.test:core and [org.robolectric:robolectric](https://github.com/robolectric/robolectric).
    Bumps the test-dependencies group with 3 updates in the /packages/camera/camera_android_camerax/android directory: androidx.test:core, [org.robolectric:robolectric](https://github.com/robolectric/robolectric) and [org.mockito:mockito-core](https://github.com/mockito/mockito).
    Bumps the test-dependencies group with 2 updates in the /packages/file_selector/file_selector_android/android directory: androidx.test:core and [org.robolectric:robolectric](https://github.com/robolectric/robolectric).
    Bumps the test-dependencies group with 1 update in the /packages/flutter_plugin_android_lifecycle/android directory: [org.mockito:mockito-core](https://github.com/mockito/mockito).
    Bumps the test-dependencies group with 4 updates in the /packages/google_maps_flutter/google_maps_flutter_android/android directory: androidx.test:core, [org.robolectric:robolectric](https://github.com/robolectric/robolectric), [org.mockito:mockito-core](https://github.com/mockito/mockito) and androidx.test:runner.
    Bumps the test-dependencies group with 3 updates in the /packages/image_picker/image_picker_android/android directory: androidx.test:core, [org.robolectric:robolectric](https://github.com/robolectric/robolectric) and [org.mockito:mockito-core](https://github.com/mockito/mockito).
    Bumps the test-dependencies group with 4 updates in the /packages/in_app_purchase/in_app_purchase_android/android directory: androidx.test:core, [org.robolectric:robolectric](https://github.com/robolectric/robolectric), [org.mockito:mockito-core](https://github.com/mockito/mockito) and androidx.test:runner.
    Bumps the test-dependencies group with 3 updates in the /packages/local_auth/local_auth_android/android directory: [org.robolectric:robolectric](https://github.com/robolectric/robolectric), androidx.test:runner and androidx.test:rules.
    Bumps the test-dependencies group with 1 update in the /packages/pigeon/platform_tests/alternate_language_test_plugin/android directory: [org.mockito:mockito-core](https://github.com/mockito/mockito).
    Bumps the test-dependencies group with 1 update in the /packages/pigeon/platform_tests/test_plugin/android directory: [io.mockk:mockk](https://github.com/mockk/mockk).
    Bumps the test-dependencies group with 1 update in the /packages/quick_actions/quick_actions_android/android directory: [org.mockito:mockito-core](https://github.com/mockito/mockito).
    Bumps the test-dependencies group with 3 updates in the /packages/shared_preferences/shared_preferences_android/android directory: [org.robolectric:robolectric](https://github.com/robolectric/robolectric), [io.mockk:mockk](https://github.com/mockk/mockk) and androidx.test:core-ktx.
    Bumps the test-dependencies group with 3 updates in the /packages/url_launcher/url_launcher_android/android directory: androidx.test:core, [org.robolectric:robolectric](https://github.com/robolectric/robolectric) and [org.mockito:mockito-core](https://github.com/mockito/mockito).
    Bumps the test-dependencies group with 2 updates in the /packages/video_player/video_player_android/android directory: androidx.test:core and [org.robolectric:robolectric](https://github.com/robolectric/robolectric).
    Bumps the test-dependencies group with 2 updates in the /packages/webview_flutter/webview_flutter_android/android directory: androidx.test:core and [org.mockito:mockito-core](https://github.com/mockito/mockito).
    
    Updates `androidx.test:core` from 1.6.1 to 1.7.0
    
    Updates `org.robolectric:robolectric` from 4.14.1 to 4.15.1
    <details>
    <summary>Release notes</summary>
    <p><em>Sourced from <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Freleases">org.robolectric:robolectric's releases</a>.</em></p>
    <blockquote>
    <p>Robolectric 4.15.1 is a minor release that fixes <a href="/api/browser/proxy?url=https%3A%2F%2Fredirect.github.com%2Frobolectric%2Frobolectric%2Fissues%2F9595">robolectric/robolectric#9595</a>, where the onClick handler now being invoked in Compose on certain API levels. Thanks to <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2FGisoBartels"><code>@​GisoBartels</code></a> for the fix.</p>
    <p>It also fixes <a href="/api/browser/proxy?url=https%3A%2F%2Fredirect.github.com%2Frobolectric%2Frobolectric%2Fissues%2F10419">robolectric/robolectric#10419</a>, where a Java 16 dependency was added to Robolectric, even though many API levels should support Java 11. Thanks to <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Fyschimke"><code>@​yschimke</code></a> for the report and <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Futzcoz"><code>@​utzcoz</code></a> for the fix.</p>
    <p><strong>Full Changelog</strong>: <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcompare%2Frobolectric-4.15...robolectric-4.15.1">https://github.com/robolectric/robolectric/compare/robolectric-4.15...robolectric-4.15.1</a></p>
    <p>Robolectric 4.15 contains a lot of minor improvements, fidelity improvements, bug fixes, and shadow API enhancements. It also introduces the <a href="/api/browser/proxy?url=https%3A%2F%2Frobolectric.org%2Fsimulator%2F">Robolectric Simulator</a>, which makes it possible to launch an interactive preview of Android UI in a Robolectric environment.</p>
    <p><strong>NOTE</strong> Robolectric 4.15 does <strong>NOT</strong> support Android Baklava (SDK 36). Baklava will be supported in Robolectric 4.16.</p>
    <p>If you encounter any issues, please file them on the GitHub issues page.</p>
    <p>A huge thanks to <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2FMGaetan89"><code>@​MGaetan89</code></a> and <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Futzcoz"><code>@​utzcoz</code></a> for all of their hard work that went into this release.</p>
    <h2>What's Changed</h2>
    <p>The following symbols have been removed in Robolectric 4.15.</p>
    <table>
    <thead>
    <tr>
    <th>Removed symbol</th>
    <th>Replacement</th>
    </tr>
    </thead>
    <tbody>
    <tr>
    <td><code>AndroidManifest#supportsLegacyResourcesMode()</code></td>
    <td>N/A</td>
    </tr>
    <tr>
    <td><code>AndroidManifest#supportsBinaryResourcesMode()</code></td>
    <td>N/A</td>
    </tr>
    <tr>
    <td><code>ConfigMerger</code></td>
    <td><code>Provider&lt;Config&gt;</code></td>
    </tr>
    <tr>
    <td><code>DependencyResolver#getLocalArtifactUrls(DependencyJar)</code></td>
    <td><code>DependencyResolver#getLocalArtifactUrl(DependencyJar)</code></td>
    </tr>
    <tr>
    <td><code>Fs#fileFromPath(String path)</code></td>
    <td><code>Fs#fromUrl(path)</code></td>
    </tr>
    <tr>
    <td><code>Fs#newFile(File file)</code></td>
    <td><code>file.toPath()</code> </td>
    </tr>
    <tr>
    <td><code>FsFile#getPath()</code></td>
    <td><code>Fs#externalize(this)</code></td>
    </tr>
    <tr>
    <td><code>FsFile#join(String name)</code></td>
    <td><code>this.resolve(name)</code></td>
    </tr>
    <tr>
    <td><code>InvokeDynamicClassInstrumentor</code></td>
    <td><code>ClassInstrumentor</code></td>
    </tr>
    <tr>
    <td><code>ManifestIdentifier(Path, Path, Path, String, List&lt;Path&gt;)</code></td>
    <td><code>ManifestIdentifier(String, Path, Path, Path, List&lt;ManifestIdentifier&gt;)</code></td>
    </tr>
    <tr>
    <td><code>MavenManifestFactory</code></td>
    <td>N/A</td>
    </tr>
    <tr>
    <td><code>PackageItemData#getClassName()</code></td>
    <td><code>PackageItemData#getName()</code></td>
    </tr>
    <tr>
    <td><code>Provider&lt;T&gt;</code></td>
    <td><code>javax.inject.Provider&lt;T&gt;</code></td>
    </tr>
    <tr>
    <td><code>Qualifiers#addScreenWidth(String, int)</code></td>
    <td><code>Configuration#screenWidthDp</code></td>
    </tr>
    <tr>
    <td><code>Qualifiers#addSmallestScreenWidth(String, int)</code></td>
    <td><code>Configuration#smallestScreenWidthDp</code></td>
    </tr>
    <tr>
    <td><code>Qualifiers#getOrientation(String)</code></td>
    <td><code>Configuration#orientation</code></td>
    </tr>
    <tr>
    <td><code>Qualifiers#getPlatformVersion(String)</code></td>
    <td><code>Build.VERSION#SDK_INT</code></td>
    </tr>
    <tr>
    <td><code>Qualifiers#getScreenWidth(String)</code></td>
    <td><code>Configuration#screenWidthDp</code></td>
    </tr>
    <tr>
    <td><code>Qualifiers#getSmallestScreenWidth(String)</code></td>
    <td><code>Configuration#smallestScreenWidthDp</code></td>
    </tr>
    <tr>
    <td><code>RoboSettings</code></td>
    <td>Set the specific system property directly</td>
    </tr>
    <tr>
    <td><code>Scheduler#idleConstantly(boolean)</code></td>
    <td><code>Scheduler#setIdleState(IdleState)</code></td>
    </tr>
    <tr>
    <td><code>SdkPicker</code></td>
    <td><code>DefaultSdkPicker</code></td>
    </tr>
    <tr>
    <td><code>ShadowApplication#addWakeLock(PowerManager.WakeLock wl)</code></td>
    <td><code>ShadowPowerManager.addWakeLock(wl)</code></td>
    </tr>
    <tr>
    <td><code>ShadowApplication#clearWakeLocks()</code></td>
    <td><code>ShadowPowerManager.clearWakeLocks()</code></td>
    </tr>
    <tr>
    <td><code>ShadowApplication#getAppWidgetManager()</code></td>
    <td><code>Context#getSystemService(Context.APPWIDGET_SERVICE)</code></td>
    </tr>
    <tr>
    <td><code>ShadowApplication#getBluetoothAdapter()</code></td>
    <td><code>BluetoothManager#getAdapter()</code></td>
    </tr>
    <tr>
    <td><code>ShadowApplication#getForegroundThreadScheduler()</code></td>
    <td><code>Robolectric.getForegroundThreadScheduler()</code></td>
    </tr>
    <tr>
    <td><code>ShadowApplication#getInstance()</code></td>
    <td><code>shadowOf(RuntimeEnvironment.getApplication())</code></td>
    </tr>
    <tr>
    <td><code>ShadowApplication#getLatestWakeLock()</code></td>
    <td><code>ShadowPowerManager.getLatestWakeLock()</code></td>
    </tr>
    <tr>
    <td><code>ShadowMap#convertToShadowName(String)</code></td>
    <td>N/A</td>
    </tr>
    </tbody>
    </table>
    </blockquote>
    <p>... (truncated)</p>
    </details>
    <details>
    <summary>Commits</summary>
    <ul>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2F465e599cc24355a71bccb64e9792aae20348b13b"><code>465e599</code></a> Bump version to 4.15.1</li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2F65b94a56c0ba263a45a6454b3af6fb819050f092"><code>65b94a5</code></a> Added implementation for Path.op</li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2Fb71ecbe1c6003027ff411de8d2fcc7102cb59631"><code>b71ecbe</code></a> Replace Stream#toList to Stream#collect(Collectors.toList())</li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2F8f17828d85b3c9dbbe76106feec02c2270047489"><code>8f17828</code></a> Bump simulator-gradle-plugin version to 1.0.2</li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2Fc52d36e8b8f51b157d1149904bdaa4455814dfa5"><code>c52d36e</code></a> Bump version to 4.15.</li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2F99c40df7936830c415c6d193fab0ec4196980196"><code>99c40df</code></a> Add more information to the generated POM file</li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2Fd4e855ac127ea99436f833a8411e17e3716d3daa"><code>d4e855a</code></a> Fix Javadoc for <code>ShadowPausedLooper</code></li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2F189e022347632789a8df28e934cd160b8ce6898f"><code>189e022</code></a> Add missing deprecations to some <code>Config.Builder</code> methods</li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2Faa1735057dab45c93d82fa560c8f5ab698eca242"><code>aa17350</code></a> Revert &quot;Remove deprecated <code>Config#packageName()</code>&quot;</li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2F49a8c19d98402255ee8cd1be102e74845751bf18"><code>49a8c19</code></a> Revert &quot;Remove deprecated <code>Config#resourceDir()</code>&quot;</li>
    <li>Additional commits viewable in <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcompare%2Frobolectric-4.14.1...robolectric-4.15.1">compare view</a></li>
    </ul>
    </details>
    <br />
    
    Updates `androidx.test:core` from 1.6.1 to 1.7.0
    
    Updates `org.robolectric:robolectric` from 4.14.1 to 4.15.1
    <details>
    <summary>Release notes</summary>
    <p><em>Sourced from <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Freleases">org.robolectric:robolectric's releases</a>.</em></p>
    <blockquote>
    <p>Robolectric 4.15.1 is a minor release that fixes <a href="/api/browser/proxy?url=https%3A%2F%2Fredirect.github.com%2Frobolectric%2Frobolectric%2Fissues%2F9595">robolectric/robolectric#9595</a>, where the onClick handler now being invoked in Compose on certain API levels. Thanks to <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2FGisoBartels"><code>@​GisoBartels</code></a> for the fix.</p>
    <p>It also fixes <a href="/api/browser/proxy?url=https%3A%2F%2Fredirect.github.com%2Frobolectric%2Frobolectric%2Fissues%2F10419">robolectric/robolectric#10419</a>, where a Java 16 dependency was added to Robolectric, even though many API levels should support Java 11. Thanks to <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Fyschimke"><code>@​yschimke</code></a> for the report and <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Futzcoz"><code>@​utzcoz</code></a> for the fix.</p>
    <p><strong>Full Changelog</strong>: <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcompare%2Frobolectric-4.15...robolectric-4.15.1">https://github.com/robolectric/robolectric/compare/robolectric-4.15...robolectric-4.15.1</a></p>
    <p>Robolectric 4.15 contains a lot of minor improvements, fidelity improvements, bug fixes, and shadow API enhancements. It also introduces the <a href="/api/browser/proxy?url=https%3A%2F%2Frobolectric.org%2Fsimulator%2F">Robolectric Simulator</a>, which makes it possible to launch an interactive preview of Android UI in a Robolectric environment.</p>
    <p><strong>NOTE</strong> Robolectric 4.15 does <strong>NOT</strong> support Android Baklava (SDK 36). Baklava will be supported in Robolectric 4.16.</p>
    <p>If you encounter any issues, please file them on the GitHub issues page.</p>
    <p>A huge thanks to <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2FMGaetan89"><code>@​MGaetan89</code></a> and <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Futzcoz"><code>@​utzcoz</code></a> for all of their hard work that went into this release.</p>
    <h2>What's Changed</h2>
    <p>The following symbols have been removed in Robolectric 4.15.</p>
    <table>
    <thead>
    <tr>
    <th>Removed symbol</th>
    <th>Replacement</th>
    </tr>
    </thead>
    <tbody>
    <tr>
    <td><code>AndroidManifest#supportsLegacyResourcesMode()</code></td>
    <td>N/A</td>
    </tr>
    <tr>
    <td><code>AndroidManifest#supportsBinaryResourcesMode()</code></td>
    <td>N/A</td>
    </tr>
    <tr>
    <td><code>ConfigMerger</code></td>
    <td><code>Provider&lt;Config&gt;</code></td>
    </tr>
    <tr>
    <td><code>DependencyResolver#getLocalArtifactUrls(DependencyJar)</code></td>
    <td><code>DependencyResolver#getLocalArtifactUrl(DependencyJar)</code></td>
    </tr>
    <tr>
    <td><code>Fs#fileFromPath(String path)</code></td>
    <td><code>Fs#fromUrl(path)</code></td>
    </tr>
    <tr>
    <td><code>Fs#newFile(File file)</code></td>
    <td><code>file.toPath()</code> </td>
    </tr>
    <tr>
    <td><code>FsFile#getPath()</code></td>
    <td><code>Fs#externalize(this)</code></td>
    </tr>
    <tr>
    <td><code>FsFile#join(String name)</code></td>
    <td><code>this.resolve(name)</code></td>
    </tr>
    <tr>
    <td><code>InvokeDynamicClassInstrumentor</code></td>
    <td><code>ClassInstrumentor</code></td>
    </tr>
    <tr>
    <td><code>ManifestIdentifier(Path, Path, Path, String, List&lt;Path&gt;)</code></td>
    <td><code>ManifestIdentifier(String, Path, Path, Path, List&lt;ManifestIdentifier&gt;)</code></td>
    </tr>
    <tr>
    <td><code>MavenManifestFactory</code></td>
    <td>N/A</td>
    </tr>
    <tr>
    <td><code>PackageItemData#getClassName()</code></td>
    <td><code>PackageItemData#getName()</code></td>
    </tr>
    <tr>
    <td><code>Provider&lt;T&gt;</code></td>
    <td><code>javax.inject.Provider&lt;T&gt;</code></td>
    </tr>
    <tr>
    <td><code>Qualifiers#addScreenWidth(String, int)</code></td>
    <td><code>Configuration#screenWidthDp</code></td>
    </tr>
    <tr>
    <td><code>Qualifiers#addSmallestScreenWidth(String, int)</code></td>
    <td><code>Configuration#smallestScreenWidthDp</code></td>
    </tr>
    <tr>
    <td><code>Qualifiers#getOrientation(String)</code></td>
    <td><code>Configuration#orientation</code></td>
    </tr>
    <tr>
    <td><code>Qualifiers#getPlatformVersion(String)</code></td>
    <td><code>Build.VERSION#SDK_INT</code></td>
    </tr>
    <tr>
    <td><code>Qualifiers#getScreenWidth(String)</code></td>
    <td><code>Configuration#screenWidthDp</code></td>
    </tr>
    <tr>
    <td><code>Qualifiers#getSmallestScreenWidth(String)</code></td>
    <td><code>Configuration#smallestScreenWidthDp</code></td>
    </tr>
    <tr>
    <td><code>RoboSettings</code></td>
    <td>Set the specific system property directly</td>
    </tr>
    <tr>
    <td><code>Scheduler#idleConstantly(boolean)</code></td>
    <td><code>Scheduler#setIdleState(IdleState)</code></td>
    </tr>
    <tr>
    <td><code>SdkPicker</code></td>
    <td><code>DefaultSdkPicker</code></td>
    </tr>
    <tr>
    <td><code>ShadowApplication#addWakeLock(PowerManager.WakeLock wl)</code></td>
    <td><code>ShadowPowerManager.addWakeLock(wl)</code></td>
    </tr>
    <tr>
    <td><code>ShadowApplication#clearWakeLocks()</code></td>
    <td><code>ShadowPowerManager.clearWakeLocks()</code></td>
    </tr>
    <tr>
    <td><code>ShadowApplication#getAppWidgetManager()</code></td>
    <td><code>Context#getSystemService(Context.APPWIDGET_SERVICE)</code></td>
    </tr>
    <tr>
    <td><code>ShadowApplication#getBluetoothAdapter()</code></td>
    <td><code>BluetoothManager#getAdapter()</code></td>
    </tr>
    <tr>
    <td><code>ShadowApplication#getForegroundThreadScheduler()</code></td>
    <td><code>Robolectric.getForegroundThreadScheduler()</code></td>
    </tr>
    <tr>
    <td><code>ShadowApplication#getInstance()</code></td>
    <td><code>shadowOf(RuntimeEnvironment.getApplication())</code></td>
    </tr>
    <tr>
    <td><code>ShadowApplication#getLatestWakeLock()</code></td>
    <td><code>ShadowPowerManager.getLatestWakeLock()</code></td>
    </tr>
    <tr>
    <td><code>ShadowMap#convertToShadowName(String)</code></td>
    <td>N/A</td>
    </tr>
    </tbody>
    </table>
    </blockquote>
    <p>... (truncated)</p>
    </details>
    <details>
    <summary>Commits</summary>
    <ul>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2F465e599cc24355a71bccb64e9792aae20348b13b"><code>465e599</code></a> Bump version to 4.15.1</li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2F65b94a56c0ba263a45a6454b3af6fb819050f092"><code>65b94a5</code></a> Added implementation for Path.op</li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2Fb71ecbe1c6003027ff411de8d2fcc7102cb59631"><code>b71ecbe</code></a> Replace Stream#toList to Stream#collect(Collectors.toList())</li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2F8f17828d85b3c9dbbe76106feec02c2270047489"><code>8f17828</code></a> Bump simulator-gradle-plugin version to 1.0.2</li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2Fc52d36e8b8f51b157d1149904bdaa4455814dfa5"><code>c52d36e</code></a> Bump version to 4.15.</li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2F99c40df7936830c415c6d193fab0ec4196980196"><code>99c40df</code></a> Add more information to the generated POM file</li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2Fd4e855ac127ea99436f833a8411e17e3716d3daa"><code>d4e855a</code></a> Fix Javadoc for <code>ShadowPausedLooper</code></li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2F189e022347632789a8df28e934cd160b8ce6898f"><code>189e022</code></a> Add missing deprecations to some <code>Config.Builder</code> methods</li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2Faa1735057dab45c93d82fa560c8f5ab698eca242"><code>aa17350</code></a> Revert &quot;Remove deprecated <code>Config#packageName()</code>&quot;</li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2F49a8c19d98402255ee8cd1be102e74845751bf18"><code>49a8c19</code></a> Revert &quot;Remove deprecated <code>Config#resourceDir()</code>&quot;</li>
    <li>Additional commits viewable in <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcompare%2Frobolectric-4.14.1...robolectric-4.15.1">compare view</a></li>
    </ul>
    </details>
    <br />
    
    Updates `androidx.test:core` from 1.6.1 to 1.7.0
    
    Updates `org.robolectric:robolectric` from 4.14.1 to 4.15.1
    <details>
    <summary>Release notes</summary>
    <p><em>Sourced from <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Freleases">org.robolectric:robolectric's releases</a>.</em></p>
    <blockquote>
    <p>Robolectric 4.15.1 is a minor release that fixes <a href="/api/browser/proxy?url=https%3A%2F%2Fredirect.github.com%2Frobolectric%2Frobolectric%2Fissues%2F9595">robolectric/robolectric#9595</a>, where the onClick handler now being invoked in Compose on certain API levels. Thanks to <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2FGisoBartels"><code>@​GisoBartels</code></a> for the fix.</p>
    <p>It also fixes <a href="/api/browser/proxy?url=https%3A%2F%2Fredirect.github.com%2Frobolectric%2Frobolectric%2Fissues%2F10419">robolectric/robolectric#10419</a>, where a Java 16 dependency was added to Robolectric, even though many API levels should support Java 11. Thanks to <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Fyschimke"><code>@​yschimke</code></a> for the report and <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Futzcoz"><code>@​utzcoz</code></a> for the fix.</p>
    <p><strong>Full Changelog</strong>: <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcompare%2Frobolectric-4.15...robolectric-4.15.1">https://github.com/robolectric/robolectric/compare/robolectric-4.15...robolectric-4.15.1</a></p>
    <p>Robolectric 4.15 contains a lot of minor improvements, fidelity improvements, bug fixes, and shadow API enhancements. It also introduces the <a href="/api/browser/proxy?url=https%3A%2F%2Frobolectric.org%2Fsimulator%2F">Robolectric Simulator</a>, which makes it possible to launch an interactive preview of Android UI in a Robolectric environment.</p>
    <p><strong>NOTE</strong> Robolectric 4.15 does <strong>NOT</strong> support Android Baklava (SDK 36). Baklava will be supported in Robolectric 4.16.</p>
    <p>If you encounter any issues, please file them on the GitHub issues page.</p>
    <p>A huge thanks to <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2FMGaetan89"><code>@​MGaetan89</code></a> and <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Futzcoz"><code>@​utzcoz</code></a> for all of their hard work that went into this release.</p>
    <h2>What's Changed</h2>
    <p>The following symbols have been removed in Robolectric 4.15.</p>
    <table>
    <thead>
    <tr>
    <th>Removed symbol</th>
    <th>Replacement</th>
    </tr>
    </thead>
    <tbody>
    <tr>
    <td><code>AndroidManifest#supportsLegacyResourcesMode()</code></td>
    <td>N/A</td>
    </tr>
    <tr>
    <td><code>AndroidManifest#supportsBinaryResourcesMode()</code></td>
    <td>N/A</td>
    </tr>
    <tr>
    <td><code>ConfigMerger</code></td>
    <td><code>Provider&lt;Config&gt;</code></td>
    </tr>
    <tr>
    <td><code>DependencyResolver#getLocalArtifactUrls(DependencyJar)</code></td>
    <td><code>DependencyResolver#getLocalArtifactUrl(DependencyJar)</code></td>
    </tr>
    <tr>
    <td><code>Fs#fileFromPath(String path)</code></td>
    <td><code>Fs#fromUrl(path)</code></td>
    </tr>
    <tr>
    <td><code>Fs#newFile(File file)</code></td>
    <td><code>file.toPath()</code> </td>
    </tr>
    <tr>
    <td><code>FsFile#getPath()</code></td>
    <td><code>Fs#externalize(this)</code></td>
    </tr>
    <tr>
    <td><code>FsFile#join(String name)</code></td>
    <td><code>this.resolve(name)</code></td>
    </tr>
    <tr>
    <td><code>InvokeDynamicClassInstrumentor</code></td>
    <td><code>ClassInstrumentor</code></td>
    </tr>
    <tr>
    <td><code>ManifestIdentifier(Path, Path, Path, String, List&lt;Path&gt;)</code></td>
    <td><code>ManifestIdentifier(String, Path, Path, Path, List&lt;ManifestIdentifier&gt;)</code></td>
    </tr>
    <tr>
    <td><code>MavenManifestFactory</code></td>
    <td>N/A</td>
    </tr>
    <tr>
    <td><code>PackageItemData#getClassName()</code></td>
    <td><code>PackageItemData#getName()</code></td>
    </tr>
    <tr>
    <td><code>Provider&lt;T&gt;</code></td>
    <td><code>javax.inject.Provider&lt;T&gt;</code></td>
    </tr>
    <tr>
    <td><code>Qualifiers#addScreenWidth(String, int)</code></td>
    <td><code>Configuration#screenWidthDp</code></td>
    </tr>
    <tr>
    <td><code>Qualifiers#addSmallestScreenWidth(String, int)</code></td>
    <td><code>Configuration#smallestScreenWidthDp</code></td>
    </tr>
    <tr>
    <td><code>Qualifiers#getOrientation(String)</code></td>
    <td><code>Configuration#orientation</code></td>
    </tr>
    <tr>
    <td><code>Qualifiers#getPlatformVersion(String)</code></td>
    <td><code>Build.VERSION#SDK_INT</code></td>
    </tr>
    <tr>
    <td><code>Qualifiers#getScreenWidth(String)</code></td>
    <td><code>Configuration#screenWidthDp</code></td>
    </tr>
    <tr>
    <td><code>Qualifiers#getSmallestScreenWidth(String)</code></td>
    <td><code>Configuration#smallestScreenWidthDp</code></td>
    </tr>
    <tr>
    <td><code>RoboSettings</code></td>
    <td>Set the specific system property directly</td>
    </tr>
    <tr>
    <td><code>Scheduler#idleConstantly(boolean)</code></td>
    <td><code>Scheduler#setIdleState(IdleState)</code></td>
    </tr>
    <tr>
    <td><code>SdkPicker</code></td>
    <td><code>DefaultSdkPicker</code></td>
    </tr>
    <tr>
    <td><code>ShadowApplication#addWakeLock(PowerManager.WakeLock wl)</code></td>
    <td><code>ShadowPowerManager.addWakeLock(wl)</code></td>
    </tr>
    <tr>
    <td><code>ShadowApplication#clearWakeLocks()</code></td>
    <td><code>ShadowPowerManager.clearWakeLocks()</code></td>
    </tr>
    <tr>
    <td><code>ShadowApplication#getAppWidgetManager()</code></td>
    <td><code>Context#getSystemService(Context.APPWIDGET_SERVICE)</code></td>
    </tr>
    <tr>
    <td><code>ShadowApplication#getBluetoothAdapter()</code></td>
    <td><code>BluetoothManager#getAdapter()</code></td>
    </tr>
    <tr>
    <td><code>ShadowApplication#getForegroundThreadScheduler()</code></td>
    <td><code>Robolectric.getForegroundThreadScheduler()</code></td>
    </tr>
    <tr>
    <td><code>ShadowApplication#getInstance()</code></td>
    <td><code>shadowOf(RuntimeEnvironment.getApplication())</code></td>
    </tr>
    <tr>
    <td><code>ShadowApplication#getLatestWakeLock()</code></td>
    <td><code>ShadowPowerManager.getLatestWakeLock()</code></td>
    </tr>
    <tr>
    <td><code>ShadowMap#convertToShadowName(String)</code></td>
    <td>N/A</td>
    </tr>
    </tbody>
    </table>
    </blockquote>
    <p>... (truncated)</p>
    </details>
    <details>
    <summary>Commits</summary>
    <ul>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2F465e599cc24355a71bccb64e9792aae20348b13b"><code>465e599</code></a> Bump version to 4.15.1</li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2F65b94a56c0ba263a45a6454b3af6fb819050f092"><code>65b94a5</code></a> Added implementation for Path.op</li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2Fb71ecbe1c6003027ff411de8d2fcc7102cb59631"><code>b71ecbe</code></a> Replace Stream#toList to Stream#collect(Collectors.toList())</li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2F8f17828d85b3c9dbbe76106feec02c2270047489"><code>8f17828</code></a> Bump simulator-gradle-plugin version to 1.0.2</li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2Fc52d36e8b8f51b157d1149904bdaa4455814dfa5"><code>c52d36e</code></a> Bump version to 4.15.</li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2F99c40df7936830c415c6d193fab0ec4196980196"><code>99c40df</code></a> Add more information to the generated POM file</li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2Fd4e855ac127ea99436f833a8411e17e3716d3daa"><code>d4e855a</code></a> Fix Javadoc for <code>ShadowPausedLooper</code></li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2F189e022347632789a8df28e934cd160b8ce6898f"><code>189e022</code></a> Add missing deprecations to some <code>Config.Builder</code> methods</li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2Faa1735057dab45c93d82fa560c8f5ab698eca242"><code>aa17350</code></a> Revert &quot;Remove deprecated <code>Config#packageName()</code>&quot;</li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2F49a8c19d98402255ee8cd1be102e74845751bf18"><code>49a8c19</code></a> Revert &quot;Remove deprecated <code>Config#resourceDir()</code>&quot;</li>
    <li>Additional commits viewable in <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcompare%2Frobolectric-4.14.1...robolectric-4.15.1">compare view</a></li>
    </ul>
    </details>
    <br />
    
    Updates `androidx.test:core` from 1.6.1 to 1.7.0
    
    Updates `org.robolectric:robolectric` from 4.14.1 to 4.15.1
    <details>
    <summary>Release notes</summary>
    <p><em>Sourced from <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Freleases">org.robolectric:robolectric's releases</a>.</em></p>
    <blockquote>
    <p>Robolectric 4.15.1 is a minor release that fixes <a href="/api/browser/proxy?url=https%3A%2F%2Fredirect.github.com%2Frobolectric%2Frobolectric%2Fissues%2F9595">robolectric/robolectric#9595</a>, where the onClick handler now being invoked in Compose on certain API levels. Thanks to <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2FGisoBartels"><code>@​GisoBartels</code></a> for the fix.</p>
    <p>It also fixes <a href="/api/browser/proxy?url=https%3A%2F%2Fredirect.github.com%2Frobolectric%2Frobolectric%2Fissues%2F10419">robolectric/robolectric#10419</a>, where a Java 16 dependency was added to Robolectric, even though many API levels should support Java 11. Thanks to <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Fyschimke"><code>@​yschimke</code></a> for the report and <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Futzcoz"><code>@​utzcoz</code></a> for the fix.</p>
    <p><strong>Full Changelog</strong>: <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcompare%2Frobolectric-4.15...robolectric-4.15.1">https://github.com/robolectric/robolectric/compare/robolectric-4.15...robolectric-4.15.1</a></p>
    <p>Robolectric 4.15 contains a lot of minor improvements, fidelity improvements, bug fixes, and shadow API enhancements. It also introduces the <a href="/api/browser/proxy?url=https%3A%2F%2Frobolectric.org%2Fsimulator%2F">Robolectric Simulator</a>, which makes it possible to launch an interactive preview of Android UI in a Robolectric environment.</p>
    <p><strong>NOTE</strong> Robolectric 4.15 does <strong>NOT</strong> support Android Baklava (SDK 36). Baklava will be supported in Robolectric 4.16.</p>
    <p>If you encounter any issues, please file them on the GitHub issues page.</p>
    <p>A huge thanks to <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2FMGaetan89"><code>@​MGaetan89</code></a> and <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Futzcoz"><code>@​utzcoz</code></a> for all of their hard work that went into this release.</p>
    <h2>What's Changed</h2>
    <p>The following symbols have been removed in Robolectric 4.15.</p>
    <table>
    <thead>
    <tr>
    <th>Removed symbol</th>
    <th>Replacement</th>
    </tr>
    </thead>
    <tbody>
    <tr>
    <td><code>AndroidManifest#supportsLegacyResourcesMode()</code></td>
    <td>N/A</td>
    </tr>
    <tr>
    <td><code>AndroidManifest#supportsBinaryResourcesMode()</code></td>
    <td>N/A</td>
    </tr>
    <tr>
    <td><code>ConfigMerger</code></td>
    <td><code>Provider&lt;Config&gt;</code></td>
    </tr>
    <tr>
    <td><code>DependencyResolver#getLocalArtifactUrls(DependencyJar)</code></td>
    <td><code>DependencyResolver#getLocalArtifactUrl(DependencyJar)</code></td>
    </tr>
    <tr>
    <td><code>Fs#fileFromPath(String path)</code></td>
    <td><code>Fs#fromUrl(path)</code></td>
    </tr>
    <tr>
    <td><code>Fs#newFile(File file)</code></td>
    <td><code>file.toPath()</code> </td>
    </tr>
    <tr>
    <td><code>FsFile#getPath()</code></td>
    <td><code>Fs#externalize(this)</code></td>
    </tr>
    <tr>
    <td><code>FsFile#join(String name)</code></td>
    <td><code>this.resolve(name)</code></td>
    </tr>
    <tr>
    <td><code>InvokeDynamicClassInstrumentor</code></td>
    <td><code>ClassInstrumentor</code></td>
    </tr>
    <tr>
    <td><code>ManifestIdentifier(Path, Path, Path, String, List&lt;Path&gt;)</code></td>
    <td><code>ManifestIdentifier(String, Path, Path, Path, List&lt;ManifestIdentifier&gt;)</code></td>
    </tr>
    <tr>
    <td><code>MavenManifestFactory</code></td>
    <td>N/A</td>
    </tr>
    <tr>
    <td><code>PackageItemData#getClassName()</code></td>
    <td><code>PackageItemData#getName()</code></td>
    </tr>
    <tr>
    <td><code>Provider&lt;T&gt;</code></td>
    <td><code>javax.inject.Provider&lt;T&gt;</code></td>
    </tr>
    <tr>
    <td><code>Qualifiers#addScreenWidth(String, int)</code></td>
    <td><code>Configuration#screenWidthDp</code></td>
    </tr>
    <tr>
    <td><code>Qualifiers#addSmallestScreenWidth(String, int)</code></td>
    <td><code>Configuration#smallestScreenWidthDp</code></td>
    </tr>
    <tr>
    <td><code>Qualifiers#getOrientation(String)</code></td>
    <td><code>Configuration#orientation</code></td>
    </tr>
    <tr>
    <td><code>Qualifiers#getPlatformVersion(String)</code></td>
    <td><code>Build.VERSION#SDK_INT</code></td>
    </tr>
    <tr>
    <td><code>Qualifiers#getScreenWidth(String)</code></td>
    <td><code>Configuration#screenWidthDp</code></td>
    </tr>
    <tr>
    <td><code>Qualifiers#getSmallestScreenWidth(String)</code></td>
    <td><code>Configuration#smallestScreenWidthDp</code></td>
    </tr>
    <tr>
    <td><code>RoboSettings</code></td>
    <td>Set the specific system property directly</td>
    </tr>
    <tr>
    <td><code>Scheduler#idleConstantly(boolean)</code></td>
    <td><code>Scheduler#setIdleState(IdleState)</code></td>
    </tr>
    <tr>
    <td><code>SdkPicker</code></td>
    <td><code>DefaultSdkPicker</code></td>
    </tr>
    <tr>
    <td><code>ShadowApplication#addWakeLock(PowerManager.WakeLock wl)</code></td>
    <td><code>ShadowPowerManager.addWakeLock(wl)</code></td>
    </tr>
    <tr>
    <td><code>ShadowApplication#clearWakeLocks()</code></td>
    <td><code>ShadowPowerManager.clearWakeLocks()</code></td>
    </tr>
    <tr>
    <td><code>ShadowApplication#getAppWidgetManager()</code></td>
    <td><code>Context#getSystemService(Context.APPWIDGET_SERVICE)</code></td>
    </tr>
    <tr>
    <td><code>ShadowApplication#getBluetoothAdapter()</code></td>
    <td><code>BluetoothManager#getAdapter()</code></td>
    </tr>
    <tr>
    <td><code>ShadowApplication#getForegroundThreadScheduler()</code></td>
    <td><code>Robolectric.getForegroundThreadScheduler()</code></td>
    </tr>
    <tr>
    <td><code>ShadowApplication#getInstance()</code></td>
    <td><code>shadowOf(RuntimeEnvironment.getApplication())</code></td>
    </tr>
    <tr>
    <td><code>ShadowApplication#getLatestWakeLock()</code></td>
    <td><code>ShadowPowerManager.getLatestWakeLock()</code></td>
    </tr>
    <tr>
    <td><code>ShadowMap#convertToShadowName(String)</code></td>
    <td>N/A</td>
    </tr>
    </tbody>
    </table>
    </blockquote>
    <p>... (truncated)</p>
    </details>
    <details>
    <summary>Commits</summary>
    <ul>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2F465e599cc24355a71bccb64e9792aae20348b13b"><code>465e599</code></a> Bump version to 4.15.1</li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2F65b94a56c0ba263a45a6454b3af6fb819050f092"><code>65b94a5</code></a> Added implementation for Path.op</li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2Fb71ecbe1c6003027ff411de8d2fcc7102cb59631"><code>b71ecbe</code></a> Replace Stream#toList to Stream#collect(Collectors.toList())</li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2F8f17828d85b3c9dbbe76106feec02c2270047489"><code>8f17828</code></a> Bump simulator-gradle-plugin version to 1.0.2</li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2Fc52d36e8b8f51b157d1149904bdaa4455814dfa5"><code>c52d36e</code></a> Bump version to 4.15.</li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2F99c40df7936830c415c6d193fab0ec4196980196"><code>99c40df</code></a> Add more information to the generated POM file</li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2Fd4e855ac127ea99436f833a8411e17e3716d3daa"><code>d4e855a</code></a> Fix Javadoc for <code>ShadowPausedLooper</code></li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2F189e022347632789a8df28e934cd160b8ce6898f"><code>189e022</code></a> Add missing deprecations to some <code>Config.Builder</code> methods</li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2Faa1735057dab45c93d82fa560c8f5ab698eca242"><code>aa17350</code></a> Revert &quot;Remove deprecated <code>Config#packageName()</code>&quot;</li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2F49a8c19d98402255ee8cd1be102e74845751bf18"><code>49a8c19</code></a> Revert &quot;Remove deprecated <code>Config#resourceDir()</code>&quot;</li>
    <li>Additional commits viewable in <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcompare%2Frobolectric-4.14.1...robolectric-4.15.1">compare view</a></li>
    </ul>
    </details>
    <br />
    
    Updates `androidx.test:core` from 1.6.1 to 1.7.0
    
    Updates `org.robolectric:robolectric` from 4.14.1 to 4.15.1
    <details>
    <summary>Release notes</summary>
    <p><em>Sourced from <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Freleases">org.robolectric:robolectric's releases</a>.</em></p>
    <blockquote>
    <p>Robolectric 4.15.1 is a minor release that fixes <a href="/api/browser/proxy?url=https%3A%2F%2Fredirect.github.com%2Frobolectric%2Frobolectric%2Fissues%2F9595">robolectric/robolectric#9595</a>, where the onClick handler now being invoked in Compose on certain API levels. Thanks to <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2FGisoBartels"><code>@​GisoBartels</code></a> for the fix.</p>
    <p>It also fixes <a href="/api/browser/proxy?url=https%3A%2F%2Fredirect.github.com%2Frobolectric%2Frobolectric%2Fissues%2F10419">robolectric/robolectric#10419</a>, where a Java 16 dependency was added to Robolectric, even though many API levels should support Java 11. Thanks to <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Fyschimke"><code>@​yschimke</code></a> for the report and <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Futzcoz"><code>@​utzcoz</code></a> for the fix.</p>
    <p><strong>Full Changelog</strong>: <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcompare%2Frobolectric-4.15...robolectric-4.15.1">https://github.com/robolectric/robolectric/compare/robolectric-4.15...robolectric-4.15.1</a></p>
    <p>Robolectric 4.15 contains a lot of minor improvements, fidelity improvements, bug fixes, and shadow API enhancements. It also introduces the <a href="/api/browser/proxy?url=https%3A%2F%2Frobolectric.org%2Fsimulator%2F">Robolectric Simulator</a>, which makes it possible to launch an interactive preview of Android UI in a Robolectric environment.</p>
    <p><strong>NOTE</strong> Robolectric 4.15 does <strong>NOT</strong> support Android Baklava (SDK 36). Baklava will be supported in Robolectric 4.16.</p>
    <p>If you encounter any issues, please file them on the GitHub issues page.</p>
    <p>A huge thanks to <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2FMGaetan89"><code>@​MGaetan89</code></a> and <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Futzcoz"><code>@​utzcoz</code></a> for all of their hard work that went into this release.</p>
    <h2>What's Changed</h2>
    <p>The following symbols have been removed in Robolectric 4.15.</p>
    <table>
    <thead>
    <tr>
    <th>Removed symbol</th>
    <th>Replacement</th>
    </tr>
    </thead>
    <tbody>
    <tr>
    <td><code>AndroidManifest#supportsLegacyResourcesMode()</code></td>
    <td>N/A</td>
    </tr>
    <tr>
    <td><code>AndroidManifest#supportsBinaryResourcesMode()</code></td>
    <td>N/A</td>
    </tr>
    <tr>
    <td><code>ConfigMerger</code></td>
    <td><code>Provider&lt;Config&gt;</code></td>
    </tr>
    <tr>
    <td><code>DependencyResolver#getLocalArtifactUrls(DependencyJar)</code></td>
    <td><code>DependencyResolver#getLocalArtifactUrl(DependencyJar)</code></td>
    </tr>
    <tr>
    <td><code>Fs#fileFromPath(String path)</code></td>
    <td><code>Fs#fromUrl(path)</code></td>
    </tr>
    <tr>
    <td><code>Fs#newFile(File file)</code></td>
    <td><code>file.toPath()</code> </td>
    </tr>
    <tr>
    <td><code>FsFile#getPath()</code></td>
    <td><code>Fs#externalize(this)</code></td>
    </tr>
    <tr>
    <td><code>FsFile#join(String name)</code></td>
    <td><code>this.resolve(name)</code></td>
    </tr>
    <tr>
    <td><code>InvokeDynamicClassInstrumentor</code></td>
    <td><code>ClassInstrumentor</code></td>
    </tr>
    <tr>
    <td><code>ManifestIdentifier(Path, Path, Path, String, List&lt;Path&gt;)</code></td>
    <td><code>ManifestIdentifier(String, Path, Path, Path, List&lt;ManifestIdentifier&gt;)</code></td>
    </tr>
    <tr>
    <td><code>MavenManifestFactory</code></td>
    <td>N/A</td>
    </tr>
    <tr>
    <td><code>PackageItemData#getClassName()</code></td>
    <td><code>PackageItemData#getName()</code></td>
    </tr>
    <tr>
    <td><code>Provider&lt;T&gt;</code></td>
    <td><code>javax.inject.Provider&lt;T&gt;</code></td>
    </tr>
    <tr>
    <td><code>Qualifiers#addScreenWidth(String, int)</code></td>
    <td><code>Configuration#screenWidthDp</code></td>
    </tr>
    <tr>
    <td><code>Qualifiers#addSmallestScreenWidth(String, int)</code></td>
    <td><code>Configuration#smallestScreenWidthDp</code></td>
    </tr>
    <tr>
    <td><code>Qualifiers#getOrientation(String)</code></td>
    <td><code>Configuration#orientation</code></td>
    </tr>
    <tr>
    <td><code>Qualifiers#getPlatformVersion(String)</code></td>
    <td><code>Build.VERSION#SDK_INT</code></td>
    </tr>
    <tr>
    <td><code>Qualifiers#getScreenWidth(String)</code></td>
    <td><code>Configuration#screenWidthDp</code></td>
    </tr>
    <tr>
    <td><code>Qualifiers#getSmallestScreenWidth(String)</code></td>
    <td><code>Configuration#smallestScreenWidthDp</code></td>
    </tr>
    <tr>
    <td><code>RoboSettings</code></td>
    <td>Set the specific system property directly</td>
    </tr>
    <tr>
    <td><code>Scheduler#idleConstantly(boolean)</code></td>
    <td><code>Scheduler#setIdleState(IdleState)</code></td>
    </tr>
    <tr>
    <td><code>SdkPicker</code></td>
    <td><code>DefaultSdkPicker</code></td>
    </tr>
    <tr>
    <td><code>ShadowApplication#addWakeLock(PowerManager.WakeLock wl)</code></td>
    <td><code>ShadowPowerManager.addWakeLock(wl)</code></td>
    </tr>
    <tr>
    <td><code>ShadowApplication#clearWakeLocks()</code></td>
    <td><code>ShadowPowerManager.clearWakeLocks()</code></td>
    </tr>
    <tr>
    <td><code>ShadowApplication#getAppWidgetManager()</code></td>
    <td><code>Context#getSystemService(Context.APPWIDGET_SERVICE)</code></td>
    </tr>
    <tr>
    <td><code>ShadowApplication#getBluetoothAdapter()</code></td>
    <td><code>BluetoothManager#getAdapter()</code></td>
    </tr>
    <tr>
    <td><code>ShadowApplication#getForegroundThreadScheduler()</code></td>
    <td><code>Robolectric.getForegroundThreadScheduler()</code></td>
    </tr>
    <tr>
    <td><code>ShadowApplication#getInstance()</code></td>
    <td><code>shadowOf(RuntimeEnvironment.getApplication())</code></td>
    </tr>
    <tr>
    <td><code>ShadowApplication#getLatestWakeLock()</code></td>
    <td><code>ShadowPowerManager.getLatestWakeLock()</code></td>
    </tr>
    <tr>
    <td><code>ShadowMap#convertToShadowName(String)</code></td>
    <td>N/A</td>
    </tr>
    </tbody>
    </table>
    </blockquote>
    <p>... (truncated)</p>
    </details>
    <details>
    <summary>Commits</summary>
    <ul>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2F465e599cc24355a71bccb64e9792aae20348b13b"><code>465e599</code></a> Bump version to 4.15.1</li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2F65b94a56c0ba263a45a6454b3af6fb819050f092"><code>65b94a5</code></a> Added implementation for Path.op</li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2Fb71ecbe1c6003027ff411de8d2fcc7102cb59631"><code>b71ecbe</code></a> Replace Stream#toList to Stream#collect(Collectors.toList())</li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2F8f17828d85b3c9dbbe76106feec02c2270047489"><code>8f17828</code></a> Bump simulator-gradle-plugin version to 1.0.2</li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2Fc52d36e8b8f51b157d1149904bdaa4455814dfa5"><code>c52d36e</code></a> Bump version to 4.15.</li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2F99c40df7936830c415c6d193fab0ec4196980196"><code>99c40df</code></a> Add more information to the generated POM file</li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2Fd4e855ac127ea99436f833a8411e17e3716d3daa"><code>d4e855a</code></a> Fix Javadoc for <code>ShadowPausedLooper</code></li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2F189e022347632789a8df28e934cd160b8ce6898f"><code>189e022</code></a> Add missing deprecations to some <code>Config.Builder</code> methods</li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2Faa1735057dab45c93d82fa560c8f5ab698eca242"><code>aa17350</code></a> Revert &quot;Remove deprecated <code>Config#packageName()</code>&quot;</li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2F49a8c19d98402255ee8cd1be102e74845751bf18"><code>49a8c19</code></a> Revert &quot;Remove deprecated <code>Config#resourceDir()</code>&quot;</li>
    <li>Additional commits viewable in <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcompare%2Frobolectric-4.14.1...robolectric-4.15.1">compare view</a></li>
    </ul>
    </details>
    <br />
    
    Updates `androidx.test:core` from 1.6.1 to 1.7.0
    
    Updates `org.robolectric:robolectric` from 4.14.1 to 4.15.1
    <details>
    <summary>Release notes</summary>
    <p><em>Sourced from <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Freleases">org.robolectric:robolectric's releases</a>.</em></p>
    <blockquote>
    <p>Robolectric 4.15.1 is a minor release that fixes <a href="/api/browser/proxy?url=https%3A%2F%2Fredirect.github.com%2Frobolectric%2Frobolectric%2Fissues%2F9595">robolectric/robolectric#9595</a>, where the onClick handler now being invoked in Compose on certain API levels. Thanks to <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2FGisoBartels"><code>@​GisoBartels</code></a> for the fix.</p>
    <p>It also fixes <a href="/api/browser/proxy?url=https%3A%2F%2Fredirect.github.com%2Frobolectric%2Frobolectric%2Fissues%2F10419">robolectric/robolectric#10419</a>, where a Java 16 dependency was added to Robolectric, even though many API levels should support Java 11. Thanks to <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Fyschimke"><code>@​yschimke</code></a> for the report and <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Futzcoz"><code>@​utzcoz</code></a> for the fix.</p>
    <p><strong>Full Changelog</strong>: <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcompare%2Frobolectric-4.15...robolectric-4.15.1">https://github.com/robolectric/robolectric/compare/robolectric-4.15...robolectric-4.15.1</a></p>
    <p>Robolectric 4.15 contains a lot of minor improvements, fidelity improvements, bug fixes, and shadow API enhancements. It also introduces the <a href="/api/browser/proxy?url=https%3A%2F%2Frobolectric.org%2Fsimulator%2F">Robolectric Simulator</a>, which makes it possible to launch an interactive preview of Android UI in a Robolectric environment.</p>
    <p><strong>NOTE</strong> Robolectric 4.15 does <strong>NOT</strong> support Android Baklava (SDK 36). Baklava will be supported in Robolectric 4.16.</p>
    <p>If you encounter any issues, please file them on the GitHub issues page.</p>
    <p>A huge thanks to <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2FMGaetan89"><code>@​MGaetan89</code></a> and <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Futzcoz"><code>@​utzcoz</code></a> for all of their hard work that went into this release.</p>
    <h2>What's Changed</h2>
    <p>The following symbols have been removed in Robolectric 4.15.</p>
    <table>
    <thead>
    <tr>
    <th>Removed symbol</th>
    <th>Replacement</th>
    </tr>
    </thead>
    <tbody>
    <tr>
    <td><code>AndroidManifest#supportsLegacyResourcesMode()</code></td>
    <td>N/A</td>
    </tr>
    <tr>
    <td><code>AndroidManifest#supportsBinaryResourcesMode()</code></td>
    <td>N/A</td>
    </tr>
    <tr>
    <td><code>ConfigMerger</code></td>
    <td><code>Provider&lt;Config&gt;</code></td>
    </tr>
    <tr>
    <td><code>DependencyResolver#getLocalArtifactUrls(DependencyJar)</code></td>
    <td><code>DependencyResolver#getLocalArtifactUrl(DependencyJar)</code></td>
    </tr>
    <tr>
    <td><code>Fs#fileFromPath(String path)</code></td>
    <td><code>Fs#fromUrl(path)</code></td>
    </tr>
    <tr>
    <td><code>Fs#newFile(File file)</code></td>
    <td><code>file.toPath()</code> </td>
    </tr>
    <tr>
    <td><code>FsFile#getPath()</code></td>
    <td><code>Fs#externalize(this)</code></td>
    </tr>
    <tr>
    <td><code>FsFile#join(String name)</code></td>
    <td><code>this.resolve(name)</code></td>
    </tr>
    <tr>
    <td><code>InvokeDynamicClassInstrumentor</code></td>
    <td><code>ClassInstrumentor</code></td>
    </tr>
    <tr>
    <td><code>ManifestIdentifier(Path, Path, Path, String, List&lt;Path&gt;)</code></td>
    <td><code>ManifestIdentifier(String, Path, Path, Path, List&lt;ManifestIdentifier&gt;)</code></td>
    </tr>
    <tr>
    <td><code>MavenManifestFactory</code></td>
    <td>N/A</td>
    </tr>
    <tr>
    <td><code>PackageItemData#getClassName()</code></td>
    <td><code>PackageItemData#getName()</code></td>
    </tr>
    <tr>
    <td><code>Provider&lt;T&gt;</code></td>
    <td><code>javax.inject.Provider&lt;T&gt;</code></td>
    </tr>
    <tr>
    <td><code>Qualifiers#addScreenWidth(String, int)</code></td>
    <td><code>Configuration#screenWidthDp</code></td>
    </tr>
    <tr>
    <td><code>Qualifiers#addSmallestScreenWidth(String, int)</code></td>
    <td><code>Configuration#smallestScreenWidthDp</code></td>
    </tr>
    <tr>
    <td><code>Qualifiers#getOrientation(String)</code></td>
    <td><code>Configuration#orientation</code></td>
    </tr>
    <tr>
    <td><code>Qualifiers#getPlatformVersion(String)</code></td>
    <td><code>Build.VERSION#SDK_INT</code></td>
    </tr>
    <tr>
    <td><code>Qualifiers#getScreenWidth(String)</code></td>
    <td><code>Configuration#screenWidthDp</code></td>
    </tr>
    <tr>
    <td><code>Qualifiers#getSmallestScreenWidth(String)</code></td>
    <td><code>Configuration#smallestScreenWidthDp</code></td>
    </tr>
    <tr>
    <td><code>RoboSettings</code></td>
    <td>Set the specific system property directly</td>
    </tr>
    <tr>
    <td><code>Scheduler#idleConstantly(boolean)</code></td>
    <td><code>Scheduler#setIdleState(IdleState)</code></td>
    </tr>
    <tr>
    <td><code>SdkPicker</code></td>
    <td><code>DefaultSdkPicker</code></td>
    </tr>
    <tr>
    <td><code>ShadowApplication#addWakeLock(PowerManager.WakeLock wl)</code></td>
    <td><code>ShadowPowerManager.addWakeLock(wl)</code></td>
    </tr>
    <tr>
    <td><code>ShadowApplication#clearWakeLocks()</code></td>
    <td><code>ShadowPowerManager.clearWakeLocks()</code></td>
    </tr>
    <tr>
    <td><code>ShadowApplication#getAppWidgetManager()</code></td>
    <td><code>Context#getSystemService(Context.APPWIDGET_SERVICE)</code></td>
    </tr>
    <tr>
    <td><code>ShadowApplication#getBluetoothAdapter()</code></td>
    <td><code>BluetoothManager#getAdapter()</code></td>
    </tr>
    <tr>
    <td><code>ShadowApplication#getForegroundThreadScheduler()</code></td>
    <td><code>Robolectric.getForegroundThreadScheduler()</code></td>
    </tr>
    <tr>
    <td><code>ShadowApplication#getInstance()</code></td>
    <td><code>shadowOf(RuntimeEnvironment.getApplication())</code></td>
    </tr>
    <tr>
    <td><code>ShadowApplication#getLatestWakeLock()</code></td>
    <td><code>ShadowPowerManager.getLatestWakeLock()</code></td>
    </tr>
    <tr>
    <td><code>ShadowMap#convertToShadowName(String)</code></td>
    <td>N/A</td>
    </tr>
    </tbody>
    </table>
    </blockquote>
    <p>... (truncated)</p>
    </details>
    <details>
    <summary>Commits</summary>
    <ul>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2F465e599cc24355a71bccb64e9792aae20348b13b"><code>465e599</code></a> Bump version to 4.15.1</li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2F65b94a56c0ba263a45a6454b3af6fb819050f092"><code>65b94a5</code></a> Added implementation for Path.op</li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2Fb71ecbe1c6003027ff411de8d2fcc7102cb59631"><code>b71ecbe</code></a> Replace Stream#toList to Stream#collect(Collectors.toList())</li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2F8f17828d85b3c9dbbe76106feec02c2270047489"><code>8f17828</code></a> Bump simulator-gradle-plugin version to 1.0.2</li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2Fc52d36e8b8f51b157d1149904bdaa4455814dfa5"><code>c52d36e</code></a> Bump version to 4.15.</li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2F99c40df7936830c415c6d193fab0ec4196980196"><code>99c40df</code></a> Add more information to the generated POM file</li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2Fd4e855ac127ea99436f833a8411e17e3716d3daa"><code>d4e855a</code></a> Fix Javadoc for <code>ShadowPausedLooper</code></li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2F189e022347632789a8df28e934cd160b8ce6898f"><code>189e022</code></a> Add missing deprecations to some <code>Config.Builder</code> methods</li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2Faa1735057dab45c93d82fa560c8f5ab698eca242"><code>aa17350</code></a> Revert &quot;Remove deprecated <code>Config#packageName()</code>&quot;</li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2F49a8c19d98402255ee8cd1be102e74845751bf18"><code>49a8c19</code></a> Revert &quot;Remove deprecated <code>Config#resourceDir()</code>&quot;</li>
    <li>Additional commits viewable in <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcompare%2Frobolectric-4.14.1...robolectric-4.15.1">compare view</a></li>
    </ul>
    </details>
    <br />
    
    Updates `org.robolectric:robolectric` from 4.14.1 to 4.15.1
    <details>
    <summary>Release notes</summary>
    <p><em>Sourced from <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Freleases">org.robolectric:robolectric's releases</a>.</em></p>
    <blockquote>
    <p>Robolectric 4.15.1 is a minor release that fixes <a href="/api/browser/proxy?url=https%3A%2F%2Fredirect.github.com%2Frobolectric%2Frobolectric%2Fissues%2F9595">robolectric/robolectric#9595</a>, where the onClick handler now being invoked in Compose on certain API levels. Thanks to <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2FGisoBartels"><code>@​GisoBartels</code></a> for the fix.</p>
    <p>It also fixes <a href="/api/browser/proxy?url=https%3A%2F%2Fredirect.github.com%2Frobolectric%2Frobolectric%2Fissues%2F10419">robolectric/robolectric#10419</a>, where a Java 16 dependency was added to Robolectric, even though many API levels should support Java 11. Thanks to <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Fyschimke"><code>@​yschimke</code></a> for the report and <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Futzcoz"><code>@​utzcoz</code></a> for the fix.</p>
    <p><strong>Full Changelog</strong>: <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcompare%2Frobolectric-4.15...robolectric-4.15.1">https://github.com/robolectric/robolectric/compare/robolectric-4.15...robolectric-4.15.1</a></p>
    <p>Robolectric 4.15 contains a lot of minor improvements, fidelity improvements, bug fixes, and shadow API enhancements. It also introduces the <a href="/api/browser/proxy?url=https%3A%2F%2Frobolectric.org%2Fsimulator%2F">Robolectric Simulator</a>, which makes it possible to launch an interactive preview of Android UI in a Robolectric environment.</p>
    <p><strong>NOTE</strong> Robolectric 4.15 does <strong>NOT</strong> support Android Baklava (SDK 36). Baklava will be supported in Robolectric 4.16.</p>
    <p>If you encounter any issues, please file them on the GitHub issues page.</p>
    <p>A huge thanks to <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2FMGaetan89"><code>@​MGaetan89</code></a> and <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Futzcoz"><code>@​utzcoz</code></a> for all of their hard work that went into this release.</p>
    <h2>What's Changed</h2>
    <p>The following symbols have been removed in Robolectric 4.15.</p>
    <table>
    <thead>
    <tr>
    <th>Removed symbol</th>
    <th>Replacement</th>
    </tr>
    </thead>
    <tbody>
    <tr>
    <td><code>AndroidManifest#supportsLegacyResourcesMode()</code></td>
    <td>N/A</td>
    </tr>
    <tr>
    <td><code>AndroidManifest#supportsBinaryResourcesMode()</code></td>
    <td>N/A</td>
    </tr>
    <tr>
    <td><code>ConfigMerger</code></td>
    <td><code>Provider&lt;Config&gt;</code></td>
    </tr>
    <tr>
    <td><code>DependencyResolver#getLocalArtifactUrls(DependencyJar)</code></td>
    <td><code>DependencyResolver#getLocalArtifactUrl(DependencyJar)</code></td>
    </tr>
    <tr>
    <td><code>Fs#fileFromPath(String path)</code></td>
    <td><code>Fs#fromUrl(path)</code></td>
    </tr>
    <tr>
    <td><code>Fs#newFile(File file)</code></td>
    <td><code>file.toPath()</code> </td>
    </tr>
    <tr>
    <td><code>FsFile#getPath()</code></td>
    <td><code>Fs#externalize(this)</code></td>
    </tr>
    <tr>
    <td><code>FsFile#join(String name)</code></td>
    <td><code>this.resolve(name)</code></td>
    </tr>
    <tr>
    <td><code>InvokeDynamicClassInstrumentor</code></td>
    <td><code>ClassInstrumentor</code></td>
    </tr>
    <tr>
    <td><code>ManifestIdentifier(Path, Path, Path, String, List&lt;Path&gt;)</code></td>
    <td><code>ManifestIdentifier(String, Path, Path, Path, List&lt;ManifestIdentifier&gt;)</code></td>
    </tr>
    <tr>
    <td><code>MavenManifestFactory</code></td>
    <td>N/A</td>
    </tr>
    <tr>
    <td><code>PackageItemData#getClassName()</code></td>
    <td><code>PackageItemData#getName()</code></td>
    </tr>
    <tr>
    <td><code>Provider&lt;T&gt;</code></td>
    <td><code>javax.inject.Provider&lt;T&gt;</code></td>
    </tr>
    <tr>
    <td><code>Qualifiers#addScreenWidth(String, int)</code></td>
    <td><code>Configuration#screenWidthDp</code></td>
    </tr>
    <tr>
    <td><code>Qualifiers#addSmallestScreenWidth(String, int)</code></td>
    <td><code>Configuration#smallestScreenWidthDp</code></td>
    </tr>
    <tr>
    <td><code>Qualifiers#getOrientation(String)</code></td>
    <td><code>Configuration#orientation</code></td>
    </tr>
    <tr>
    <td><code>Qualifiers#getPlatformVersion(String)</code></td>
    <td><code>Build.VERSION#SDK_INT</code></td>
    </tr>
    <tr>
    <td><code>Qualifiers#getScreenWidth(String)</code></td>
    <td><code>Configuration#screenWidthDp</code></td>
    </tr>
    <tr>
    <td><code>Qualifiers#getSmallestScreenWidth(String)</code></td>
    <td><code>Configuration#smallestScreenWidthDp</code></td>
    </tr>
    <tr>
    <td><code>RoboSettings</code></td>
    <td>Set the specific system property directly</td>
    </tr>
    <tr>
    <td><code>Scheduler#idleConstantly(boolean)</code></td>
    <td><code>Scheduler#setIdleState(IdleState)</code></td>
    </tr>
    <tr>
    <td><code>SdkPicker</code></td>
    <td><code>DefaultSdkPicker</code></td>
    </tr>
    <tr>
    <td><code>ShadowApplication#addWakeLock(PowerManager.WakeLock wl)</code></td>
    <td><code>ShadowPowerManager.addWakeLock(wl)</code></td>
    </tr>
    <tr>
    <td><code>ShadowApplication#clearWakeLocks()</code></td>
    <td><code>ShadowPowerManager.clearWakeLocks()</code></td>
    </tr>
    <tr>
    <td><code>ShadowApplication#getAppWidgetManager()</code></td>
    <td><code>Context#getSystemService(Context.APPWIDGET_SERVICE)</code></td>
    </tr>
    <tr>
    <td><code>ShadowApplication#getBluetoothAdapter()</code></td>
    <td><code>BluetoothManager#getAdapter()</code></td>
    </tr>
    <tr>
    <td><code>ShadowApplication#getForegroundThreadScheduler()</code></td>
    <td><code>Robolectric.getForegroundThreadScheduler()</code></td>
    </tr>
    <tr>
    <td><code>ShadowApplication#getInstance()</code></td>
    <td><code>shadowOf(RuntimeEnvironment.getApplication())</code></td>
    </tr>
    <tr>
    <td><code>ShadowApplication#getLatestWakeLock()</code></td>
    <td><code>ShadowPowerManager.getLatestWakeLock()</code></td>
    </tr>
    <tr>
    <td><code>ShadowMap#convertToShadowName(String)</code></td>
    <td>N/A</td>
    </tr>
    </tbody>
    </table>
    </blockquote>
    <p>... (truncated)</p>
    </details>
    <details>
    <summary>Commits</summary>
    <ul>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2F465e599cc24355a71bccb64e9792aae20348b13b"><code>465e599</code></a> Bump version to 4.15.1</li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2F65b94a56c0ba263a45a6454b3af6fb819050f092"><code>65b94a5</code></a> Added implementation for Path.op</li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2Fb71ecbe1c6003027ff411de8d2fcc7102cb59631"><code>b71ecbe</code></a> Replace Stream#toList to Stream#collect(Collectors.toList())</li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2F8f17828d85b3c9dbbe76106feec02c2270047489"><code>8f17828</code></a> Bump simulator-gradle-plugin version to 1.0.2</li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2Fc52d36e8b8f51b157d1149904bdaa4455814dfa5"><code>c52d36e</code></a> Bump version to 4.15.</li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2F99c40df7936830c415c6d193fab0ec4196980196"><code>99c40df</code></a> Add more information to the generated POM file</li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2Fd4e855ac127ea99436f833a8411e17e3716d3daa"><code>d4e855a</code></a> Fix Javadoc for <code>ShadowPausedLooper</code></li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2F189e022347632789a8df28e934cd160b8ce6898f"><code>189e022</code></a> Add missing deprecations to some <code>Config.Builder</code> methods</li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2Faa1735057dab45c93d82fa560c8f5ab698eca242"><code>aa17350</code></a> Revert &quot;Remove deprecated <code>Config#packageName()</code>&quot;</li>
    <li><a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcommit%2F49a8c19d98402255ee8cd1be102e74845751bf18"><code>49a8c19</code></a> Revert &quot;Remove deprecated <code>Config#resourceDir()</code>&quot;</li>
    <li>Additional commits viewable in <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcompare%2Frobolectric-4.14.1...robolectric-4.15.1">compare view</a></li>
    </ul>
    </details>
    <br />
    
    Updates `org.robolectric:robolectric` from 4.14.1 to 4.15.1
    <details>
    <summary>Release notes</summary>
    <p><em>Sourced from <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Freleases">org.robolectric:robolectric's releases</a>.</em></p>
    <blockquote>
    <p>Robolectric 4.15.1 is a minor release that fixes <a href="/api/browser/proxy?url=https%3A%2F%2Fredirect.github.com%2Frobolectric%2Frobolectric%2Fissues%2F9595">robolectric/robolectric#9595</a>, where the onClick handler now being invoked in Compose on certain API levels. Thanks to <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2FGisoBartels"><code>@​GisoBartels</code></a> for the fix.</p>
    <p>It also fixes <a href="/api/browser/proxy?url=https%3A%2F%2Fredirect.github.com%2Frobolectric%2Frobolectric%2Fissues%2F10419">robolectric/robolectric#10419</a>, where a Java 16 dependency was added to Robolectric, even though many API levels should support Java 11. Thanks to <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Fyschimke"><code>@​yschimke</code></a> for the report and <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Futzcoz"><code>@​utzcoz</code></a> for the fix.</p>
    <p><strong>Full Changelog</strong>: <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Frobolectric%2Frobolectric%2Fcompare%2Frobolectric-4.15...robolectric-4.15.1">https://github.com/robolectric/robolectric/compare/robolectric-4.15...robolectric-4.15.1</a></p>
    <p>Robolectric 4.15 contains a lot of minor improvements, fidelity improvements, bug fixes, and shadow API enhancements. It also introduces the <a href="/api/browser/proxy?url=https%3A%2F%2Frobolectric.org%2Fsimulator%2F">Robolectric Simulator</a>, which makes it possible to launch an interactive preview of Android UI in a Robolectric environment.</p>
    <p><strong>NOTE</strong> Robolectric 4.15 does <strong>NOT</strong> support Android Baklava (SDK 36). Baklava will be supported in Robolectric 4.16.</p>
    <p>If you encounter any issues, please file them on the GitHub issues page.</p>
    <p>A huge thanks to <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2FMGaetan89"><code>@​MGaetan89</code></a> and <a href="/api/browser/proxy?url=https%3A%2F%2Fgithub.com%2Futzcoz"><code>@​utzcoz</code></a> for all of their hard work that went into this release.</p>
    <h2>What's Changed</h2>
    <p>The following symbols have been removed in Robolectric 4.15.</p>
    <table>
    <thead>
    <tr>
    <th>Removed symbol</th>
    <th>Replacement</th>
    </tr>
    </thead>
    <tbody>
    <tr>
    <td><code>AndroidManifest#supportsLegacyResourcesMode()</code></td>
    <td>N/A</td>
    </tr>
    <tr>
    <td><code>AndroidManifest#supportsBinaryResourcesMode()</code></td>
    <td>N/A</td>
    </tr>
    <tr>
    <td><code>ConfigMerger</code></td>
    <td><code>Provider&lt;Config&gt;</code></td>
    </tr>
    <tr>
    <td><code>DependencyResolver#getLocalArtifactUrls(DependencyJar)</code></td>
    <td><code>DependencyResolver#getLocalArtifactUrl(DependencyJar)</code></td>
    </tr>
    <tr>
    <td><code>Fs#fileFromPath(String path)</code></td>
    <td><code>Fs#fromUrl(path)</code></td>
    </tr>
    <tr>
    <td><code>Fs#newFile(File file)</code></td>
    <td><code>file.toPath()</code> </td>
    </tr>
    <tr>
    <td><code>FsFile#getPath()</code></td>
    <td><code>Fs#externalize(this)</code></td>
    </tr>
    <tr>
    <td><code>FsFile#join(String name)</code></td>
    <td><code>this.resolve(name)</code></td>
    </tr>
    <tr>
    <td><code>InvokeDynamicClassInstrumentor</code></td>
    <td><code>ClassInstrumentor</code></td>
    </tr>
    <tr>
    <td><code>ManifestIdentifier(Path, Path, Path, String, List&lt;Path&gt;)</code></td>
    <td><code>ManifestIdentifier(String, Path, Path, Path, List&lt;ManifestIdentifier&gt;)</code></td>
    </tr>
    <tr>
    <td><code>MavenManifestFactory</code></td>
    <td>N/A</td>
    </tr>
    <tr>
    <td><code>PackageItemData#getClassName()</code></td>
    <td><code>PackageItemData#getName()</code></td>
    </tr>
    <tr>
    <td><code>Provider&lt;T&gt;</code></td>
    <td><code>javax.inject.Provider&lt;T&gt;</code></td>
    </tr>
    <tr>
    <td><code>Qualifiers#addScreenWidth(String, int)</code></td>
    <td><code>Configuration#screenWidthDp</code></td>
    </tr>
    <tr>
    <td><code>Qualifiers#addSmallestScreenWidth(String, int)</code></td>
    <td><code>Configuration#smallestScreenWidthDp</code></td>
    </tr>
    <tr>
    <td><code>Qualifiers#getOrientation(String)</code></td>
    <td><code>Configuration#orientation</code></td>
    </tr>
    <tr>
    <td><code>Qualifiers#getPlatformVersion(String)</code></td>
    <td><code>Build.VERSION#SDK_INT</code></td>
    </tr>
    <tr>
    <td><code>Qualifiers#getScreenWidth(String)</code></td>
    <td><code>Configuration#screenWidthDp</code></td>
    </tr>
    <tr>
    <td><code>Qualifiers#getSmallestScreenWidth(String)</code></td>
    <td><code>Configuration#smallestScreenWidthDp</code></td>
    </tr>
    <tr>
    <td><code>RoboSettings</code></td>
    <td>Set the specific system property directly</td>
    </tr>
    <tr>
    <td><code>Scheduler#idleConstantly(boolean)</code></td>
    <td><code>Scheduler#setIdleState(IdleState)</code></td>
    </tr>
    <tr>
    <td><code>SdkPicker</code></td>
    <td><code>DefaultSdkPicker</code></td>
    </tr>
    <tr>
    <td><code>ShadowApplication#addWakeLock(PowerManager.WakeLock wl)</code></td>
    <td><code>ShadowPowerManager.addWakeLock(wl)</code></td>
    </tr>
    <tr>
    <td><code>ShadowApplication#clearWakeLocks()</code></td>
    <td><code>ShadowPowerManager.clearWakeLocks()</code></td>
    </tr>
    <tr>
    <td><code>ShadowApplicat…
    dependabot[bot] authored Aug 7, 2025
    Configuration menu
    Copy the full SHA
    e56761e View commit details
    Browse the repository at this point in the history
  4. [video_player] Improve KVO handling on iOS (#9718)

    This improves the KVO handling in `FVPVideoPlayer` in several ways:
    - Eliminates the use of methods to do KVO registration and unregistration, since that involved calling `self` during init and dealloc, which is a dangerous anti-pattern.
    - Eliminates `NSKeyValueObservingOptionInitial` from the registration, as this was non-obviously creating a call to self, within init, for every registration. In practice, none of them were necessary from what I could determine:
      - The handlers for most keys just collect information to send to the event listener, but there is no event listener during init (it's set just after), so those were expensive no-ops.
      - The handlers related to initialization require the item to be in the `AVPlayerItemStatusReadyToPlay` state, and items start in `AVPlayerItemStatusUnknown`, so the initial state call won't do anything useful.
    - Stores a dictionary of registrations, which is used for unregistration, so that it's impossible to add a new key to the observation set but forget to unregister it. Previously the two lists of strings had to be kept in sync. New static functions (to avoid `self` calls) process those lists.
    - Clears the list after unregistering to avoid double-unregistration locally to the class, instead of requiring a subclass to contain a workaround to avoid problems in the superclass code.
    
    ## Pre-Review Checklist
    
    **Note**: The Flutter team is currently trialing the use of [Gemini Code Assist for GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code). Comments from the `gemini-code-assist` bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed.
    
    [^1]: Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling.
    stuartmorgan-g authored Aug 7, 2025
    Configuration menu
    Copy the full SHA
    34948d1 View commit details
    Browse the repository at this point in the history
Loading