package Ġio . github . toy ota 3 2 k . dialog . task Ċ Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġio . github . toy ota 3 2 k . dialog . I Ut Dialog Ċ Ċ object ĠUt Imm ort al ViewModel Helper Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠãĤ ¿ ãĤ¹ãĤ¯ éĸĭå§ĭ æĻĤ ãģ® åĪĿ æľŁ åĮĸ çĶ¨ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġ< T > Ġcreate By ( clazz : ĠClass < T >, Ġtask : ĠI Ut Imm ort al Task , Ġinitialize : (( T )-> Unit )? = null ) Ġ: ĠT Ġwhere ĠT : ĠViewModel , T : I Ut Imm ort al Task Mutable Context Source Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠViewModel Provider ( task . imm ort al Task Context , ĠViewModel Provider . New Instance Factory ())[ clazz ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimm ort al Task Context Ġ= Ġtask . imm ort al Task Context ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinitialize ?. invoke ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġãĥ Ģ ãĤ¤ ãĤ¢ ãĥŃãĤ° ãģĭãĤī åıĸå¾Ĺ ãģĻãĤĭ çĶ¨ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġ< T > Ġinstance Of ( clazz : ĠClass < T >, Ġtask Name : String ): T Ġwhere ĠT : ViewModel Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtask Ġ= ĠUt Imm ort al Task Manager . task Of ( task Name )?. task Ġ?: Ġthrow ĠIllegalStateException (" no Ġtask ") ĊĠĠĠĠĠĠĠ Ġreturn ĠViewModel Provider ( task . imm ort al Task Context , ĠViewModel Provider . New Instance Factory ())[ clazz ] ĊĠĠĠ Ġ} ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġãĥ Ģ ãĤ¤ ãĤ¢ ãĥŃãĤ° ãģĭãĤī åıĸå¾Ĺ ãģĻãĤĭ çĶ¨ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġ< T > Ġinstance For ( clazz : ĠClass < T >, Ġdialog : ĠI Ut Dialog ): T Ġwhere ĠT : ViewModel Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġinstance Of ( clazz , Ġdialog . imm ort al Task Name ?: throw Ġjava . lang . IllegalStateException (" no Ġtask Ġname Ġin Ġthe Ġdialog .")) ĊĠĠĠ Ġ} Ċ Ċ } Ċ