package Ġcom . x sol la . android . stores dk example . ui . fragments . base Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . view . input method . Input Method Manager Ċ import Ġandroidx . core . view . isVisible Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġcom . google . android . material . sn ackbar . Snackbar Ċ import Ġcom . x sol la . android . google play . Store Utils Ċ import Ġcom . x sol la . android . stores dk example . R Ċ import Ġcom . x sol la . android . stores dk example . Store Activity Ċ Ċ abstract Ġclass ĠBase Fragment Ġ: ĠFragment () Ġ{ ĊĠĠĠ Ġvar Ġmain Toolbar : ĠView ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġroot View : ĠView ĊĊĠĠĠ Ġabstract Ġfun Ġget Layout (): ĠInt ĊĊĠĠĠ Ġopen Ġval Ġtoolbar Option : ĠToolbar Options Ġ= ĠToolbar Options ( show Balance Ġ= Ġtrue , Ġshow Cart Ġ= Ġtrue ) ĊĊĠĠĠ Ġabstract Ġfun Ġinit UI () ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġroot View Ġ= Ġinflater . inflate ( get Layout (), Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn Ġroot View ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġmain Toolbar Ġ= Ġrequire Activity (). findViewById ( R . id . main Toolbar ) ĊĊĠĠĠĠĠĠĠ Ġinit UI () ĊĊĠĠĠĠĠĠĠ Ġrequire Activity (). findViewById < View >( R . id . balance Layout )?. isVisible Ġ= Ġtoolbar Option . show Balance ĊĠĠĠĠĠĠĠ Ġ( require Activity () Ġas ? ĠStore Activity )?. show Cart Menu Ġ= Ġtoolbar Option . show Cart Ġ&& ĠStore Utils . is X sol la Cart Available ( view . context ) ĊĠĠĠĠĠĠĠ Ġrequire Activity (). invalidate Options Menu () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġshow Sn ack ( message : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġroot View Ġ= Ġrequire Activity (). findViewById < View >( android . R . id . content ) ĊĠĠĠĠĠĠĠ ĠSn ackbar . make ( root View , Ġmessage , ĠSn ackbar . LENGTH _ LONG ). show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġhide Keyboard () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġimm Ġ= Ġrequire Activity (). getSystem Service ( Context . INPUT _ METHOD _ SERVICE ) Ġas ĠInput Method Manager ĊĠĠĠĠĠĠĠ Ġimm . hide Soft Input From Window ( root View . window Token , Ġ 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠToolbar Options ( val Ġshow Balance : ĠBoolean , Ġval Ġshow Cart : ĠBoolean ) Ċ }