package Ġcom . h library . utils čĊč Ċ import Ġcom . h library . base . activity . Base Activity č Ċ import Ġjava . util .* čĊč Ċ /** čĊ Ġ* Ġ@ author Ġlin wh čĊ Ġ* Ġ@ date Ġ 2 0 1 5 - 0 9 - 0 6 čĊ Ġ*/ č Ċ class ĠActivity Manager Ġprivate Ġconstructor () Ġ{ čĊĠĠĠ Ġprivate Ġval Ġactivities : ĠTreeMap < String ?, ĠBase Activity < *> ?> Ġ= ĠTreeMap () čĊčĊĠĠĠ Ġfun Ġpush Activity ( base Activity : ĠBase Activity <* >) Ġ{ čĊĠĠĠĠĠĠĠ Ġactivities [ base Activity . java Class . simple Name ] Ġ= Ġbase Activity čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġfun Ġpop Activity ( base Activity : ĠBase Activity <* >) Ġ{ čĊĠĠĠĠĠĠĠ Ġactivities . remove ( base Activity . java Class . simple Name ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġval Ġcur Activity : ĠBase Activity < *> ? čĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġactivities . last Entry (). value čĊčĊĠĠĠ Ġval Ġcur Activity Name : ĠString ? čĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġif Ġ( activities . isEmpty ()) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"" čĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġactivities . last Key () čĊčĊĠĠĠ Ġfun Ġexit () Ġ{ čĊĠĠĠĠĠĠĠ Ġfor Ġ( key Ġin Ġactivities . keys ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbase Activity Ġ= Ġactivities . remove ( key ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġbase Activity !!. finish () čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġcompanion Ġobject Ġ{ čĊĠĠĠĠĠĠĠ Ġval Ġinstance Ġby Ġlazy ( mode Ġ= ĠLazy Thread Safety Mode . SYN CH RON IZED ){ čĊĠĠĠĠĠĠĠĠĠĠĠ ĠActivity Manager () čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊčĊč Ċ }