/* Ċ Ġ* ĠCopyright Ġ 2 0 2 1 ĠLite K ite ĠStartup . ĠAll Ġrights Ġreserved . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġcom . lite k ite . system ui . system bar . navbar . bottom Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . PixelFormat Ċ import Ġandroid . os . Binder Ċ import Ġandroid . view . Gravity Ċ import Ġandroid . view . View Ċ import Ġandroid . view . WindowManager Ċ import Ġcom . lite k ite . system ui . R Ċ import Ġjavax . inject . Inject Ċ import Ġjavax . inject . Singleton Ċ Ċ /** Ċ Ġ* ĠEn caps ulates Ġall Ġlogic Ġfor Ġthe Ġbottom Ġnav Ġbar Ġwindow Ġstate Ġmanagement . Ċ Ġ* Ċ Ġ* Ġ@ author ĠV ign esh ĠS Ċ Ġ* Ġ@ version Ġ 1 . 0 , Ġ 0 2 / 0 8 / 2 0 2 0 Ċ Ġ* Ġ@ since Ġ 1 . 0 Ċ Ġ*/ Ċ @ Singleton Ċ class ĠBottom NavBar Window Controller Ġ@ Inject Ġconstructor ( private Ġval Ġcontext : ĠContext ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġwindow Manager Ġ= Ġcontext . getSystem Service ( Context . WINDOW _ SERVICE ) Ġas ĠWindow Manager ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġlp : ĠWindow Manager . LayoutParams ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbottom NavBar View : ĠView ĊĠĠĠ Ġprivate Ġvar Ġbar Height Ġ= Ġcontext . resources . get Dimension Pixel Size ( R . dim en . bottom _ nav _ bar _ height ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠAdds Ġthe Ġbottom Ġnav Ġbar Ġview Ġto Ġthe Ġwindow Ġmanager . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġbottom NavBar View ĠThe Ġview Ġto Ġadd . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġadd ( bottom NavBar View : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlp Ġ= ĠWindow Manager . LayoutParams ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWindow Manager . LayoutParams . MATCH _ PARENT , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbar Height , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWindow Manager . LayoutParams . TYPE _ NAV IG ATION _ BAR , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWindow Manager . LayoutParams . FLAG _ NOT _ FOCUS ABLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġor ĠWindow Manager . LayoutParams . FLAG _ NOT _ TO UCH _ MOD AL ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġor ĠWindow Manager . LayoutParams . FLAG _ SPLIT _ TO UCH ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġor ĠWindow Manager . LayoutParams . FLAG _ WATCH _ OUT SIDE _ TO UCH ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġor ĠWindow Manager . LayoutParams . FLAG _ DR AWS _ SYSTEM _ BAR _ BACK GRO UN DS , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPixel Format . TRANSL UC ENT ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġlp . token Ġ= ĠB inder () ĊĠĠĠĠĠĠĠ Ġlp . gravity Ġ= ĠGr avity . BOTTOM ĊĠĠĠĠĠĠĠ Ġlp . soft Input Mode Ġ= ĠWindow Manager . LayoutParams . SOFT _ INPUT _ ADJ UST _ RE SIZE ĊĠĠĠĠĠĠĠ Ġlp . title Ġ= Ġ" Bottom NavBar " ĊĠĠĠĠĠĠĠ Ġlp . packageName Ġ= Ġcontext . packageName ĊĠĠĠĠĠĠĠ Ġlp . window Animations Ġ= ĠR . style . Bottom InOut Anim ĊĠĠĠĠĠĠĠ Ġthis . bottom NavBar View Ġ= Ġbottom NavBar View ĊĠĠĠĠĠĠĠ Ġwindow Manager . addView ( this . bottom NavBar View , Ġlp ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠRemoves Ġthe Ġbottom Ġnav Ġbar Ġview Ġfrom Ġthe Ġwindow Ġmanager . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġremove () Ġ{ ĊĠĠĠĠĠĠĠ Ġwindow Manager . remove View Immediate ( bottom NavBar View ) ĊĠĠĠ Ġ} Ċ } Ċ