package Ġcom . le ov p . android base . utils . not ch . impl Ċ Ċ import Ġandroid . annotation . Target Api Ċ import Ġandroid . app . Activity Ċ import Ġandroid . graphics . Rect Ċ import Ġandroid . os . Build Ċ import Ġandroid . view . Window Ċ import Ġcom . le ov p . android base . ext s . android . calculate Not ch Rect Ċ import Ġcom . le ov p . android base . ext s . android . get Dim en In Pixel Ċ import Ġcom . le ov p . android base . utils . device . Device Prop Ċ import Ġcom . le ov p . android base . utils . not ch . IN ot ch Screen Ċ import Ġcom . le ov p . android base . utils . not ch . IN ot ch Screen . Not ch Size Callback Ċ import Ġjava . util .* Ċ Ċ @ Target Api ( Build . VERSION _ CODES . O ) Ċ class ĠMi Not ch Screen Ġ: ĠIN ot ch Screen Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġhas Not ch ( activity : ĠActivity ) Ġ= Ġis Not ch ĊĊĠĠĠ Ġoverride Ġfun Ġset Display In Not ch ( activity : ĠActivity ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġflag Ġ= Ġ 0 x 0 0 0 0 0 1 0 0 Ġor Ġ 0 x 0 0 0 0 0 2 0 0 Ġor Ġ 0 x 0 0 0 0 0 4 0 0 ĊĠĠĠĠĠĠĠ Ġrun Catch ing Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmethod Ġ= ĠWindow :: class . java . getMethod (" add Extra Flags ", ĠInt :: class . java Primitive Type ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmethod . invoke ( activity . window , Ġflag ) ĊĠĠĠĠĠĠĠ Ġ}. on Failure Ġ{ Ġit . printStackTrace () Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Not ch Rect ( activity : ĠActivity , Ġcallback : ĠNot ch Size Callback ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrect Ġ= Ġcalculate Not ch Rect ( activity , Ġget Not ch Width (), Ġget Not ch Height ()) ĊĠĠĠĠĠĠĠ Ġval Ġrect s Ġ= ĠArrayList < Rect >() ĊĠĠĠĠĠĠĠ Ġrect s . add ( rect ) ĊĠĠĠĠĠĠĠ Ġcallback . on Result ( rect s ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġis Not ch : ĠBoolean Ġ= Ġrun Catch ing Ġ{ ĠDevice Prop . getSystem Property (" ro . mi ui . not ch "). toInt () Ġ== Ġ 1 Ġ}. get OrDefault ( false ) ĊĠĠĠĠĠĠĠ Ġfun Ġget Not ch Height () Ġ= Ġget Dim en In Pixel (" not ch _ height ") ĊĠĠĠĠĠĠĠ Ġfun Ġget Not ch Width () Ġ= Ġget Dim en In Pixel (" not ch _ width ") ĊĠĠĠ Ġ} Ċ }