package Ġcom . tom mas ober lose . another widget . helpers Ċ Ċ import Ġandroid . app widget . App Widget Manager Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . res . Configuration . OR IENTATION _ POR TRA IT Ċ import Ġandroid . util . Log Ċ import Ġcom . google . firebase . crash ly t ics . Firebase Crash ly t ics Ċ import Ġcom . tom mas ober lose . another widget . db . Event Repository Ċ import Ġcom . tom mas ober lose . another widget . global . Preferences Ċ Ċ object ĠWidget Helper Ġ{ ĊĠĠĠ Ġclass ĠWidget Size Provider ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġcontext : ĠContext , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġapp Widget Manager : ĠApp Widget Manager ĊĠĠĠ Ġ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġfun Ġget Widgets Size ( widget Id : ĠInt ): ĠPair < Int , ĠInt > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġis Por trait Ġ= Ġcontext . resources . configuration . orientation Ġ== ĠOR IENTATION _ POR TRA IT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġwidth Ġ= Ġget Widget Width ( is Por trait , Ġwidget Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġheight Ġ= Ġget Widget Height ( is Por trait , Ġwidget Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġwidth In Px Ġ= Ġcontext . dip ( width ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġheight In Px Ġ= Ġcontext . dip ( height ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFirebase Crash ly t ics . getInstance (). set Custom Key (" width In Px ", Ġwidth In Px ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFirebase Crash ly t ics . getInstance (). set Custom Key (" height In Px ", Ġheight In Px ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġwidth In Px Ġto Ġheight In Px ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġget Widget Width ( is Por trait : ĠBoolean , Ġwidget Id : ĠInt ): ĠInt Ġ= Ġget Widget Size In Dp ( widget Id , ĠApp Widget Manager . OPTION _ APP WIDGET _ MAX _ WIDTH ) ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġget Widget Height ( is Por trait : ĠBoolean , Ġwidget Id : ĠInt ): ĠInt Ġ= Ġget Widget Size In Dp ( widget Id , ĠApp Widget Manager . OPTION _ APP WIDGET _ MAX _ HEIGHT ) ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġget Widget Size In Dp ( widget Id : ĠInt , Ġkey : ĠString ): ĠInt Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapp Widget Manager . getApp Widget Options ( widget Id ). getInt ( key , Ġ 0 ) ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun ĠContext . dip ( value : ĠInt ): ĠInt Ġ= Ġ( value Ġ* Ġresources . display Metrics . density ). toInt () ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠPair < Int , ĠInt >. reduce Dimension With Max Width ( width : ĠInt ): ĠPair < Int , ĠInt > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( first Ġ< Ġwidth ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfactor Ġ= Ġwidth Ġ/ Ġfirst ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwidth Ġto Ġsecond Ġ* Ġfactor ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }