Conversation
…ion/ DualPlayerEngine (data/service/player/) already imports it from presentation/viewmodel/ — GEN-ARCH-01 inverted, preexisting, not introduced by the downloads feature (R20). Moves to data/connectivity/, a new single-file package matching existing ones (data/paging/, data/provider/). Moves, does not split: the file also mixes Bluetooth state (591 lines, more than one reason to change per GEN-DES-01), but splitting it is a refactor with its own judgment calls and doesn't belong in this preparatory fix (F3.md §4.1). Zero behavior change: package/import only. 9 files touched (3 resolved it via same-package before and needed a new import; the rest just had their import path updated). Baseline: 388 tests, same 5 pre-existing failures, none new (check-baseline.sh). assembleDebug verified. Known, accepted side effect: app/src/release/generated/baselineProfiles/ still reference the old presentation.viewmodel.ConnectivityStateHolder path — those are ART hints, not code; they just stop matching for this class until the profile is regenerated on-device, which is out of scope here.
Author
|
Closing for now — reorganizing how this work is staged. It'll go through our fork first and we'll propose it upstream again, possibly bundled differently, once the larger feature it's part of is further along. Not a rejection, just a process change on our side. |
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.
What
ConnectivityStateHolderlives inpresentation/viewmodel/, butdata/service/player/DualPlayerEngine.kt(data layer) already imports it fromthere — a data → presentation dependency inversion that predates this change.
One of the small independent fixes listed in #2813.
Change
Moves the file to
data/connectivity/, a new single-file package (same shapeas the existing
data/paging/anddata/provider/). Package/import only —zero behavior change.
Moves, not splits. The file also mixes Wi-Fi/network state with Bluetooth
state (591 lines, more than one reason to change), but separating those is a
refactor with its own design questions and doesn't belong in a preparatory
move. Noted as a possible follow-up, not done here.
9 files touched: the file itself,
DualPlayerEngine.kt, and 7 more thatreference
ConnectivityStateHolder/BluetoothAudioDeviceState— 3 of themwere in the same package and resolved it with no
importat all, so theygained one; the rest just had their import path updated.
Known, accepted side effect
app/src/release/generated/baselineProfiles/*.txtstill reference the oldpresentation.viewmodel.ConnectivityStateHolderpath. Those are ART profilehints, not code — they simply stop matching for this class until the profile
is regenerated on-device, which needs a benchmark run and is out of scope for
this PR.
Testing
No new tests: no logic changed, nothing new to assert.
:app:testDebugUnitTest— 388 tests, same 5 pre-existing failures as
master's baseline, none new.:app:assembleDebugsucceeds.