GithubViewModel
class GithubViewModel(val remoteUserName: String, val remoteRepository: String, val remotePrereleaseTag: String, val remoteContentType: String, val versionName: String, val isPrerelease: Boolean, val isDebug: Boolean, val buildSha: String, val settings: AppSettings, val updater: AppUpdater) : ViewModel, StateContainer<GithubState> , ActionHandler<GithubAction> (source)
Cross-platform downloader for updates served by GitHub.
To allow this Cross-platform behavior work we split up the UI from the Viewmodel, and the Viewmodel from the installer.
UI: Renders the current viewmodel state
Viewmodel: Searches for updates on GitHub
AppUpdater: Installs the update from the raw GitHub url
UI -(onAction)-> Viewmodel -(invokes)-> AppUpdater
<---(state)---/ <--(callback)--/Content copied to clipboard