/* Ċ Ġ* ĠCopyright Ġ( c ) ĠMicrosoft ĠCorporation . ĠAll Ġrights Ġreserved . Ċ Ġ* ĠLicensed Ġunder Ġthe ĠMIT ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġcom . microsoft . device . dual screen . utils . wm Ċ Ċ import Ġandroid . graphics . Rect Ċ import Ġandroidx . window . layout . Fold ing Feature Ċ import Ġandroidx . window . layout . Window Layout Info Ċ Ċ /** Ċ Ġ* ĠChecks Ġwhether Ġthere Ġare Ġany Ġdisplay Ġfeatures Ġattached Ċ Ġ* Ġ@ return Ġfalse Ġif Ġdisplay Ġfeatures Ġlist Ġis Ġempty , Ġtrue Ġotherwise Ċ Ġ*/ Ċ fun ĠWindow Layout Info ?. isIn Dual Mode (): ĠBoolean Ġ= Ġthis Ġ!= Ġnull Ġ&& Ġdisplay Features . isNotEmpty () Ċ Ċ /** Ċ Ġ* ĠChecks Ġwhether Ġthe Ġorientation Ġof Ġthe Ġfold ing Ġfeature Ġis Ġvertical Ċ Ġ* Ġ@ return Ġtrue Ġif Ġthe Ġfold ing Ġfeature Ġexists Ġand Ġis Ġvert ically Ġorient ed , Ġfalse Ġotherwise Ċ Ġ*/ Ċ fun ĠWindow Layout Info ?. is Fold ing Feature Vertical (): ĠBoolean Ġ= ĊĠĠĠ Ġthis Ġ!= Ġnull Ġ&& ĊĠĠĠĠĠĠĠ Ġ( display Features . first OrNull () Ġas ? ĠFold ing Feature )?. orientation Ġ== ĠFold ing Feature . Orientation . VERTICAL Ċ Ċ /** Ċ Ġ* ĠReturns Ġthe Ġfirst Ġ[ Fold ing Feature ] Ġfrom Ġthe Ġ[ Window Layout Info ] Ġor Ġnull Ġif Ġno Ġ[ Fold ing Feature ] Ġexists . Ċ Ġ* Ġ@ return ĠThe Ġfirst Ġ[ Fold ing Feature ] Ġif Ġit Ġexists Ċ Ġ*/ Ċ fun ĠWindow Layout Info ?. get Fold ing Feature (): ĠFold ing Feature ? Ġ= ĊĠĠĠ Ġif Ġ( this Ġ== Ġnull Ġ|| Ġdisplay Features . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġnull ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġdisplay Features ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. first OrNull Ġ{ Ġfeature Ġ-> Ġfeature Ġis ĠFold ing Feature Ġ} Ġas ? ĠFold ing Feature ĊĠĠĠ Ġ} Ċ Ċ /** Ċ Ġ* ĠReturns Ġcoordinates Ġfor Ġfold ing Ġfeature Ġlocation Ċ Ġ* Ġ@ return Ġ[ Rect ] Ġobject Ġwith Ġfold ing Ġfeature Ġcoordinates Ġor Ġempty ĠRect Ġif Ġno Ġdisplay Ġfeatures Ġare Ġfound Ċ Ġ*/ Ċ fun ĠWindow Layout Info ?. extract Fold ing Feature Rect (): ĠRect Ġ= ĊĠĠĠ Ġif Ġ( this Ġ== Ġnull Ġ|| Ġdisplay Features . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠ ĠRect ( 0 , Ġ 0 , Ġ 0 , Ġ 0 ) ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġdisplay Features . first (). bounds ĊĠĠĠ Ġ} Ċ