package Ġcom . react native popup menu Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . res . Configuration Ċ import Ġandroid . graphics . Bitmap Ċ import Ġandroid . graphics . Bitmap Factory Ċ import Ġandroid . graphics . Bitmap Region Decoder Ċ import Ġandroid . graphics . drawable . Bitmap Drawable Ċ import Ġandroid . graphics . drawable . Drawable Ċ import Ġandroid . view . View Ċ import Ġandroidx . core . graphics . drawable . Drawable Compat Ċ import Ġcom . facebook . react . bridge . Color Prop Converter Ċ import Ġcom . facebook . react . bridge . Readable Map Ċ import Ġcom . facebook . react . u im an ager . Pixel Util Ċ import Ġcom . facebook . react . u im an ager . util . React Find View Util Ċ import Ġjava . net . URI Ċ Ċ object ĠHelpers Ġ{ ĊĊĠ Ġfun Ġis Dark Mode ( activity : ĠActivity , Ġoptions : ĠRead able Map ): ĠBoolean Ġ{ ĊĠĠĠ Ġif Ġ( options . has Key (" theme ")) Ġ{ ĊĠĠĠĠĠ Ġreturn Ġoptions . getString (" theme ") Ġ== Ġ" dark " ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġwhen Ġ( activity . resources . configuration . ui Mode Ġand ĠConfiguration . UI _ MODE _ N IGHT _ MASK ) Ġ{ ĊĠĠĠĠĠ ĠConfiguration . UI _ MODE _ N IGHT _ NO Ġ-> Ġfalse ĊĠĠĠĠĠ ĠConfiguration . UI _ MODE _ N IGHT _ YES Ġ-> Ġtrue ĊĠĠĠĠĠ Ġelse Ġ-> Ġfalse ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġfun Ġfind View ( activity : ĠActivity , Ġparams : ĠRead able Map ): ĠView ? Ġ{ ĊĠĠĠ Ġval Ġnative ID Ġ= Ġparams . getString (" native ID ") ĊĠĠĠ Ġval Ġview ID Ġ= Ġif Ġ( params . has Key (" view ID ")) Ġparams . getInt (" view ID ") Ġelse Ġ 0 ĊĠĠĠ Ġval Ġroot View Ġ= Ġactivity . window . decor View . root View Ġ?: Ġreturn Ġnull ĊĠĠĠ Ġreturn Ġwhen Ġ{ ĊĠĠĠĠĠ Ġnative ID Ġ!== Ġnull Ġ-> ĠReact Find View Util . find View ( root View , Ġnative ID ) ĊĠĠĠĠĠ Ġview ID Ġ!= Ġ 0 Ġ-> Ġactivity . findViewById ( view ID ) ĊĠĠĠĠĠ Ġelse Ġ-> Ġnull ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġfun Ġget Icon ( activity : ĠActivity , Ġsource : ĠString ?): ĠBitmap ? Ġ{ ĊĠĠĠ Ġsource Ġ?: Ġreturn Ġnull ĊĠĠĠ Ġval Ġresource Id : ĠInt Ġ= ĊĠĠĠĠĠ Ġactivity . resources . getIdentifier ( source , Ġ" drawable ", Ġactivity . packageName ) ĊĊĠĠĠ Ġreturn Ġif Ġ( resourceId Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠ Ġval Ġuri Ġ= ĠURI ( source ) ĊĠĠĠĠĠ ĠBitmap Factory . decode Stream ( uri . to URL (). open Connection (). getInputStream ()) ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠ ĠBitmap Factory . decode Resource ( activity . resources , Ġresource Id ) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġfun Ġto Drawable ( activity : ĠActivity , Ġbitmap : ĠBitmap ?): ĠDrawable ? Ġ{ ĊĠĠĠ Ġbitmap Ġ?: Ġreturn Ġnull ĊĠĠĠ Ġreturn ĠBitmap Drawable ( activity . resources , Ġbitmap ) ĊĠ Ġ} ĊĊĠ Ġfun Ġget StatusBar Height ( activity : ĠActivity ): ĠInt Ġ{ ĊĠĠĠ Ġvar Ġresult Ġ= Ġ 0 ĊĠĠĠ Ġval Ġresource Id : ĠInt Ġ= Ġactivity . resources . getIdentifier (" status _ bar _ height ", Ġ" dim en ", Ġ" android ") ĊĠĠĠ Ġif Ġ( resourceId Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠ Ġresult Ġ= Ġactivity . resources . get Dimension Pixel Size ( resourceId ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġresult ĊĠ Ġ} Ċ } ĊĊ Ċ fun ĠDouble . to Pixel (): ĠInt Ġ{ ĊĠ Ġreturn ĠPixel Util . to Pixel From DIP ( this ). toInt () Ċ } Ċ Ċ fun ĠRead able Map . bool ( key : ĠString ): ĠBoolean Ġ{ ĊĠ Ġreturn Ġthis . has Key ( key ) Ġ&& Ġget Boolean ( key ) Ċ } Ċ Ċ fun ĠRead able Map . double ( key : ĠString , Ġdefault : ĠDouble ): ĠDouble Ġ{ ĊĠ Ġif Ġ(! has Key ( key )) Ġreturn Ġdefault ĊĠ Ġreturn Ġget Double ( key ) Ċ } Ċ Ċ fun ĠRead able Map . color ( context : ĠContext , Ġkey : ĠString , Ġdefault : ĠInt ): ĠInt Ġ{ ĊĠ Ġif Ġ(! has Key ( key )) Ġreturn Ġdefault ĊĠ Ġreturn ĠColor Prop Converter . getColor ( getDouble ( key ), Ġcontext ) Ċ } Ċ