Skip to content

fix(mirror): forward taps to MUI devices without a touch panel - #7880

Merged
jamesarich merged 1 commit into
mainfrom
fix/mirror-taps-any-mui
Nov 2, 2026
Merged

jamesarich merged 1 commit into
mainfrom
fix/mirror-taps-any-mui

Conversation

@jamesarich

@jamesarich jamesarich commented Nov 2, 2026 •

Copy link
Copy Markdown
Collaborator

MUI routes mirrored taps to its own virtual pointer, so a device without a touch panel still takes them - but the Mirror tab only sent taps when has_touch was set, so a touchless MUI board like the MeshPager X2 got none.

🐛 Bug Fixes

  • Send taps whenever the mirrored frame is RGB565, which only MUI streams; has_touch keeps its proto meaning of a physical touch panel.

Testing Performed

No test added - the gate sits inside the Mirror composable. Verified the MUI tap path over TCP on the Portduino rig (meshtastic/device-ui#394, meshtastic/firmware#11681).

Summary by CodeRabbit

  • New Features
    • Touch interaction is now available when mirroring RGB565 displays, even if the device reports touch as unavailable. This makes it possible to interact with these displays in more cases.
    • For other display formats, touch interaction continues to follow the device’s reported touch capability.

MUI routes mirrored taps to its own virtual pointer, so an RGB565 frame
accepts taps whether or not the board reports `has_touch`.
@coderabbitai

coderabbitai Bot commented Nov 2, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review.

Recent review info
Run configuration
Commits

Reviewing files that changed from the base of the PR and between d89149b and e5fe29f.

Files selected for processing: 1
  • feature/settings/src/commonMain/kotlin/org/meshtastic/feature/settings/debugging/DisplayMirror.kt

Included review availability: This review used your included allowance. Your plan provides up to 4 included reviews per hour; 0 remain after this review.

Walkthrough

The display mirror now treats RGB565 frames as touch-capable even when the device reports no touch support. Other frame formats continue to use the device’s touch-support flag.

Changes: Display mirror touch capability

Layer / File(s) Summary
Set touch capability for RGB565 frames
feature/settings/src/commonMain/kotlin/org/meshtastic/feature/settings/debugging/DisplayMirror.kt
MirrorWithControls receives hasTouch = true when the device reports touch support or the current frame format is RGB565.
Merge Risk: Minimal · up to e5fe2

No actionable merge-blocking risk was identified.

Pre-merge checks: Passed 7 · Failed 1

Failed Failed checks: 1 warning

Check name Status Explanation Resolution
Regression Coverage For Changed Behavior Warning Missing regression coverage for the changed Compose input gate. DisplayMirrorContent now passes hasTouch = displayInfo?.has_touch == true || currentFrame.format == MirrorFormat.RGB565 at `DisplayM… Add a Compose UI regression test for a connected RGB565 frame with DisplayInfo.has_touch == false. Perform a tap and assert one INPUT_USER_PRESS touch event with the expected device coordinates; perform a long-press and assert `INPUT_SE…
Passed Passed checks: 7 passed
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title names the main change: taps are forwarded to MUI devices that lack a touch panel. The raw summary confirms that RGB565 frames are now treated as touch-capable regardless of displayInfo.has_t…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Sibling Call Sites And Presence Semantics Passed PASS. The diff changes only the tap-capability condition in DisplayMirror.kt; it does not make a field nullable, remove a zero-guard, add a presence check, or add a numeric field defaulted to 0. R…
Tests Prove The Path, Not The End State Passed The pull request changes only DisplayMirror.kt; it adds no tests and modifies no test files. Therefore, no added or changed test can violate this check.
Moved Code Diffed Against Its Original Passed PASS. The PR changes one existing file with 3 insertions and 1 deletion. It adds an import, a comment, and an additional condition in DisplayMirrorContent; it does not delete or relocate a type, fun…
Full details: Title check

Explanation

The title names the main change: taps are forwarded to MUI devices that lack a touch panel. The raw summary confirms that RGB565 frames are now treated as touch-capable regardless of displayInfo.has_touch, which matches the title's scope. The title follows the conventional commit format and is specific enough for a teammate scanning history to understand the change.

Full details: Sibling Call Sites And Presence Semantics

Explanation

PASS. The diff changes only the tap-capability condition in DisplayMirror.kt; it does not make a field nullable, remove a zero-guard, add a presence check, or add a numeric field defaulted to 0. Repository search found one has_touch usage, at the updated call site. No unfixed sibling call site exists.

Full details: Moved Code Diffed Against Its Original

Explanation

PASS. The PR changes one existing file with 3 insertions and 1 deletion. It adds an import, a comment, and an additional condition in DisplayMirrorContent; it does not delete or relocate a type, function, or module. The moved-code checks are therefore not applicable.

Full details: Regression Coverage For Changed Behavior

Explanation

Missing regression coverage for the changed Compose input gate. DisplayMirrorContent now passes hasTouch = displayInfo?.has_touch == true || currentFrame.format == MirrorFormat.RGB565 at DisplayMirror.kt:184-194. This changes the Compose UI gesture path in MirrorSurface: RGB565 taps and long-presses now call sendTouch, which reaches the device input protocol through DisplayMirrorViewModel.sendTouch. Existing tests cover RGB565 frame assembly and generic ViewModel behavior, but no test composes this path or sends a gesture. The PR also changes no test file.

Resolution

Add a Compose UI regression test for a connected RGB565 frame with DisplayInfo.has_touch == false. Perform a tap and assert one INPUT_USER_PRESS touch event with the expected device coordinates; perform a long-press and assert INPUT_SELECT. The test must fail against the base code. Add a companion case for a non-RGB565 frame with has_touch == false to confirm that the existing keyboard-capture behavior remains unchanged.

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

@codecov

codecov Bot commented Nov 2, 2026 •

Copy link
Copy Markdown

❌ 19 Tests Failed:

Tests completed Failed Passed Skipped
10814 19 10795 0
View the top 3 failed test(s) by shortest run time
org.meshtastic.app.SceneViewManifestTest::initializationError
Stack Traces | 0s run time
java.lang.AssertionError: Failed to fetch maven artifact org.robolectric:android-all-instrumented:14-robolectric-10818077-i7
	at org.robolectric.internal.dependency.MavenArtifactFetcher.fetchArtifact(MavenArtifactFetcher.java:130)
	at org.robolectric.internal.dependency.MavenDependencyResolver.lambda$getLocalArtifactUrls$0(MavenDependencyResolver.java:87)
	at org.robolectric.internal.dependency.MavenDependencyResolver.whileLocked(MavenDependencyResolver.java:107)
	at org.robolectric.internal.dependency.MavenDependencyResolver.getLocalArtifactUrls(MavenDependencyResolver.java:82)
	at org.robolectric.internal.dependency.MavenDependencyResolver.getLocalArtifactUrl(MavenDependencyResolver.java:123)
	at org.robolectric.plugins.LegacyDependencyResolver.getLocalArtifactUrl(LegacyDependencyResolver.java:95)
	at org.robolectric.plugins.DefaultSdkProvider$DefaultSdk.getJarPath(DefaultSdkProvider.java:145)
	at org.robolectric.internal.AndroidSandbox$SdkSandboxClassLoader.<init>(AndroidSandbox.java:128)
	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:483)
	at org.robolectric.util.inject.Injector.inject(Injector.java:258)
	at org.robolectric.util.inject.Injector.lambda$memoized$1(Injector.java:239)
	at org.robolectric.util.inject.Injector$MemoizingProvider.get(Injector.java:506)
	at org.robolectric.util.inject.Injector.getInstanceInternal(Injector.java:230)
	at org.robolectric.util.inject.Injector.resolveDependencies(Injector.java:305)
	at org.robolectric.util.inject.Injector.inject(Injector.java:256)
	at org.robolectric.util.inject.Injector.lambda$memoized$1(Injector.java:239)
	at org.robolectric.util.inject.Injector$MemoizingProvider.get(Injector.java:506)
	at org.robolectric.util.inject.Injector.getInstanceInternal(Injector.java:230)
	at org.robolectric.util.inject.Injector.getInstance(Injector.java:214)
	at org.robolectric.util.inject.Injector$ScopeBuilderProvider.create(Injector.java:575)
	at org.robolectric.util.inject.Injector$ScopeBuilderProvider.lambda$get$0(Injector.java:558)
	at jdk.proxy3/jdk.proxy3.$Proxy32.build(Unknown Source)
	at org.robolectric.internal.SandboxManager.getAndroidSandbox(SandboxManager.java:68)
	at org.robolectric.RobolectricTestRunner.getAndroidSandbox(RobolectricTestRunner.java:283)
	at org.robolectric.RobolectricTestRunner.getSandbox(RobolectricTestRunner.java:261)
	at org.robolectric.RobolectricTestRunner.getSandbox(RobolectricTestRunner.java:67)
	at org.robolectric.internal.SandboxTestRunner.sandboxGroupingClassBlock(SandboxTestRunner.java:206)
	at org.robolectric.internal.SandboxTestRunner.classBlock(SandboxTestRunner.java:194)
	at org.robolectric.RobolectricTestRunner.run(RobolectricTestRunner.java:149)
Caused by: java.util.concurrent.ExecutionException: java.io.IOException: Server returned HTTP response code: 429 for URL: https://repo1.maven..../android-all-instrumented/14-robolectric-10818077-i7/android-all-instrumented-14-robolectric-10818077-i7.jar
	at com.google.common.util.concurrent.AbstractFuture$Failure.newExecutionException(AbstractFuture.java:168)
	at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:298)
	at com.google.common.util.concurrent.AbstractFutureState.blockingGet(AbstractFutureState.java:250)
	at com.google.common.util.concurrent.Platform.get(Platform.java:54)
	at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:263)
	at com.google.common.util.concurrent.AbstractFuture$TrustedFuture.get(AbstractFuture.java:96)
	at org.robolectric.internal.dependency.MavenArtifactFetcher.fetchArtifact(MavenArtifactFetcher.java:122)
	... 29 more
Caused by: java.io.IOException: Server returned HTTP response code: 429 for URL: https://repo1.maven..../android-all-instrumented/14-robolectric-10818077-i7/android-all-instrumented-14-robolectric-10818077-i7.jar
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1706)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1305)
	at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:223)
	at org.robolectric.internal.dependency.MavenArtifactFetcher$FetchToFileTask.call(MavenArtifactFetcher.java:253)
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleAsyncTask.runInterruptibly(TrustedListenableFutureTask.java:164)
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleAsyncTask.runInterruptibly(TrustedListenableFutureTask.java:147)
	at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:74)
	at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:80)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
	at java.base/java.lang.Thread.run(Thread.java:1474)
org.meshtastic.app.ShareMessageDeepLinkTest::initializationError
Stack Traces | 0s run time
java.lang.AssertionError: Failed to fetch maven artifact org.robolectric:android-all-instrumented:14-robolectric-10818077-i7
	at org.robolectric.internal.dependency.MavenArtifactFetcher.fetchArtifact(MavenArtifactFetcher.java:130)
	at org.robolectric.internal.dependency.MavenDependencyResolver.lambda$getLocalArtifactUrls$0(MavenDependencyResolver.java:87)
	at org.robolectric.internal.dependency.MavenDependencyResolver.whileLocked(MavenDependencyResolver.java:107)
	at org.robolectric.internal.dependency.MavenDependencyResolver.getLocalArtifactUrls(MavenDependencyResolver.java:82)
	at org.robolectric.internal.dependency.MavenDependencyResolver.getLocalArtifactUrl(MavenDependencyResolver.java:123)
	at org.robolectric.plugins.LegacyDependencyResolver.getLocalArtifactUrl(LegacyDependencyResolver.java:95)
	at org.robolectric.plugins.DefaultSdkProvider$DefaultSdk.getJarPath(DefaultSdkProvider.java:145)
	at org.robolectric.internal.AndroidSandbox$SdkSandboxClassLoader.<init>(AndroidSandbox.java:128)
	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:483)
	at org.robolectric.util.inject.Injector.inject(Injector.java:258)
	at org.robolectric.util.inject.Injector.lambda$memoized$1(Injector.java:239)
	at org.robolectric.util.inject.Injector$MemoizingProvider.get(Injector.java:506)
	at org.robolectric.util.inject.Injector.getInstanceInternal(Injector.java:230)
	at org.robolectric.util.inject.Injector.resolveDependencies(Injector.java:305)
	at org.robolectric.util.inject.Injector.inject(Injector.java:256)
	at org.robolectric.util.inject.Injector.lambda$memoized$1(Injector.java:239)
	at org.robolectric.util.inject.Injector$MemoizingProvider.get(Injector.java:506)
	at org.robolectric.util.inject.Injector.getInstanceInternal(Injector.java:230)
	at org.robolectric.util.inject.Injector.getInstance(Injector.java:214)
	at org.robolectric.util.inject.Injector$ScopeBuilderProvider.create(Injector.java:575)
	at org.robolectric.util.inject.Injector$ScopeBuilderProvider.lambda$get$0(Injector.java:558)
	at jdk.proxy3/jdk.proxy3.$Proxy35.build(Unknown Source)
	at org.robolectric.internal.SandboxManager.getAndroidSandbox(SandboxManager.java:68)
	at org.robolectric.RobolectricTestRunner.getAndroidSandbox(RobolectricTestRunner.java:283)
	at org.robolectric.RobolectricTestRunner.getSandbox(RobolectricTestRunner.java:261)
	at org.robolectric.RobolectricTestRunner.getSandbox(RobolectricTestRunner.java:67)
	at org.robolectric.internal.SandboxTestRunner.sandboxGroupingClassBlock(SandboxTestRunner.java:206)
	at org.robolectric.internal.SandboxTestRunner.classBlock(SandboxTestRunner.java:194)
	at org.robolectric.RobolectricTestRunner.run(RobolectricTestRunner.java:149)
Caused by: java.util.concurrent.ExecutionException: java.io.IOException: Server returned HTTP response code: 429 for URL: https://repo1.maven..../android-all-instrumented/14-robolectric-10818077-i7/android-all-instrumented-14-robolectric-10818077-i7.jar
	at com.google.common.util.concurrent.AbstractFuture$Failure.newExecutionException(AbstractFuture.java:168)
	at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:298)
	at com.google.common.util.concurrent.AbstractFutureState.blockingGet(AbstractFutureState.java:250)
	at com.google.common.util.concurrent.Platform.get(Platform.java:54)
	at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:263)
	at com.google.common.util.concurrent.AbstractFuture$TrustedFuture.get(AbstractFuture.java:96)
	at org.robolectric.internal.dependency.MavenArtifactFetcher.fetchArtifact(MavenArtifactFetcher.java:122)
	... 29 more
Caused by: java.io.IOException: Server returned HTTP response code: 429 for URL: https://repo1.maven..../android-all-instrumented/14-robolectric-10818077-i7/android-all-instrumented-14-robolectric-10818077-i7.jar
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1706)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1305)
	at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:223)
	at org.robolectric.internal.dependency.MavenArtifactFetcher$FetchToFileTask.call(MavenArtifactFetcher.java:253)
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleAsyncTask.runInterruptibly(TrustedListenableFutureTask.java:164)
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleAsyncTask.runInterruptibly(TrustedListenableFutureTask.java:147)
	at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:74)
	at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:80)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
	at java.base/java.lang.Thread.run(Thread.java:1474)
org.meshtastic.app.SharedMapFileTest::initializationError
Stack Traces | 0s run time
java.lang.AssertionError: Failed to fetch maven artifact org.robolectric:android-all-instrumented:14-robolectric-10818077-i7
	at org.robolectric.internal.dependency.MavenArtifactFetcher.fetchArtifact(MavenArtifactFetcher.java:130)
	at org.robolectric.internal.dependency.MavenDependencyResolver.lambda$getLocalArtifactUrls$0(MavenDependencyResolver.java:87)
	at org.robolectric.internal.dependency.MavenDependencyResolver.whileLocked(MavenDependencyResolver.java:107)
	at org.robolectric.internal.dependency.MavenDependencyResolver.getLocalArtifactUrls(MavenDependencyResolver.java:82)
	at org.robolectric.internal.dependency.MavenDependencyResolver.getLocalArtifactUrl(MavenDependencyResolver.java:123)
	at org.robolectric.plugins.LegacyDependencyResolver.getLocalArtifactUrl(LegacyDependencyResolver.java:95)
	at org.robolectric.plugins.DefaultSdkProvider$DefaultSdk.getJarPath(DefaultSdkProvider.java:145)
	at org.robolectric.internal.AndroidSandbox$SdkSandboxClassLoader.<init>(AndroidSandbox.java:128)
	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:483)
	at org.robolectric.util.inject.Injector.inject(Injector.java:258)
	at org.robolectric.util.inject.Injector.lambda$memoized$1(Injector.java:239)
	at org.robolectric.util.inject.Injector$MemoizingProvider.get(Injector.java:506)
	at org.robolectric.util.inject.Injector.getInstanceInternal(Injector.java:230)
	at org.robolectric.util.inject.Injector.resolveDependencies(Injector.java:305)
	at org.robolectric.util.inject.Injector.inject(Injector.java:256)
	at org.robolectric.util.inject.Injector.lambda$memoized$1(Injector.java:239)
	at org.robolectric.util.inject.Injector$MemoizingProvider.get(Injector.java:506)
	at org.robolectric.util.inject.Injector.getInstanceInternal(Injector.java:230)
	at org.robolectric.util.inject.Injector.getInstance(Injector.java:214)
	at org.robolectric.util.inject.Injector$ScopeBuilderProvider.create(Injector.java:575)
	at org.robolectric.util.inject.Injector$ScopeBuilderProvider.lambda$get$0(Injector.java:558)
	at jdk.proxy3/jdk.proxy3.$Proxy37.build(Unknown Source)
	at org.robolectric.internal.SandboxManager.getAndroidSandbox(SandboxManager.java:68)
	at org.robolectric.RobolectricTestRunner.getAndroidSandbox(RobolectricTestRunner.java:283)
	at org.robolectric.RobolectricTestRunner.getSandbox(RobolectricTestRunner.java:261)
	at org.robolectric.RobolectricTestRunner.getSandbox(RobolectricTestRunner.java:67)
	at org.robolectric.internal.SandboxTestRunner.sandboxGroupingClassBlock(SandboxTestRunner.java:206)
	at org.robolectric.internal.SandboxTestRunner.classBlock(SandboxTestRunner.java:194)
	at org.robolectric.RobolectricTestRunner.run(RobolectricTestRunner.java:149)
Caused by: java.util.concurrent.ExecutionException: java.io.IOException: Server returned HTTP response code: 429 for URL: https://repo1.maven..../android-all-instrumented/14-robolectric-10818077-i7/android-all-instrumented-14-robolectric-10818077-i7.jar
	at com.google.common.util.concurrent.AbstractFuture$Failure.newExecutionException(AbstractFuture.java:168)
	at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:298)
	at com.google.common.util.concurrent.AbstractFutureState.blockingGet(AbstractFutureState.java:250)
	at com.google.common.util.concurrent.Platform.get(Platform.java:54)
	at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:263)
	at com.google.common.util.concurrent.AbstractFuture$TrustedFuture.get(AbstractFuture.java:96)
	at org.robolectric.internal.dependency.MavenArtifactFetcher.fetchArtifact(MavenArtifactFetcher.java:122)
	... 29 more
Caused by: java.io.IOException: Server returned HTTP response code: 429 for URL: https://repo1.maven..../android-all-instrumented/14-robolectric-10818077-i7/android-all-instrumented-14-robolectric-10818077-i7.jar
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1706)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1305)
	at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:223)
	at org.robolectric.internal.dependency.MavenArtifactFetcher$FetchToFileTask.call(MavenArtifactFetcher.java:253)
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleAsyncTask.runInterruptibly(TrustedListenableFutureTask.java:164)
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleAsyncTask.runInterruptibly(TrustedListenableFutureTask.java:147)
	at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:74)
	at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:80)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
	at java.base/java.lang.Thread.run(Thread.java:1474)
org.meshtastic.app.map.GoogleMapImportedIconStyleTest::initializationError
Stack Traces | 0s run time
java.lang.AssertionError: Failed to fetch maven artifact org.robolectric:android-all-instrumented:14-robolectric-10818077-i7
	at org.robolectric.internal.dependency.MavenArtifactFetcher.fetchArtifact(MavenArtifactFetcher.java:130)
	at org.robolectric.internal.dependency.MavenDependencyResolver.lambda$getLocalArtifactUrls$0(MavenDependencyResolver.java:87)
	at org.robolectric.internal.dependency.MavenDependencyResolver.whileLocked(MavenDependencyResolver.java:107)
	at org.robolectric.internal.dependency.MavenDependencyResolver.getLocalArtifactUrls(MavenDependencyResolver.java:82)
	at org.robolectric.internal.dependency.MavenDependencyResolver.getLocalArtifactUrl(MavenDependencyResolver.java:123)
	at org.robolectric.plugins.LegacyDependencyResolver.getLocalArtifactUrl(LegacyDependencyResolver.java:95)
	at org.robolectric.plugins.DefaultSdkProvider$DefaultSdk.getJarPath(DefaultSdkProvider.java:145)
	at org.robolectric.internal.AndroidSandbox$SdkSandboxClassLoader.<init>(AndroidSandbox.java:128)
	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:483)
	at org.robolectric.util.inject.Injector.inject(Injector.java:258)
	at org.robolectric.util.inject.Injector.lambda$memoized$1(Injector.java:239)
	at org.robolectric.util.inject.Injector$MemoizingProvider.get(Injector.java:506)
	at org.robolectric.util.inject.Injector.getInstanceInternal(Injector.java:230)
	at org.robolectric.util.inject.Injector.resolveDependencies(Injector.java:305)
	at org.robolectric.util.inject.Injector.inject(Injector.java:256)
	at org.robolectric.util.inject.Injector.lambda$memoized$1(Injector.java:239)
	at org.robolectric.util.inject.Injector$MemoizingProvider.get(Injector.java:506)
	at org.robolectric.util.inject.Injector.getInstanceInternal(Injector.java:230)
	at org.robolectric.util.inject.Injector.getInstance(Injector.java:214)
	at org.robolectric.util.inject.Injector$ScopeBuilderProvider.create(Injector.java:575)
	at org.robolectric.util.inject.Injector$ScopeBuilderProvider.lambda$get$0(Injector.java:558)
	at jdk.proxy3/jdk.proxy3.$Proxy35.build(Unknown Source)
	at org.robolectric.internal.SandboxManager.getAndroidSandbox(SandboxManager.java:68)
	at org.robolectric.RobolectricTestRunner.getAndroidSandbox(RobolectricTestRunner.java:283)
	at org.robolectric.RobolectricTestRunner.getSandbox(RobolectricTestRunner.java:261)
	at org.robolectric.RobolectricTestRunner.getSandbox(RobolectricTestRunner.java:67)
	at org.robolectric.internal.SandboxTestRunner.sandboxGroupingClassBlock(SandboxTestRunner.java:206)
	at org.robolectric.internal.SandboxTestRunner.classBlock(SandboxTestRunner.java:194)
	at org.robolectric.RobolectricTestRunner.run(RobolectricTestRunner.java:149)
Caused by: java.util.concurrent.ExecutionException: java.io.IOException: Server returned HTTP response code: 429 for URL: https://repo1.maven..../android-all-instrumented/14-robolectric-10818077-i7/android-all-instrumented-14-robolectric-10818077-i7.jar
	at com.google.common.util.concurrent.AbstractFuture$Failure.newExecutionException(AbstractFuture.java:168)
	at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:298)
	at com.google.common.util.concurrent.AbstractFutureState.blockingGet(AbstractFutureState.java:250)
	at com.google.common.util.concurrent.Platform.get(Platform.java:54)
	at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:263)
	at com.google.common.util.concurrent.AbstractFuture$TrustedFuture.get(AbstractFuture.java:96)
	at org.robolectric.internal.dependency.MavenArtifactFetcher.fetchArtifact(MavenArtifactFetcher.java:122)
	... 29 more
Caused by: java.io.IOException: Server returned HTTP response code: 429 for URL: https://repo1.maven..../android-all-instrumented/14-robolectric-10818077-i7/android-all-instrumented-14-robolectric-10818077-i7.jar
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1706)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1305)
	at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:223)
	at org.robolectric.internal.dependency.MavenArtifactFetcher$FetchToFileTask.call(MavenArtifactFetcher.java:253)
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleAsyncTask.runInterruptibly(TrustedListenableFutureTask.java:164)
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleAsyncTask.runInterruptibly(TrustedListenableFutureTask.java:147)
	at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:74)
	at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:80)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
	at java.base/java.lang.Thread.run(Thread.java:1474)
org.meshtastic.app.ui.DeepLinkManifestConsistencyTest::initializationError
Stack Traces | 0s run time
java.lang.AssertionError: Failed to fetch maven artifact org.robolectric:android-all-instrumented:14-robolectric-10818077-i7
	at org.robolectric.internal.dependency.MavenArtifactFetcher.fetchArtifact(MavenArtifactFetcher.java:130)
	at org.robolectric.internal.dependency.MavenDependencyResolver.lambda$getLocalArtifactUrls$0(MavenDependencyResolver.java:87)
	at org.robolectric.internal.dependency.MavenDependencyResolver.whileLocked(MavenDependencyResolver.java:107)
	at org.robolectric.internal.dependency.MavenDependencyResolver.getLocalArtifactUrls(MavenDependencyResolver.java:82)
	at org.robolectric.internal.dependency.MavenDependencyResolver.getLocalArtifactUrl(MavenDependencyResolver.java:123)
	at org.robolectric.plugins.LegacyDependencyResolver.getLocalArtifactUrl(LegacyDependencyResolver.java:95)
	at org.robolectric.plugins.DefaultSdkProvider$DefaultSdk.getJarPath(DefaultSdkProvider.java:145)
	at org.robolectric.internal.AndroidSandbox$SdkSandboxClassLoader.<init>(AndroidSandbox.java:128)
	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:483)
	at org.robolectric.util.inject.Injector.inject(Injector.java:258)
	at org.robolectric.util.inject.Injector.lambda$memoized$1(Injector.java:239)
	at org.robolectric.util.inject.Injector$MemoizingProvider.get(Injector.java:506)
	at org.robolectric.util.inject.Injector.getInstanceInternal(Injector.java:230)
	at org.robolectric.util.inject.Injector.resolveDependencies(Injector.java:305)
	at org.robolectric.util.inject.Injector.inject(Injector.java:256)
	at org.robolectric.util.inject.Injector.lambda$memoized$1(Injector.java:239)
	at org.robolectric.util.inject.Injector$MemoizingProvider.get(Injector.java:506)
	at org.robolectric.util.inject.Injector.getInstanceInternal(Injector.java:230)
	at org.robolectric.util.inject.Injector.getInstance(Injector.java:214)
	at org.robolectric.util.inject.Injector$ScopeBuilderProvider.create(Injector.java:575)
	at org.robolectric.util.inject.Injector$ScopeBuilderProvider.lambda$get$0(Injector.java:558)
	at jdk.proxy3/jdk.proxy3.$Proxy33.build(Unknown Source)
	at org.robolectric.internal.SandboxManager.getAndroidSandbox(SandboxManager.java:68)
	at org.robolectric.RobolectricTestRunner.getAndroidSandbox(RobolectricTestRunner.java:283)
	at org.robolectric.RobolectricTestRunner.getSandbox(RobolectricTestRunner.java:261)
	at org.robolectric.RobolectricTestRunner.getSandbox(RobolectricTestRunner.java:67)
	at org.robolectric.internal.SandboxTestRunner.sandboxGroupingClassBlock(SandboxTestRunner.java:206)
	at org.robolectric.internal.SandboxTestRunner.classBlock(SandboxTestRunner.java:194)
	at org.robolectric.RobolectricTestRunner.run(RobolectricTestRunner.java:149)
Caused by: java.util.concurrent.ExecutionException: java.io.IOException: Server returned HTTP response code: 429 for URL: https://repo1.maven..../android-all-instrumented/14-robolectric-10818077-i7/android-all-instrumented-14-robolectric-10818077-i7.jar
	at com.google.common.util.concurrent.AbstractFuture$Failure.newExecutionException(AbstractFuture.java:168)
	at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:298)
	at com.google.common.util.concurrent.AbstractFutureState.blockingGet(AbstractFutureState.java:250)
	at com.google.common.util.concurrent.Platform.get(Platform.java:54)
	at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:263)
	at com.google.common.util.concurrent.AbstractFuture$TrustedFuture.get(AbstractFuture.java:96)
	at org.robolectric.internal.dependency.MavenArtifactFetcher.fetchArtifact(MavenArtifactFetcher.java:122)
	... 29 more
Caused by: java.io.IOException: Server returned HTTP response code: 429 for URL: https://repo1.maven..../android-all-instrumented/14-robolectric-10818077-i7/android-all-instrumented-14-robolectric-10818077-i7.jar
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1706)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1305)
	at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:223)
	at org.robolectric.internal.dependency.MavenArtifactFetcher$FetchToFileTask.call(MavenArtifactFetcher.java:253)
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleAsyncTask.runInterruptibly(TrustedListenableFutureTask.java:164)
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleAsyncTask.runInterruptibly(TrustedListenableFutureTask.java:147)
	at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:74)
	at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:80)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
	at java.base/java.lang.Thread.run(Thread.java:1474)
org.meshtastic.app.widget.GlanceTrampolineManifestTest::initializationError
Stack Traces | 0s run time
java.lang.AssertionError: Failed to fetch maven artifact org.robolectric:android-all-instrumented:14-robolectric-10818077-i7
	at org.robolectric.internal.dependency.MavenArtifactFetcher.fetchArtifact(MavenArtifactFetcher.java:130)
	at org.robolectric.internal.dependency.MavenDependencyResolver.lambda$getLocalArtifactUrls$0(MavenDependencyResolver.java:87)
	at org.robolectric.internal.dependency.MavenDependencyResolver.whileLocked(MavenDependencyResolver.java:107)
	at org.robolectric.internal.dependency.MavenDependencyResolver.getLocalArtifactUrls(MavenDependencyResolver.java:82)
	at org.robolectric.internal.dependency.MavenDependencyResolver.getLocalArtifactUrl(MavenDependencyResolver.java:123)
	at org.robolectric.plugins.LegacyDependencyResolver.getLocalArtifactUrl(LegacyDependencyResolver.java:95)
	at org.robolectric.plugins.DefaultSdkProvider$DefaultSdk.getJarPath(DefaultSdkProvider.java:145)
	at org.robolectric.internal.AndroidSandbox$SdkSandboxClassLoader.<init>(AndroidSandbox.java:128)
	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:483)
	at org.robolectric.util.inject.Injector.inject(Injector.java:258)
	at org.robolectric.util.inject.Injector.lambda$memoized$1(Injector.java:239)
	at org.robolectric.util.inject.Injector$MemoizingProvider.get(Injector.java:506)
	at org.robolectric.util.inject.Injector.getInstanceInternal(Injector.java:230)
	at org.robolectric.util.inject.Injector.resolveDependencies(Injector.java:305)
	at org.robolectric.util.inject.Injector.inject(Injector.java:256)
	at org.robolectric.util.inject.Injector.lambda$memoized$1(Injector.java:239)
	at org.robolectric.util.inject.Injector$MemoizingProvider.get(Injector.java:506)
	at org.robolectric.util.inject.Injector.getInstanceInternal(Injector.java:230)
	at org.robolectric.util.inject.Injector.getInstance(Injector.java:214)
	at org.robolectric.util.inject.Injector$ScopeBuilderProvider.create(Injector.java:575)
	at org.robolectric.util.inject.Injector$ScopeBuilderProvider.lambda$get$0(Injector.java:558)
	at jdk.proxy3/jdk.proxy3.$Proxy35.build(Unknown Source)
	at org.robolectric.internal.SandboxManager.getAndroidSandbox(SandboxManager.java:68)
	at org.robolectric.RobolectricTestRunner.getAndroidSandbox(RobolectricTestRunner.java:283)
	at org.robolectric.RobolectricTestRunner.getSandbox(RobolectricTestRunner.java:261)
	at org.robolectric.RobolectricTestRunner.getSandbox(RobolectricTestRunner.java:67)
	at org.robolectric.internal.SandboxTestRunner.sandboxGroupingClassBlock(SandboxTestRunner.java:206)
	at org.robolectric.internal.SandboxTestRunner.classBlock(SandboxTestRunner.java:194)
	at org.robolectric.RobolectricTestRunner.run(RobolectricTestRunner.java:149)
Caused by: java.util.concurrent.ExecutionException: java.io.IOException: Server returned HTTP response code: 429 for URL: https://repo1.maven..../android-all-instrumented/14-robolectric-10818077-i7/android-all-instrumented-14-robolectric-10818077-i7.jar
	at com.google.common.util.concurrent.AbstractFuture$Failure.newExecutionException(AbstractFuture.java:168)
	at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:298)
	at com.google.common.util.concurrent.AbstractFutureState.blockingGet(AbstractFutureState.java:250)
	at com.google.common.util.concurrent.Platform.get(Platform.java:54)
	at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:263)
	at com.google.common.util.concurrent.AbstractFuture$TrustedFuture.get(AbstractFuture.java:96)
	at org.robolectric.internal.dependency.MavenArtifactFetcher.fetchArtifact(MavenArtifactFetcher.java:122)
	... 29 more
Caused by: java.io.IOException: Server returned HTTP response code: 429 for URL: https://repo1.maven..../android-all-instrumented/14-robolectric-10818077-i7/android-all-instrumented-14-robolectric-10818077-i7.jar
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1706)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1305)
	at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:223)
	at org.robolectric.internal.dependency.MavenArtifactFetcher$FetchToFileTask.call(MavenArtifactFetcher.java:253)
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleAsyncTask.runInterruptibly(TrustedListenableFutureTask.java:164)
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleAsyncTask.runInterruptibly(TrustedListenableFutureTask.java:147)
	at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:74)
	at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:80)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
	at java.base/java.lang.Thread.run(Thread.java:1474)
org.meshtastic.app.map.KmlImportTest::initializationError
Stack Traces | 0.002s run time
java.lang.AssertionError: Failed to fetch maven artifact org.robolectric:android-all-instrumented:14-robolectric-10818077-i7
	at org.robolectric.internal.dependency.MavenArtifactFetcher.fetchArtifact(MavenArtifactFetcher.java:130)
	at org.robolectric.internal.dependency.MavenDependencyResolver.lambda$getLocalArtifactUrls$0(MavenDependencyResolver.java:87)
	at org.robolectric.internal.dependency.MavenDependencyResolver.whileLocked(MavenDependencyResolver.java:107)
	at org.robolectric.internal.dependency.MavenDependencyResolver.getLocalArtifactUrls(MavenDependencyResolver.java:82)
	at org.robolectric.internal.dependency.MavenDependencyResolver.getLocalArtifactUrl(MavenDependencyResolver.java:123)
	at org.robolectric.plugins.LegacyDependencyResolver.getLocalArtifactUrl(LegacyDependencyResolver.java:95)
	at org.robolectric.plugins.DefaultSdkProvider$DefaultSdk.getJarPath(DefaultSdkProvider.java:145)
	at org.robolectric.internal.AndroidSandbox$SdkSandboxClassLoader.<init>(AndroidSandbox.java:128)
	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:483)
	at org.robolectric.util.inject.Injector.inject(Injector.java:258)
	at org.robolectric.util.inject.Injector.lambda$memoized$1(Injector.java:239)
	at org.robolectric.util.inject.Injector$MemoizingProvider.get(Injector.java:506)
	at org.robolectric.util.inject.Injector.getInstanceInternal(Injector.java:230)
	at org.robolectric.util.inject.Injector.resolveDependencies(Injector.java:305)
	at org.robolectric.util.inject.Injector.inject(Injector.java:256)
	at org.robolectric.util.inject.Injector.lambda$memoized$1(Injector.java:239)
	at org.robolectric.util.inject.Injector$MemoizingProvider.get(Injector.java:506)
	at org.robolectric.util.inject.Injector.getInstanceInternal(Injector.java:230)
	at org.robolectric.util.inject.Injector.getInstance(Injector.java:214)
	at org.robolectric.util.inject.Injector$ScopeBuilderProvider.create(Injector.java:575)
	at org.robolectric.util.inject.Injector$ScopeBuilderProvider.lambda$get$0(Injector.java:558)
	at jdk.proxy3/jdk.proxy3.$Proxy35.build(Unknown Source)
	at org.robolectric.internal.SandboxManager.getAndroidSandbox(SandboxManager.java:68)
	at org.robolectric.RobolectricTestRunner.getAndroidSandbox(RobolectricTestRunner.java:283)
	at org.robolectric.RobolectricTestRunner.getSandbox(RobolectricTestRunner.java:261)
	at org.robolectric.RobolectricTestRunner.getSandbox(RobolectricTestRunner.java:67)
	at org.robolectric.internal.SandboxTestRunner.sandboxGroupingClassBlock(SandboxTestRunner.java:206)
	at org.robolectric.internal.SandboxTestRunner.classBlock(SandboxTestRunner.java:194)
	at org.robolectric.RobolectricTestRunner.run(RobolectricTestRunner.java:149)
Caused by: java.util.concurrent.ExecutionException: java.io.IOException: Server returned HTTP response code: 429 for URL: https://repo1.maven..../android-all-instrumented/14-robolectric-10818077-i7/android-all-instrumented-14-robolectric-10818077-i7.jar
	at com.google.common.util.concurrent.AbstractFuture$Failure.newExecutionException(AbstractFuture.java:168)
	at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:298)
	at com.google.common.util.concurrent.AbstractFutureState.blockingGet(AbstractFutureState.java:250)
	at com.google.common.util.concurrent.Platform.get(Platform.java:54)
	at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:263)
	at com.google.common.util.concurrent.AbstractFuture$TrustedFuture.get(AbstractFuture.java:96)
	at org.robolectric.internal.dependency.MavenArtifactFetcher.fetchArtifact(MavenArtifactFetcher.java:122)
	... 29 more
Caused by: java.io.IOException: Server returned HTTP response code: 429 for URL: https://repo1.maven..../android-all-instrumented/14-robolectric-10818077-i7/android-all-instrumented-14-robolectric-10818077-i7.jar
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1706)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1305)
	at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:223)
	at org.robolectric.internal.dependency.MavenArtifactFetcher$FetchToFileTask.call(MavenArtifactFetcher.java:253)
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleAsyncTask.runInterruptibly(TrustedListenableFutureTask.java:164)
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleAsyncTask.runInterruptibly(TrustedListenableFutureTask.java:147)
	at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:74)
	at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:80)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
	at java.base/java.lang.Thread.run(Thread.java:1474)
org.meshtastic.app.ui.NavigationAssemblyTest::initializationError
Stack Traces | 0.003s run time
java.lang.AssertionError: Failed to fetch maven artifact org.robolectric:android-all-instrumented:14-robolectric-10818077-i7
	at org.robolectric.internal.dependency.MavenArtifactFetcher.fetchArtifact(MavenArtifactFetcher.java:130)
	at org.robolectric.internal.dependency.MavenDependencyResolver.lambda$getLocalArtifactUrls$0(MavenDependencyResolver.java:87)
	at org.robolectric.internal.dependency.MavenDependencyResolver.whileLocked(MavenDependencyResolver.java:107)
	at org.robolectric.internal.dependency.MavenDependencyResolver.getLocalArtifactUrls(MavenDependencyResolver.java:82)
	at org.robolectric.internal.dependency.MavenDependencyResolver.getLocalArtifactUrl(MavenDependencyResolver.java:123)
	at org.robolectric.plugins.LegacyDependencyResolver.getLocalArtifactUrl(LegacyDependencyResolver.java:95)
	at org.robolectric.plugins.DefaultSdkProvider$DefaultSdk.getJarPath(DefaultSdkProvider.java:145)
	at org.robolectric.internal.AndroidSandbox$SdkSandboxClassLoader.<init>(AndroidSandbox.java:128)
	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:483)
	at org.robolectric.util.inject.Injector.inject(Injector.java:258)
	at org.robolectric.util.inject.Injector.lambda$memoized$1(Injector.java:239)
	at org.robolectric.util.inject.Injector$MemoizingProvider.get(Injector.java:506)
	at org.robolectric.util.inject.Injector.getInstanceInternal(Injector.java:230)
	at org.robolectric.util.inject.Injector.resolveDependencies(Injector.java:305)
	at org.robolectric.util.inject.Injector.inject(Injector.java:256)
	at org.robolectric.util.inject.Injector.lambda$memoized$1(Injector.java:239)
	at org.robolectric.util.inject.Injector$MemoizingProvider.get(Injector.java:506)
	at org.robolectric.util.inject.Injector.getInstanceInternal(Injector.java:230)
	at org.robolectric.util.inject.Injector.getInstance(Injector.java:214)
	at org.robolectric.util.inject.Injector$ScopeBuilderProvider.create(Injector.java:575)
	at org.robolectric.util.inject.Injector$ScopeBuilderProvider.lambda$get$0(Injector.java:558)
	at jdk.proxy3/jdk.proxy3.$Proxy35.build(Unknown Source)
	at org.robolectric.internal.SandboxManager.getAndroidSandbox(SandboxManager.java:68)
	at org.robolectric.RobolectricTestRunner.getAndroidSandbox(RobolectricTestRunner.java:283)
	at org.robolectric.RobolectricTestRunner.getSandbox(RobolectricTestRunner.java:261)
	at org.robolectric.RobolectricTestRunner.getSandbox(RobolectricTestRunner.java:67)
	at org.robolectric.internal.SandboxTestRunner.sandboxGroupingClassBlock(SandboxTestRunner.java:206)
	at org.robolectric.internal.SandboxTestRunner.classBlock(SandboxTestRunner.java:194)
	at org.robolectric.RobolectricTestRunner.run(RobolectricTestRunner.java:149)
Caused by: java.util.concurrent.ExecutionException: java.io.IOException: Server returned HTTP response code: 429 for URL: https://repo1.maven..../android-all-instrumented/14-robolectric-10818077-i7/android-all-instrumented-14-robolectric-10818077-i7.jar
	at com.google.common.util.concurrent.AbstractFuture$Failure.newExecutionException(AbstractFuture.java:168)
	at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:298)
	at com.google.common.util.concurrent.AbstractFutureState.blockingGet(AbstractFutureState.java:250)
	at com.google.common.util.concurrent.Platform.get(Platform.java:54)
	at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:263)
	at com.google.common.util.concurrent.AbstractFuture$TrustedFuture.get(AbstractFuture.java:96)
	at org.robolectric.internal.dependency.MavenArtifactFetcher.fetchArtifact(MavenArtifactFetcher.java:122)
	... 29 more
Caused by: java.io.IOException: Server returned HTTP response code: 429 for URL: https://repo1.maven..../android-all-instrumented/14-robolectric-10818077-i7/android-all-instrumented-14-robolectric-10818077-i7.jar
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1706)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1305)
	at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:223)
	at org.robolectric.internal.dependency.MavenArtifactFetcher$FetchToFileTask.call(MavenArtifactFetcher.java:253)
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleAsyncTask.runInterruptibly(TrustedListenableFutureTask.java:164)
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleAsyncTask.runInterruptibly(TrustedListenableFutureTask.java:147)
	at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:74)
	at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:80)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
	at java.base/java.lang.Thread.run(Thread.java:1474)
org.meshtastic.app.AndroidAutoManifestTest::initializationError
Stack Traces | 0.004s run time
java.lang.AssertionError: Failed to fetch maven artifact org.robolectric:android-all-instrumented:14-robolectric-10818077-i7
	at org.robolectric.internal.dependency.MavenArtifactFetcher.fetchArtifact(MavenArtifactFetcher.java:130)
	at org.robolectric.internal.dependency.MavenDependencyResolver.lambda$getLocalArtifactUrls$0(MavenDependencyResolver.java:87)
	at org.robolectric.internal.dependency.MavenDependencyResolver.whileLocked(MavenDependencyResolver.java:107)
	at org.robolectric.internal.dependency.MavenDependencyResolver.getLocalArtifactUrls(MavenDependencyResolver.java:82)
	at org.robolectric.internal.dependency.MavenDependencyResolver.getLocalArtifactUrl(MavenDependencyResolver.java:123)
	at org.robolectric.plugins.LegacyDependencyResolver.getLocalArtifactUrl(LegacyDependencyResolver.java:95)
	at org.robolectric.plugins.DefaultSdkProvider$DefaultSdk.getJarPath(DefaultSdkProvider.java:145)
	at org.robolectric.internal.AndroidSandbox$SdkSandboxClassLoader.<init>(AndroidSandbox.java:128)
	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:483)
	at org.robolectric.util.inject.Injector.inject(Injector.java:258)
	at org.robolectric.util.inject.Injector.lambda$memoized$1(Injector.java:239)
	at org.robolectric.util.inject.Injector$MemoizingProvider.get(Injector.java:506)
	at org.robolectric.util.inject.Injector.getInstanceInternal(Injector.java:230)
	at org.robolectric.util.inject.Injector.resolveDependencies(Injector.java:305)
	at org.robolectric.util.inject.Injector.inject(Injector.java:256)
	at org.robolectric.util.inject.Injector.lambda$memoized$1(Injector.java:239)
	at org.robolectric.util.inject.Injector$MemoizingProvider.get(Injector.java:506)
	at org.robolectric.util.inject.Injector.getInstanceInternal(Injector.java:230)
	at org.robolectric.util.inject.Injector.getInstance(Injector.java:214)
	at org.robolectric.util.inject.Injector$ScopeBuilderProvider.create(Injector.java:575)
	at org.robolectric.util.inject.Injector$ScopeBuilderProvider.lambda$get$0(Injector.java:558)
	at jdk.proxy3/jdk.proxy3.$Proxy35.build(Unknown Source)
	at org.robolectric.internal.SandboxManager.getAndroidSandbox(SandboxManager.java:68)
	at org.robolectric.RobolectricTestRunner.getAndroidSandbox(RobolectricTestRunner.java:283)
	at org.robolectric.RobolectricTestRunner.getSandbox(RobolectricTestRunner.java:261)
	at org.robolectric.RobolectricTestRunner.getSandbox(RobolectricTestRunner.java:67)
	at org.robolectric.internal.SandboxTestRunner.sandboxGroupingClassBlock(SandboxTestRunner.java:206)
	at org.robolectric.internal.SandboxTestRunner.classBlock(SandboxTestRunner.java:194)
	at org.robolectric.RobolectricTestRunner.run(RobolectricTestRunner.java:149)
Caused by: java.util.concurrent.ExecutionException: java.io.IOException: Server returned HTTP response code: 429 for URL: https://repo1.maven..../android-all-instrumented/14-robolectric-10818077-i7/android-all-instrumented-14-robolectric-10818077-i7.jar
	at com.google.common.util.concurrent.AbstractFuture$Failure.newExecutionException(AbstractFuture.java:168)
	at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:298)
	at com.google.common.util.concurrent.AbstractFutureState.blockingGet(AbstractFutureState.java:250)
	at com.google.common.util.concurrent.Platform.get(Platform.java:54)
	at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:263)
	at com.google.common.util.concurrent.AbstractFuture$TrustedFuture.get(AbstractFuture.java:96)
	at org.robolectric.internal.dependency.MavenArtifactFetcher.fetchArtifact(MavenArtifactFetcher.java:122)
	... 29 more
Caused by: java.io.IOException: Server returned HTTP response code: 429 for URL: https://repo1.maven..../android-all-instrumented/14-robolectric-10818077-i7/android-all-instrumented-14-robolectric-10818077-i7.jar
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1706)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1305)
	at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:223)
	at org.robolectric.internal.dependency.MavenArtifactFetcher$FetchToFileTask.call(MavenArtifactFetcher.java:253)
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleAsyncTask.runInterruptibly(TrustedListenableFutureTask.java:164)
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleAsyncTask.runInterruptibly(TrustedListenableFutureTask.java:147)
	at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:74)
	at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:80)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
	at java.base/java.lang.Thread.run(Thread.java:1474)
org.meshtastic.app.UnsupportedDeviceStartupTest::initializationError
Stack Traces | 0.004s run time
java.lang.AssertionError: Failed to fetch maven artifact org.robolectric:android-all-instrumented:14-robolectric-10818077-i7
	at org.robolectric.internal.dependency.MavenArtifactFetcher.fetchArtifact(MavenArtifactFetcher.java:130)
	at org.robolectric.internal.dependency.MavenDependencyResolver.lambda$getLocalArtifactUrls$0(MavenDependencyResolver.java:87)
	at org.robolectric.internal.dependency.MavenDependencyResolver.whileLocked(MavenDependencyResolver.java:107)
	at org.robolectric.internal.dependency.MavenDependencyResolver.getLocalArtifactUrls(MavenDependencyResolver.java:82)
	at org.robolectric.internal.dependency.MavenDependencyResolver.getLocalArtifactUrl(MavenDependencyResolver.java:123)
	at org.robolectric.plugins.LegacyDependencyResolver.getLocalArtifactUrl(LegacyDependencyResolver.java:95)
	at org.robolectric.plugins.DefaultSdkProvider$DefaultSdk.getJarPath(DefaultSdkProvider.java:145)
	at org.robolectric.internal.AndroidSandbox$SdkSandboxClassLoader.<init>(AndroidSandbox.java:128)
	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:483)
	at org.robolectric.util.inject.Injector.inject(Injector.java:258)
	at org.robolectric.util.inject.Injector.lambda$memoized$1(Injector.java:239)
	at org.robolectric.util.inject.Injector$MemoizingProvider.get(Injector.java:506)
	at org.robolectric.util.inject.Injector.getInstanceInternal(Injector.java:230)
	at org.robolectric.util.inject.Injector.resolveDependencies(Injector.java:305)
	at org.robolectric.util.inject.Injector.inject(Injector.java:256)
	at org.robolectric.util.inject.Injector.lambda$memoized$1(Injector.java:239)
	at org.robolectric.util.inject.Injector$MemoizingProvider.get(Injector.java:506)
	at org.robolectric.util.inject.Injector.getInstanceInternal(Injector.java:230)
	at org.robolectric.util.inject.Injector.getInstance(Injector.java:214)
	at org.robolectric.util.inject.Injector$ScopeBuilderProvider.create(Injector.java:575)
	at org.robolectric.util.inject.Injector$ScopeBuilderProvider.lambda$get$0(Injector.java:558)
	at jdk.proxy3/jdk.proxy3.$Proxy35.build(Unknown Source)
	at org.robolectric.internal.SandboxManager.getAndroidSandbox(SandboxManager.java:68)
	at org.robolectric.RobolectricTestRunner.getAndroidSandbox(RobolectricTestRunner.java:283)
	at org.robolectric.RobolectricTestRunner.getSandbox(RobolectricTestRunner.java:261)
	at org.robolectric.RobolectricTestRunner.getSandbox(RobolectricTestRunner.java:67)
	at org.robolectric.internal.SandboxTestRunner.sandboxGroupingClassBlock(SandboxTestRunner.java:206)
	at org.robolectric.internal.SandboxTestRunner.classBlock(SandboxTestRunner.java:194)
	at org.robolectric.RobolectricTestRunner.run(RobolectricTestRunner.java:149)
Caused by: java.util.concurrent.ExecutionException: java.io.IOException: Server returned HTTP response code: 429 for URL: https://repo1.maven..../android-all-instrumented/14-robolectric-10818077-i7/android-all-instrumented-14-robolectric-10818077-i7.jar
	at com.google.common.util.concurrent.AbstractFuture$Failure.newExecutionException(AbstractFuture.java:168)
	at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:298)
	at com.google.common.util.concurrent.AbstractFutureState.blockingGet(AbstractFutureState.java:250)
	at com.google.common.util.concurrent.Platform.get(Platform.java:54)
	at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:263)
	at com.google.common.util.concurrent.AbstractFuture$TrustedFuture.get(AbstractFuture.java:96)
	at org.robolectric.internal.dependency.MavenArtifactFetcher.fetchArtifact(MavenArtifactFetcher.java:122)
	... 29 more
Caused by: java.io.IOException: Server returned HTTP response code: 429 for URL: https://repo1.maven..../android-all-instrumented/14-robolectric-10818077-i7/android-all-instrumented-14-robolectric-10818077-i7.jar
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1706)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1305)
	at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:223)
	at org.robolectric.internal.dependency.MavenArtifactFetcher$FetchToFileTask.call(MavenArtifactFetcher.java:253)
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleAsyncTask.runInterruptibly(TrustedListenableFutureTask.java:164)
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleAsyncTask.runInterruptibly(TrustedListenableFutureTask.java:147)
	at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:74)
	at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:80)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
	at java.base/java.lang.Thread.run(Thread.java:1474)
org.meshtastic.app.map.ApplySimpleStyleSpecTest::initializationError
Stack Traces | 0.006s run time
java.lang.AssertionError: Failed to fetch maven artifact org.robolectric:android-all-instrumented:14-robolectric-10818077-i7
	at org.robolectric.internal.dependency.MavenArtifactFetcher.fetchArtifact(MavenArtifactFetcher.java:130)
	at org.robolectric.internal.dependency.MavenDependencyResolver.lambda$getLocalArtifactUrls$0(MavenDependencyResolver.java:87)
	at org.robolectric.internal.dependency.MavenDependencyResolver.whileLocked(MavenDependencyResolver.java:107)
	at org.robolectric.internal.dependency.MavenDependencyResolver.getLocalArtifactUrls(MavenDependencyResolver.java:82)
	at org.robolectric.internal.dependency.MavenDependencyResolver.getLocalArtifactUrl(MavenDependencyResolver.java:123)
	at org.robolectric.plugins.LegacyDependencyResolver.getLocalArtifactUrl(LegacyDependencyResolver.java:95)
	at org.robolectric.plugins.DefaultSdkProvider$DefaultSdk.getJarPath(DefaultSdkProvider.java:145)
	at org.robolectric.internal.AndroidSandbox$SdkSandboxClassLoader.<init>(AndroidSandbox.java:128)
	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:483)
	at org.robolectric.util.inject.Injector.inject(Injector.java:258)
	at org.robolectric.util.inject.Injector.lambda$memoized$1(Injector.java:239)
	at org.robolectric.util.inject.Injector$MemoizingProvider.get(Injector.java:506)
	at org.robolectric.util.inject.Injector.getInstanceInternal(Injector.java:230)
	at org.robolectric.util.inject.Injector.resolveDependencies(Injector.java:305)
	at org.robolectric.util.inject.Injector.inject(Injector.java:256)
	at org.robolectric.util.inject.Injector.lambda$memoized$1(Injector.java:239)
	at org.robolectric.util.inject.Injector$MemoizingProvider.get(Injector.java:506)
	at org.robolectric.util.inject.Injector.getInstanceInternal(Injector.java:230)
	at org.robolectric.util.inject.Injector.getInstance(Injector.java:214)
	at org.robolectric.util.inject.Injector$ScopeBuilderProvider.create(Injector.java:575)
	at org.robolectric.util.inject.Injector$ScopeBuilderProvider.lambda$get$0(Injector.java:558)
	at jdk.proxy3/jdk.proxy3.$Proxy37.build(Unknown Source)
	at org.robolectric.internal.SandboxManager.getAndroidSandbox(SandboxManager.java:68)
	at org.robolectric.RobolectricTestRunner.getAndroidSandbox(RobolectricTestRunner.java:283)
	at org.robolectric.RobolectricTestRunner.getSandbox(RobolectricTestRunner.java:261)
	at org.robolectric.RobolectricTestRunner.getSandbox(RobolectricTestRunner.java:67)
	at org.robolectric.internal.SandboxTestRunner.sandboxGroupingClassBlock(SandboxTestRunner.java:206)
	at org.robolectric.internal.SandboxTestRunner.classBlock(SandboxTestRunner.java:194)
	at org.robolectric.RobolectricTestRunner.run(RobolectricTestRunner.java:149)
Caused by: java.util.concurrent.ExecutionException: java.io.IOException: Server returned HTTP response code: 429 for URL: https://repo1.maven..../android-all-instrumented/14-robolectric-10818077-i7/android-all-instrumented-14-robolectric-10818077-i7.jar
	at com.google.common.util.concurrent.AbstractFuture$Failure.newExecutionException(AbstractFuture.java:168)
	at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:298)
	at com.google.common.util.concurrent.AbstractFutureState.blockingGet(AbstractFutureState.java:250)
	at com.google.common.util.concurrent.Platform.get(Platform.java:54)
	at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:263)
	at com.google.common.util.concurrent.AbstractFuture$TrustedFuture.get(AbstractFuture.java:96)
	at org.robolectric.internal.dependency.MavenArtifactFetcher.fetchArtifact(MavenArtifactFetcher.java:122)
	... 29 more
Caused by: java.io.IOException: Server returned HTTP response code: 429 for URL: https://repo1.maven..../android-all-instrumented/14-robolectric-10818077-i7/android-all-instrumented-14-robolectric-10818077-i7.jar
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1706)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1305)
	at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:223)
	at org.robolectric.internal.dependency.MavenArtifactFetcher$FetchToFileTask.call(MavenArtifactFetcher.java:253)
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleAsyncTask.runInterruptibly(TrustedListenableFutureTask.java:164)
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleAsyncTask.runInterruptibly(TrustedListenableFutureTask.java:147)
	at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:74)
	at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:80)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
	at java.base/java.lang.Thread.run(Thread.java:1474)
org.meshtastic.app.ExportedActivityManifestTest::initializationError
Stack Traces | 0.007s run time
java.lang.AssertionError: Failed to fetch maven artifact org.robolectric:android-all-instrumented:14-robolectric-10818077-i7
	at org.robolectric.internal.dependency.MavenArtifactFetcher.fetchArtifact(MavenArtifactFetcher.java:130)
	at org.robolectric.internal.dependency.MavenDependencyResolver.lambda$getLocalArtifactUrls$0(MavenDependencyResolver.java:87)
	at org.robolectric.internal.dependency.MavenDependencyResolver.whileLocked(MavenDependencyResolver.java:107)
	at org.robolectric.internal.dependency.MavenDependencyResolver.getLocalArtifactUrls(MavenDependencyResolver.java:82)
	at org.robolectric.internal.dependency.MavenDependencyResolver.getLocalArtifactUrl(MavenDependencyResolver.java:123)
	at org.robolectric.plugins.LegacyDependencyResolver.getLocalArtifactUrl(LegacyDependencyResolver.java:95)
	at org.robolectric.plugins.DefaultSdkProvider$DefaultSdk.getJarPath(DefaultSdkProvider.java:145)
	at org.robolectric.internal.AndroidSandbox$SdkSandboxClassLoader.<init>(AndroidSandbox.java:128)
	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:483)
	at org.robolectric.util.inject.Injector.inject(Injector.java:258)
	at org.robolectric.util.inject.Injector.lambda$memoized$1(Injector.java:239)
	at org.robolectric.util.inject.Injector$MemoizingProvider.get(Injector.java:506)
	at org.robolectric.util.inject.Injector.getInstanceInternal(Injector.java:230)
	at org.robolectric.util.inject.Injector.resolveDependencies(Injector.java:305)
	at org.robolectric.util.inject.Injector.inject(Injector.java:256)
	at org.robolectric.util.inject.Injector.lambda$memoized$1(Injector.java:239)
	at org.robolectric.util.inject.Injector$MemoizingProvider.get(Injector.java:506)
	at org.robolectric.util.inject.Injector.getInstanceInternal(Injector.java:230)
	at org.robolectric.util.inject.Injector.getInstance(Injector.java:214)
	at org.robolectric.util.inject.Injector$ScopeBuilderProvider.create(Injector.java:575)
	at org.robolectric.util.inject.Injector$ScopeBuilderProvider.lambda$get$0(Injector.java:558)
	at jdk.proxy3/jdk.proxy3.$Proxy35.build(Unknown Source)
	at org.robolectric.internal.SandboxManager.getAndroidSandbox(SandboxManager.java:68)
	at org.robolectric.RobolectricTestRunner.getAndroidSandbox(RobolectricTestRunner.java:283)
	at org.robolectric.RobolectricTestRunner.getSandbox(RobolectricTestRunner.java:261)
	at org.robolectric.RobolectricTestRunner.getSandbox(RobolectricTestRunner.java:67)
	at org.robolectric.internal.SandboxTestRunner.sandboxGroupingClassBlock(SandboxTestRunner.java:206)
	at org.robolectric.internal.SandboxTestRunner.classBlock(SandboxTestRunner.java:194)
	at org.robolectric.RobolectricTestRunner.run(RobolectricTestRunner.java:149)
Caused by: java.util.concurrent.ExecutionException: java.io.IOException: Server returned HTTP response code: 429 for URL: https://repo1.maven..../android-all-instrumented/14-robolectric-10818077-i7/android-all-instrumented-14-robolectric-10818077-i7.jar
	at com.google.common.util.concurrent.AbstractFuture$Failure.newExecutionException(AbstractFuture.java:168)
	at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:298)
	at com.google.common.util.concurrent.AbstractFutureState.blockingGet(AbstractFutureState.java:250)
	at com.google.common.util.concurrent.Platform.get(Platform.java:54)
	at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:263)
	at com.google.common.util.concurrent.AbstractFuture$TrustedFuture.get(AbstractFuture.java:96)
	at org.robolectric.internal.dependency.MavenArtifactFetcher.fetchArtifact(MavenArtifactFetcher.java:122)
	... 29 more
Caused by: java.io.IOException: Server returned HTTP response code: 429 for URL: https://repo1.maven..../android-all-instrumented/14-robolectric-10818077-i7/android-all-instrumented-14-robolectric-10818077-i7.jar
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1706)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1305)
	at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:223)
	at org.robolectric.internal.dependency.MavenArtifactFetcher$FetchToFileTask.call(MavenArtifactFetcher.java:253)
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleAsyncTask.runInterruptibly(TrustedListenableFutureTask.java:164)
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleAsyncTask.runInterruptibly(TrustedListenableFutureTask.java:147)
	at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:74)
	at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:80)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
	at java.base/java.lang.Thread.run(Thread.java:1474)
org.meshtastic.app.MainActivityLaunchIntentTest::initializationError
Stack Traces | 0.007s run time
java.lang.AssertionError: Failed to fetch maven artifact org.robolectric:android-all-instrumented:14-robolectric-10818077-i7
	at org.robolectric.internal.dependency.MavenArtifactFetcher.fetchArtifact(MavenArtifactFetcher.java:130)
	at org.robolectric.internal.dependency.MavenDependencyResolver.lambda$getLocalArtifactUrls$0(MavenDependencyResolver.java:87)
	at org.robolectric.internal.dependency.MavenDependencyResolver.whileLocked(MavenDependencyResolver.java:107)
	at org.robolectric.internal.dependency.MavenDependencyResolver.getLocalArtifactUrls(MavenDependencyResolver.java:82)
	at org.robolectric.internal.dependency.MavenDependencyResolver.getLocalArtifactUrl(MavenDependencyResolver.java:123)
	at org.robolectric.plugins.LegacyDependencyResolver.getLocalArtifactUrl(LegacyDependencyResolver.java:95)
	at org.robolectric.plugins.DefaultSdkProvider$DefaultSdk.getJarPath(DefaultSdkProvider.java:145)
	at org.robolectric.internal.AndroidSandbox$SdkSandboxClassLoader.<init>(AndroidSandbox.java:128)
	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:483)
	at org.robolectric.util.inject.Injector.inject(Injector.java:258)
	at org.robolectric.util.inject.Injector.lambda$memoized$1(Injector.java:239)
	at org.robolectric.util.inject.Injector$MemoizingProvider.get(Injector.java:506)
	at org.robolectric.util.inject.Injector.getInstanceInternal(Injector.java:230)
	at org.robolectric.util.inject.Injector.resolveDependencies(Injector.java:305)
	at org.robolectric.util.inject.Injector.inject(Injector.java:256)
	at org.robolectric.util.inject.Injector.lambda$memoized$1(Injector.java:239)
	at org.robolectric.util.inject.Injector$MemoizingProvider.get(Injector.java:506)
	at org.robolectric.util.inject.Injector.getInstanceInternal(Injector.java:230)
	at org.robolectric.util.inject.Injector.getInstance(Injector.java:214)
	at org.robolectric.util.inject.Injector$ScopeBuilderProvider.create(Injector.java:575)
	at org.robolectric.util.inject.Injector$ScopeBuilderProvider.lambda$get$0(Injector.java:558)
	at jdk.proxy3/jdk.proxy3.$Proxy37.build(Unknown Source)
	at org.robolectric.internal.SandboxManager.getAndroidSandbox(SandboxManager.java:68)
	at org.robolectric.RobolectricTestRunner.getAndroidSandbox(RobolectricTestRunner.java:283)
	at org.robolectric.RobolectricTestRunner.getSandbox(RobolectricTestRunner.java:261)
	at org.robolectric.RobolectricTestRunner.getSandbox(RobolectricTestRunner.java:67)
	at org.robolectric.internal.SandboxTestRunner.sandboxGroupingClassBlock(SandboxTestRunner.java:206)
	at org.robolectric.internal.SandboxTestRunner.classBlock(SandboxTestRunner.java:194)
	at org.robolectric.RobolectricTestRunner.run(RobolectricTestRunner.java:149)
Caused by: java.util.concurrent.ExecutionException: java.io.IOException: Server returned HTTP response code: 429 for URL: https://repo1.maven..../android-all-instrumented/14-robolectric-10818077-i7/android-all-instrumented-14-robolectric-10818077-i7.jar
	at com.google.common.util.concurrent.AbstractFuture$Failure.newExecutionException(AbstractFuture.java:168)
	at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:298)
	at com.google.common.util.concurrent.AbstractFutureState.blockingGet(AbstractFutureState.java:250)
	at com.google.common.util.concurrent.Platform.get(Platform.java:54)
	at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:263)
	at com.google.common.util.concurrent.AbstractFuture$TrustedFuture.get(AbstractFuture.java:96)
	at org.robolectric.internal.dependency.MavenArtifactFetcher.fetchArtifact(MavenArtifactFetcher.java:122)
	... 29 more
Caused by: java.io.IOException: Server returned HTTP response code: 429 for URL: https://repo1.maven..../android-all-instrumented/14-robolectric-10818077-i7/android-all-instrumented-14-robolectric-10818077-i7.jar
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1706)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1305)
	at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:223)
	at org.robolectric.internal.dependency.MavenArtifactFetcher$FetchToFileTask.call(MavenArtifactFetcher.java:253)
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleAsyncTask.runInterruptibly(TrustedListenableFutureTask.java:164)
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleAsyncTask.runInterruptibly(TrustedListenableFutureTask.java:147)
	at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:74)
	at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:80)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
	at java.base/java.lang.Thread.run(Thread.java:1474)
org.meshtastic.app.BundledSqliteGuardTest::initializationError
Stack Traces | 0.008s run time
java.lang.AssertionError: Failed to fetch maven artifact org.robolectric:android-all-instrumented:14-robolectric-10818077-i7
	at org.robolectric.internal.dependency.MavenArtifactFetcher.fetchArtifact(MavenArtifactFetcher.java:130)
	at org.robolectric.internal.dependency.MavenDependencyResolver.lambda$getLocalArtifactUrls$0(MavenDependencyResolver.java:87)
	at org.robolectric.internal.dependency.MavenDependencyResolver.whileLocked(MavenDependencyResolver.java:107)
	at org.robolectric.internal.dependency.MavenDependencyResolver.getLocalArtifactUrls(MavenDependencyResolver.java:82)
	at org.robolectric.internal.dependency.MavenDependencyResolver.getLocalArtifactUrl(MavenDependencyResolver.java:123)
	at org.robolectric.plugins.LegacyDependencyResolver.getLocalArtifactUrl(LegacyDependencyResolver.java:95)
	at org.robolectric.plugins.DefaultSdkProvider$DefaultSdk.getJarPath(DefaultSdkProvider.java:145)
	at org.robolectric.internal.AndroidSandbox$SdkSandboxClassLoader.<init>(AndroidSandbox.java:128)
	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:483)
	at org.robolectric.util.inject.Injector.inject(Injector.java:258)
	at org.robolectric.util.inject.Injector.lambda$memoized$1(Injector.java:239)
	at org.robolectric.util.inject.Injector$MemoizingProvider.get(Injector.java:506)
	at org.robolectric.util.inject.Injector.getInstanceInternal(Injector.java:230)
	at org.robolectric.util.inject.Injector.resolveDependencies(Injector.java:305)
	at org.robolectric.util.inject.Injector.inject(Injector.java:256)
	at org.robolectric.util.inject.Injector.lambda$memoized$1(Injector.java:239)
	at org.robolectric.util.inject.Injector$MemoizingProvider.get(Injector.java:506)
	at org.robolectric.util.inject.Injector.getInstanceInternal(Injector.java:230)
	at org.robolectric.util.inject.Injector.getInstance(Injector.java:214)
	at org.robolectric.util.inject.Injector$ScopeBuilderProvider.create(Injector.java:575)
	at org.robolectric.util.inject.Injector$ScopeBuilderProvider.lambda$get$0(Injector.java:558)
	at jdk.proxy3/jdk.proxy3.$Proxy33.build(Unknown Source)
	at org.robolectric.internal.SandboxManager.getAndroidSandbox(SandboxManager.java:68)
	at org.robolectric.RobolectricTestRunner.getAndroidSandbox(RobolectricTestRunner.java:283)
	at org.robolectric.RobolectricTestRunner.getSandbox(RobolectricTestRunner.java:261)
	at org.robolectric.RobolectricTestRunner.getSandbox(RobolectricTestRunner.java:67)
	at org.robolectric.internal.SandboxTestRunner.sandboxGroupingClassBlock(SandboxTestRunner.java:206)
	at org.robolectric.internal.SandboxTestRunner.classBlock(SandboxTestRunner.java:194)
	at org.robolectric.RobolectricTestRunner.run(RobolectricTestRunner.java:149)
Caused by: java.util.concurrent.ExecutionException: java.io.IOException: Server returned HTTP response code: 429 for URL: https://repo1.maven..../android-all-instrumented/14-robolectric-10818077-i7/android-all-instrumented-14-robolectric-10818077-i7.jar
	at com.google.common.util.concurrent.AbstractFuture$Failure.newExecutionException(AbstractFuture.java:168)
	at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:298)
	at com.google.common.util.concurrent.AbstractFutureState.blockingGet(AbstractFutureState.java:250)
	at com.google.common.util.concurrent.Platform.get(Platform.java:54)
	at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:263)
	at com.google.common.util.concurrent.AbstractFuture$TrustedFuture.get(AbstractFuture.java:96)
	at org.robolectric.internal.dependency.MavenArtifactFetcher.fetchArtifact(MavenArtifactFetcher.java:122)
	... 29 more
Caused by: java.io.IOException: Server returned HTTP response code: 429 for URL: https://repo1.maven..../android-all-instrumented/14-robolectric-10818077-i7/android-all-instrumented-14-robolectric-10818077-i7.jar
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1706)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1305)
	at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:223)
	at org.robolectric.internal.dependency.MavenArtifactFetcher$FetchToFileTask.call(MavenArtifactFetcher.java:253)
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleAsyncTask.runInterruptibly(TrustedListenableFutureTask.java:164)
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleAsyncTask.runInterruptibly(TrustedListenableFutureTask.java:147)
	at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:74)
	at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:80)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
	at java.base/java.lang.Thread.run(Thread.java:1474)
org.meshtastic.app.AdvertisingIdManifestTest::initializationError
Stack Traces | 0.009s run time
java.lang.AssertionError: Failed to fetch maven artifact org.robolectric:android-all-instrumented:14-robolectric-10818077-i7
	at org.robolectric.internal.dependency.MavenArtifactFetcher.fetchArtifact(MavenArtifactFetcher.java:130)
	at org.robolectric.internal.dependency.MavenDependencyResolver.lambda$getLocalArtifactUrls$0(MavenDependencyResolver.java:87)
	at org.robolectric.internal.dependency.MavenDependencyResolver.whileLocked(MavenDependencyResolver.java:107)
	at org.robolectric.internal.dependency.MavenDependencyResolver.getLocalArtifactUrls(MavenDependencyResolver.java:82)
	at org.robolectric.internal.dependency.MavenDependencyResolver.getLocalArtifactUrl(MavenDependencyResolver.java:123)
	at org.robolectric.plugins.LegacyDependencyResolver.getLocalArtifactUrl(LegacyDependencyResolver.java:95)
	at org.robolectric.plugins.DefaultSdkProvider$DefaultSdk.getJarPath(DefaultSdkProvider.java:145)
	at org.robolectric.internal.AndroidSandbox$SdkSandboxClassLoader.<init>(AndroidSandbox.java:128)
	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:483)
	at org.robolectric.util.inject.Injector.inject(Injector.java:258)
	at org.robolectric.util.inject.Injector.lambda$memoized$1(Injector.java:239)
	at org.robolectric.util.inject.Injector$MemoizingProvider.get(Injector.java:506)
	at org.robolectric.util.inject.Injector.getInstanceInternal(Injector.java:230)
	at org.robolectric.util.inject.Injector.resolveDependencies(Injector.java:305)
	at org.robolectric.util.inject.Injector.inject(Injector.java:256)
	at org.robolectric.util.inject.Injector.lambda$memoized$1(Injector.java:239)
	at org.robolectric.util.inject.Injector$MemoizingProvider.get(Injector.java:506)
	at org.robolectric.util.inject.Injector.getInstanceInternal(Injector.java:230)
	at org.robolectric.util.inject.Injector.getInstance(Injector.java:214)
	at org.robolectric.util.inject.Injector$ScopeBuilderProvider.create(Injector.java:575)
	at org.robolectric.util.inject.Injector$ScopeBuilderProvider.lambda$get$0(Injector.java:558)
	at jdk.proxy3/jdk.proxy3.$Proxy35.build(Unknown Source)
	at org.robolectric.internal.SandboxManager.getAndroidSandbox(SandboxManager.java:68)
	at org.robolectric.RobolectricTestRunner.getAndroidSandbox(RobolectricTestRunner.java:283)
	at org.robolectric.RobolectricTestRunner.getSandbox(RobolectricTestRunner.java:261)
	at org.robolectric.RobolectricTestRunner.getSandbox(RobolectricTestRunner.java:67)
	at org.robolectric.internal.SandboxTestRunner.sandboxGroupingClassBlock(SandboxTestRunner.java:206)
	at org.robolectric.internal.SandboxTestRunner.classBlock(SandboxTestRunner.java:194)
	at org.robolectric.RobolectricTestRunner.run(RobolectricTestRunner.java:149)
Caused by: java.util.concurrent.ExecutionException: java.io.IOException: Server returned HTTP response code: 429 for URL: https://repo1.maven..../android-all-instrumented/14-robolectric-10818077-i7/android-all-instrumented-14-robolectric-10818077-i7.jar
	at com.google.common.util.concurrent.AbstractFuture$Failure.newExecutionException(AbstractFuture.java:168)
	at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:298)
	at com.google.common.util.concurrent.AbstractFutureState.blockingGet(AbstractFutureState.java:250)
	at com.google.common.util.concurrent.Platform.get(Platform.java:54)
	at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:263)
	at com.google.common.util.concurrent.AbstractFuture$TrustedFuture.get(AbstractFuture.java:96)
	at org.robolectric.internal.dependency.MavenArtifactFetcher.fetchArtifact(MavenArtifactFetcher.java:122)
	... 29 more
Caused by: java.io.IOException: Server returned HTTP response code: 429 for URL: https://repo1.maven..../android-all-instrumented/14-robolectric-10818077-i7/android-all-instrumented-14-robolectric-10818077-i7.jar
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1706)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1305)
	at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:223)
	at org.robolectric.internal.dependency.MavenArtifactFetcher$FetchToFileTask.call(MavenArtifactFetcher.java:253)
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleAsyncTask.runInterruptibly(TrustedListenableFutureTask.java:164)
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleAsyncTask.runInterruptibly(TrustedListenableFutureTask.java:147)
	at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:74)
	at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:80)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
	at java.base/java.lang.Thread.run(Thread.java:1474)
org.meshtastic.app.CoilImageLoaderLifecycleTest::initializationError
Stack Traces | 0.009s run time
java.lang.AssertionError: Failed to fetch maven artifact org.robolectric:android-all-instrumented:14-robolectric-10818077-i7
	at org.robolectric.internal.dependency.MavenArtifactFetcher.fetchArtifact(MavenArtifactFetcher.java:130)
	at org.robolectric.internal.dependency.MavenDependencyResolver.lambda$getLocalArtifactUrls$0(MavenDependencyResolver.java:87)
	at org.robolectric.internal.dependency.MavenDependencyResolver.whileLocked(MavenDependencyResolver.java:107)
	at org.robolectric.internal.dependency.MavenDependencyResolver.getLocalArtifactUrls(MavenDependencyResolver.java:82)
	at org.robolectric.internal.dependency.MavenDependencyResolver.getLocalArtifactUrl(MavenDependencyResolver.java:123)
	at org.robolectric.plugins.LegacyDependencyResolver.getLocalArtifactUrl(LegacyDependencyResolver.java:95)
	at org.robolectric.plugins.DefaultSdkProvider$DefaultSdk.getJarPath(DefaultSdkProvider.java:145)
	at org.robolectric.internal.AndroidSandbox$SdkSandboxClassLoader.<init>(AndroidSandbox.java:128)
	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:483)
	at org.robolectric.util.inject.Injector.inject(Injector.java:258)
	at org.robolectric.util.inject.Injector.lambda$memoized$1(Injector.java:239)
	at org.robolectric.util.inject.Injector$MemoizingProvider.get(Injector.java:506)
	at org.robolectric.util.inject.Injector.getInstanceInternal(Injector.java:230)
	at org.robolectric.util.inject.Injector.resolveDependencies(Injector.java:305)
	at org.robolectric.util.inject.Injector.inject(Injector.java:256)
	at org.robolectric.util.inject.Injector.lambda$memoized$1(Injector.java:239)
	at org.robolectric.util.inject.Injector$MemoizingProvider.get(Injector.java:506)
	at org.robolectric.util.inject.Injector.getInstanceInternal(Injector.java:230)
	at org.robolectric.util.inject.Injector.getInstance(Injector.java:214)
	at org.robolectric.util.inject.Injector$ScopeBuilderProvider.create(Injector.java:575)
	at org.robolectric.util.inject.Injector$ScopeBuilderProvider.lambda$get$0(Injector.java:558)
	at jdk.proxy3/jdk.proxy3.$Proxy36.build(Unknown Source)
	at org.robolectric.internal.SandboxManager.getAndroidSandbox(SandboxManager.java:68)
	at org.robolectric.RobolectricTestRunner.getAndroidSandbox(RobolectricTestRunner.java:283)
	at org.robolectric.RobolectricTestRunner.getSandbox(RobolectricTestRunner.java:261)
	at org.robolectric.RobolectricTestRunner.getSandbox(RobolectricTestRunner.java:67)
	at org.robolectric.internal.SandboxTestRunner.sandboxGroupingClassBlock(SandboxTestRunner.java:206)
	at org.robolectric.internal.SandboxTestRunner.classBlock(SandboxTestRunner.java:194)
	at org.robolectric.RobolectricTestRunner.run(RobolectricTestRunner.java:149)
Caused by: java.util.concurrent.ExecutionException: java.io.IOException: Server returned HTTP response code: 429 for URL: https://repo1.maven..../android-all-instrumented/14-robolectric-10818077-i7/android-all-instrumented-14-robolectric-10818077-i7.jar
	at com.google.common.util.concurrent.AbstractFuture$Failure.newExecutionException(AbstractFuture.java:168)
	at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:298)
	at com.google.common.util.concurrent.AbstractFutureState.blockingGet(AbstractFutureState.java:250)
	at com.google.common.util.concurrent.Platform.get(Platform.java:54)
	at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:263)
	at com.google.common.util.concurrent.AbstractFuture$TrustedFuture.get(AbstractFuture.java:96)
	at org.robolectric.internal.dependency.MavenArtifactFetcher.fetchArtifact(MavenArtifactFetcher.java:122)
	... 29 more
Caused by: java.io.IOException: Server returned HTTP response code: 429 for URL: https://repo1.maven..../android-all-instrumented/14-robolectric-10818077-i7/android-all-instrumented-14-robolectric-10818077-i7.jar
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1706)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1305)
	at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:223)
	at org.robolectric.internal.dependency.MavenArtifactFetcher$FetchToFileTask.call(MavenArtifactFetcher.java:253)
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleAsyncTask.runInterruptibly(TrustedListenableFutureTask.java:164)
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleAsyncTask.runInterruptibly(TrustedListenableFutureTask.java:147)
	at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:74)
	at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:80)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
	at java.base/java.lang.Thread.run(Thread.java:1474)
org.meshtastic.app.map.KmlToGoogleLayerTest::initializationError
Stack Traces | 0.009s run time
java.lang.AssertionError: Failed to fetch maven artifact org.robolectric:android-all-instrumented:14-robolectric-10818077-i7
	at org.robolectric.internal.dependency.MavenArtifactFetcher.fetchArtifact(MavenArtifactFetcher.java:130)
	at org.robolectric.internal.dependency.MavenDependencyResolver.lambda$getLocalArtifactUrls$0(MavenDependencyResolver.java:87)
	at org.robolectric.internal.dependency.MavenDependencyResolver.whileLocked(MavenDependencyResolver.java:107)
	at org.robolectric.internal.dependency.MavenDependencyResolver.getLocalArtifactUrls(MavenDependencyResolver.java:82)
	at org.robolectric.internal.dependency.MavenDependencyResolver.getLocalArtifactUrl(MavenDependencyResolver.java:123)
	at org.robolectric.plugins.LegacyDependencyResolver.getLocalArtifactUrl(LegacyDependencyResolver.java:95)
	at org.robolectric.plugins.DefaultSdkProvider$DefaultSdk.getJarPath(DefaultSdkProvider.java:145)
	at org.robolectric.internal.AndroidSandbox$SdkSandboxClassLoader.<init>(AndroidSandbox.java:128)
	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:483)
	at org.robolectric.util.inject.Injector.inject(Injector.java:258)
	at org.robolectric.util.inject.Injector.lambda$memoized$1(Injector.java:239)
	at org.robolectric.util.inject.Injector$MemoizingProvider.get(Injector.java:506)
	at org.robolectric.util.inject.Injector.getInstanceInternal(Injector.java:230)
	at org.robolectric.util.inject.Injector.resolveDependencies(Injector.java:305)
	at org.robolectric.util.inject.Injector.inject(Injector.java:256)
	at org.robolectric.util.inject.Injector.lambda$memoized$1(Injector.java:239)
	at org.robolectric.util.inject.Injector$MemoizingProvider.get(Injector.java:506)
	at org.robolectric.util.inject.Injector.getInstanceInternal(Injector.java:230)
	at org.robolectric.util.inject.Injector.getInstance(Injector.java:214)
	at org.robolectric.util.inject.Injector$ScopeBuilderProvider.create(Injector.java:575)
	at org.robolectric.util.inject.Injector$ScopeBuilderProvider.lambda$get$0(Injector.java:558)
	at jdk.proxy3/jdk.proxy3.$Proxy37.build(Unknown Source)
	at org.robolectric.internal.SandboxManager.getAndroidSandbox(SandboxManager.java:68)
	at org.robolectric.RobolectricTestRunner.getAndroidSandbox(RobolectricTestRunner.java:283)
	at org.robolectric.RobolectricTestRunner.getSandbox(RobolectricTestRunner.java:261)
	at org.robolectric.RobolectricTestRunner.getSandbox(RobolectricTestRunner.java:67)
	at org.robolectric.internal.SandboxTestRunner.sandboxGroupingClassBlock(SandboxTestRunner.java:206)
	at org.robolectric.internal.SandboxTestRunner.classBlock(SandboxTestRunner.java:194)
	at org.robolectric.RobolectricTestRunner.run(RobolectricTestRunner.java:149)
Caused by: java.util.concurrent.ExecutionException: java.io.IOException: Server returned HTTP response code: 429 for URL: https://repo1.maven..../android-all-instrumented/14-robolectric-10818077-i7/android-all-instrumented-14-robolectric-10818077-i7.jar
	at com.google.common.util.concurrent.AbstractFuture$Failure.newExecutionException(AbstractFuture.java:168)
	at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:298)
	at com.google.common.util.concurrent.AbstractFutureState.blockingGet(AbstractFutureState.java:250)
	at com.google.common.util.concurrent.Platform.get(Platform.java:54)
	at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:263)
	at com.google.common.util.concurrent.AbstractFuture$TrustedFuture.get(AbstractFuture.java:96)
	at org.robolectric.internal.dependency.MavenArtifactFetcher.fetchArtifact(MavenArtifactFetcher.java:122)
	... 29 more
Caused by: java.io.IOException: Server returned HTTP response code: 429 for URL: https://repo1.maven..../android-all-instrumented/14-robolectric-10818077-i7/android-all-instrumented-14-robolectric-10818077-i7.jar
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1706)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1305)
	at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:223)
	at org.robolectric.internal.dependency.MavenArtifactFetcher$FetchToFileTask.call(MavenArtifactFetcher.java:253)
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleAsyncTask.runInterruptibly(TrustedListenableFutureTask.java:164)
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleAsyncTask.runInterruptibly(TrustedListenableFutureTask.java:147)
	at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:74)
	at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:80)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
	at java.base/java.lang.Thread.run(Thread.java:1474)
org.meshtastic.app.map.MapNodeClusterItemsTest::initializationError
Stack Traces | 0.009s run time
java.lang.AssertionError: Failed to fetch maven artifact org.robolectric:android-all-instrumented:14-robolectric-10818077-i7
	at org.robolectric.internal.dependency.MavenArtifactFetcher.fetchArtifact(MavenArtifactFetcher.java:130)
	at org.robolectric.internal.dependency.MavenDependencyResolver.lambda$getLocalArtifactUrls$0(MavenDependencyResolver.java:87)
	at org.robolectric.internal.dependency.MavenDependencyResolver.whileLocked(MavenDependencyResolver.java:107)
	at org.robolectric.internal.dependency.MavenDependencyResolver.getLocalArtifactUrls(MavenDependencyResolver.java:82)
	at org.robolectric.internal.dependency.MavenDependencyResolver.getLocalArtifactUrl(MavenDependencyResolver.java:123)
	at org.robolectric.plugins.LegacyDependencyResolver.getLocalArtifactUrl(LegacyDependencyResolver.java:95)
	at org.robolectric.plugins.DefaultSdkProvider$DefaultSdk.getJarPath(DefaultSdkProvider.java:145)
	at org.robolectric.internal.AndroidSandbox$SdkSandboxClassLoader.<init>(AndroidSandbox.java:128)
	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:483)
	at org.robolectric.util.inject.Injector.inject(Injector.java:258)
	at org.robolectric.util.inject.Injector.lambda$memoized$1(Injector.java:239)
	at org.robolectric.util.inject.Injector$MemoizingProvider.get(Injector.java:506)
	at org.robolectric.util.inject.Injector.getInstanceInternal(Injector.java:230)
	at org.robolectric.util.inject.Injector.resolveDependencies(Injector.java:305)
	at org.robolectric.util.inject.Injector.inject(Injector.java:256)
	at org.robolectric.util.inject.Injector.lambda$memoized$1(Injector.java:239)
	at org.robolectric.util.inject.Injector$MemoizingProvider.get(Injector.java:506)
	at org.robolectric.util.inject.Injector.getInstanceInternal(Injector.java:230)
	at org.robolectric.util.inject.Injector.getInstance(Injector.java:214)
	at org.robolectric.util.inject.Injector$ScopeBuilderProvider.create(Injector.java:575)
	at org.robolectric.util.inject.Injector$ScopeBuilderProvider.lambda$get$0(Injector.java:558)
	at jdk.proxy3/jdk.proxy3.$Proxy35.build(Unknown Source)
	at org.robolectric.internal.SandboxManager.getAndroidSandbox(SandboxManager.java:68)
	at org.robolectric.RobolectricTestRunner.getAndroidSandbox(RobolectricTestRunner.java:283)
	at org.robolectric.RobolectricTestRunner.getSandbox(RobolectricTestRunner.java:261)
	at org.robolectric.RobolectricTestRunner.getSandbox(RobolectricTestRunner.java:67)
	at org.robolectric.internal.SandboxTestRunner.sandboxGroupingClassBlock(SandboxTestRunner.java:206)
	at org.robolectric.internal.SandboxTestRunner.classBlock(SandboxTestRunner.java:194)
	at org.robolectric.RobolectricTestRunner.run(RobolectricTestRunner.java:149)
Caused by: java.util.concurrent.ExecutionException: java.io.IOException: Server returned HTTP response code: 429 for URL: https://repo1.maven..../android-all-instrumented/14-robolectric-10818077-i7/android-all-instrumented-14-robolectric-10818077-i7.jar
	at com.google.common.util.concurrent.AbstractFuture$Failure.newExecutionException(AbstractFuture.java:168)
	at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:298)
	at com.google.common.util.concurrent.AbstractFutureState.blockingGet(AbstractFutureState.java:250)
	at com.google.common.util.concurrent.Platform.get(Platform.java:54)
	at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:263)
	at com.google.common.util.concurrent.AbstractFuture$TrustedFuture.get(AbstractFuture.java:96)
	at org.robolectric.internal.dependency.MavenArtifactFetcher.fetchArtifact(MavenArtifactFetcher.java:122)
	... 29 more
Caused by: java.io.IOException: Server returned HTTP response code: 429 for URL: https://repo1.maven..../android-all-instrumented/14-robolectric-10818077-i7/android-all-instrumented-14-robolectric-10818077-i7.jar
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1706)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1305)
	at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:223)
	at org.robolectric.internal.dependency.MavenArtifactFetcher$FetchToFileTask.call(MavenArtifactFetcher.java:253)
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleAsyncTask.runInterruptibly(TrustedListenableFutureTask.java:164)
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleAsyncTask.runInterruptibly(TrustedListenableFutureTask.java:147)
	at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:74)
	at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:80)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
	at java.base/java.lang.Thread.run(Thread.java:1474)
org.meshtastic.app.map.MapLayerOpacityTest::initializationError
Stack Traces | 0.01s run time
java.lang.AssertionError: Failed to fetch maven artifact org.robolectric:android-all-instrumented:14-robolectric-10818077-i7
	at org.robolectric.internal.dependency.MavenArtifactFetcher.fetchArtifact(MavenArtifactFetcher.java:130)
	at org.robolectric.internal.dependency.MavenDependencyResolver.lambda$getLocalArtifactUrls$0(MavenDependencyResolver.java:87)
	at org.robolectric.internal.dependency.MavenDependencyResolver.whileLocked(MavenDependencyResolver.java:107)
	at org.robolectric.internal.dependency.MavenDependencyResolver.getLocalArtifactUrls(MavenDependencyResolver.java:82)
	at org.robolectric.internal.dependency.MavenDependencyResolver.getLocalArtifactUrl(MavenDependencyResolver.java:123)
	at org.robolectric.plugins.LegacyDependencyResolver.getLocalArtifactUrl(LegacyDependencyResolver.java:95)
	at org.robolectric.plugins.DefaultSdkProvider$DefaultSdk.getJarPath(DefaultSdkProvider.java:145)
	at org.robolectric.internal.AndroidSandbox$SdkSandboxClassLoader.<init>(AndroidSandbox.java:128)
	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:483)
	at org.robolectric.util.inject.Injector.inject(Injector.java:258)
	at org.robolectric.util.inject.Injector.lambda$memoized$1(Injector.java:239)
	at org.robolectric.util.inject.Injector$MemoizingProvider.get(Injector.java:506)
	at org.robolectric.util.inject.Injector.getInstanceInternal(Injector.java:230)
	at org.robolectric.util.inject.Injector.resolveDependencies(Injector.java:305)
	at org.robolectric.util.inject.Injector.inject(Injector.java:256)
	at org.robolectric.util.inject.Injector.lambda$memoized$1(Injector.java:239)
	at org.robolectric.util.inject.Injector$MemoizingProvider.get(Injector.java:506)
	at org.robolectric.util.inject.Injector.getInstanceInternal(Injector.java:230)
	at org.robolectric.util.inject.Injector.getInstance(Injector.java:214)
	at org.robolectric.util.inject.Injector$ScopeBuilderProvider.create(Injector.java:575)
	at org.robolectric.util.inject.Injector$ScopeBuilderProvider.lambda$get$0(Injector.java:558)
	at jdk.proxy3/jdk.proxy3.$Proxy35.build(Unknown Source)
	at org.robolectric.internal.SandboxManager.getAndroidSandbox(SandboxManager.java:68)
	at org.robolectric.RobolectricTestRunner.getAndroidSandbox(RobolectricTestRunner.java:283)
	at org.robolectric.RobolectricTestRunner.getSandbox(RobolectricTestRunner.java:261)
	at org.robolectric.RobolectricTestRunner.getSandbox(RobolectricTestRunner.java:67)
	at org.robolectric.internal.SandboxTestRunner.sandboxGroupingClassBlock(SandboxTestRunner.java:206)
	at org.robolectric.internal.SandboxTestRunner.classBlock(SandboxTestRunner.java:194)
	at org.robolectric.RobolectricTestRunner.run(RobolectricTestRunner.java:149)
Caused by: java.util.concurrent.ExecutionException: java.io.IOException: Server returned HTTP response code: 429 for URL: https://repo1.maven..../android-all-instrumented/14-robolectric-10818077-i7/android-all-instrumented-14-robolectric-10818077-i7.jar
	at com.google.common.util.concurrent.AbstractFuture$Failure.newExecutionException(AbstractFuture.java:168)
	at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:298)
	at com.google.common.util.concurrent.AbstractFutureState.blockingGet(AbstractFutureState.java:250)
	at com.google.common.util.concurrent.Platform.get(Platform.java:54)
	at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:263)
	at com.google.common.util.concurrent.AbstractFuture$TrustedFuture.get(AbstractFuture.java:96)
	at org.robolectric.internal.dependency.MavenArtifactFetcher.fetchArtifact(MavenArtifactFetcher.java:122)
	... 29 more
Caused by: java.io.IOException: Server returned HTTP response code: 429 for URL: https://repo1.maven..../android-all-instrumented/14-robolectric-10818077-i7/android-all-instrumented-14-robolectric-10818077-i7.jar
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1706)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1305)
	at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:223)
	at org.robolectric.internal.dependency.MavenArtifactFetcher$FetchToFileTask.call(MavenArtifactFetcher.java:253)
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleAsyncTask.runInterruptibly(TrustedListenableFutureTask.java:164)
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleAsyncTask.runInterruptibly(TrustedListenableFutureTask.java:147)
	at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:74)
	at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:80)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
	at java.base/java.lang.Thread.run(Thread.java:1474)

To view more test analytics, go to the Test Analytics Dashboard
📋 Got 3 mins? Take this short survey to help us improve Test Analytics.

@github-actions

This comment has been minimized.

@jamesarich
jamesarich added this pull request to the merge queue Nov 2, 2026
Merged via the queue into main with commit 4c0598f Nov 2, 2026
23 of 25 checks passed
@jamesarich
jamesarich deleted the fix/mirror-taps-any-mui branch November 2, 2026 22:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bugfix PR tag

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant