// ĠIG NORE _ BACKEND : ĠJVM Ċ // ĠD ONT _ TARGET _ EX ACT _ BACKEND : ĠW ASM Ċ // ĠW ASM _ M UTE _ REASON : ĠB IND ING _ RECE IVER S Ċ // ĠK T - 3 0 6 2 9 Ċ Ċ abstract Ġclass ĠBase Fragment < T Ġ: ĠBase ViewModel > Ġ{ ĊĠĠĠ Ġlateinit Ġvar ĠviewModel : ĠT ĊĊĠĠĠ Ġopen Ġfun Ġon Activity Created (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel Ġ= Ġretrieve ViewModel () ĊĠĠĠĠĠĠĠ Ġreturn Ġ" Fail " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġabstract Ġfun Ġretrieve ViewModel (): ĠT Ċ } Ċ Ċ class ĠDerived Fragment Ġ: ĠBase Fragment < Derived ViewModel >() Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġon Activity Created (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Created () ĊĊĠĠĠĠĠĠĠ Ġreturn Ġbind ( viewModel :: property ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġretrieve ViewModel (): ĠDerived ViewModel Ġ= ĠDerived ViewModel () ĊĠĠĠ Ġinline Ġfun Ġ< T > Ġbind ( cross inline ĠviewModel Get : Ġ() Ġ-> ĠT ?): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġset On Focus ChangeListener Ġ{ ĠviewModel Get () Ġas ĠString Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset On Focus ChangeListener ( l : Ġ() Ġ-> ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġl () ĊĠĠĠ Ġ} Ċ } Ċ Ċ abstract Ġclass ĠBase ViewModel Ċ class ĠDerived ViewModel Ġ: ĠBase ViewModel () Ġ{ ĊĠĠĠ Ġvar Ġproperty : ĠString ? Ġ= Ġ" OK " Ċ } Ċ Ċ fun Ġbox (): ĠString Ġ{ ĊĠĠĠ Ġreturn ĠDerived Fragment (). on Activity Created () Ċ } Ċ