package Ġcom . world tur tle media . wh ales ay . core . view . fragment Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . Menu Ċ import Ġandroid . view . Menu Inflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . annotation . Call Super Ċ import Ġandroidx . annotation . Layout Res Ċ import Ġandroidx . annotation . Menu Res Ċ import Ġandroidx . lifecycle . Lifecycle Owner Ċ import Ġcom . world tur tle media . wh ales ay . core . di . view model . ViewModel Factory Ċ import Ġdagger . android . support . D agger Fragment Ċ import Ġjavax . inject . Inject Ċ Ċ abstract Ġclass ĠBase Fragment Ġ: ĠD agger Fragment () Ġ{ ĊĊĠĠĠ Ġ@ Layout Res Ġabstract Ġfun Ġget Layout Res (): ĠInt ĊĊĠĠĠ Ġprivate Ġval Ġlayout Red ID Ġby Ġlazy Ġ{ Ġget Layout Res () Ġ} ĊĊĠĠĠ Ġ@ Menu Res Ġopen Ġfun Ġget Menu Res (): ĠInt ? Ġ= Ġnull ĊĊĠĠĠ Ġ@ Inject Ġlateinit Ġvar ĠviewModel Factory : ĠViewModel Factory ĊĊĠĠĠ Ġval Ġowner : ĠLifecycle Owner ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġview Lifecycle Owner ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView Ġ= Ġinflater . inflate ( layout Red ID , Ġcontainer , Ġfalse ) ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Options Menu ( menu : ĠMenu ?, Ġinflater : ĠMenu Inflater ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġget Menu Res ()?. let Ġ{ Ġinflater ?. inflate ( it , Ġmenu ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Call Super ĊĠĠĠ Ġoverride Ġfun Ġon Activity Created ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġbefore Setup () ĊĊĠĠĠĠĠĠĠ Ġsuper . on Activity Created ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġset Has Options Menu ( get Menu Res () Ġ!== Ġnull ) ĊĊĠĠĠĠĠĠĠ Ġsetup Views () ĊĠĠĠĠĠĠĠ Ġpre Subscribe ViewModel () ĊĠĠĠĠĠĠĠ Ġsubscribe ViewModel () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġopen Ġfun Ġbefore Setup () Ġ{} ĊĊĠĠĠ Ġprotected Ġopen Ġfun Ġsetup Views () Ġ{} ĊĊĠĠĠ Ġprotected Ġopen Ġfun Ġpre Subscribe ViewModel () Ġ{} ĊĊĠĠĠ Ġprotected Ġopen Ġfun Ġsubscribe ViewModel () Ġ{} Ċ } Ċ