chore(controller): Phase 0 tech-debt guardrails — tests + CI gate - #4
Merged
Conversation
Extract framework-free SystemStatsUtil (parseMemLine, getDebianArch) from DashboardFragment and add the first JVM unit tests, plus a blocking unit-test step in CI. First step of the phased remediation plan in controller/docs/TECH_DEBT_PLAN.md. - Add SystemStatsUtil with parseMemLine/getDebianArch; DashboardFragment delegates (parseMemLine now trims input, fixing a latent crash on leading whitespace). - build.gradle: testOptions.unitTests.returnDefaultValues=true + org.json test dep. - Add SystemStatsUtilTest (14 cases) and SyncHandshakeHelperTest (round-trip/parse). - CI: add blocking testDebugUnitTest step; run lintDebug as non-blocking report.
luisguzman-adfa
added a commit
that referenced
this pull request
Jul 28, 2026
…er, tests - #1 Guard overlayTitle in onDone (was an NPE if the overlay was hidden first). - #3 Add the K2GoFQR bridge only on the /maps/ page (prepareForUrl, called before each load from PortalActivity's initial load + shouldOverrideUrlLoading) and remove it elsewhere, shrinking the JS surface (methods still guard on 'active'). - #4 Connect the delete MutationObserver ONLY while the trash tool is on (extract fires on Next now, so the observer is delete-only) -> no observer churn during normal map use. - #6 Make isMapsPage pure-string (no android.net.Uri) and add package-private validName/ validBox + boundsOf; unit-test them (FqrControllerTest, plain JVM + real org.json).
luisguzman-adfa
added a commit
that referenced
this pull request
Jul 30, 2026
…n, lifecycle guard - #1: mount the feedback FAB on LibraryActivity only at boot-gate dismiss (onServerReady), so it never floats over the boot animation / install progress; and remove it from SetupProgressActivity (the install index is itself a progress/gate surface). Wizard + Get More keep it (normal screens). - #2: installOn(activity, screenTag, bottomMarginDp) overload — LibraryActivity passes 88dp to clear the bottom nav; nav-less screens use the default 16dp (flush). - #4: guard the async screenshot callback with isFinishing()/isDestroyed() before using the activity.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Extract framework-free SystemStatsUtil (parseMemLine, getDebianArch) from DashboardFragment and add the first JVM unit tests, plus a blocking unit-test step in CI. First step of the phased remediation plan in controller/docs/TECH_DEBT_PLAN.md.