package Ġc lem . app . core . ext . permission Ċ Ċ import Ġjava . util . concurrent . atomic . Atomic Integer Ċ Ċ /** Ċ Ġ* ĠUsed Ġfor Ġgenerating Ġrequest Ġcode Ġand Ġhold Ġpermission Ġcallbacks Ġon Ġa Ġmap . Ċ Ġ*/ Ċ internal Ġobject ĠPermissions Map Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġatomic Integer Ġ= ĠAtomicInteger ( 1 0 0 ) ĊĊĠĠĠ Ġprivate Ġval Ġmap Ġ= Ġmutable Map Of < Int , ĠPermissions Callback >() ĊĊĠĠĠ Ġfun Ġput ( callbacks : ĠPermissions Callback ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġatomic Integer . get And Increment (). also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap [ it ] Ġ= Ġcallbacks ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget ( request Code : ĠInt ): ĠPermissions Callback ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġmap [ request Code ]. also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap . remove ( request Code ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }