package Ġcn . end ure bl aze . kir by . utils Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroidx . fragment . app . Fragment Activity Ċ import Ġjava . util .* Ċ Ċ /** Ċ Ġ* ĠçĶ¨ æłĪ æĿ¥ ç®¡çĲĨ æīĢæľīçļĦ ĠActivity Ċ Ġ*/ Ċ object ĠAct Manager Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġactivity Stack : ĠStack < Activity > Ġ= ĠStack () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæ·»åĬł Activity åĪ° åłĨ æłĪ ĊĠĠĠĠ Ġ* Ġ@ param Ġactivity Ġæ·»åĬł è¿Ľ æłĪ éĩĮ çļĦ ĠActivity ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġadd Activity ( activity : ĠActivity ) Ġ= Ġactivity Stack . add ( activity ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġèİ·åıĸ å½ĵåīį ĠActivity ï¼Ī åłĨ æłĪ ä¸Ń æľĢåĲİ ä¸Ģä¸ª åİĭ åħ¥ çļĦ ï¼ī ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġcurrent Activity : ĠActivity ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġactivity Stack . last Element () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġèİ·åıĸ å½ĵåīį ĠFragment Activity ï¼Ī åłĨ æłĪ ä¸Ń æľĢåĲİ ä¸Ģä¸ª åİĭ åħ¥ çļĦ ï¼ī ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġcurrent Fragment Activity : ĠFragment Activity ? ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġactivity Stack . last Element () Ġas ĠFragment Activity ? ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ ç»ĵæĿŁ æĮĩå®ļ ç±» åĲį çļĦ ĠActivity ĊĠĠĠĠ Ġ* Ġ@ param Ġcls ĠéľĢè¦ģ ç»ĵæĿŁ çļĦ ĠActivity Ġ ç±» åĲį ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġfinish Activity ( cls : ĠActivity ? Ġ= Ġactivity Stack . last Element ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġactivity List : ĠMutable List < Activity > Ġ= ĠArrayList () ĊĠĠĠĠĠĠĠ Ġfor Ġ( activity Ġin Ġthis . activity Stack ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( activity . java Class Ġ== Ġcls ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactivity List . add ( activity ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġactivity List . let Ġ{ Ġactivity Stack . removeAll ( it ) Ġ} ĊĠĠĠĠĠĠĠ Ġfor Ġ( activity Ġin Ġactivity List ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġactivity . finish () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ ç»ĵæĿŁ æīĢæľī ĠActivity ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġfinish All Activity () Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( activity Ġin Ġactivity Stack ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! activity . is Finish ing ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactivity . finish () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ éĢĢåĩº ç¨ĭåºı ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġapp Exit () Ġ= Ġfinish All Activity () Ċ }