Files
EeveeSpotifyReborn/Sources/EeveeSpotify/Lyrics/NowPlayingScrollViewControllerInstanceHook.x.swift
T
2025-11-02 01:54:38 +03:00

40 lines
1.6 KiB
Swift

import Orion
import UIKit
var statefulPlayer: StatefulPlayerImplementation?
var backgroundViewModel: SPTNowPlayingBackgroundViewModel?
var scrollDataSource: NowPlayingScrollDataSourceImplementation?
var nowPlayingScrollViewController: NowPlayingScrollViewController?
var npvScrollViewController: NPVScrollViewController?
class NowPlayingScrollPrivateServiceImplementationHook: ClassHook<NSObject> {
typealias Group = BaseLyricsGroup
static let targetName = "NowPlaying_ScrollImpl.NowPlayingScrollPrivateServiceImplementation"
func provideScrollViewControllerWithDependencies(_ dependencies: NSObject) -> UIViewController {
let scrollViewController = orig.provideScrollViewControllerWithDependencies(dependencies)
if NSStringFromClass(type(of: scrollViewController)) ~= "NowPlayingScrollViewController" {
nowPlayingScrollViewController = Dynamic.convert(
scrollViewController,
to: NowPlayingScrollViewController.self
)
}
else {
statefulPlayer = Ivars<StatefulPlayerImplementation>(dependencies).statefulPlayer
scrollDataSource = Ivars<NowPlayingScrollDataSourceImplementation>(target)
.$__lazy_storage_$_scrollDataSource
npvScrollViewController = Dynamic.convert(
scrollViewController,
to: NPVScrollViewController.self
)
}
backgroundViewModel = Ivars<SPTNowPlayingBackgroundViewModel>(dependencies)
.backgroundViewModel
return scrollViewController
}
}