package Ġcom . y ue ban . y op ic . ui . setting . vm Ċ Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġcom . y ue ban . y op ic . util . Pref Manager Ċ import Ġcom . y ue ban . y op ic . util . di . scope . App Scope Ċ import Ġcom . y ue ban . y op ic . worker . Worker Util Ċ import Ġjavax . inject . Inject Ċ Ċ @ App Scope Ċ class ĠSetting VM Factory Ċ @ Inject Ġconstructor ( ĊĠĠĠ Ġprivate Ġval Ġpref Manager : ĠPref Manager , ĊĠĠĠ Ġprivate Ġval Ġworker Util : ĠWorker Util Ċ ) Ġ: ĠViewModel Provider . Factory Ġ{ ĊĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠ Ġoverride Ġfun Ġ< T Ġ: ĠViewModel ?> Ġcreate ( model Class : ĠClass < T >): ĠT Ġ= ĊĠĠĠĠĠĠĠ ĠSetting VM ( pref Manager , Ġworker Util ) Ġas ĠT Ċ }