文件最后提交记录最后更新时间
[dependabot]: Bump the test-dependencies group across 10 directories with 3 updates (#10457) Bumps the test-dependencies group with 2 updates in the /packages/camera/camera_android/android directory: [org.mockito:mockito-core](https://github.com/mockito/mockito) and [org.robolectric:robolectric](https://github.com/robolectric/robolectric). Bumps the test-dependencies group with 2 updates in the /packages/camera/camera_android_camerax/android directory: [org.mockito:mockito-core](https://github.com/mockito/mockito) and [org.robolectric:robolectric](https://github.com/robolectric/robolectric). Bumps the test-dependencies group with 2 updates in the /packages/file_selector/file_selector_android/android directory: [org.mockito:mockito-core](https://github.com/mockito/mockito) and [org.robolectric:robolectric](https://github.com/robolectric/robolectric). Bumps the test-dependencies group with 2 updates in the /packages/google_maps_flutter/google_maps_flutter_android/android directory: [org.mockito:mockito-core](https://github.com/mockito/mockito) and [org.robolectric:robolectric](https://github.com/robolectric/robolectric). Bumps the test-dependencies group with 2 updates in the /packages/image_picker/image_picker_android/android directory: [org.mockito:mockito-core](https://github.com/mockito/mockito) and [org.robolectric:robolectric](https://github.com/robolectric/robolectric). Bumps the test-dependencies group with 2 updates in the /packages/in_app_purchase/in_app_purchase_android/android directory: [org.mockito:mockito-core](https://github.com/mockito/mockito) and [org.robolectric:robolectric](https://github.com/robolectric/robolectric). Bumps the test-dependencies group with 2 updates in the /packages/local_auth/local_auth_android/android directory: [org.mockito:mockito-core](https://github.com/mockito/mockito) and [org.robolectric:robolectric](https://github.com/robolectric/robolectric). Bumps the test-dependencies group with 2 updates in the /packages/shared_preferences/shared_preferences_android/android directory: [org.robolectric:robolectric](https://github.com/robolectric/robolectric) and [io.mockk:mockk](https://github.com/mockk/mockk). Bumps the test-dependencies group with 2 updates in the /packages/url_launcher/url_launcher_android/android directory: [org.mockito:mockito-core](https://github.com/mockito/mockito) and [org.robolectric:robolectric](https://github.com/robolectric/robolectric). Bumps the test-dependencies group with 2 updates in the /packages/video_player/video_player_android/android directory: [org.mockito:mockito-core](https://github.com/mockito/mockito) and [org.robolectric:robolectric](https://github.com/robolectric/robolectric). Updates org.mockito:mockito-core from 5.17.0 to 5.20.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/mockito/mockito/releases">org.mockito:mockito-core's releases</a>.</em></p> <blockquote> <h2>v5.20.0</h2> <h4>5.20.0</h4> <ul> <li>2025-09-20 - <a href="https://github.com/mockito/mockito/compare/v5.19.0...v5.20.0">11 commit(s)</a> by Adrian-Kim, Giulio Longfils, Rafael Winterhalter, dependabot[bot]</li> <li>Bump org.assertj:assertj-core from 3.27.4 to 3.27.5 [(<a href="https://redirect.github.com/mockito/mockito/issues/3730">#3730</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3730">mockito/mockito#3730</a>)</li> <li>Introducing the Ability to Mock Construction of Generic Types (<a href="https://redirect.github.com/mockito/mockito/issues/2401">#2401</a>) [(<a href="https://redirect.github.com/mockito/mockito/issues/3729">#3729</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3729">mockito/mockito#3729</a>)</li> <li>Bump com.gradle.develocity from 4.1.1 to 4.2 [(<a href="https://redirect.github.com/mockito/mockito/issues/3726">#3726</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3726">mockito/mockito#3726</a>)</li> <li>Bump graalvm/setup-graalvm from 1.3.6 to 1.3.7 [(<a href="https://redirect.github.com/mockito/mockito/issues/3725">#3725</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3725">mockito/mockito#3725</a>)</li> <li>Bump org.eclipse.platform:org.eclipse.osgi from 3.23.100 to 3.23.200 [(<a href="https://redirect.github.com/mockito/mockito/issues/3720">#3720</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3720">mockito/mockito#3720</a>)</li> <li>Bump graalvm/setup-graalvm from 1.3.5 to 1.3.6 [(<a href="https://redirect.github.com/mockito/mockito/issues/3719">#3719</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3719">mockito/mockito#3719</a>)</li> <li>Bump actions/setup-java from 4 to 5 [(<a href="https://redirect.github.com/mockito/mockito/issues/3715">#3715</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3715">mockito/mockito#3715</a>)</li> <li>Bump com.gradle.develocity from 4.1 to 4.1.1 [(<a href="https://redirect.github.com/mockito/mockito/issues/3713">#3713</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3713">mockito/mockito#3713</a>)</li> <li>Bump bytebuddy from 1.17.6 to 1.17.7 [(<a href="https://redirect.github.com/mockito/mockito/issues/3712">#3712</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3712">mockito/mockito#3712</a>)</li> <li>test: Use Assume.assumeThat for SequencedCollection tests [(<a href="https://redirect.github.com/mockito/mockito/issues/3711">#3711</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3711">mockito/mockito#3711</a>)</li> <li>Fix <a href="https://redirect.github.com/mockito/mockito/issues/3709">#3709</a> [(<a href="https://redirect.github.com/mockito/mockito/issues/3710">#3710</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3710">mockito/mockito#3710</a>)</li> <li>feat: Add support for JDK21 Sequenced Collections. [(<a href="https://redirect.github.com/mockito/mockito/issues/3708">#3708</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3708">mockito/mockito#3708</a>)</li> <li>Introducing the Ability to Mock Construction of Generic Types [(<a href="https://redirect.github.com/mockito/mockito/issues/2401">#2401</a>)](<a href="https://redirect.github.com/mockito/mockito/issues/2401">mockito/mockito#2401</a>)</li> </ul> <h2>v5.19.0</h2> <h4>5.19.0</h4> <ul> <li>2025-08-15 - <a href="https://github.com/mockito/mockito/compare/v5.18.0...v5.19.0">37 commit(s)</a> by Adrian-Kim, Tim van der Lippe, Tran Ngoc Nhan, dependabot[bot], juyeop</li> <li>feat: Add support for JDK21 Sequenced Collections. [(<a href="https://redirect.github.com/mockito/mockito/issues/3708">#3708</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3708">mockito/mockito#3708</a>)</li> <li>Bump actions/checkout from 4 to 5 [(<a href="https://redirect.github.com/mockito/mockito/issues/3707">#3707</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3707">mockito/mockito#3707</a>)</li> <li>build: Allow overriding 'Created-By' for reproducible builds [(<a href="https://redirect.github.com/mockito/mockito/issues/3704">#3704</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3704">mockito/mockito#3704</a>)</li> <li>Bump org.assertj:assertj-core from 3.27.3 to 3.27.4 [(<a href="https://redirect.github.com/mockito/mockito/issues/3703">#3703</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3703">mockito/mockito#3703</a>)</li> <li>Bump androidx.test:runner from 1.6.2 to 1.7.0 [(<a href="https://redirect.github.com/mockito/mockito/issues/3697">#3697</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3697">mockito/mockito#3697</a>)</li> <li>Bump org.junit.platform:junit-platform-launcher from 1.13.3 to 1.13.4 [(<a href="https://redirect.github.com/mockito/mockito/issues/3694">#3694</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3694">mockito/mockito#3694</a>)</li> <li>Bump com.diffplug.spotless:spotless-plugin-gradle from 7.1.0 to 7.2.1 [(<a href="https://redirect.github.com/mockito/mockito/issues/3693">#3693</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3693">mockito/mockito#3693</a>)</li> <li>Bump junit-jupiter from 5.13.3 to 5.13.4 [(<a href="https://redirect.github.com/mockito/mockito/issues/3691">#3691</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3691">mockito/mockito#3691</a>)</li> <li>Bump com.gradle.develocity from 4.0.2 to 4.1 [(<a href="https://redirect.github.com/mockito/mockito/issues/3689">#3689</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3689">mockito/mockito#3689</a>)</li> <li>Bump com.google.googlejavaformat:google-java-format from 1.27.0 to 1.28.0 [(<a href="https://redirect.github.com/mockito/mockito/issues/3688">#3688</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3688">mockito/mockito#3688</a>)</li> <li>Bump com.google.googlejavaformat:google-java-format from 1.25.2 to 1.27.0 [(<a href="https://redirect.github.com/mockito/mockito/issues/3686">#3686</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3686">mockito/mockito#3686</a>)</li> <li>Bump com.diffplug.spotless:spotless-plugin-gradle from 7.0.4 to 7.1.0 [(<a href="https://redirect.github.com/mockito/mockito/issues/3685">#3685</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3685">mockito/mockito#3685</a>)</li> <li>Bump junit-jupiter from 5.13.2 to 5.13.3 [(<a href="https://redirect.github.com/mockito/mockito/issues/3684">#3684</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3684">mockito/mockito#3684</a>)</li> <li>Bump org.shipkit:shipkit-auto-version from 2.1.0 to 2.1.2 [(<a href="https://redirect.github.com/mockito/mockito/issues/3683">#3683</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3683">mockito/mockito#3683</a>)</li> <li>Bump com.diffplug.spotless:spotless-plugin-gradle from 7.0.2 to 7.0.4 [(<a href="https://redirect.github.com/mockito/mockito/issues/3682">#3682</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3682">mockito/mockito#3682</a>)</li> <li>Only run release after both Java and Android tests have finished [(<a href="https://redirect.github.com/mockito/mockito/issues/3681">#3681</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3681">mockito/mockito#3681</a>)</li> <li>Bump org.junit.platform:junit-platform-launcher from 1.12.2 to 1.13.3 [(<a href="https://redirect.github.com/mockito/mockito/issues/3680">#3680</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3680">mockito/mockito#3680</a>)</li> <li>Bump org.codehaus.groovy:groovy from 3.0.24 to 3.0.25 [(<a href="https://redirect.github.com/mockito/mockito/issues/3679">#3679</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3679">mockito/mockito#3679</a>)</li> <li>Bump org.eclipse.platform:org.eclipse.osgi from 3.23.0 to 3.23.100 [(<a href="https://redirect.github.com/mockito/mockito/issues/3678">#3678</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3678">mockito/mockito#3678</a>)</li> <li>Can no longer publish snapshot releases [(<a href="https://redirect.github.com/mockito/mockito/issues/3677">#3677</a>)](<a href="https://redirect.github.com/mockito/mockito/issues/3677">mockito/mockito#3677</a>)</li> <li>Update Gradle to 8.14.2 [(<a href="https://redirect.github.com/mockito/mockito/issues/3676">#3676</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3676">mockito/mockito#3676</a>)</li> <li>Bump errorprone from 2.23.0 to 2.39.0 [(<a href="https://redirect.github.com/mockito/mockito/issues/3674">#3674</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3674">mockito/mockito#3674</a>)</li> <li>Correct Junit docs link [(<a href="https://redirect.github.com/mockito/mockito/issues/3672">#3672</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3672">mockito/mockito#3672</a>)</li> <li>Bump net.ltgt.gradle:gradle-errorprone-plugin from 4.1.0 to 4.3.0 [(<a href="https://redirect.github.com/mockito/mockito/issues/3670">#3670</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3670">mockito/mockito#3670</a>)</li> <li>Bump junit-jupiter from 5.13.1 to 5.13.2 [(<a href="https://redirect.github.com/mockito/mockito/issues/3669">#3669</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3669">mockito/mockito#3669</a>)</li> <li>Bump bytebuddy from 1.17.5 to 1.17.6 [(<a href="https://redirect.github.com/mockito/mockito/issues/3668">#3668</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3668">mockito/mockito#3668</a>)</li> </ul> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/mockito/mockito/commit/3a1a19ee40f1234048880393343405046fc3fa60"><code>3a1a19e</code></a> Add support for generic types in <code>MockedConstruction</code> and <code>MockedStatic</code> (<a href="https://redirect.github.com/mockito/mockito/issues/3729">#3729</a>)</li> <li><a href="https://github.com/mockito/mockito/commit/f3c957a74e39a78c31b7fd2e48bf9f4c3a13112c"><code>f3c957a</code></a> Bump org.assertj:assertj-core from 3.27.4 to 3.27.5 (<a href="https://redirect.github.com/mockito/mockito/issues/3730">#3730</a>)</li> <li><a href="https://github.com/mockito/mockito/commit/3cfbd427182ef7c9ae718873ffb85b5ed4f04758"><code>3cfbd42</code></a> Bump graalvm/setup-graalvm from 1.3.6 to 1.3.7 (<a href="https://redirect.github.com/mockito/mockito/issues/3725">#3725</a>)</li> <li><a href="https://github.com/mockito/mockito/commit/6f9a04bbd7c7894a38b34658456691823866112c"><code>6f9a04b</code></a> Bump com.gradle.develocity from 4.1.1 to 4.2 (<a href="https://redirect.github.com/mockito/mockito/issues/3726">#3726</a>)</li> <li><a href="https://github.com/mockito/mockito/commit/c75dfb886cbfbed9c0d5d36681a103205a264a8c"><code>c75dfb8</code></a> Bump org.eclipse.platform:org.eclipse.osgi from 3.23.100 to 3.23.200 (<a href="https://redirect.github.com/mockito/mockito/issues/3720">#3720</a>)</li> <li><a href="https://github.com/mockito/mockito/commit/54474fa1dd9455913181567536ca1d60f00880f5"><code>54474fa</code></a> Bump graalvm/setup-graalvm from 1.3.5 to 1.3.6 (<a href="https://redirect.github.com/mockito/mockito/issues/3719">#3719</a>)</li> <li><a href="https://github.com/mockito/mockito/commit/bc06f214c0c9505a1887e4422a449c6304993ff5"><code>bc06f21</code></a> Use Assume.assumeThat for SequencedCollection tests (<a href="https://redirect.github.com/mockito/mockito/issues/3711">#3711</a>)</li> <li><a href="https://github.com/mockito/mockito/commit/a10aed01a455bf1f45bb25dc1bb887fd171cffee"><code>a10aed0</code></a> Bump actions/setup-java from 4 to 5 (<a href="https://redirect.github.com/mockito/mockito/issues/3715">#3715</a>)</li> <li><a href="https://github.com/mockito/mockito/commit/37bb3e5062bbedda96dc3810c5e3d4f5c0c644e0"><code>37bb3e5</code></a> Fix metadata generation on GraalVM (<a href="https://redirect.github.com/mockito/mockito/issues/3710">#3710</a>)</li> <li><a href="https://github.com/mockito/mockito/commit/ef2fd6f8e12df2db9b1c3aef067c33f6fe2aba95"><code>ef2fd6f</code></a> Bump com.gradle.develocity from 4.1 to 4.1.1 (<a href="https://redirect.github.com/mockito/mockito/issues/3713">#3713</a>)</li> <li>Additional commits viewable in <a href="https://github.com/mockito/mockito/compare/v5.17.0...v5.20.0">compare view</a></li> </ul> </details> <br /> Updates org.robolectric:robolectric from 4.15.1 to 4.16 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/robolectric/robolectric/releases">org.robolectric:robolectric's releases</a>.</em></p> <blockquote> <p>Robolectric 4.16 supports Android Baklava (SDK 36). It also removes support for Android L (SDK 21 and 22).</p> <p>One exciting new feature is native resources (ResourcesMode.NATIVE). Note this is currently only available in SDK 36.</p> <p>If you have any issues, please file them <a href="https://github.com/robolectric/robolectric/issues">here</a>.</p> <h2>What's Changed</h2> <ul> <li>Reuse <code>ShadowUIModeManager</code> in <code>ShadowUIModeManagerTest</code> by <a href="https://github.com/MGaetan89"><code>@​MGaetan89</code></a> in <a href="https://redirect.github.com/robolectric/robolectric/pull/10368">robolectric/robolectric#10368</a></li> <li>Update AndroidX by <a href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in <a href="https://redirect.github.com/robolectric/robolectric/pull/10373">robolectric/robolectric#10373</a></li> <li>Update dependency gradle to v8.14.2 by <a href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in <a href="https://redirect.github.com/robolectric/robolectric/pull/10372">robolectric/robolectric#10372</a></li> <li>Update dependency com.googlecode.libphonenumber:libphonenumber to v9.0.7 by <a href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in <a href="https://redirect.github.com/robolectric/robolectric/pull/10371">robolectric/robolectric#10371</a></li> <li>Update dependency org.bouncycastle:bcprov-jdk18on to v1.81 by <a href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in <a href="https://redirect.github.com/robolectric/robolectric/pull/10374">robolectric/robolectric#10374</a></li> <li>Fix ApplicationInfo inconsistencies in Robolectric. in <a href="https://redirect.github.com/robolectric/robolectric/pull/10375">robolectric/robolectric#10375</a></li> <li>Add shadow for new resolveActivityAsUser variant. in <a href="https://redirect.github.com/robolectric/robolectric/pull/10377">robolectric/robolectric#10377</a></li> <li>Adjust to indevelopment SDK changes. in <a href="https://redirect.github.com/robolectric/robolectric/pull/10379">robolectric/robolectric#10379</a></li> <li>Adding support to the Simulator for picking up the device configuration from a Configurer. in <a href="https://redirect.github.com/robolectric/robolectric/pull/10381">robolectric/robolectric#10381</a></li> <li>Clean up SDK ranges for shadow methods in Baklava. in <a href="https://redirect.github.com/robolectric/robolectric/pull/10380">robolectric/robolectric#10380</a></li> <li>Add a shadow for Equalizer in <a href="https://redirect.github.com/robolectric/robolectric/pull/10384">robolectric/robolectric#10384</a></li> <li>Update example to be consistent with robolectric.org by <a href="https://github.com/seadowg"><code>@​seadowg</code></a> in <a href="https://redirect.github.com/robolectric/robolectric/pull/7475">robolectric/robolectric#7475</a></li> <li>Update the <code>simulator-gradle-plugin</code> to depends on AGP <code>gradle-api</code> by <a href="https://github.com/MGaetan89"><code>@​MGaetan89</code></a> in <a href="https://redirect.github.com/robolectric/robolectric/pull/10386">robolectric/robolectric#10386</a></li> <li>Replace custom <code>getOrDefault()</code> with the corresponding Java method by <a href="https://github.com/MGaetan89"><code>@​MGaetan89</code></a> in <a href="https://redirect.github.com/robolectric/robolectric/pull/10370">robolectric/robolectric#10370</a></li> <li>Fix Javadoc for <code>ShadowPausedLooper</code> by <a href="https://github.com/MGaetan89"><code>@​MGaetan89</code></a> in <a href="https://redirect.github.com/robolectric/robolectric/pull/10387">robolectric/robolectric#10387</a></li> <li>Fix condition in <code>ResourceHelper#parseFloatAttribute()</code> by <a href="https://github.com/MGaetan89"><code>@​MGaetan89</code></a> in <a href="https://redirect.github.com/robolectric/robolectric/pull/10369">robolectric/robolectric#10369</a></li> <li>Validate listener in <code>ShadowAccountManager#addOnAccountsUpdatedListener()</code> by <a href="https://github.com/MGaetan89"><code>@​MGaetan89</code></a> in <a href="https://redirect.github.com/robolectric/robolectric/pull/10361">robolectric/robolectric#10361</a></li> <li>Add support for UiModeManager.setNightMode(UiModeManager.MODE_NIGHT_CUSTOM) in <a href="https://redirect.github.com/robolectric/robolectric/pull/10390">robolectric/robolectric#10390</a></li> <li>Lazily register the simulator plugin by <a href="https://github.com/MGaetan89"><code>@​MGaetan89</code></a> in <a href="https://redirect.github.com/robolectric/robolectric/pull/10391">robolectric/robolectric#10391</a></li> <li>Enable stricter plugin validation by <a href="https://github.com/hoisie"><code>@​hoisie</code></a> in <a href="https://redirect.github.com/robolectric/robolectric/pull/10388">robolectric/robolectric#10388</a></li> <li>Add the VirtualDeviceManager#getVirtualDevice(int deviceId) to the ShadowVirtualDeviceManager. in <a href="https://redirect.github.com/robolectric/robolectric/pull/10395">robolectric/robolectric#10395</a></li> <li>Fix various small warnings by <a href="https://github.com/MGaetan89"><code>@​MGaetan89</code></a> in <a href="https://redirect.github.com/robolectric/robolectric/pull/10394">robolectric/robolectric#10394</a></li> <li>Add shadow implement of AccessibilityService#getRootInActiveWindow in <a href="https://redirect.github.com/robolectric/robolectric/pull/10397">robolectric/robolectric#10397</a></li> <li>Add more information to the generated POM file by <a href="https://github.com/MGaetan89"><code>@​MGaetan89</code></a> in <a href="https://redirect.github.com/robolectric/robolectric/pull/10392">robolectric/robolectric#10392</a></li> <li>Change ShadowChoreographer.getDefaultFrameDelay into a shadow method. in <a href="https://redirect.github.com/robolectric/robolectric/pull/10404">robolectric/robolectric#10404</a></li> <li>Restore removed methods from <code>Config</code> by <a href="https://github.com/MGaetan89"><code>@​MGaetan89</code></a> in <a href="https://redirect.github.com/robolectric/robolectric/pull/10406">robolectric/robolectric#10406</a></li> <li>Add shadow override for Network SocketFactory. in <a href="https://redirect.github.com/robolectric/robolectric/pull/10409">robolectric/robolectric#10409</a></li> <li>Add missing deprecations to some <code>Config.Builder</code> methods by <a href="https://github.com/MGaetan89"><code>@​MGaetan89</code></a> in <a href="https://redirect.github.com/robolectric/robolectric/pull/10408">robolectric/robolectric#10408</a></li> <li>Remove <code>testDebugUnitTest</code> from the dependencies of the <code>simulator</code> task by <a href="https://github.com/MGaetan89"><code>@​MGaetan89</code></a> in <a href="https://redirect.github.com/robolectric/robolectric/pull/10413">robolectric/robolectric#10413</a></li> <li>Merge branch 'google' into 'master' by <a href="https://github.com/hoisie"><code>@​hoisie</code></a> in <a href="https://redirect.github.com/robolectric/robolectric/pull/10414">robolectric/robolectric#10414</a></li> <li>Bump the snapshot version to 4.16 by <a href="https://github.com/MGaetan89"><code>@​MGaetan89</code></a> in <a href="https://redirect.github.com/robolectric/robolectric/pull/10415">robolectric/robolectric#10415</a></li> <li>Add ability to specify is80211azNtbMeasurement to ShadowRangingResult in <a href="https://redirect.github.com/robolectric/robolectric/pull/10410">robolectric/robolectric#10410</a></li> <li>Added implementation for Path.op by <a href="https://github.com/GisoBartels"><code>@​GisoBartels</code></a> in <a href="https://redirect.github.com/robolectric/robolectric/pull/10288">robolectric/robolectric#10288</a></li> <li>Fix massive code warnings of ShadowVirtualDeviceManagerTest by <a href="https://github.com/utzcoz"><code>@​utzcoz</code></a> in <a href="https://redirect.github.com/robolectric/robolectric/pull/10399">robolectric/robolectric#10399</a></li> <li>Remove redundant String concatenation by <a href="https://github.com/MGaetan89"><code>@​MGaetan89</code></a> in <a href="https://redirect.github.com/robolectric/robolectric/pull/10417">robolectric/robolectric#10417</a></li> <li>Migrate deprecated APIs to idleMainLooper for ShadowVirtualDeviceManagerTest by <a href="https://github.com/utzcoz"><code>@​utzcoz</code></a> in <a href="https://redirect.github.com/robolectric/robolectric/pull/10418">robolectric/robolectric#10418</a></li> <li>Replace Stream#toList to Stream#collect(Collectors.toList()) by <a href="https://github.com/utzcoz"><code>@​utzcoz</code></a> in <a href="https://redirect.github.com/robolectric/robolectric/pull/10420">robolectric/robolectric#10420</a></li> <li>Support Java 11 in the simulator gradle plugin by <a href="https://github.com/hoisie"><code>@​hoisie</code></a> in <a href="https://redirect.github.com/robolectric/robolectric/pull/10421">robolectric/robolectric#10421</a></li> <li>Update AndroidX by <a href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in <a href="https://redirect.github.com/robolectric/robolectric/pull/10422">robolectric/robolectric#10422</a></li> <li>Update roborazzi to v1.45.1 by <a href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in <a href="https://redirect.github.com/robolectric/robolectric/pull/10424">robolectric/robolectric#10424</a></li> <li>Update dependency io.mockk:mockk to v1.14.4 by <a href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in <a href="https://redirect.github.com/robolectric/robolectric/pull/10423">robolectric/robolectric#10423</a></li> <li>Replace <code>Asset#toIntExact()</code> with <code>Math#toIntExact()</code> by <a href="https://github.com/MGaetan89"><code>@​MGaetan89</code></a> in <a href="https://redirect.github.com/robolectric/robolectric/pull/10425">robolectric/robolectric#10425</a></li> <li>Add support for getPrimaryImei() in ShadowTelephonyManager. in <a href="https://redirect.github.com/robolectric/robolectric/pull/10427">robolectric/robolectric#10427</a></li> </ul> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/robolectric/robolectric/commit/c913509c8a3583b336a708ffbd25d87a7f019cc8"><code>c913509</code></a> Bump version to 4.16.</li> <li><a href="https://github.com/robolectric/robolectric/commit/6212c7de982f0f54d270ed742551384c981f96ac"><code>6212c7d</code></a> Update shadows/httpclient to use prebuilt legacy http client for tests</li> <li><a href="https://github.com/robolectric/robolectric/commit/9ecb44fe4eb1023ef17563e7c9b1fb507ef3f3df"><code>9ecb44f</code></a> Remove unnecessary logic to clear the Simulator canvas</li> <li><a href="https://github.com/robolectric/robolectric/commit/23c0d241cdd934ef0dceda5a6b40148ebc9002f8"><code>23c0d24</code></a> Add support for mouse wheel scroll events to the simulator</li> <li><a href="https://github.com/robolectric/robolectric/commit/251d399bc531bb7e92c82eaefc4852d518d72b0d"><code>251d399</code></a> Make all static fields emitted by Reflector volatile.</li> <li><a href="https://github.com/robolectric/robolectric/commit/4115188cf8b51cef5383e6074f49af4cd7575cf7"><code>4115188</code></a> Update Android V (SDK 35) to build id 13954326</li> <li><a href="https://github.com/robolectric/robolectric/commit/9f441bf6ca0fd756545426ce92780ce5a4f4a5c9"><code>9f441bf</code></a> Fix ShadowPausedLooper#poll when sync barrier is blocking the queue.</li> <li><a href="https://github.com/robolectric/robolectric/commit/75009d6055872cbc5ca4d6680aacddd058dbf90c"><code>75009d6</code></a> Bump version to 4.16-beta-1.</li> <li><a href="https://github.com/robolectric/robolectric/commit/fa46a2063e3bcb4acb89a1654d209f9f8db40ebb"><code>fa46a20</code></a> Merge branch 'google' into 'master'</li> <li><a href="https://github.com/robolectric/robolectric/commit/f210894333d6be12f07d1624c9c37fc311614f88"><code>f210894</code></a> Update Android B build to 13921718</li> <li>Additional commits viewable in <a href="https://github.com/robolectric/robolectric/compare/robolectric-4.15.1...robolectric-4.16">compare view</a></li> </ul> </details> <br /> Updates org.mockito:mockito-core from 5.17.0 to 5.20.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/mockito/mockito/releases">org.mockito:mockito-core's releases</a>.</em></p> <blockquote> <h2>v5.20.0</h2> <h4>5.20.0</h4> <ul> <li>2025-09-20 - <a href="https://github.com/mockito/mockito/compare/v5.19.0...v5.20.0">11 commit(s)</a> by Adrian-Kim, Giulio Longfils, Rafael Winterhalter, dependabot[bot]</li> <li>Bump org.assertj:assertj-core from 3.27.4 to 3.27.5 [(<a href="https://redirect.github.com/mockito/mockito/issues/3730">#3730</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3730">mockito/mockito#3730</a>)</li> <li>Introducing the Ability to Mock Construction of Generic Types (<a href="https://redirect.github.com/mockito/mockito/issues/2401">#2401</a>) [(<a href="https://redirect.github.com/mockito/mockito/issues/3729">#3729</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3729">mockito/mockito#3729</a>)</li> <li>Bump com.gradle.develocity from 4.1.1 to 4.2 [(<a href="https://redirect.github.com/mockito/mockito/issues/3726">#3726</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3726">mockito/mockito#3726</a>)</li> <li>Bump graalvm/setup-graalvm from 1.3.6 to 1.3.7 [(<a href="https://redirect.github.com/mockito/mockito/issues/3725">#3725</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3725">mockito/mockito#3725</a>)</li> <li>Bump org.eclipse.platform:org.eclipse.osgi from 3.23.100 to 3.23.200 [(<a href="https://redirect.github.com/mockito/mockito/issues/3720">#3720</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3720">mockito/mockito#3720</a>)</li> <li>Bump graalvm/setup-graalvm from 1.3.5 to 1.3.6 [(<a href="https://redirect.github.com/mockito/mockito/issues/3719">#3719</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3719">mockito/mockito#3719</a>)</li> <li>Bump actions/setup-java from 4 to 5 [(<a href="https://redirect.github.com/mockito/mockito/issues/3715">#3715</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3715">mockito/mockito#3715</a>)</li> <li>Bump com.gradle.develocity from 4.1 to 4.1.1 [(<a href="https://redirect.github.com/mockito/mockito/issues/3713">#3713</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3713">mockito/mockito#3713</a>)</li> <li>Bump bytebuddy from 1.17.6 to 1.17.7 [(<a href="https://redirect.github.com/mockito/mockito/issues/3712">#3712</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3712">mockito/mockito#3712</a>)</li> <li>test: Use Assume.assumeThat for SequencedCollection tests [(<a href="https://redirect.github.com/mockito/mockito/issues/3711">#3711</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3711">mockito/mockito#3711</a>)</li> <li>Fix <a href="https://redirect.github.com/mockito/mockito/issues/3709">#3709</a> [(<a href="https://redirect.github.com/mockito/mockito/issues/3710">#3710</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3710">mockito/mockito#3710</a>)</li> <li>feat: Add support for JDK21 Sequenced Collections. [(<a href="https://redirect.github.com/mockito/mockito/issues/3708">#3708</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3708">mockito/mockito#3708</a>)</li> <li>Introducing the Ability to Mock Construction of Generic Types [(<a href="https://redirect.github.com/mockito/mockito/issues/2401">#2401</a>)](<a href="https://redirect.github.com/mockito/mockito/issues/2401">mockito/mockito#2401</a>)</li> </ul> <h2>v5.19.0</h2> <h4>5.19.0</h4> <ul> <li>2025-08-15 - <a href="https://github.com/mockito/mockito/compare/v5.18.0...v5.19.0">37 commit(s)</a> by Adrian-Kim, Tim van der Lippe, Tran Ngoc Nhan, dependabot[bot], juyeop</li> <li>feat: Add support for JDK21 Sequenced Collections. [(<a href="https://redirect.github.com/mockito/mockito/issues/3708">#3708</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3708">mockito/mockito#3708</a>)</li> <li>Bump actions/checkout from 4 to 5 [(<a href="https://redirect.github.com/mockito/mockito/issues/3707">#3707</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3707">mockito/mockito#3707</a>)</li> <li>build: Allow overriding 'Created-By' for reproducible builds [(<a href="https://redirect.github.com/mockito/mockito/issues/3704">#3704</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3704">mockito/mockito#3704</a>)</li> <li>Bump org.assertj:assertj-core from 3.27.3 to 3.27.4 [(<a href="https://redirect.github.com/mockito/mockito/issues/3703">#3703</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3703">mockito/mockito#3703</a>)</li> <li>Bump androidx.test:runner from 1.6.2 to 1.7.0 [(<a href="https://redirect.github.com/mockito/mockito/issues/3697">#3697</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3697">mockito/mockito#3697</a>)</li> <li>Bump org.junit.platform:junit-platform-launcher from 1.13.3 to 1.13.4 [(<a href="https://redirect.github.com/mockito/mockito/issues/3694">#3694</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3694">mockito/mockito#3694</a>)</li> <li>Bump com.diffplug.spotless:spotless-plugin-gradle from 7.1.0 to 7.2.1 [(<a href="https://redirect.github.com/mockito/mockito/issues/3693">#3693</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3693">mockito/mockito#3693</a>)</li> <li>Bump junit-jupiter from 5.13.3 to 5.13.4 [(<a href="https://redirect.github.com/mockito/mockito/issues/3691">#3691</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3691">mockito/mockito#3691</a>)</li> <li>Bump com.gradle.develocity from 4.0.2 to 4.1 [(<a href="https://redirect.github.com/mockito/mockito/issues/3689">#3689</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3689">mockito/mockito#3689</a>)</li> <li>Bump com.google.googlejavaformat:google-java-format from 1.27.0 to 1.28.0 [(<a href="https://redirect.github.com/mockito/mockito/issues/3688">#3688</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3688">mockito/mockito#3688</a>)</li> <li>Bump com.google.googlejavaformat:google-java-format from 1.25.2 to 1.27.0 [(<a href="https://redirect.github.com/mockito/mockito/issues/3686">#3686</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3686">mockito/mockito#3686</a>)</li> <li>Bump com.diffplug.spotless:spotless-plugin-gradle from 7.0.4 to 7.1.0 [(<a href="https://redirect.github.com/mockito/mockito/issues/3685">#3685</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3685">mockito/mockito#3685</a>)</li> <li>Bump junit-jupiter from 5.13.2 to 5.13.3 [(<a href="https://redirect.github.com/mockito/mockito/issues/3684">#3684</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3684">mockito/mockito#3684</a>)</li> <li>Bump org.shipkit:shipkit-auto-version from 2.1.0 to 2.1.2 [(<a href="https://redirect.github.com/mockito/mockito/issues/3683">#3683</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3683">mockito/mockito#3683</a>)</li> <li>Bump com.diffplug.spotless:spotless-plugin-gradle from 7.0.2 to 7.0.4 [(<a href="https://redirect.github.com/mockito/mockito/issues/3682">#3682</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3682">mockito/mockito#3682</a>)</li> <li>Only run release after both Java and Android tests have finished [(<a href="https://redirect.github.com/mockito/mockito/issues/3681">#3681</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3681">mockito/mockito#3681</a>)</li> <li>Bump org.junit.platform:junit-platform-launcher from 1.12.2 to 1.13.3 [(<a href="https://redirect.github.com/mockito/mockito/issues/3680">#3680</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3680">mockito/mockito#3680</a>)</li> <li>Bump org.codehaus.groovy:groovy from 3.0.24 to 3.0.25 [(<a href="https://redirect.github.com/mockito/mockito/issues/3679">#3679</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3679">mockito/mockito#3679</a>)</li> <li>Bump org.eclipse.platform:org.eclipse.osgi from 3.23.0 to 3.23.100 [(<a href="https://redirect.github.com/mockito/mockito/issues/3678">#3678</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3678">mockito/mockito#3678</a>)</li> <li>Can no longer publish snapshot releases [(<a href="https://redirect.github.com/mockito/mockito/issues/3677">#3677</a>)](<a href="https://redirect.github.com/mockito/mockito/issues/3677">mockito/mockito#3677</a>)</li> <li>Update Gradle to 8.14.2 [(<a href="https://redirect.github.com/mockito/mockito/issues/3676">#3676</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3676">mockito/mockito#3676</a>)</li> <li>Bump errorprone from 2.23.0 to 2.39.0 [(<a href="https://redirect.github.com/mockito/mockito/issues/3674">#3674</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3674">mockito/mockito#3674</a>)</li> <li>Correct Junit docs link [(<a href="https://redirect.github.com/mockito/mockito/issues/3672">#3672</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3672">mockito/mockito#3672</a>)</li> <li>Bump net.ltgt.gradle:gradle-errorprone-plugin from 4.1.0 to 4.3.0 [(<a href="https://redirect.github.com/mockito/mockito/issues/3670">#3670</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3670">mockito/mockito#3670</a>)</li> <li>Bump junit-jupiter from 5.13.1 to 5.13.2 [(<a href="https://redirect.github.com/mockito/mockito/issues/3669">#3669</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3669">mockito/mockito#3669</a>)</li> <li>Bump bytebuddy from 1.17.5 to 1.17.6 [(<a href="https://redirect.github.com/mockito/mockito/issues/3668">#3668</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3668">mockito/mockito#3668</a>)</li> </ul> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/mockito/mockito/commit/3a1a19ee40f1234048880393343405046fc3fa60"><code>3a1a19e</code></a> Add support for generic types in <code>MockedConstruction</code> and <code>MockedStatic</code> (<a href="https://redirect.github.com/mockito/mockito/issues/3729">#3729</a>)</li> <li><a href="https://github.com/mockito/mockito/commit/f3c957a74e39a78c31b7fd2e48bf9f4c3a13112c"><code>f3c957a</code></a> Bump org.assertj:assertj-core from 3.27.4 to 3.27.5 (<a href="https://redirect.github.com/mockito/mockito/issues/3730">#3730</a>)</li> <li><a href="https://github.com/mockito/mockito/commit/3cfbd427182ef7c9ae718873ffb85b5ed4f04758"><code>3cfbd42</code></a> Bump graalvm/setup-graalvm from 1.3.6 to 1.3.7 (<a href="https://redirect.github.com/mockito/mockito/issues/3725">#3725</a>)</li> <li><a href="https://github.com/mockito/mockito/commit/6f9a04bbd7c7894a38b34658456691823866112c"><code>6f9a04b</code></a> Bump com.gradle.develocity from 4.1.1 to 4.2 (<a href="https://redirect.github.com/mockito/mockito/issues/3726">#3726</a>)</li> <li><a href="https://github.com/mockito/mockito/commit/c75dfb886cbfbed9c0d5d36681a103205a264a8c"><code>c75dfb8</code></a> Bump org.eclipse.platform:org.eclipse.osgi from 3.23.100 to 3.23.200 (<a href="https://redirect.github.com/mockito/mockito/issues/3720">#3720</a>)</li> <li><a href="https://github.com/mockito/mockito/commit/54474fa1dd9455913181567536ca1d60f00880f5"><code>54474fa</code></a> Bump graalvm/setup-graalvm from 1.3.5 to 1.3.6 (<a href="https://redirect.github.com/mockito/mockito/issues/3719">#3719</a>)</li> <li><a href="https://github.com/mockito/mockito/commit/bc06f214c0c9505a1887e4422a449c6304993ff5"><code>bc06f21</code></a> Use Assume.assumeThat for SequencedCollection tests (<a href="https://redirect.github.com/mockito/mockito/issues/3711">#3711</a>)</li> <li><a href="https://github.com/mockito/mockito/commit/a10aed01a455bf1f45bb25dc1bb887fd171cffee"><code>a10aed0</code></a> Bump actions/setup-java from 4 to 5 (<a href="https://redirect.github.com/mockito/mockito/issues/3715">#3715</a>)</li> <li><a href="https://github.com/mockito/mockito/commit/37bb3e5062bbedda96dc3810c5e3d4f5c0c644e0"><code>37bb3e5</code></a> Fix metadata generation on GraalVM (<a href="https://redirect.github.com/mockito/mockito/issues/3710">#3710</a>)</li> <li><a href="https://github.com/mockito/mockito/commit/ef2fd6f8e12df2db9b1c3aef067c33f6fe2aba95"><code>ef2fd6f</code></a> Bump com.gradle.develocity from 4.1 to 4.1.1 (<a href="https://redirect.github.com/mockito/mockito/issues/3713">#3713</a>)</li> <li>Additional commits viewable in <a href="https://github.com/mockito/mockito/compare/v5.17.0...v5.20.0">compare view</a></li> </ul> </details> <br /> Updates org.robolectric:robolectric from 4.15.1 to 4.16 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/robolectric/robolectric/releases">org.robolectric:robolectric's releases</a>.</em></p> <blockquote> <p>Robolectric 4.16 supports Android Baklava (SDK 36). It also removes support for Android L (SDK 21 and 22).</p> <p>One exciting new feature is native resources (ResourcesMode.NATIVE). Note this is currently only available in SDK 36.</p> <p>If you have any issues, please file them <a href="https://github.com/robolectric/robolectric/issues">here</a>.</p> <h2>What's Changed</h2> <ul> <li>Reuse <code>ShadowUIModeManager</code> in <code>ShadowUIModeManagerTest</code> by <a href="https://github.com/MGaetan89"><code>@​MGaetan89</code></a> in <a href="https://redirect.github.com/robolectric/robolectric/pull/10368">robolectric/robolectric#10368</a></li> <li>Update AndroidX by <a href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in <a href="https://redirect.github.com/robolectric/robolectric/pull/10373">robolectric/robolectric#10373</a></li> <li>Update dependency gradle to v8.14.2 by <a href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in <a href="https://redirect.github.com/robolectric/robolectric/pull/10372">robolectric/robolectric#10372</a></li> <li>Update dependency com.googlecode.libphonenumber:libphonenumber to v9.0.7 by <a href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in <a href="https://redirect.github.com/robolectric/robolectric/pull/10371">robolectric/robolectric#10371</a></li> <li>Update dependency org.bouncycastle:bcprov-jdk18on to v1.81 by <a href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in <a href="https://redirect.github.com/robolectric/robolectric/pull/10374">robolectric/robolectric#10374</a></li> <li>Fix ApplicationInfo inconsistencies in Robolectric. in <a href="https://redirect.github.com/robolectric/robolectric/pull/10375">robolectric/robolectric#10375</a></li> <li>Add shadow for new resolveActivityAsUser variant. in <a href="https://redirect.github.com/robolectric/robolectric/pull/10377">robolectric/robolectric#10377</a></li> <li>Adjust to indevelopment SDK changes. in <a href="https://redirect.github.com/robolectric/robolectric/pull/10379">robolectric/robolectric#10379</a></li> <li>Adding support to the Simulator for picking up the device configuration from a Configurer. in <a href="https://redirect.github.com/robolectric/robolectric/pull/10381">robolectric/robolectric#10381</a></li> <li>Clean up SDK ranges for shadow methods in Baklava. in <a href="https://redirect.github.com/robolectric/robolectric/pull/10380">robolectric/robolectric#10380</a></li> <li>Add a shadow for Equalizer in <a href="https://redirect.github.com/robolectric/robolectric/pull/10384">robolectric/robolectric#10384</a></li> <li>Update example to be consistent with robolectric.org by <a href="https://github.com/seadowg"><code>@​seadowg</code></a> in <a href="https://redirect.github.com/robolectric/robolectric/pull/7475">robolectric/robolectric#7475</a></li> <li>Update the <code>simulator-gradle-plugin</code> to depends on AGP <code>gradle-api</code> by <a href="https://github.com/MGaetan89"><code>@​MGaetan89</code></a> in <a href="https://redirect.github.com/robolectric/robolectric/pull/10386">robolectric/robolectric#10386</a></li> <li>Replace custom <code>getOrDefault()</code> with the corresponding Java method by <a href="https://github.com/MGaetan89"><code>@​MGaetan89</code></a> in <a href="https://redirect.github.com/robolectric/robolectric/pull/10370">robolectric/robolectric#10370</a></li> <li>Fix Javadoc for <code>ShadowPausedLooper</code> by <a href="https://github.com/MGaetan89"><code>@​MGaetan89</code></a> in <a href="https://redirect.github.com/robolectric/robolectric/pull/10387">robolectric/robolectric#10387</a></li> <li>Fix condition in <code>ResourceHelper#parseFloatAttribute()</code> by <a href="https://github.com/MGaetan89"><code>@​MGaetan89</code></a> in <a href="https://redirect.github.com/robolectric/robolectric/pull/10369">robolectric/robolectric#10369</a></li> <li>Validate listener in <code>ShadowAccountManager#addOnAccountsUpdatedListener()</code> by <a href="https://github.com/MGaetan89"><code>@​MGaetan89</code></a> in <a href="https://redirect.github.com/robolectric/robolectric/pull/10361">robolectric/robolectric#10361</a></li> <li>Add support for UiModeManager.setNightMode(UiModeManager.MODE_NIGHT_CUSTOM) in <a href="https://redirect.github.com/robolectric/robolectric/pull/10390">robolectric/robolectric#10390</a></li> <li>Lazily register the simulator plugin by <a href="https://github.com/MGaetan89"><code>@​MGaetan89</code></a> in <a href="https://redirect.github.com/robolectric/robolectric/pull/10391">robolectric/robolectric#10391</a></li> <li>Enable stricter plugin validation by <a href="https://github.com/hoisie"><code>@​hoisie</code></a> in <a href="https://redirect.github.com/robolectric/robolectric/pull/10388">robolectric/robolectric#10388</a></li> <li>Add the VirtualDeviceManager#getVirtualDevice(int deviceId) to the ShadowVirtualDeviceManager. in <a href="https://redirect.github.com/robolectric/robolectric/pull/10395">robolectric/robolectric#10395</a></li> <li>Fix various small warnings by <a href="https://github.com/MGaetan89"><code>@​MGaetan89</code></a> in <a href="https://redirect.github.com/robolectric/robolectric/pull/10394">robolectric/robolectric#10394</a></li> <li>Add shadow implement of AccessibilityService#getRootInActiveWindow in <a href="https://redirect.github.com/robolectric/robolectric/pull/10397">robolectric/robolectric#10397</a></li> <li>Add more information to the generated POM file by <a href="https://github.com/MGaetan89"><code>@​MGaetan89</code></a> in <a href="https://redirect.github.com/robolectric/robolectric/pull/10392">robolectric/robolectric#10392</a></li> <li>Change ShadowChoreographer.getDefaultFrameDelay into a shadow method. in <a href="https://redirect.github.com/robolectric/robolectric/pull/10404">robolectric/robolectric#10404</a></li> <li>Restore removed methods from <code>Config</code> by <a href="https://github.com/MGaetan89"><code>@​MGaetan89</code></a> in <a href="https://redirect.github.com/robolectric/robolectric/pull/10406">robolectric/robolectric#10406</a></li> <li>Add shadow override for Network SocketFactory. in <a href="https://redirect.github.com/robolectric/robolectric/pull/10409">robolectric/robolectric#10409</a></li> <li>Add missing deprecations to some <code>Config.Builder</code> methods by <a href="https://github.com/MGaetan89"><code>@​MGaetan89</code></a> in <a href="https://redirect.github.com/robolectric/robolectric/pull/10408">robolectric/robolectric#10408</a></li> <li>Remove <code>testDebugUnitTest</code> from the dependencies of the <code>simulator</code> task by <a href="https://github.com/MGaetan89"><code>@​MGaetan89</code></a> in <a href="https://redirect.github.com/robolectric/robolectric/pull/10413">robolectric/robolectric#10413</a></li> <li>Merge branch 'google' into 'master' by <a href="https://github.com/hoisie"><code>@​hoisie</code></a> in <a href="https://redirect.github.com/robolectric/robolectric/pull/10414">robolectric/robolectric#10414</a></li> <li>Bump the snapshot version to 4.16 by <a href="https://github.com/MGaetan89"><code>@​MGaetan89</code></a> in <a href="https://redirect.github.com/robolectric/robolectric/pull/10415">robolectric/robolectric#10415</a></li> <li>Add ability to specify is80211azNtbMeasurement to ShadowRangingResult in <a href="https://redirect.github.com/robolectric/robolectric/pull/10410">robolectric/robolectric#10410</a></li> <li>Added implementation for Path.op by <a href="https://github.com/GisoBartels"><code>@​GisoBartels</code></a> in <a href="https://redirect.github.com/robolectric/robolectric/pull/10288">robolectric/robolectric#10288</a></li> <li>Fix massive code warnings of ShadowVirtualDeviceManagerTest by <a href="https://github.com/utzcoz"><code>@​utzcoz</code></a> in <a href="https://redirect.github.com/robolectric/robolectric/pull/10399">robolectric/robolectric#10399</a></li> <li>Remove redundant String concatenation by <a href="https://github.com/MGaetan89"><code>@​MGaetan89</code></a> in <a href="https://redirect.github.com/robolectric/robolectric/pull/10417">robolectric/robolectric#10417</a></li> <li>Migrate deprecated APIs to idleMainLooper for ShadowVirtualDeviceManagerTest by <a href="https://github.com/utzcoz"><code>@​utzcoz</code></a> in <a href="https://redirect.github.com/robolectric/robolectric/pull/10418">robolectric/robolectric#10418</a></li> <li>Replace Stream#toList to Stream#collect(Collectors.toList()) by <a href="https://github.com/utzcoz"><code>@​utzcoz</code></a> in <a href="https://redirect.github.com/robolectric/robolectric/pull/10420">robolectric/robolectric#10420</a></li> <li>Support Java 11 in the simulator gradle plugin by <a href="https://github.com/hoisie"><code>@​hoisie</code></a> in <a href="https://redirect.github.com/robolectric/robolectric/pull/10421">robolectric/robolectric#10421</a></li> <li>Update AndroidX by <a href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in <a href="https://redirect.github.com/robolectric/robolectric/pull/10422">robolectric/robolectric#10422</a></li> <li>Update roborazzi to v1.45.1 by <a href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in <a href="https://redirect.github.com/robolectric/robolectric/pull/10424">robolectric/robolectric#10424</a></li> <li>Update dependency io.mockk:mockk to v1.14.4 by <a href="https://github.com/renovate"><code>@​renovate</code></a>[bot] in <a href="https://redirect.github.com/robolectric/robolectric/pull/10423">robolectric/robolectric#10423</a></li> <li>Replace <code>Asset#toIntExact()</code> with <code>Math#toIntExact()</code> by <a href="https://github.com/MGaetan89"><code>@​MGaetan89</code></a> in <a href="https://redirect.github.com/robolectric/robolectric/pull/10425">robolectric/robolectric#10425</a></li> <li>Add support for getPrimaryImei() in ShadowTelephonyManager. in <a href="https://redirect.github.com/robolectric/robolectric/pull/10427">robolectric/robolectric#10427</a></li> </ul> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/robolectric/robolectric/commit/c913509c8a3583b336a708ffbd25d87a7f019cc8"><code>c913509</code></a> Bump version to 4.16.</li> <li><a href="https://github.com/robolectric/robolectric/commit/6212c7de982f0f54d270ed742551384c981f96ac"><code>6212c7d</code></a> Update shadows/httpclient to use prebuilt legacy http client for tests</li> <li><a href="https://github.com/robolectric/robolectric/commit/9ecb44fe4eb1023ef17563e7c9b1fb507ef3f3df"><code>9ecb44f</code></a> Remove unnecessary logic to clear the Simulator canvas</li> <li><a href="https://github.com/robolectric/robolectric/commit/23c0d241cdd934ef0dceda5a6b40148ebc9002f8"><code>23c0d24</code></a> Add support for mouse wheel scroll events to the simulator</li> <li><a href="https://github.com/robolectric/robolectric/commit/251d399bc531bb7e92c82eaefc4852d518d72b0d"><code>251d399</code></a> Make all static fields emitted by Reflector volatile.</li> <li><a href="https://github.com/robolectric/robolectric/commit/4115188cf8b51cef5383e6074f49af4cd7575cf7"><code>4115188</code></a> Update Android V (SDK 35) to build id 13954326</li> <li><a href="https://github.com/robolectric/robolectric/commit/9f441bf6ca0fd756545426ce92780ce5a4f4a5c9"><code>9f441bf</code></a> Fix ShadowPausedLooper#poll when sync barrier is blocking the queue.</li> <li><a href="https://github.com/robolectric/robolectric/commit/75009d6055872cbc5ca4d6680aacddd058dbf90c"><code>75009d6</code></a> Bump version to 4.16-beta-1.</li> <li><a href="https://github.com/robolectric/robolectric/commit/fa46a2063e3bcb4acb89a1654d209f9f8db40ebb"><code>fa46a20</code></a> Merge branch 'google' into 'master'</li> <li><a href="https://github.com/robolectric/robolectric/commit/f210894333d6be12f07d1624c9c37fc311614f88"><code>f210894</code></a> Update Android B build to 13921718</li> <li>Additional commits viewable in <a href="https://github.com/robolectric/robolectric/compare/robolectric-4.15.1...robolectric-4.16">compare view</a></li> </ul> </details> <br /> Updates org.mockito:mockito-core from 5.17.0 to 5.20.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/mockito/mockito/releases">org.mockito:mockito-core's releases</a>.</em></p> <blockquote> <h2>v5.20.0</h2> <h4>5.20.0</h4> <ul> <li>2025-09-20 - <a href="https://github.com/mockito/mockito/compare/v5.19.0...v5.20.0">11 commit(s)</a> by Adrian-Kim, Giulio Longfils, Rafael Winterhalter, dependabot[bot]</li> <li>Bump org.assertj:assertj-core from 3.27.4 to 3.27.5 [(<a href="https://redirect.github.com/mockito/mockito/issues/3730">#3730</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3730">mockito/mockito#3730</a>)</li> <li>Introducing the Ability to Mock Construction of Generic Types (<a href="https://redirect.github.com/mockito/mockito/issues/2401">#2401</a>) [(<a href="https://redirect.github.com/mockito/mockito/issues/3729">#3729</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3729">mockito/mockito#3729</a>)</li> <li>Bump com.gradle.develocity from 4.1.1 to 4.2 [(<a href="https://redirect.github.com/mockito/mockito/issues/3726">#3726</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3726">mockito/mockito#3726</a>)</li> <li>Bump graalvm/setup-graalvm from 1.3.6 to 1.3.7 [(<a href="https://redirect.github.com/mockito/mockito/issues/3725">#3725</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3725">mockito/mockito#3725</a>)</li> <li>Bump org.eclipse.platform:org.eclipse.osgi from 3.23.100 to 3.23.200 [(<a href="https://redirect.github.com/mockito/mockito/issues/3720">#3720</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3720">mockito/mockito#3720</a>)</li> <li>Bump graalvm/setup-graalvm from 1.3.5 to 1.3.6 [(<a href="https://redirect.github.com/mockito/mockito/issues/3719">#3719</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3719">mockito/mockito#3719</a>)</li> <li>Bump actions/setup-java from 4 to 5 [(<a href="https://redirect.github.com/mockito/mockito/issues/3715">#3715</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3715">mockito/mockito#3715</a>)</li> <li>Bump com.gradle.develocity from 4.1 to 4.1.1 [(<a href="https://redirect.github.com/mockito/mockito/issues/3713">#3713</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3713">mockito/mockito#3713</a>)</li> <li>Bump bytebuddy from 1.17.6 to 1.17.7 [(<a href="https://redirect.github.com/mockito/mockito/issues/3712">#3712</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3712">mockito/mockito#3712</a>)</li> <li>test: Use Assume.assumeThat for SequencedCollection tests [(<a href="https://redirect.github.com/mockito/mockito/issues/3711">#3711</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3711">mockito/mockito#3711</a>)</li> <li>Fix <a href="https://redirect.github.com/mockito/mockito/issues/3709">#3709</a> [(<a href="https://redirect.github.com/mockito/mockito/issues/3710">#3710</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3710">mockito/mockito#3710</a>)</li> <li>feat: Add support for JDK21 Sequenced Collections. [(<a href="https://redirect.github.com/mockito/mockito/issues/3708">#3708</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3708">mockito/mockito#3708</a>)</li> <li>Introducing the Ability to Mock Construction of Generic Types [(<a href="https://redirect.github.com/mockito/mockito/issues/2401">#2401</a>)](<a href="https://redirect.github.com/mockito/mockito/issues/2401">mockito/mockito#2401</a>)</li> </ul> <h2>v5.19.0</h2> <h4>5.19.0</h4> <ul> <li>2025-08-15 - <a href="https://github.com/mockito/mockito/compare/v5.18.0...v5.19.0">37 commit(s)</a> by Adrian-Kim, Tim van der Lippe, Tran Ngoc Nhan, dependabot[bot], juyeop</li> <li>feat: Add support for JDK21 Sequenced Collections. [(<a href="https://redirect.github.com/mockito/mockito/issues/3708">#3708</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3708">mockito/mockito#3708</a>)</li> <li>Bump actions/checkout from 4 to 5 [(<a href="https://redirect.github.com/mockito/mockito/issues/3707">#3707</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3707">mockito/mockito#3707</a>)</li> <li>build: Allow overriding 'Created-By' for reproducible builds [(<a href="https://redirect.github.com/mockito/mockito/issues/3704">#3704</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3704">mockito/mockito#3704</a>)</li> <li>Bump org.assertj:assertj-core from 3.27.3 to 3.27.4 [(<a href="https://redirect.github.com/mockito/mockito/issues/3703">#3703</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3703">mockito/mockito#3703</a>)</li> <li>Bump androidx.test:runner from 1.6.2 to 1.7.0 [(<a href="https://redirect.github.com/mockito/mockito/issues/3697">#3697</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3697">mockito/mockito#3697</a>)</li> <li>Bump org.junit.platform:junit-platform-launcher from 1.13.3 to 1.13.4 [(<a href="https://redirect.github.com/mockito/mockito/issues/3694">#3694</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3694">mockito/mockito#3694</a>)</li> <li>Bump com.diffplug.spotless:spotless-plugin-gradle from 7.1.0 to 7.2.1 [(<a href="https://redirect.github.com/mockito/mockito/issues/3693">#3693</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3693">mockito/mockito#3693</a>)</li> <li>Bump junit-jupiter from 5.13.3 to 5.13.4 [(<a href="https://redirect.github.com/mockito/mockito/issues/3691">#3691</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3691">mockito/mockito#3691</a>)</li> <li>Bump com.gradle.develocity from 4.0.2 to 4.1 [(<a href="https://redirect.github.com/mockito/mockito/issues/3689">#3689</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3689">mockito/mockito#3689</a>)</li> <li>Bump com.google.googlejavaformat:google-java-format from 1.27.0 to 1.28.0 [(<a href="https://redirect.github.com/mockito/mockito/issues/3688">#3688</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3688">mockito/mockito#3688</a>)</li> <li>Bump com.google.googlejavaformat:google-java-format from 1.25.2 to 1.27.0 [(<a href="https://redirect.github.com/mockito/mockito/issues/3686">#3686</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3686">mockito/mockito#3686</a>)</li> <li>Bump com.diffplug.spotless:spotless-plugin-gradle from 7.0.4 to 7.1.0 [(<a href="https://redirect.github.com/mockito/mockito/issues/3685">#3685</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3685">mockito/mockito#3685</a>)</li> <li>Bump junit-jupiter from 5.13.2 to 5.13.3 [(<a href="https://redirect.github.com/mockito/mockito/issues/3684">#3684</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3684">mockito/mockito#3684</a>)</li> <li>Bump org.shipkit:shipkit-auto-version from 2.1.0 to 2.1.2 [(<a href="https://redirect.github.com/mockito/mockito/issues/3683">#3683</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3683">mockito/mockito#3683</a>)</li> <li>Bump com.diffplug.spotless:spotless-plugin-gradle from 7.0.2 to 7.0.4 [(<a href="https://redirect.github.com/mockito/mockito/issues/3682">#3682</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3682">mockito/mockito#3682</a>)</li> <li>Only run release after both Java and Android tests have finished [(<a href="https://redirect.github.com/mockito/mockito/issues/3681">#3681</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3681">mockito/mockito#3681</a>)</li> <li>Bump org.junit.platform:junit-platform-launcher from 1.12.2 to 1.13.3 [(<a href="https://redirect.github.com/mockito/mockito/issues/3680">#3680</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3680">mockito/mockito#3680</a>)</li> <li>Bump org.codehaus.groovy:groovy from 3.0.24 to 3.0.25 [(<a href="https://redirect.github.com/mockito/mockito/issues/3679">#3679</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3679">mockito/mockito#3679</a>)</li> <li>Bump org.eclipse.platform:org.eclipse.osgi from 3.23.0 to 3.23.100 [(<a href="https://redirect.github.com/mockito/mockito/issues/3678">#3678</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3678">mockito/mockito#3678</a>)</li> <li>Can no longer publish snapshot releases [(<a href="https://redirect.github.com/mockito/mockito/issues/3677">#3677</a>)](<a href="https://redirect.github.com/mockito/mockito/issues/3677">mockito/mockito#3677</a>)</li> <li>Update Gradle to 8.14.2 [(<a href="https://redirect.github.com/mockito/mockito/issues/3676">#3676</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3676">mockito/mockito#3676</a>)</li> <li>Bump errorprone from 2.23.0 to 2.39.0 [(<a href="https://redirect.github.com/mockito/mockito/issues/3674">#3674</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3674">mockito/mockito#3674</a>)</li> <li>Correct Junit docs link [(<a href="https://redirect.github.com/mockito/mockito/issues/3672">#3672</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3672">mockito/mockito#3672</a>)</li> <li>Bump net.ltgt.gradle:gradle-errorprone-plugin from 4.1.0 to 4.3.0 [(<a href="https://redirect.github.com/mockito/mockito/issues/3670">#3670</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3670">mockito/mockito#3670</a>)</li> <li>Bump junit-jupiter from 5.13.1 to 5.13.2 [(<a href="https://redirect.github.com/mockito/mockito/issues/3669">#3669</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3669">mockito/mockito#3669</a>)</li> <li>Bump bytebuddy from 1.17.5 to 1.17.6 [(<a href="https://redirect.github.com/mockito/mockito/issues/3668">#3668</a>)](<a href="https://redirect.github.com/mockito/mockito/pull/3668">mockito/mockito#3668</a>)</li> </ul> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/mockito/mockito/commit/3a1a19ee40f1234048880393343405046fc3fa60"><code>3a1a19e</code></a> Add support for generic types in <code>MockedConstruction</code> and <code>MockedStatic</code> (<a href="https://redirect.github.com/mockito/mockito/issues/3729">#3729</a>)</li> <li><a href="https://github.com/mockito/mockito/commit/f3c957a74e39a78c31b7fd2e48bf9f4c3a13112c"><code>f3c957a</code></a> Bump org.assertj:assertj-core from 3.27.4 to 3.27.5 (<a href="https://redirect.github.com/mockito/mockito/issues/3730">#3730</a>)</li> <li><a href="https://github.com/mockito/mockito/commit/3cfbd427182ef7c9ae718873ffb85b5ed4f04758"><code>3cfbd42</code></a> Bump graalvm/setup-graalvm from 1.3.6 to 1.3.7 (<a href="https://redirect.github.com/mockito/mockito/issues/3725">#3725</a>)</li> <li><a href="https://github.com/mockito/mockito/commit/6f9a04bbd7c7894a38b34658456691823866112c"><code>6f9a04b</code></a> Bump com.gradle.develocity from 4.1.1 to 4.2 (<a href="https://redirect.github.com/mockito/mockito/issues/3726">#3726</a>)</li> <li><a href="https://github.com/mockito/mockito/commit/c75dfb886cbfbed9c0d5d36681a103205a264a8c"><code>c75dfb8</code></a> Bump org.eclipse.platform:org.eclipse.osgi from 3.23.100 to 3.23.200 (<a href="https://redirect.github.com/mockito/mockito/issues/3720">#3720</a>)</li> <li><a href="https://github.com/mockito/mockito/commit/54474fa1dd9455913181567536ca1d60f00880f5"><code>54474fa</code></a> Bump graalvm/se... _Description has been truncated_6 个月前
[various] Migrate example Radio groups to new RadioGroup API (#10155) This PR updates multiple package **example** apps to stop using deprecated groupValue and onChanged on individual Radio widgets and instead use the new RadioGroup<T> ancestor to manage the selected value and change handling. ### Why Flutter deprecated Radio.groupValue and Radio.onChanged in favor of RadioGroup, which centralizes selection state for related radios. The deprecation is currently reported across several examples in this repo (see linked issue for examples and affected packages). This PR resolves those warnings. ### What changed (pattern applied across examples) - Wrap related Radio<T> widgets in a RadioGroup<T>(groupValue: ..., onChanged: ...). - Remove groupValue/onChanged from each Radio, leaving only value (+ its label UI). - Example (from animations demo): old three Radio widgets each had groupValue/onChanged; now they are enclosed in a single RadioGroup<SharedAxisTransitionType> and the Radio children keep just their value. ### Packages (examples) updated - animations - camera - camera_android - camera_android_camerax - camera_avfoundation - google_sign_in_web - two_dimensional_scrollables (both table_view and tree_view) ### Screenshots N/A (UI unchanged; only wiring of radios changed). ### Links Fixes: [flutter/flutter#170915](https://github.com/flutter/flutter/issues/170915) --- ## Pre-Review Checklist7 个月前
[various] Update all packages to Pigeon 26 (#10450) Pigeon versions <26.0.4 aren't compatible with analyzer 8.x, which is causing conflicts for flutter/flutter, so this updates the entire repo to 26. Related: https://github.com/flutter/flutter/issues/178270 Manual fixes: - Updates camera_android_camerax and webview_flutter_android for https://github.com/flutter/packages/pull/9515 - Adds the pigeonVar_* overrides to the url_launcher_windows tests - Removes equality extensions to Pigeon data classes in in_app_purchase_storekit, as they are now generated by Pigeon, causing redeclaration errors. ## Pre-Review Checklist [^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.6 个月前
[camera_android_camerax] Fix NV21 Format (#10022) When NV21 image format is requested for streaming images, this PR ensures that: 1. The NV21-compatible (but actually YUV_420_888) three planes per image are converted to a single NV21 plane (Y + interleaved VU planes). 2. The single CameraImagePlane created has overridden raw and camera image format NV21.* This should make this package compatible with [google_ml_kit_flutter](https://github.com/flutter-ml/google_ml_kit_flutter/tree/master) 🤞 I tested this change with the Barcode scanner example. Fixes https://github.com/flutter/flutter/issues/174923. *The conversion will fail if the image is actually not NV21 compatible for some reason, so this should never be a false positive. _Note: Uses code inspired by [googlesamples/mlkit](https://github.com/googlesamples/mlkit/blob/da17257a78b9beedb57b7a9795b911296ae970a0/android/vision-quickstart/app/src/main/java/com/google/mlkit/vision/demo/BitmapUtils.java)._ ## 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.7 个月前
[camera_android_camerax] Modify plugin to assume mp4 format for captured videos (#10273) Changes the plugin to assume that recorded videos come in the mp4 format instead of using .temp, which we originally set because we aren't 100% sure of the file format. This is an executive decision I want to make because: 1. The CameraX team directly told me this is safe and they have not experienced any issues with this technique (see https://github.com/flutter/flutter/issues/148335#issuecomment-3234462533 for the details on our discussion). 2. If for some reason we do experience issues, we can build a case for getting the container format exposed via the CameraX library (the team suggested this, as well). Fixes https://github.com/flutter/flutter/issues/148335. ## 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.7 个月前
[camera] Add CameraX plugin for development (#6178) 3 年前
[camera] Add CameraInfo class and clean CameraX plugin (#6345) 3 年前
[various] Update all packages to Pigeon 26 (#10450) Pigeon versions <26.0.4 aren't compatible with analyzer 8.x, which is causing conflicts for flutter/flutter, so this updates the entire repo to 26. Related: https://github.com/flutter/flutter/issues/178270 Manual fixes: - Updates camera_android_camerax and webview_flutter_android for https://github.com/flutter/packages/pull/9515 - Adds the pigeonVar_* overrides to the url_launcher_windows tests - Removes equality extensions to Pigeon data classes in in_app_purchase_storekit, as they are now generated by Pigeon, causing redeclaration errors. ## Pre-Review Checklist [^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.6 个月前
[various] Clean up contributing guides (#8032) Several packages had documentation about how to use Pigeon or Mockito generation; this made sense when those were rare, but they are both now extremely common in our packages. Instead, https://github.com/flutter/flutter/pull/158326 adds this information to the general documentation for contribuing to flutter/packages, so it no longer needs to be in (a random subset of) specific packages. This also removes Contributing sections from several READMEs, as READMEs should be client-focused rather than developer-focused, and puts content in CONTRIBUTING.md where needed.1 年前
Remove "All right reserved" from all files (#10066) Per guidance from legal on current preferred practice, remove "All rights reserved" from all LICENSE files and header blocks, and update the repo tool check accordingly.7 个月前
[camera_android_camerax] Implement setDescriptionWhileRecording (#10030) setDescriptionWhileRecording allows switching camera while a video recording is in progress Fixes [#148013](https://github.com/flutter/flutter/issues/148013) ## 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.7 个月前
[various] Update all packages to Pigeon 26 (#10450) Pigeon versions <26.0.4 aren't compatible with analyzer 8.x, which is causing conflicts for flutter/flutter, so this updates the entire repo to 26. Related: https://github.com/flutter/flutter/issues/178270 Manual fixes: - Updates camera_android_camerax and webview_flutter_android for https://github.com/flutter/packages/pull/9515 - Adds the pigeonVar_* overrides to the url_launcher_windows tests - Removes equality extensions to Pigeon data classes in in_app_purchase_storekit, as they are now generated by Pigeon, causing redeclaration errors. ## Pre-Review Checklist [^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.6 个月前
README.md

camera_android_camerax

The Android implementation of camera built with the CameraX library.

Note: If any of the limitations prevent you from using using camera_android_camerax or if you run into any problems, please report these issues under flutter/flutter with [camerax] in the title. You may also opt back into the camera_android implementation if you need.

Usage

As of camera: ^0.11.0, this package is endorsed, which means you can simply use camera normally. This package will be automatically be included in your app when you do, so you do not need to add it to your pubspec.yaml.

However, if you import this package to use any of its APIs directly, you should add it to your pubspec.yaml as usual.

Limitations

Concurrent preview display, video recording, image capture, and image streaming

The CameraX plugin only supports the concurrent camera use cases supported by Camerax; see their documentation for more information. To avoid the usage of unsupported concurrent use cases, the plugin behaves according to the following:

  • If the preview is paused (via pausePreview), concurrent video recording and image capture and/or image streaming (via startVideoCapturing(cameraId, VideoCaptureOptions(streamCallback:...))) is supported.
  • If the preview is not paused
    • and the camera device is at least supported hardware LIMITED, then concurrent image capture and video recording is supported.
    • and the camera device is at least supported hardware LEVEL_3, then concurrent video recording and image streaming is supported, but concurrent video recording, image streaming, and image capture is not supported.

240p resolution configuration for video recording

240p resolution configuration for video recording is unsupported by CameraX, and thus, the plugin will fall back to target 480p (ResolutionPreset.medium) if configured with ResolutionPreset.low.

Setting stream options for video capture

Calling startVideoCapturing with VideoCaptureOptions configured with streamOptions is currently unsupported do to limitations of the platform interface, and thus that parameter will silently be ignored.

What requires Android permissions

Writing to external storage to save image files

In order to save captured images and videos to files on Android 10 and below, CameraX requires specifying the WRITE_EXTERNAL_STORAGE permission (see the CameraX documentation). This is already done in the plugin, so no further action is required on your end.

To understand the privacy impact of specifying the WRITE_EXTERNAL_STORAGE permission, see the WRITE_EXTERNAL_STORAGE documentation. We have seen apps also have the READ_EXTERNAL_STORAGE permission automatically added to the merged Android manifest; it appears to be implied from WRITE_EXTERNAL_STORAGE. If you do not want the READ_EXTERNAL_STORAGE permission to be included in the merged Android manifest of your app, then take the following steps to remove it:

  1. Ensure that your app nor any of the plugins that it depends on require the READ_EXTERNAL_STORAGE permission.
  2. Add the following to your app's your_app/android/app/src/main/AndroidManifest.xml:
  <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"
    tools:node="remove" />

Notes on video capture

Setting description while recording

To avoid cancelling any active recording when calling setDescriptionWhileRecording, you must start the recording with startVideoCapturing with enablePersistentRecording set to true.

Notes on image streaming

Allowing image streaming in the background

As of Android 14, to allow for background image streaming, you will need to specify the foreground TYPE_CAMERA foreground service permission in your app's manifest. Specifically, in your_app/android/app/src/main/AndroidManifest.xml add the following:

<manifest ...>
  <uses-permission android:name="android.permission.FOREGROUND_SERVICE_CAMERA" />
  ...
</manifest>

Configuring NV21 image format

If you initialize a CameraController with ImageFormatGroup.nv21, then streamed images will still have the ImageFormatGroup.yuv420 format, but their image data will be formatted in NV21. See https://developer.android.com/reference/kotlin/androidx/camera/core/ImageAnalysis#OUTPUT_IMAGE_FORMAT_NV21().

Contributing

For more information on contributing to this plugin, see CONTRIBUTING.md.