Three ViewModels move from NewPipeExtractor (Java) to strawcore (rustypipe): - ChannelViewModel.load — ChannelInfo.getInfo + ChannelTabInfo.getInfo collapse into one uniffi.strawcore.channelInfo() round-trip. - SubscriptionFeedViewModel.refresh — per-channel parallel fan-out now fires uniffi.strawcore.channelInfo() per sub instead of two NPE round- trips. Halves the network work for the home sub-feed. Semaphore + timeout + cancel-on-respawn audit guards preserved. - VideoDetailViewModel.moreFromChannel — was the last NPE call site in the load() path. Now strawcore.channelInfo(uploaderUrl).videos filtered + mapped. The unused withContext(Dispatchers.IO) wrapper for the channel fetch is gone (strawcore is suspend on tokio). NewPipeExtractor is now reachable only from non-ViewModel code: NewPipeDownloader.kt (OkHttp adapter), StrawApp.NewPipe.init(), util/Thumbnails.kt. C-6 deletes all three. |
||
|---|---|---|
| .. | ||
| src/main | ||
| build.gradle.kts | ||