package Ġcom . pit aya . mobile . u inspector . ui . panel . fullscreen Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . PixelFormat . TRANSP ARENT Ċ import Ġandroid . view . View Ċ import Ġandroid . view . WindowManager Ċ import Ġandroid . view . WindowManager . LayoutParams . FLAG _ LAYOUT _ IN _ SCREEN Ċ import Ġandroid . view . WindowManager . LayoutParams . TYPE _ APPLICATION _ OVER LAY Ċ import Ġcom . pit aya . mobile . u inspector . hierarchy . Layer Ċ import Ġcom . pit aya . mobile . u inspector . lifecycle . Disposable Ċ import Ġcom . pit aya . mobile . u inspector . ui . decoration . U Inspector Decoration Ċ import Ġcom . pit aya . mobile . u inspector . ui . panel . popup . U Inspector Child Panel Container Ċ import Ġjava . util . concurrent . atomic . Atomic Boolean Ċ Ċ /** Ċ Ġ* Ġ@ author ĠY ves Che ung Ċ Ġ* Ġ 2 0 2 1 / 1 / 7 Ċ Ġ*/ Ċ class ĠU Inspector Window Ġ: ĠU Inspector Panel Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġwindow Manager : ĠWindow Manager ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġval Ġdelegate Ġ= ĠU Inspector Panel Delegate () ĊĊĠĠĠ Ġprivate Ġvar Ġadded Ġ= ĠAtomic Boolean ( false ) ĊĊĠĠĠ Ġoverride Ġval Ġchild Panel Container : ĠU Inspector Child Panel Container ? ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġdelegate . child Panel Container ĊĊĠĠĠ Ġoverride Ġfun Ġshow ( activity : ĠActivity ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwindow Manager Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġactivity . getSystem Service ( Context . WINDOW _ SERVICE ) Ġas ĠWindow Manager ĊĠĠĠĠĠĠĠ Ġif Ġ( added . compare AndSet ( false , Ġtrue )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwindow Manager ?. addView ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdelegate . onCreate View ( activity ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠWindow Manager . LayoutParams ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTYPE _ APPLICATION _ OVER LAY , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFLAG _ LAYOUT _ IN _ SCREEN , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTRAN SP ARENT ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġclose () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( added . compare AndSet ( true , Ġfalse )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġdelegate . mask ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( view Ġ!= Ġnull ) Ġwindow Manager ?. remove View ( view ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġupdate Target Views ( views : ĠList < View >) Ġ= Ġdelegate . update Target Views ( views ) ĊĊĠĠĠ Ġoverride Ġfun Ġupdate Target View ( view : ĠView ) Ġ= Ġdelegate . update Target View ( view ) ĊĊĠĠĠ Ġoverride Ġfun Ġupdate Target Layer ( layer : ĠLayer ) Ġ= Ġdelegate . update Target Layer ( layer ) ĊĊĠĠĠ Ġoverride Ġfun Ġupdate Target Layers ( layers : ĠList < Layer >) Ġ= Ġdelegate . update Target Layers ( layers ) ĊĊĠĠĠ Ġoverride Ġfun Ġadd Decoration ( decoration : ĠU Inspector Decoration ): ĠDis posable Ġ= ĊĠĠĠĠĠĠĠ Ġdelegate . add Decoration ( decoration ) ĊĊĠĠĠ Ġoverride Ġfun Ġremove Decoration ( decoration : ĠU Inspector Decoration ) Ġ= ĊĠĠĠĠĠĠĠ Ġdelegate . remove Decoration ( decoration ) ĊĊĠĠĠ Ġoverride Ġfun Ġinvalidate () Ġ= Ġdelegate . invalidate Mask () Ċ }