robolectric-4.15
Robolectric 4.15
Robolectric 4.15 contains a lot of minor improvements, fidelity improvements, bug fixes, and shadow API enhancements. It also introduces the Robolectric Simulator, which makes it possible to launch an interactive preview of Android UI in a Robolectric environment.
NOTE Robolectric 4.15 does NOT support Android Baklava (SDK 36). Baklava will be supported in Robolectric 4.16.
If you encounter any issues, please file them on the GitHub issues page.
A huge thanks to @MGaetan89 and @utzcoz for all of their hard work that went into this release.
What's Changed
The following symbols have been removed in Robolectric 4.15.
| Removed symbol | Replacement |
|---|---|
AndroidManifest#supportsLegacyResourcesMode() | N/A |
AndroidManifest#supportsBinaryResourcesMode() | N/A |
ConfigMerger | Provider<Config> |
DependencyResolver#getLocalArtifactUrls(DependencyJar) | DependencyResolver#getLocalArtifactUrl(DependencyJar) |
Fs#fileFromPath(String path) | Fs#fromUrl(path) |
Fs#newFile(File file) | file.toPath() |
FsFile#getPath() | Fs#externalize(this) |
FsFile#join(String name) | this.resolve(name) |
InvokeDynamicClassInstrumentor | ClassInstrumentor |
ManifestIdentifier(Path, Path, Path, String, List<Path>) | ManifestIdentifier(String, Path, Path, Path, List<ManifestIdentifier>) |
MavenManifestFactory | N/A |
PackageItemData#getClassName() | PackageItemData#getName() |
Provider<T> | javax.inject.Provider<T> |
Qualifiers#addScreenWidth(String, int) | Configuration#screenWidthDp |
Qualifiers#addSmallestScreenWidth(String, int) | Configuration#smallestScreenWidthDp |
Qualifiers#getOrientation(String) | Configuration#orientation |
Qualifiers#getPlatformVersion(String) | Build.VERSION#SDK_INT |
Qualifiers#getScreenWidth(String) | Configuration#screenWidthDp |
Qualifiers#getSmallestScreenWidth(String) | Configuration#smallestScreenWidthDp |
RoboSettings | Set the specific system property directly |
Scheduler#idleConstantly(boolean) | Scheduler#setIdleState(IdleState) |
SdkPicker | DefaultSdkPicker |
ShadowApplication#addWakeLock(PowerManager.WakeLock wl) | ShadowPowerManager.addWakeLock(wl) |
ShadowApplication#clearWakeLocks() | ShadowPowerManager.clearWakeLocks() |
ShadowApplication#getAppWidgetManager() | Context#getSystemService(Context.APPWIDGET_SERVICE) |
ShadowApplication#getBluetoothAdapter() | BluetoothManager#getAdapter() |
ShadowApplication#getForegroundThreadScheduler() | Robolectric.getForegroundThreadScheduler() |
ShadowApplication#getInstance() | shadowOf(RuntimeEnvironment.getApplication()) |
ShadowApplication#getLatestWakeLock() | ShadowPowerManager.getLatestWakeLock() |
ShadowMap#convertToShadowName(String) | N/A |
XmlResourceParserImpl(Document, String, String, String, ResourceTable) | XmlResourceParserImpl(Document, Path, String, String, ResourceTable) |
List of changes
- Properly disable API 35 on Windows in
graphics_tests.ymlby @MGaetan89 in https://github.com/robolectric/robolectric/pull/9720 - Add @InDevelopment annotation to ShadowInputMethodManager#hideSoftInputFromWindow https://github.com/robolectric/robolectric/pull/9721
- Run tests against API 35 by @MGaetan89 in https://github.com/robolectric/robolectric/pull/9719
- Update Ubuntu runners to use
ubuntu-latestby @MGaetan89 in https://github.com/robolectric/robolectric/pull/9725 - Make ContextTest euicc tests work on device that doesn't support it by @utzcoz in https://github.com/robolectric/robolectric/pull/9726
- Bump targetSdk to 35 as much as possible for integration_tests by @utzcoz in https://github.com/robolectric/robolectric/pull/9727
- Bump error-prone from 2.34.0 to 2.35.1 by @dependabot in https://github.com/robolectric/robolectric/pull/9730
- Bump com.diffplug.spotless:spotless-plugin-gradle from 7.0.0.BETA3 to 7.0.0.BETA4 by @dependabot in https://github.com/robolectric/robolectric/pull/9731
- Bump com.ibm.icu:icu4j from 75.1 to 76.1 by @dependabot in https://github.com/robolectric/robolectric/pull/9729
- Run more tests with api 35 by @utzcoz in https://github.com/robolectric/robolectric/pull/9724
- Deprecate
shadows-multidexby @MGaetan89 in https://github.com/robolectric/robolectric/pull/9728 - Remove unused dependency and TODO in
errorproneby @MGaetan89 in https://github.com/robolectric/robolectric/pull/9736 - Add basic support for DirectAccessibilityConnection behind a flag https://github.com/robolectric/robolectric/pull/9739
- Invoke real Android code when AccessibilityNodeInfo.setSource is called https://github.com/robolectric/robolectric/pull/9741
- Remove unnecessary shadow methods in ShadowAccessibilityWindowInfo https://github.com/robolectric/robolectric/pull/9742
- Update shadows to adapt to in development Android changes. https://github.com/robolectric/robolectric/pull/9743
- Concat an ellipsis character when ellipsizing by @utzcoz in https://github.com/robolectric/robolectric/pull/9672
- Add MotionEventTest#testNoLocationOffsetForNonPointerSource by @utzcoz in https://github.com/robolectric/robolectric/pull/7216
- Fix ShadowPendingIntent.send() to forward the options passed in when starting activity. https://github.com/robolectric/robolectric/pull/9745
- Invoke the real AccessibilityWindowInfo.obtain(AccessibilityWindowInfo) https://github.com/robolectric/robolectric/pull/9748
- Bump roborazzi from 1.29.0 to 1.30.1 by @dependabot in https://github.com/robolectric/robolectric/pull/9753
- Bump the android-gradle-plugin group with 3 updates by @dependabot in https://github.com/robolectric/robolectric/pull/9749
- Bump com.googlecode.libphonenumber:libphonenumber from 8.13.48 to 8.13.49 by @dependabot in https://github.com/robolectric/robolectric/pull/9751
- Bump org.bouncycastle:bcprov-jdk18on from 1.78.1 to 1.79 by @dependabot in https://github.com/robolectric/robolectric/pull/9752
- Remove
deepEqualsandhashCodefrom ShadowAccessibilityWindowInfo https://github.com/robolectric/robolectric/pull/9754 - Make resources to keep to a command line arg in JarInstrumentor https://github.com/robolectric/robolectric/pull/9755
- Call AccessibilityNodeInfo.setSource when ShadowAccessibilityNodeInfo.obtain(View) is called https://github.com/robolectric/robolectric/pull/9756
- Disable native graphics test on Windows in SDK 35 by @hoisie in https://github.com/robolectric/robolectric/pull/9757
- Turn off fail-fast for the native graphics tests https://github.com/robolectric/robolectric/pull/9760
- Use real AccessibilityNodeInfo code for AccessibilityNodeInfo.obtain(AccessibilityNodeInfo) https://github.com/robolectric/robolectric/pull/9762
- Label shadow tests that require LEGACY graphics mode. https://github.com/robolectric/robolectric/pull/9763
- Add back missing useRealAni check in AccessibilityNodeInfo.obtain(AccessibilityNodeInfo) https://github.com/robolectric/robolectric/pull/9765
- Remove StrictEqualityWindowWrapper from ShadowAccessibilityWindowInfo https://github.com/robolectric/robolectric/pull/9767
- Bump the androidx group with 5 updates by @dependabot in https://github.com/robolectric/robolectric/pull/9750
- Add additional check for AccessibilityNodeInfo.setQueryFromProcessEnabled https://github.com/robolectric/robolectric/pull/9769
- Remove boundsInScreen logic in ShadowAccessibilityNodeInfo https://github.com/robolectric/robolectric/pull/9770
- Remove unused and incorrect APIs in ShadowAccessibilityNodeInfo https://github.com/robolectric/robolectric/pull/9771
- Stop opening an AssetInputStream twice. https://github.com/robolectric/robolectric/pull/9772
- Improve error reporting with AttributeSetBuilder + native resources. https://github.com/robolectric/robolectric/pull/9773
- Support LEGACY graphics + NATIVE resources intersection. https://github.com/robolectric/robolectric/pull/9774
- Native resources mode cleanup. https://github.com/robolectric/robolectric/pull/9764
- Disable AccessibililityNodeInfo shadow APIs for direct connections https://github.com/robolectric/robolectric/pull/9775
- Use applyConfigurationToResources to update resources https://github.com/robolectric/robolectric/pull/9776
- Sort Gradle modules by @MGaetan89 in https://github.com/robolectric/robolectric/pull/9780
- Remove the
--infoflag from Gradle tasks by @MGaetan89 in https://github.com/robolectric/robolectric/pull/9782 - Globally enable Gradle's parallel execution by @MGaetan89 in https://github.com/robolectric/robolectric/pull/9783
- ctesque: Wait display rotation with timeout before checking rotation by @utzcoz in https://github.com/robolectric/robolectric/pull/9781
- Remove unused and incorrect APIs in ShadowAccessibilityNodeInfo https://github.com/robolectric/robolectric/pull/9784
- Clear ShadowAccessibilityWindowInfo fields during recycle https://github.com/robolectric/robolectric/pull/9785
- Revert "ci: Bump latest API level to 35 for Emulator testing" by @MGaetan89 in https://github.com/robolectric/robolectric/pull/9787
- Enable Gradle's File System Watching on CI by @MGaetan89 in https://github.com/robolectric/robolectric/pull/9786
- Merge
:integration_tests:agp:testsupportinto:integration_tests:agpby @MGaetan89 in https://github.com/robolectric/robolectric/pull/9778 - Bump roborazzi from 1.30.1 to 1.32.2 by @dependabot in https://github.com/robolectric/robolectric/pull/9789
- Defer to real framework code for AccessibilityWindowInfo.getWindowId https://github.com/robolectric/robolectric/pull/9791
- Update to Gradle 8.11 by @MGaetan89 in https://github.com/robolectric/robolectric/pull/9790
- Fix ShadowDisplayEventReceiver for Android Baklava. https://github.com/robolectric/robolectric/pull/9794
- Update the Android V SDK to build 12650502 by @hoisie in https://github.com/robolectric/robolectric/pull/9796
- Remove
:integration_tests:agpmodule by @MGaetan89 in https://github.com/robolectric/robolectric/pull/9788 - Add missing
:integration_tests:testparameterinjectorby @MGaetan89 in https://github.com/robolectric/robolectric/pull/9737 - Test merge by @hoisie in https://github.com/robolectric/robolectric/pull/9797
- Document support for V in readme by @yschimke in https://github.com/robolectric/robolectric/pull/9801
- Use ClassName annotation for ShadowPackageInstaller.requestUserPreapp… by @hoisie in https://github.com/robolectric/robolectric/pull/9798
- Fix SelfAssertion ErrorProne error in ShadowingTest by @hoisie in https://github.com/robolectric/robolectric/pull/9799
- Mark
AndroidVersions.Vas released by @MGaetan89 in https://github.com/robolectric/robolectric/pull/9800 - Only checking getWindowId for Robolectric's AccessibilityNodeInfoTest by @utzcoz in https://github.com/robolectric/robolectric/pull/9805
- Cleanup
integration_tests/androidxmodule by @MGaetan89 in https://github.com/robolectric/robolectric/pull/9803 - Add tests to
BuildCompatTestby @MGaetan89 in https://github.com/robolectric/robolectric/pull/9804 - Reset static state in ShadowLegacyChoreographer between tests https://github.com/robolectric/robolectric/pull/9806
- Add shadow implementation of
SubscriptionManager's APIs to convert from a slot ID -> subscription ID. https://github.com/robolectric/robolectric/pull/9807 - test: Add compat test for retrieving PackageInstaller by @utzcoz in https://github.com/robolectric/robolectric/pull/9808
- test: Simply Robolectric checking for AccessibilityNodeInfoTest by @utzcoz in https://github.com/robolectric/robolectric/pull/9810
- Bump com.googlecode.libphonenumber:libphonenumber from 8.13.49 to 8.13.50 by @dependabot in https://github.com/robolectric/robolectric/pull/9813
- Fix warnings in the
junitmodule by @MGaetan89 in https://github.com/robolectric/robolectric/pull/9814 - Fix warnings in the
nativeruntimemodule by @MGaetan89 in https://github.com/robolectric/robolectric/pull/9815 - Remove unused ShadowAccessibilityNodeInfo.areThereUnrecycledNodes https://github.com/robolectric/robolectric/pull/9817
- Remove TODOs in Roborazzi tests by @MGaetan89 in https://github.com/robolectric/robolectric/pull/9816
- Fix regression in loading typefaces in legacy graphics by @hoisie in https://github.com/robolectric/robolectric/pull/9819
- test: Add composeui integration testing module by @utzcoz in https://github.com/robolectric/robolectric/pull/9811
- Replace use of ReflectionHelpers with reflector in ShadowPausedMessageQueue. https://github.com/robolectric/robolectric/pull/9820
- Remove Multidex modules by @MGaetan89 in https://github.com/robolectric/robolectric/pull/9809
- Use the real WakeLock constructor in PowerManager.newWakeLock https://github.com/robolectric/robolectric/pull/9828
- Remove unnecessary throws declarations in
RoboMenuItemTestby @MGaetan89 in https://github.com/robolectric/robolectric/pull/9827 - Update
google-java-formatto 1.25.0 by @MGaetan89 in https://github.com/robolectric/robolectric/pull/9829 - Add
get/setShape()support toShadowGradientDrawable+ ctesque by @MGaetan89 in https://github.com/robolectric/robolectric/pull/9818 - test: Update ComposeUI FontTest with custom font by @utzcoz in https://github.com/robolectric/robolectric/pull/9830
- Add missing implementation in
RoboMenuItemby @MGaetan89 in https://github.com/robolectric/robolectric/pull/9822 - Migrate nullability annotations to
javax.annotationby @MGaetan89 in https://github.com/robolectric/robolectric/pull/9832 - Revert ellipsis supporting by @utzcoz in https://github.com/robolectric/robolectric/pull/9834
- Fix
NullPointerExceptioninRoboMenuItemby @MGaetan89 in https://github.com/robolectric/robolectric/pull/9837 - Fix warnings in some
integration_testsmodule by @MGaetan89 in https://github.com/robolectric/robolectric/pull/9833 - Bump androidx.compose:compose-bom from 2024.10.01 to 2024.11.00 in the androidx group by @dependabot in https://github.com/robolectric/robolectric/pull/9838
- Bump roborazzi from 1.32.2 to 1.34.0 by @dependabot in https://github.com/robolectric/robolectric/pull/9840
- Bump error-prone from 2.35.1 to 2.36.0 by @dependabot in https://github.com/robolectric/robolectric/pull/9839
- Default
robolectric.configurationChangeFixto true https://github.com/robolectric/robolectric/pull/9845 - Add Compose test to check that
FocusRequesteris initialized by @MGaetan89 in https://github.com/robolectric/robolectric/pull/9847 - Invoke real framework code in
ShadowCountDownTimerby @MGaetan89 in https://github.com/robolectric/robolectric/pull/9848 - Fix warnings in
integration_tests:nativegraphicsby @MGaetan89 in https://github.com/robolectric/robolectric/pull/9849 - Add tests for ShadowDisplayManager static fields by @Devashishbasu in https://github.com/robolectric/robolectric/pull/9359
- Fix warnings in some
integration_testsmodules by @MGaetan89 in https://github.com/robolectric/robolectric/pull/9850 - Fix null checking warnings for ShadowFileIntegrityManagerTest by @utzcoz in https://github.com/robolectric/robolectric/pull/9851
- Bump com.googlecode.libphonenumber:libphonenumber from 8.13.50 to 8.13.51 by @dependabot in https://github.com/robolectric/robolectric/pull/9853
- Bump kotlin from 2.0.21 to 2.1.0 by @dependabot in https://github.com/robolectric/robolectric/pull/9854
- Fix CatchFail warning for ShadowWifiP2pManagerTest by @utzcoz in https://github.com/robolectric/robolectric/pull/9852
- Add a way to use the real TextUtils.ellipsize https://github.com/robolectric/robolectric/pull/9861
- Add DeathRecipient methods to ShadowBinder https://github.com/robolectric/robolectric/pull/9862
- Use nano second precision in PAUSED SystemClock. https://github.com/robolectric/robolectric/pull/9864
- Fix warnings in
integration_tests:androidx_testby @MGaetan89 in https://github.com/robolectric/robolectric/pull/9867 - Fix warnings in some modules by @MGaetan89 in https://github.com/robolectric/robolectric/pull/9870
- Migrate to Java8 APIs from the
javax.lang.modelpackage by @MGaetan89 in https://github.com/robolectric/robolectric/pull/9871 - Bump roborazzi from 1.34.0 to 1.36.0 by @dependabot in https://github.com/robolectric/robolectric/pull/9874
- Bump the android-gradle-plugin group with 3 updates by @dependabot in https://github.com/robolectric/robolectric/pull/9873
- Add setBroadcastSubscriber and getBroadcastSubscriberMap in ShadowStatsManager. https://github.com/robolectric/robolectric/pull/9869
- Update
google-java-formatto 1.25.1 by @MGaetan89 in https://github.com/robolectric/robolectric/pull/9881 - Remove reflection calls in ShadowUsageStatsManager https://github.com/robolectric/robolectric/pull/9883
- Make BroadcastSubscriberKey class public. https://github.com/robolectric/robolectric/pull/9885
- Update
google-java-formatto 1.25.2 by @MGaetan89 in https://github.com/robolectric/robolectric/pull/9886 - Add a test case for scrolling a RecyclerView https://github.com/robolectric/robolectric/pull/9888
- Disable ShadowTextUtils.ellipsize when RNG is enabled https://github.com/robolectric/robolectric/pull/9889
- Migrate deprecated initMocks to openMocks by @utzcoz in https://github.com/robolectric/robolectric/pull/9891
- Include trailing dots in packages to never acquire https://github.com/robolectric/robolectric/pull/9892
- Allow shadow to function in aosp/main as well as goog/main. https://github.com/robolectric/robolectric/pull/9894
- Add a hasMethod to ReflectionHelper for use in AssociationInfoBuilder. https://github.com/robolectric/robolectric/pull/9895
- Bump roborazzi from 1.36.0 to 1.37.0 by @dependabot in https://github.com/robolectric/robolectric/pull/9897
- Bump com.googlecode.libphonenumber:libphonenumber from 8.13.51 to 8.13.52 by @dependabot in https://github.com/robolectric/robolectric/pull/9898
- Bump androidx.compose:compose-bom from 2024.11.00 to 2024.12.01 in the androidx group by @dependabot in https://github.com/robolectric/robolectric/pull/9896
- aosp/main requires @InDevelopment openCameraDeviceUserAsyncPostV https://github.com/robolectric/robolectric/pull/9899
- Use reflection to call AssociationInfo.Builder#setTag. https://github.com/robolectric/robolectric/pull/9900
- Update to Gradle 8.12 by @MGaetan89 in https://github.com/robolectric/robolectric/pull/9902
- Fix small warnings in the
resourcesmodule by @MGaetan89 in https://github.com/robolectric/robolectric/pull/9903 - Bump org.jetbrains.kotlinx:kotlinx-coroutines-android from 1.9.0 to 1.10.1 by @dependabot in https://github.com/robolectric/robolectric/pull/9905
- Bump guava-jre from 33.3.1-jre to 33.4.0-jre by @dependabot in https://github.com/robolectric/robolectric/pull/9904
- Fix small warnings in the
resourcesmodule by @MGaetan89 in https://github.com/robolectric/robolectric/pull/9906 - Fix typo in
ActivityData#isClearTaskOnLaungh()by @MGaetan89 in https://github.com/robolectric/robolectric/pull/9907 - Use standard library methods and collection APIs by @MGaetan89 in https://github.com/robolectric/robolectric/pull/9908
- Bump roborazzi from 1.37.0 to 1.38.0 by @dependabot in https://github.com/robolectric/robolectric/pull/9910
- Fix typo in
ResourceIdsby @MGaetan89 in https://github.com/robolectric/robolectric/pull/9909 - Remove unnecessary variables by @MGaetan89 in https://github.com/robolectric/robolectric/pull/9911
- Fix warnings in
resourcesby @MGaetan89 in https://github.com/robolectric/robolectric/pull/9872 - Fix warnings in the
shadowapimodule by @MGaetan89 in https://github.com/robolectric/robolectric/pull/9912 - Fix warnings in the
sandboxmodule by @MGaetan89 in https://github.com/robolectric/robolectric/pull/9914 - Fix warnings in the
utilsmodule by @MGaetan89 in https://github.com/robolectric/robolectric/pull/9915 - Fix typo in ShadowRangingResult. https://github.com/robolectric/robolectric/pull/9916
- Fix warnings in
:shadows:httpclientby @MGaetan89 in https://github.com/robolectric/robolectric/pull/9918 - Remove unused dependencies by @MGaetan89 in https://github.com/robolectric/robolectric/pull/9919
- Fix warnings in
:shadows:playservicesby @MGaetan89 in https://github.com/robolectric/robolectric/pull/9920 - Bump roborazzi from 1.38.0 to 1.39.0 by @dependabot in https://github.com/robolectric/robolectric/pull/9921
- Update shadow TimeManager for Baklava. https://github.com/robolectric/robolectric/pull/9923
- Update ShadowSecureElementService Channel implementation to throw IllegalStateException when closed. https://github.com/robolectric/robolectric/pull/9925
- Sync with ag/main https://github.com/robolectric/robolectric/pull/9926
- Adds support for shadowing ActivityManager.setDeviceLocales() https://github.com/robolectric/robolectric/pull/9927
- Update parsing of res table for shared library entries https://github.com/robolectric/robolectric/pull/9922
- Use WebSettings.getDefaultUserAgent() from RoboWebSetting if no custom User Agent is set. https://github.com/robolectric/robolectric/pull/9929
- Return PERMISSION_GRANTED to IPermissionManager#getPermissionRequestState calls. https://github.com/robolectric/robolectric/pull/9931
- Remove unnecessary
throwsdeclarations inrobolectricby @MGaetan89 in https://github.com/robolectric/robolectric/pull/9930 - Adapt to DisplayManagerGlobal.EVENT_DISPLAY_CHANGED rename. https://github.com/robolectric/robolectric/pull/9936
- Upstreaming of aosp/3436440 https://github.com/robolectric/robolectric/pull/9937
- Switch to use java-version-file for action/setup-java by @utzcoz in https://github.com/robolectric/robolectric/pull/9932
- Remove unused
ResourceTestUtilby @MGaetan89 in https://github.com/robolectric/robolectric/pull/9934 - Fix typos in the
:robolectricmodule by @MGaetan89 in https://github.com/robolectric/robolectric/pull/9933 - Add nullability annotation to the
:robolectricmodule by @MGaetan89 in https://github.com/robolectric/robolectric/pull/9935 - Fix targetSdkVersion from Config/manifest override by @utzcoz in https://github.com/robolectric/robolectric/pull/9938
- Update assertions in the
:robolectricmodule by @MGaetan89 in https://github.com/robolectric/robolectric/pull/9939 - Remove unnecessary casts in the
:robolectricmodule by @MGaetan89 in https://github.com/robolectric/robolectric/pull/9941 - Add/remove
final/staticmodifiers in the:robolectricmodule by @MGaetan89 in https://github.com/robolectric/robolectric/pull/9942 - Fix various warnings in the
:robolectricmodule by @MGaetan89 in https://github.com/robolectric/robolectric/pull/9943 - ci: Remove JDK version from step name by @utzcoz in https://github.com/robolectric/robolectric/pull/9946
- Use
ApplicationProvider.getApplicationContext()instead ofbuildActivity()by @MGaetan89 in https://github.com/robolectric/robolectric/pull/9944 - Bump the android-gradle-plugin group with 3 updates by @dependabot in https://github.com/robolectric/robolectric/pull/9947
- Bump com.diffplug.spotless:spotless-plugin-gradle from 7.0.0.BETA4 to 7.0.1 by @dependabot in https://github.com/robolectric/robolectric/pull/9948
- Temporaily define ro.vendor.api_level and register corresponding system features. https://github.com/robolectric/robolectric/pull/9951
- Support getLatency() for ShadowAudioTrack https://github.com/robolectric/robolectric/pull/9954
- Add ShadowSettings.ShadowSecure.remove https://github.com/robolectric/robolectric/pull/9955
- Adds support for the set, get and remove widget preview methods. https://github.com/robolectric/robolectric/pull/9956
- Add badly needed Javadoc for HelperTestRunner https://github.com/robolectric/robolectric/pull/9960
- Clean up Truth assertions when using isTrue https://github.com/robolectric/robolectric/pull/9962
- Add migration info to
ShadowContentResolverdeprecated methods by @MGaetan89 in https://github.com/robolectric/robolectric/pull/9964 - Use
org.junit.Assertinstead ofjunit.framework.Assertby @MGaetan89 in https://github.com/robolectric/robolectric/pull/9963 - Use lambdas and method references in
:robolectricby @MGaetan89 in https://github.com/robolectric/robolectric/pull/9957 - Add
ShadowArrayAdapter#getDropDownViewResourceId()by @MGaetan89 in https://github.com/robolectric/robolectric/pull/9961 - Use Truth's
hasSize()to check iterable size by @MGaetan89 in https://github.com/robolectric/robolectric/pull/9967 - Enable native SQLite on Windows by @MGaetan89 in https://github.com/robolectric/robolectric/pull/9924
- Bump androidx.compose:compose-bom from 2024.12.01 to 2025.01.00 in the androidx group by @dependabot in https://github.com/robolectric/robolectric/pull/9971
- Bump com.diffplug.spotless:spotless-plugin-gradle from 7.0.1 to 7.0.2 by @dependabot in https://github.com/robolectric/robolectric/pull/9973
- Bump com.googlecode.libphonenumber:libphonenumber from 8.13.52 to 8.13.53 by @dependabot in https://github.com/robolectric/robolectric/pull/9974
- Bump org.bouncycastle:bcprov-jdk18on from 1.79 to 1.80 by @dependabot in https://github.com/robolectric/robolectric/pull/9972
- Fix various typos by @MGaetan89 in https://github.com/robolectric/robolectric/pull/9970
- Remove redundant
@TextLayoutModeannotation by @MGaetan89 in https://github.com/robolectric/robolectric/pull/9975 - Avoid updating the SQLite mode in SandboxManager.getAndroidSandbox https://github.com/robolectric/robolectric/pull/9977
- Add getWallpaperId(int witch) in ShadowWallpaperManager https://github.com/robolectric/robolectric/pull/9978
- Bump Truth to 1.4.4 by @MGaetan89 in https://github.com/robolectric/robolectric/pull/9981
- Bump Jacoco to 0.8.12 by @MGaetan89 in https://github.com/robolectric/robolectric/pull/9982
- Upgrade Hamcrest to 3.0 by @MGaetan89 in https://github.com/robolectric/robolectric/pull/9980
- Update Mockk to 1.13.16 by @MGaetan89 in https://github.com/robolectric/robolectric/pull/9985
- Add basic
@ClassRulesupport for Robolectric tests https://github.com/robolectric/robolectric/pull/9986 - Lazily initialize member variables in RobolectricTestParameterInjector.DelegateHelperTestRunner https://github.com/robolectric/robolectric/pull/9987
- Make Choreographer frame data more accurate. https://github.com/robolectric/robolectric/pull/9991
- Support copies of bytes as well. https://github.com/robolectric/robolectric/pull/9992
- Add missing
finalmodifier in:shadows:frameworkby @MGaetan89 in https://github.com/robolectric/robolectric/pull/9993 - Remove redundant casts in
:shadows:frameworkby @MGaetan89 in https://github.com/robolectric/robolectric/pull/9994 - Replace C-style array declaration with Java style in
:shadows:frameworkby @MGaetan89 in https://github.com/robolectric/robolectric/pull/9995 - Remove explicit type declaration in
:shadows:frameworkby @MGaetan89 in https://github.com/robolectric/robolectric/pull/9996 - Bump Gradle to 8.12.1 by @MGaetan89 in https://github.com/robolectric/robolectric/pull/9997
- Replace anonymous classes with lambdas in
:shadows:frameworkby @MGaetan89 in https://github.com/robolectric/robolectric/pull/9998 - Update links to reference implementation in AOSP by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10005
- Fix broken references in Javadoc in
:shadows:frameworkby @MGaetan89 in https://github.com/robolectric/robolectric/pull/10003 - Add setMagnificationConfig and getMagnificationConfig in ShadowMagnificationController https://github.com/robolectric/robolectric/pull/10006
- Fix task name in
ShadowAlwaysOnHotwordDetectorby @MGaetan89 in https://github.com/robolectric/robolectric/pull/10000 - Bump roborazzi from 1.39.0 to 1.40.1 by @dependabot in https://github.com/robolectric/robolectric/pull/10007
- Bump kotlin from 2.1.0 to 2.1.10 by @dependabot in https://github.com/robolectric/robolectric/pull/10008
- Add missing nullability annotations to
:shadows:frameworkby @MGaetan89 in https://github.com/robolectric/robolectric/pull/9999 - Update outdated
minSdkparameters by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10009 - Bump mockito from 4.11.0 to 5.15.2 by @MGaetan89 in https://github.com/robolectric/robolectric/pull/9984
- ctesque: Extract application context to test class' initialization by @utzcoz in https://github.com/robolectric/robolectric/pull/10010
- Remove redundant variable initialization in
:shadows:frameworkby @MGaetan89 in https://github.com/robolectric/robolectric/pull/10002 - Add getIdleConnectionTimeout and getOpenParams to ShadowSQLiteOpenHelper https://github.com/robolectric/robolectric/pull/10004
- Replace JavaX Annotation
jsr250-apiwithjavax.annotation-apiby @MGaetan89 in https://github.com/robolectric/robolectric/pull/9983 - Update
ShadowNativeColorSpaceTestfrom AOSP by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10011 - Update generation of
Shadows.javaby @MGaetan89 in https://github.com/robolectric/robolectric/pull/9917 - Don't access static fields via instance in
:shadows:frameworkby @MGaetan89 in https://github.com/robolectric/robolectric/pull/10018 - Use
@RequiresApiinstead of@TargetApiin:shadows:frameworkby @MGaetan89 in https://github.com/robolectric/robolectric/pull/10019 - Bump androidx.compose:compose-bom from 2025.01.00 to 2025.01.01 in the androidx group by @dependabot in https://github.com/robolectric/robolectric/pull/10020
- Bump com.google.code.gson:gson from 2.11.0 to 2.12.1 by @dependabot in https://github.com/robolectric/robolectric/pull/10021
- Bump com.googlecode.libphonenumber:libphonenumber from 8.13.53 to 8.13.54 by @dependabot in https://github.com/robolectric/robolectric/pull/10022
- Add
ContentResolver#notifyChange(Collection<Uri>, ContentObserver, int)by @MGaetan89 in https://github.com/robolectric/robolectric/pull/9966 - Remove highly obsolete org.robolectric.util.Join https://github.com/robolectric/robolectric/pull/10026
- [:shadows:framework] Update collections/arrays usages by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10023
- Delete the obsolete org.robolectric.util.Consumer https://github.com/robolectric/robolectric/pull/10030
- [:shadows:framework] Remove redundant variable usages by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10027
- Remove Robolectric Util.parseInt https://github.com/robolectric/robolectric/pull/10033
- Ignore error logs from FeatureFlagsImpl. https://github.com/robolectric/robolectric/pull/10034
- Added some missing listeners notification when tests are not passing. https://github.com/robolectric/robolectric/pull/10039
- Add a temporary way to trigger the back button via a right-click popup menu https://github.com/robolectric/robolectric/pull/10040
- chore: Configure Renovate by @renovate in https://github.com/robolectric/robolectric/pull/10038
- Set the default Choreographer frame delay in Robolectric to 15 ms (60 fps) https://github.com/robolectric/robolectric/pull/10042
- Throws Exceptions when registerReceiver has unexpected exported flags by @utzcoz in https://github.com/robolectric/robolectric/pull/9940
- Fix generic usage on
AsyncTaskshadows by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10043 - Fix various warnings in
:shadows:frameworkby @MGaetan89 in https://github.com/robolectric/robolectric/pull/10028 - Deprecate
AsyncTaskandAsyncTaskLoadershadows by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10044 - Address a couple of warnings in
:robolectricby @MGaetan89 in https://github.com/robolectric/robolectric/pull/10045 - Restrict snapshot release to the main repo by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10046
- Update
validate_commit_message.ymlto userenovate[bot]by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10053 - Update dependency com.googlecode.libphonenumber:libphonenumber to v8.13.55 by @renovate in https://github.com/robolectric/robolectric/pull/10049
- Update Android Gradle Plugin by @renovate in https://github.com/robolectric/robolectric/pull/10048
- Update roborazzi to v1.42.0 by @renovate in https://github.com/robolectric/robolectric/pull/10052
- Update dependency org.yaml:snakeyaml to v2.4 by @renovate in https://github.com/robolectric/robolectric/pull/10051
- Add FeatureFlagsImplExport to the list of unpreventable log tags. https://github.com/robolectric/robolectric/pull/10054
- Ignore Play Services in Renovate by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10056
- Update AndroidX by @renovate in https://github.com/robolectric/robolectric/pull/10050
ShadowMediaCodecmust reset state in native_start https://github.com/robolectric/robolectric/pull/10059- Replace usages of
ImmutableMap#build()withImmutableMap#buildOrThrow()by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10064 - Update dependency io.gitlab.arturbosch.detekt to v1.23.8 by @renovate in https://github.com/robolectric/robolectric/pull/10066
- Remove dead code in Reflector and UnsafeAccess https://github.com/robolectric/robolectric/pull/10071
- Fix ShadowUsageStatsManager in gradle environments https://github.com/robolectric/robolectric/pull/10073
- Add test case to
ShadowHandlerTestby @MGaetan89 in https://github.com/robolectric/robolectric/pull/10076 - Avoid using SetSystemPropertyRule in ctesque tests https://github.com/robolectric/robolectric/pull/10077
- Add some small changes to AndroidConfigurer https://github.com/robolectric/robolectric/pull/10078
- Add custom instrumentation configuration for the Simulator https://github.com/robolectric/robolectric/pull/10079
- Install a fake MediaProvider in Robolectric for APIs >= Q. https://github.com/robolectric/robolectric/pull/10072
- Use DisplayManager to get the default display in ShadowDisplay.getDefaultDisplay https://github.com/robolectric/robolectric/pull/10081
- Update Renovate to not update Apache HttpComponents by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10082
- Add
ShadowTelephonyManager#getIccAuthentication()andShadowTelephonyManager#setIccAuthentication()by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10065 - Remove
FsFilefrom:resourcesby @MGaetan89 in https://github.com/robolectric/robolectric/pull/10047 - Update Android Gradle Plugin by @renovate in https://github.com/robolectric/robolectric/pull/10084
- Update dependency io.mockk:mockk to v1.13.17 by @renovate in https://github.com/robolectric/robolectric/pull/10086
- Update roborazzi to v1.43.0 by @renovate in https://github.com/robolectric/robolectric/pull/10089
- Update AndroidX by @renovate in https://github.com/robolectric/robolectric/pull/10087
- Configure Renovate to ignore
androidx.fragment:fragmentin:shadows:playservicesby @MGaetan89 in https://github.com/robolectric/robolectric/pull/10091 - Update dependency com.googlecode.libphonenumber:libphonenumber to v9 by @renovate in https://github.com/robolectric/robolectric/pull/10090
- Update dependency gradle to v8.13 by @renovate in https://github.com/robolectric/robolectric/pull/10088
- Add ShadowAudioTrack support for AudioTrack.getBufferSizeInFrames() https://github.com/robolectric/robolectric/pull/10093
- Add support for CardEmulation pollingLoopPatternFilter methods https://github.com/robolectric/robolectric/pull/10092
- Add a extension mechanism to the simulator to let you customize the popup menu https://github.com/robolectric/robolectric/pull/10097
- Remove
InvokeDynamicClassInstrumentorby @MGaetan89 in https://github.com/robolectric/robolectric/pull/10083 - Update mockito monorepo to v5.16.0 by @renovate in https://github.com/robolectric/robolectric/pull/10101
- Update Android Gradle Plugin by @renovate in https://github.com/robolectric/robolectric/pull/10100
- Update AGP group in Renovate configuration by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10102
- Remove the deprecated
ShadowMap.convertToShadowName(String)method by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10095 - Remove deprecated
DependencyResolver#getLocalArtifactUrls(DependencyJar)by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10099 - Update dependency com.googlecode.libphonenumber:libphonenumber to v9.0.1 by @renovate in https://github.com/robolectric/robolectric/pull/10107
- Update mockito monorepo to v5.16.1 by @renovate in https://github.com/robolectric/robolectric/pull/10108
- Remove deprecated methods in
AndroidManifestby @MGaetan89 in https://github.com/robolectric/robolectric/pull/10098 - Support Comment and Whitespace Stripping in Robolectric's
PluginFinderforMETA-INF/services/*file reading https://github.com/robolectric/robolectric/pull/10110 - Remove unused
robolectric.disableInitialAwakenScrollBarsflag https://github.com/robolectric/robolectric/pull/10111 - Remove the
SdkPickerclass by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10105 - Add
isBackupServiceActivetoShadowBackupManagerhttps://github.com/robolectric/robolectric/pull/10109 - Remove the RemoteAnimationTarget parameter from BackMotionEvent's call. https://github.com/robolectric/robolectric/pull/10112
- Add an API to disable Robolectric's ShadowView.AnimationRunner https://github.com/robolectric/robolectric/pull/10113
- Update PackageManager shadows to correctly perform getApplicationInfo() contract when th package is not present. https://github.com/robolectric/robolectric/pull/10114
- Remove deprecated methods in
Fsby @MGaetan89 in https://github.com/robolectric/robolectric/pull/10106 - Update deprecation message for
Robolectric.AttributeSetBuilderby @MGaetan89 in https://github.com/robolectric/robolectric/pull/10115 - Enable realistic View animations in the simulator https://github.com/robolectric/robolectric/pull/10117
- Inject a Motion event at simulator startup https://github.com/robolectric/robolectric/pull/10118
- Update kotlin monorepo to v2.1.20 by @renovate in https://github.com/robolectric/robolectric/pull/10127
- Update roborazzi to v1.43.1 by @renovate in https://github.com/robolectric/robolectric/pull/10129
- Update dependency androidx.compose:compose-bom to v2025.03.00 by @renovate in https://github.com/robolectric/robolectric/pull/10130
- Update dependency com.ibm.icu:icu4j to v77 by @renovate in https://github.com/robolectric/robolectric/pull/10131
- Update error.prone to v2.37.0 by @renovate in https://github.com/robolectric/robolectric/pull/10132
- Update Dockerfile for devcontainer by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10133
- CellIdentityNrBuilder's default NCI should be UNAVAILABLE_LONG https://github.com/robolectric/robolectric/pull/10134
- Fix function signature of BackMotionEvent for B and the Parcel of StorageStats https://github.com/robolectric/robolectric/pull/10135
- Fixes pulled from Android Google. https://github.com/robolectric/robolectric/pull/10136
- Simplify jar arguments to SimulatorMain https://github.com/robolectric/robolectric/pull/10139
- Add support to ShadowSurfaceView to emit onSurfaceChanged() calls https://github.com/robolectric/robolectric/pull/10137
- Add support for CellInfo construction for GSM and WCDMA https://github.com/robolectric/robolectric/pull/10142
- Update test case in
FocusRequesterTestby @MGaetan89 in https://github.com/robolectric/robolectric/pull/10144 - Remove deprecated
ManifestIdentifierconstructor by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10121 - Update guava monorepo to v33.4.6-jre by @renovate in https://github.com/robolectric/robolectric/pull/10126
- ShadowParcelFileDescriptor: Improve dup() for CreatePipe by reopening the file https://github.com/robolectric/robolectric/pull/10145
- Update to google-java-format 1.26.0 by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10146
- Update Android Gradle Plugin by @renovate in https://github.com/robolectric/robolectric/pull/10147
- Update dependency androidx.compose:compose-bom to v2025.03.01 by @renovate in https://github.com/robolectric/robolectric/pull/10148
- Update dependency com.googlecode.libphonenumber:libphonenumber to v9.0.2 by @renovate in https://github.com/robolectric/robolectric/pull/10150
- Update asm to v9.8 by @renovate in https://github.com/robolectric/robolectric/pull/10151
- Add a unit test for
CollectionInfo.obtain()by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10152 - Replace deprecated usages of
ExpectedException.none()by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10149 - ShadowServiceManager gets Bluetooth service name from BluetoothAdapter if needed https://github.com/robolectric/robolectric/pull/10153
- Fix order of for processing ShadowMediaCodec buffer queues https://github.com/robolectric/robolectric/pull/10155
- Remove unnecessary Lollipop references by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10157
- Deprecate the
:shadows:playservicesmodule by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10124 - Remove TestUtil.resetSystemProperty https://github.com/robolectric/robolectric/pull/10161
- Add receiver export flag validation behind a flag by @hoisie in https://github.com/robolectric/robolectric/pull/10160
- Use fully-qualified RuntimeEnvironment class name in ShadowProviderGenerator by @hoisie in https://github.com/robolectric/robolectric/pull/10159
- Fix shadows for AlwaysOnHotwordDetector.RefreshAvailabil{,i}tyTask by @hoisie in https://github.com/robolectric/robolectric/pull/10162
- Shadow of
TelephonyManager: AddisDeviceVoiceCapable,getVoiceActivationState, andgetDataActivationStatemethods. https://github.com/robolectric/robolectric/pull/10140 - Update dependency org.jacoco:org.jacoco.agent to v0.8.13 by @renovate in https://github.com/robolectric/robolectric/pull/10163
- Update mockito monorepo to v5.17.0 by @renovate in https://github.com/robolectric/robolectric/pull/10165
- Update dependency androidx.recyclerview:recyclerview to v1.4.0 by @renovate in https://github.com/robolectric/robolectric/pull/10164
- Update ShadowSatelliteManager for new Android B function changes. https://github.com/robolectric/robolectric/pull/10170
- Add a builder function to set the SDK instead of always taking latest. https://github.com/robolectric/robolectric/pull/10172
- Update ShadowCameraDeviceImpl constructor to apply to baklava+. https://github.com/robolectric/robolectric/pull/10177
- Extend support of
ShadowRoleManagerto additional API https://github.com/robolectric/robolectric/pull/10178 - Add test to
PersistableBundleby @MGaetan89 in https://github.com/robolectric/robolectric/pull/10180 - Fix
RobolectricTestRunnerMultiApiTestby @MGaetan89 in https://github.com/robolectric/robolectric/pull/10167 - Remove deprecated methods in
Qualifiersby @MGaetan89 in https://github.com/robolectric/robolectric/pull/10179 - Use
Objects.requireNonNull()instead ofPreconditions.checkNotNull()from Guava by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10175 - Update error on AttributeSetBuilderImpl to point users towards API level. https://github.com/robolectric/robolectric/pull/10181
- Remove the deprecated
XmlResourceParserImplconstructor. by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10182 - Remove some deprecated methods in
ShadowApplicationby @MGaetan89 in https://github.com/robolectric/robolectric/pull/10183 - Update dependency com.googlecode.libphonenumber:libphonenumber to v9.0.3 by @renovate in https://github.com/robolectric/robolectric/pull/10186
- Update dependency com.diffplug.spotless:spotless-plugin-gradle to v7.0.3 by @renovate in https://github.com/robolectric/robolectric/pull/10185
- Remove deprecated
ShadowApplication#getAppWidgetManager()method by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10184 - Migrate to
Objects#requireNonNull()by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10188 - Get advertisement data from ShadowBluetoothAdvertiser. https://github.com/robolectric/robolectric/pull/10189
- Remove deprecated
RoboSettingsby @MGaetan89 in https://github.com/robolectric/robolectric/pull/10187 - fixed negative ids that which cause ArrayOutOfBounds by @alphapaca in https://github.com/robolectric/robolectric/pull/10104
- Remove deprecated
PackageItemData#getClassName()method by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10190 - Remove deprecated
ShadowApplication#getBluetoothAdapter()method by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10191 - Fix two potential ConcurrentModificationExceptions in ShadowLauncherApps https://github.com/robolectric/robolectric/pull/10194
- Use CopyOnWriteArrayList for ShadowDisplayManagerGlobal.callbacks https://github.com/robolectric/robolectric/pull/10195
- Remove ShadowApplication.getSingleton https://github.com/robolectric/robolectric/pull/10196
- Update RoboSettings to check system property at method invocation https://github.com/robolectric/robolectric/pull/10197
- Mark Android 14 as released by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10198
- Add Robolectric ShadowUserManager#isAdminUser https://github.com/robolectric/robolectric/pull/10200
- Remove the deprecated
ConfigMergerclass by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10199 - Restore the intent of a RobolectricTestRunnerMultiApiTest test by @hoisie in https://github.com/robolectric/robolectric/pull/10203
- Remove custom
Providerclass by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10204 - Add basic build file for the simulator by @hoisie in https://github.com/robolectric/robolectric/pull/10205
- Migrate
simulator/build.gradleto Kotlin DSL by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10207 - Un-deprecate ShadowBluetoothAdapter.setEnabled https://github.com/robolectric/robolectric/pull/10210
- Add new nativeSetConfiguration native method https://github.com/robolectric/robolectric/pull/10214
- Remove deprecated
Scheduler#idleConstantly()by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10213 - Update dependency io.mockk:mockk to v1.14.0 by @renovate in https://github.com/robolectric/robolectric/pull/10217
- Update dependency org.jetbrains.kotlinx:kotlinx-coroutines-android to v1.10.2 by @renovate in https://github.com/robolectric/robolectric/pull/10215
- Update guava monorepo to v33.4.8-jre by @renovate in https://github.com/robolectric/robolectric/pull/10216
- Update error.prone to v2.38.0 by @renovate in https://github.com/robolectric/robolectric/pull/10219
- Update dependency net.ltgt.errorprone to v4.2.0 by @renovate in https://github.com/robolectric/robolectric/pull/10218
- Update dependency com.google.code.gson:gson to v2.13.0 by @renovate in https://github.com/robolectric/robolectric/pull/10221
- Ensure the native runtime is loaded when HardwareRenderer.preload is called https://github.com/robolectric/robolectric/pull/10222
- Remove deprecated
ShadowApplication#getForegroundThreadScheduler()by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10212 - Update AndroidX by @renovate in https://github.com/robolectric/robolectric/pull/10220
- Remove deprecated
ShadowApplication#getInstance()by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10206 - Add support for createBond for Le bond mechanism in Roboelectric Shadows. https://github.com/robolectric/robolectric/pull/10223
- Deprecate various Scheduler-related public APIs in Robolectric https://github.com/robolectric/robolectric/pull/10224
- Deprecate ShadowApplication.runBackgroundTasks https://github.com/robolectric/robolectric/pull/10225
- Avoid the use of ImmutableMap.buildOrThrow in ShadowSettings.ShadowGlobal https://github.com/robolectric/robolectric/pull/10227
- Add method to set SKU in ShadowBuild https://github.com/robolectric/robolectric/pull/10228
- Remove unused resources from
integration_tests:nativegraphicsby @MGaetan89 in https://github.com/robolectric/robolectric/pull/9835 - Add tests for
ShadowContextImpl#setSystemService()by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10193 - Support
@empty/@nullinXmlResourceParserImplby @MGaetan89 in https://github.com/robolectric/robolectric/pull/10211 - Update Android Gradle Plugin by @renovate in https://github.com/robolectric/robolectric/pull/10232
- Update AndroidX by @renovate in https://github.com/robolectric/robolectric/pull/10233
- Update dependency com.googlecode.libphonenumber:libphonenumber to v9.0.4 by @renovate in https://github.com/robolectric/robolectric/pull/10234
- Update dependency com.google.code.gson:gson to v2.13.1 by @renovate in https://github.com/robolectric/robolectric/pull/10235
- Remove deprecated
Config#packageName()by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10238 - Handle short name version when the SDK is not finalized https://github.com/robolectric/robolectric/pull/10241
- Use a valid PackageManager.getApplicationIcon by default https://github.com/robolectric/robolectric/pull/10242
- Split out TestAccessibilityService class which is used in multiple Shadow tests. https://github.com/robolectric/robolectric/pull/10243
- Update dependency gradle to v8.14 by @renovate in https://github.com/robolectric/robolectric/pull/10236
- Remove unused
ThrowingManifestfrom tests by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10240 - Remove deprecated
Config#resourceDir()by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10239 - ShadowNsdManager testability enhancements. https://github.com/robolectric/robolectric/pull/10247
- Add sim capabilities and activation state related shadows functions https://github.com/robolectric/robolectric/pull/10245
- Make it possible for ShadowContentResolver to return FileNotFound in tests. https://github.com/robolectric/robolectric/pull/10249
- Remove unnecessary config block in DeployedRoboJavaModulePlugin by @hoisie in https://github.com/robolectric/robolectric/pull/10248
- Remove deprecated
Config#libraries()by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10250 - Remove deprecated
Config#assetDir()by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10246 - Fix CheckReturnValue lint error in ShadowAudioEffectTest https://github.com/robolectric/robolectric/pull/10251
- Update ShadowBluetoothAdatper.setScanMode to be public https://github.com/robolectric/robolectric/pull/10252
- Adds robolectric shadow classes for AccessibilityInputConnection and InputMethod https://github.com/robolectric/robolectric/pull/10230
- Add a highly experimental gradle plugin to run the Robolectric simulator https://github.com/robolectric/robolectric/pull/10258
- Update dependency io.mockk:mockk to v1.14.2 by @renovate in https://github.com/robolectric/robolectric/pull/10259
- Remove deprecated
MavenManifestFactoryby @MGaetan89 in https://github.com/robolectric/robolectric/pull/10254 - Migrate manual system properties to
SetSystemPropertyRuleby @MGaetan89 in https://github.com/robolectric/robolectric/pull/10257 - gradle: Migrate deprecated device to allDevices for GMD by @utzcoz in https://github.com/robolectric/robolectric/pull/10261
- Use Gradle API to select AAR dependencies by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10264
- Close the SQLiteDatabase associated with FakeMediaProvider after tests https://github.com/robolectric/robolectric/pull/10265
- Remove unnecessary
@Config(manifest)usages by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10231 - Update
google-java-formatto 1.27.0 by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10267 - Add a simple repro case for the MoveTo Path issue. https://github.com/robolectric/robolectric/pull/9989
- Support API format using WindowRelayoutResult to pass parameters https://github.com/robolectric/robolectric/pull/10272
- Simplify MouseHandler https://github.com/robolectric/robolectric/pull/10273
- Simulator misc improvements by @utzcoz in https://github.com/robolectric/robolectric/pull/10277
- Reland SDK35 for Android Emulator testing on CI by @utzcoz in https://github.com/robolectric/robolectric/pull/9945
- fix(deps): update dependency com.googlecode.libphonenumber:libphonenumber to v9.0.5 by @renovate in https://github.com/robolectric/robolectric/pull/10280
- chore(deps): update dependency com.android.library to v8.10.0 by @renovate in https://github.com/robolectric/robolectric/pull/10281
- fix(deps): update dependency com.android.tools:common to v31.10.0 by @renovate in https://github.com/robolectric/robolectric/pull/10283
- fix(deps): update dependency androidx.compose:compose-bom to v2025.05.00 by @renovate in https://github.com/robolectric/robolectric/pull/10282
- Increase PR limit for Renovate by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10284
- integration_tests: Exclude androidTest for modules that not required by @utzcoz in https://github.com/robolectric/robolectric/pull/10279
- Add
getDefaultSensor(int type, boolean wakeUpSensor)and corresponding tests. https://github.com/robolectric/robolectric/pull/10276 - Define a builder for
telephony.SignalStrengthhttps://github.com/robolectric/robolectric/pull/10286 - Use Gradle Kotlin DSL in Simulator Gradle Plugin by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10278
- Remove nonsensical helper method from ShadowAlertDialog https://github.com/robolectric/robolectric/pull/10290
- Synchronize RenderNodeAnimator with Robolectric's Choreographer https://github.com/robolectric/robolectric/pull/10289
- Adjust to post-Baklava indevelopment Android framework changes. https://github.com/robolectric/robolectric/pull/10293
- Remove SoftThreadLocal https://github.com/robolectric/robolectric/pull/10296
- Support upcoming resized signature https://github.com/robolectric/robolectric/pull/10297
- Replace provider created in ShadowWebView with a deep proxy. https://github.com/robolectric/robolectric/pull/10298
- Remove the
deploy-snapshot.shscript by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10300 - fix(deps): update kotlin monorepo to v2.1.21 by @renovate in https://github.com/robolectric/robolectric/pull/10301
- Add ShadowRemoteViewsAdapter https://github.com/robolectric/robolectric/pull/9965
- Remove the
release-notes-template.mdtemplate by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10304 - Remove the
update-cpp.shscript by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10303 - Remove useRealScrolling check in ShadowAbsListView https://github.com/robolectric/robolectric/pull/10306
- Change
ShadowSensorManager.getDefaultSensorto retrieve the sensor based onwakeUpSensorflag instead of setting. https://github.com/robolectric/robolectric/pull/10307 - Add functionality to block shadow BluetoothSocket connections until other events. https://github.com/robolectric/robolectric/pull/10308
- Fix failing test on
masterby @MGaetan89 in https://github.com/robolectric/robolectric/pull/10305 - Add method for injecting custom IOExceptions. https://github.com/robolectric/robolectric/pull/10309
- Add property to allow tests to declare platform permissions https://github.com/robolectric/robolectric/pull/10312
- Add configuration for Gemini Code Assist by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10311
- Add a top-level Choreographer frame callback while the simulator is running https://github.com/robolectric/robolectric/pull/10313
- Update dependency com.googlecode.libphonenumber:libphonenumber to v9.0.6 by @renovate in https://github.com/robolectric/robolectric/pull/10317
- Update dependency gradle to v8.14.1 by @renovate in https://github.com/robolectric/robolectric/pull/10318
- Add write descriptor function for API 33 in ShadowBluetoothGatt by @KeithYokoma in https://github.com/robolectric/robolectric/pull/10310
- Update mockito monorepo to v5.18.0 by @renovate in https://github.com/robolectric/robolectric/pull/10319
- Update AndroidX by @renovate in https://github.com/robolectric/robolectric/pull/10316
- Update
@Config'sminSdkin some tests by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10321 - Remove obsolete InDevelopment annotation from shadow methods. https://github.com/robolectric/robolectric/pull/10322
- Merge branch 'google' into 'master' by @hoisie in https://github.com/robolectric/robolectric/pull/10323
- Make Robolectric simulator background white and clear the screen. https://github.com/robolectric/robolectric/pull/10274
- Update technique to locate the local resource apk by @hoisie in https://github.com/robolectric/robolectric/pull/10326
- Add some additional JVM flags for the simulator by @hoisie in https://github.com/robolectric/robolectric/pull/10327
- Fix Java code style by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10328
- Add implementation for removeBond to ShadowCompanionDeviceManager. https://github.com/robolectric/robolectric/pull/10325
- Use
Config.OLDEST_SDKin tests instead of hardcoded value by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10331 - Add more meaningful comments for ShadowUIModeManagerTest by @utzcoz in https://github.com/robolectric/robolectric/pull/10332
- Reduce public fields for ShadowUIModeManager by @utzcoz in https://github.com/robolectric/robolectric/pull/10333
- Update Android Gradle Plugin by @renovate in https://github.com/robolectric/robolectric/pull/10334
- Update mcr.microsoft.com/devcontainers/base Docker tag to v2 by @renovate in https://github.com/robolectric/robolectric/pull/10338
- Update roborazzi to v1.44.0 by @renovate in https://github.com/robolectric/robolectric/pull/10337
- Update dependency com.diffplug.spotless:spotless-plugin-gradle to v7.0.4 by @renovate in https://github.com/robolectric/robolectric/pull/10336
- Enable
SpannedStringassertion inResourcesTestby @MGaetan89 in https://github.com/robolectric/robolectric/pull/10341 - Remove
v14qualifier by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10345 - Replace PowerMock's Xstream module with Objenesis by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10346
- Fix variable name in
GetInstallerPackageNameModeConfigurer#valueFrom()by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10344 - Update
ActivityData#getTargetAttr()to use itsxmlnsargument by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10343 - Add missing SCM metadata when generating POM files by @hoisie in https://github.com/robolectric/robolectric/pull/10348
- Rename ShadowUIModeManager to ShadowUiModeManager by @utzcoz in https://github.com/robolectric/robolectric/pull/10340
- Update the SimulatorPlugin for publishing in the Gradle Plugin Portal by @hoisie in https://github.com/robolectric/robolectric/pull/10349
- Allow for a gradual migration from ShadowUIModeManager to ShadowUiModeManager by @hoisie in https://github.com/robolectric/robolectric/pull/10352
- Refactor test configuration into a shared function by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10351
- Reuse
ShadowUiModeManagerinShadowUiModeManagerTestby @MGaetan89 in https://github.com/robolectric/robolectric/pull/10356 - Deduplicate
MetaData#getColor()andResourceHelper#getColor()by @MGaetan89 in https://github.com/robolectric/robolectric/pull/10355 - Provide an initial value for DeprecatedTestRunnerDefaultConfigProvider.globalConfig https://github.com/robolectric/robolectric/pull/10357
- Wire up the VirtualDevice#getDisplayIds() in the ShadowVirtualDeviceManager. https://github.com/robolectric/robolectric/pull/10358
- Remove unused field in
Sandboxby @MGaetan89 in https://github.com/robolectric/robolectric/pull/10354 - Remove the call to setAlwaysConsumeSystemBars in ShadowWindowManagerImpl https://github.com/robolectric/robolectric/pull/10363
- Revert recent ShadowUIManager rename changes by @utzcoz in https://github.com/robolectric/robolectric/pull/10362
- Temporarily make ShadowUIModeManager.currentModeType public by @hoisie in https://github.com/robolectric/robolectric/pull/10364
- Set the simulator-gradle-plugin version to 1.0-SNAPSHOT by @hoisie in https://github.com/robolectric/robolectric/pull/10366
New Contributors
- @yschimke made their first contribution in https://github.com/robolectric/robolectric/pull/9801
- @renovate made their first contribution in https://github.com/robolectric/robolectric/pull/10038
- @alphapaca made their first contribution in https://github.com/robolectric/robolectric/pull/10104
- @KeithYokoma made their first contribution in https://github.com/robolectric/robolectric/pull/10310
Full Changelog: https://github.com/robolectric/robolectric/compare/robolectric-4.14.1...robolectric-4.15