package Ġcom . ct ech . eat y . util ; Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . res . Color State List Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . graphics . Outline Ċ import Ġandroid . graphics . drawable . Color Drawable Ċ import Ġandroid . graphics . drawable . R ipple Drawable Ċ import Ġandroid . os . Build Ċ import Ġandroid . support . annotation . Color Int Ċ import Ġandroid . support . annotation . Float Range Ċ import Ġandroid . support . v 7 . graphics . Palette Ċ import Ġandroid . util . Display Metrics Ċ import Ġandroid . view . View Ċ import Ġandroid . view . View Outline Provider Ċ import Ġandroid . view . WindowManager ĊĊ Ċ object ĠView Utils Ġ{ ĊĊĠĠĠ Ġfun Ġis NavBar On Bottom ( context : ĠContext ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġres Ġ= Ġcontext . resources ĊĠĠĠĠĠĠĠ Ġval Ġcfg Ġ= Ġcontext . resources . configuration ĊĠĠĠĠĠĠĠ Ġval Ġdm Ġ= Ġres . display Metrics ĊĠĠĠĠĠĠĠ Ġval Ġcan Move Ġ= Ġ( dm . width Pixels Ġ!= Ġdm . height Pixels Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcfg . sm allest Screen Width Dp Ġ< Ġ 6 0 0 ) ĊĠĠĠĠĠĠĠ Ġreturn Ġ(! can Move Ġ|| Ġdm . width Pixels Ġ< Ġdm . height Pixels ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval ĠC IRC ULAR _ OUT LINE : ĠView Outline Provider Ġ= Ġobject Ġ: ĠView Outline Provider () Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Outline ( view : ĠView , Ġoutline : ĠOut line ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoutline . set O val ( view . padding Left , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . padding Top , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . width Ġ- Ġview . padding Right , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . height Ġ- Ġview . padding Bottom ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Light StatusBar ( view : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . M ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġflags Ġ= Ġview . system Ui Visibility ĊĠĠĠĠĠĠĠĠĠĠĠ Ġflags Ġ= Ġflags Ġor ĠView . SYSTEM _ UI _ FLAG _ LIGHT _ STATUS _ BAR ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . system Ui Visibility Ġ= Ġflags ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcreate R ipple ( palette : ĠPalette ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Float Range ( from Ġ= Ġ 0 . 0 , Ġto Ġ= Ġ 1 . 0 ) Ġdark Alpha : ĠFloat , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Float Range ( from Ġ= Ġ 0 . 0 , Ġto Ġ= Ġ 1 . 0 ) Ġlight Alpha : ĠFloat , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Color Int Ġfallback Color : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbounded : ĠBoolean ): ĠR ipple Drawable Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġri pple Color Ġ= Ġfallback Color ĊĠĠĠĠĠĠĠ Ġif Ġ( palette Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġtry Ġthe Ġnamed Ġsw atches Ġin Ġpreference Ġorder ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpalette . vi br ant Sw atch Ġ!= Ġnull Ġ-> Ġri pple Color Ġ= ĠColor Utils . modify Alpha ( palette . vi br ant Sw atch !!. rgb , Ġdark Alpha ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpalette . light V ibr ant Sw atch Ġ!= Ġnull Ġ-> Ġri pple Color Ġ= ĠColor Utils . modify Alpha ( palette . light V ibr ant Sw atch !!. rgb , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlight Alpha ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpalette . dark V ibr ant Sw atch Ġ!= Ġnull Ġ-> Ġri pple Color Ġ= ĠColor Utils . modify Alpha ( palette . dark V ibr ant Sw atch !!. rgb , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdark Alpha ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpalette . muted Sw atch Ġ!= Ġnull Ġ-> Ġri pple Color Ġ= ĠColor Utils . modify Alpha ( palette . muted Sw atch !!. rgb , Ġdark Alpha ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpalette . light Mut ed Sw atch Ġ!= Ġnull Ġ-> Ġri pple Color Ġ= ĠColor Utils . modify Alpha ( palette . light Mut ed Sw atch !!. rgb , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlight Alpha ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpalette . dark Mut ed Sw atch Ġ!= Ġnull Ġ-> Ġri pple Color Ġ= ĠColor Utils . modify Alpha ( palette . dark Mut ed Sw atch !!. rgb , Ġdark Alpha ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn ĠR ipple Drawable ( Color State List . valueOf ( ripple Color ), Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( bounded ) ĠColor Drawable ( Color . WHITE ) Ġelse Ġnull ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Screen Width ( context : ĠContext ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdisplay Metrics Ġ= ĠDisplay Metrics () ĊĠĠĠĠĠĠĠ Ġval Ġwindow Manager Ġ= Ġcontext . getSystem Service ( Context . WINDOW _ SERVICE ) Ġas ĠWindow Manager ĊĠĠĠĠĠĠĠ Ġwindow Manager . default Display . get Metrics ( display Metrics ) ĊĠĠĠĠĠĠĠ Ġreturn Ġdisplay Metrics . width Pixels ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Screen Height ( context : ĠContext ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdisplay Metrics Ġ= ĠDisplay Metrics () ĊĠĠĠĠĠĠĠ Ġval Ġwindow Manager Ġ= Ġcontext . getSystem Service ( Context . WINDOW _ SERVICE ) Ġas ĠWindow Manager ĊĠĠĠĠĠĠĠ Ġwindow Manager . default Display . get Metrics ( display Metrics ) ĊĠĠĠĠĠĠĠ Ġreturn Ġdisplay Metrics . height Pixels ĊĠĠĠ Ġ} Ċ Ċ } Ċ