package Ġcom . om er il han li . news apim v vm . as istant . extension Ċ Ċ import Ġandroid . app . DatePicker Dialog Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . graphics . drawable . Color Drawable Ċ import Ġandroid . net . Uri Ċ import Ġandroid . view . View Ċ import Ġandroid . view . input method . Input Method Manager Ċ import Ġandroidx . browser . custom tabs . Custom Tabs Intent Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġandroid . net . Connectivity Manager Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroidx . appcompat . app . ActionBar Ċ import Ġandroidx . appcompat . app . AlertDialog Ċ import Ġandroidx . databinding . Data Binding Util Ċ import Ġcom . om er il han li . news apim v vm . App Ċ import Ġcom . om er il han li . news apim v vm . mv vm . view . activity . MainActivity Ċ import Ġcom . om er il han li . news apim v vm . R Ċ import Ġcom . om er il han li . news apim v vm . databinding . Layout Dialog Binding Ċ import Ġcom . om er il han li . news apim v vm . mv vm . model . entity . Decl arative Date Ċ Ċ fun ĠView . hide Keyboard () Ġ{ ĊĠĠĠ Ġval Ġimm Ġ= Ġcontext . getSystem Service ( Context . INPUT _ METHOD _ SERVICE ) Ġas ĠInput Method Manager ĊĠĠĠ Ġimm . hide Soft Input From Window ( window Token , Ġ 0 ) Ċ } Ċ Ċ fun ĠContext . has Network Connection (): ĠBoolean Ġ{ ĊĠĠĠ Ġval Ġcm Ġ= Ġget System Service ( Context . CONNECT IVITY _ SERVICE ) Ġas ĠConnect ivity Manager ? ĊĠĠĠ Ġreturn Ġcm !!. active Network Info Ġ!= Ġnull Ġ&& Ġcm . active Network Info !!. isConnected Ċ } Ċ Ċ fun ĠContext . open Web Tab Browser ( url : ĠString ) Ġ{ ĊĠĠĠ Ġif Ġ(! url . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠCustom Tabs Intent . Builder () ĊĠĠĠĠĠĠĠ Ġbuilder . set Toolbar Color ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠContext Compat . getColor ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . color . color Primary Dark ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġcustom Tabs Intent Ġ= Ġbuilder . build () ĊĠĠĠĠĠĠĠ Ġcustom Tabs Intent . launch Url ( this , ĠUri . parse ( url )) ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠMainActivity . inject () Ġ{ ĊĠĠĠ Ġval Ġapp Ġ= Ġapplication Ġas ĠApp ĊĠĠĠ Ġapp . component ?. inject ( this ) Ċ } Ċ Ċ fun ĠContext . show Popup For ( message : ĠString ) Ġ{ ĊĠĠĠ Ġval Ġbuilder Ġ= ĠAlertDialog . Builder ( this ) ĊĠĠĠ Ġval Ġbinding Ġ= ĠData Binding Util . inflate < Layout Dialog Binding >( ĊĠĠĠĠĠĠĠ ĠLayoutInflater . from ( this ), ĊĠĠĠĠĠĠĠ ĠR . layout . layout _ dialog , ĊĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠ Ġ) ĊĠĠĠ Ġbuilder . setView ( binding . root ). set Cancel able ( true ) ĊĠĠĠ Ġval Ġdialog Ġ= Ġbuilder . create () ĊĠĠĠ Ġdialog . window ?. setBackground Drawable ( Color Drawable ( Color . TRANSP ARENT )) ĊĊĠĠĠ Ġbinding . description Ġ= Ġmessage ĊĠĠĠ Ġbinding . btn Ok . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠ Ġdialog . dismiss () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġdialog . show () Ċ } Ċ Ċ fun ĠAction Bar ?. configure () Ġ{ ĊĠĠĠ Ġthis ?. set Display Home As Up Enabled ( true ) ĊĠĠĠ Ġthis ?. set Display Show Home Enabled ( true ) ĊĠĠĠ Ġthis ?. set Home As Up Indicator ( R . drawable . ic n _ about ) Ċ } Ċ Ċ fun ĠContext . open DatePicker Dialog ( ĊĠĠĠ Ġdecl er ative Date : ĠDecl arative Date , ĊĠĠĠ Ġdate Set Listener : ĠDate Picker Dialog . On Date Set Listener Ċ ): ĠDate Picker Dialog Ġ{ ĊĠĠĠ Ġreturn ĠDate Picker Dialog ( ĊĠĠĠĠĠĠĠ Ġthis , ĊĠĠĠĠĠĠĠ Ġdate Set Listener , ĊĠĠĠĠĠĠĠ Ġdecl er ative Date . year , ĊĠĠĠĠĠĠĠ Ġdecl er ative Date . month , ĊĠĠĠĠĠĠĠ Ġdecl er ative Date . day ĊĠĠĠ Ġ) Ċ } Ċ