package Ġco . min phone . personal . injection . module Ċ Ċ import Ġandroid . arch . lifecycle . ViewModel Ċ import Ġandroid . arch . lifecycle . ViewModel Provider Ċ import Ġco . min phone . personal . injection . ViewModel Factory Ċ import Ġdagger . Bind s Ċ import Ġdagger . Map Key Ċ import Ġdagger . Module Ċ import Ġkotlin . annotation . Annotation Retention . RUNTIME Ċ import Ġkotlin . annotation . Annotation Target . FUNCTION Ċ import Ġkotlin . reflect . K Class Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠMin ĠPhone Ġon Ġ 7 / 2 6 / 1 8 . Ċ Ġ*/ Ċ Ċ @ Module Ċ abstract Ġclass ĠPresentation Module Ġ{ ĊĊĠ Ġ@ Bind s ĊĠ Ġabstract Ġfun Ġbind ViewModel Factory ( factory : ĠViewModel Factory ): ĠViewModel Provider . Factory Ċ Ċ } Ċ Ċ @ Must Be Document ed Ċ @ Target ( FUNCTION ) Ċ @ Retention ( RUNTIME ) Ċ @ Map Key Ċ annotation Ġclass ĠViewModel Key ( val Ġvalue : ĠK Class < out ĠViewModel >)