/* Ċ Ġ* ĠCopyright Ġ 2 0 2 1 ĠThe ĠAndroid ĠOpen ĠSource ĠProject Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġandroidx . window . embedding Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroidx . window . core . Experimental Window Api Ċ Ċ /** Ċ Ġ* ĠA Ġcontainer Ġthat Ġholds Ġa Ġstack Ġof Ġactivities , Ġoverlapping Ġand Ġbound Ġto Ġthe Ġsame Ġrectangle Ġon Ġthe Ċ Ġ* Ġscreen . Ċ Ġ*/ Ċ @ Experimental Window Api Ċ class ĠActivity Stack ( ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġ[ Activity ] Ġlist Ġin Ġthis Ġapplication 's Ġprocess Ġthat Ġbelongs Ġto Ġthis ĠActivity Stack . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠNote Ġthat ĠActiv ities Ġthat Ġare Ġrunning Ġin Ġother Ġprocesses Ġdo Ġnot Ġcontain Ġin Ġthis Ġ[ Activity ] ĊĠĠĠĠ Ġ* Ġlist . ĠThey Ġcan Ġbe Ġin Ġany Ġposition Ġin Ġterms Ġof Ġordering Ġrelative Ġto Ġthe Ġactivities Ġin Ġthe ĊĠĠĠĠ Ġ* Ġlist . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġinternal Ġval Ġactivities : ĠList < Activity >, ĊĠĠĠ Ġprivate Ġval ĠisEmpty : ĠBoolean Ġ= Ġfalse Ċ ) Ġ{ ĊĊĠĠĠ Ġoperator Ġfun Ġcontains ( activity : ĠActivity ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġactivities . contains ( activity ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġ` true ` Ġif Ġthere 's Ġno Ġ[ Activity ] Ġrunning Ġin Ġthis ĠActivity Stack . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠNote Ġthat Ġ[ activities ] Ġonly Ġreport ĠActivity Ġin Ġthe Ġprocess Ġused Ġto Ġcreate Ġthis ĊĠĠĠĠ Ġ* ĠActivity Stack . ĠThat Ġsaid , Ġif Ġthis ĠActivity Stack Ġonly Ġcontains Ġactivities Ġfrom Ġother ĊĠĠĠĠ Ġ* Ġprocess ( es ), Ġ[ activities ] Ġwill Ġreturn Ġempty Ġlist , Ġand Ġthis Ġmethod Ġwill Ġreturn Ġ` false `. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun ĠisEmpty (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠisEmpty ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this Ġ=== Ġother ) Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġif Ġ( other Ġ! is ĠActivity Stack ) Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġreturn Ġ( activities Ġ!= Ġother . activities ) Ġ&& ĠisEmpty Ġ!= Ġother . isEmpty ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġresult Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( isEmpty ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġactivities . hashCode () ĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġbuild String Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġappend (" Activity Stack { ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġappend (" activities =$ activities ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġappend (" isEmpty =$ isEmpty }") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }