/* ĠCopyright Ġ 2 0 2 1 , Ġ ĠG erg ana ĠK iri lo va Ċ Ċ 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 Ġcom . ud acity . project 4 . utils Ċ Ċ import Ġandroidx . test . espress o . id ling . Count ing Id ling Resource Ċ Ċ object ĠE sp ress o Id ling Resource Ġ{ ĊĠĠĠ Ġprivate Ġconst Ġval ĠRESOURCE Ġ= Ġ" GLOBAL " ĊĊĠĠĠ Ġ@ Jvm Field ĊĠĠĠ Ġval Ġcounting Id ling Resource Ġ= ĠCount ing Id ling Resource ( RESOURCE ) ĊĊĠĠĠ Ġfun Ġincrement () Ġ{ ĊĠĠĠĠĠĠĠ Ġcounting Id ling Resource . increment () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdecrement () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! count ing Id ling Resource . is Idle Now ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcounting Id ling Resource . decrement () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ inline Ġfun Ġ< T > Ġwrap Esp ress o Id ling Resource ( function : Ġ() Ġ-> ĠT ): ĠT Ġ{ ĊĠĠĠ ĠE sp ress o Id ling Resource . increment () ĊĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġfunction () ĊĠĠĠ Ġ} Ġfinally Ġ{ ĊĠĠĠĠĠĠĠ ĠE sp ress o Id ling Resource . decrement () ĊĠĠĠ Ġ} Ċ } Ċ