package Ġcom . nv est . invoice generator Ċ Ċ import Ġandroid . Manifest Ċ import Ġandroid . app . Activity Ċ import Ġcom . kar umi . dex ter . Dex ter Ċ import Ġcom . kar umi . dex ter . Multiple Permissions Report Ċ import Ġcom . kar umi . dex ter . Permission Token Ċ import Ġcom . kar umi . dex ter . listener . Permission Request Ċ import Ġcom . kar umi . dex ter . listener . multi . Multiple Permissions Listener Ċ Ċ object ĠUtils Ġ{ ĊĠĠĠ Ġfun Ġcheck Storage Permission ( ĊĠĠĠĠĠĠĠ Ġcontext : ĠActivity , ĊĠĠĠĠĠĠĠ Ġhas Permission : Ġ() Ġ-> ĠUnit , ĊĠĠĠĠĠĠĠ Ġpermission Decl ined : Ġ( Boolean ) Ġ-> ĠUnit ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠDex ter . with Activity ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Permissions ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠManifest . permission . READ _ EXTERNAL _ STORAGE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠManifest . permission . WRITE _ EXTERNAL _ STORAGE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). with Listener ( object Ġ: ĠMultiple Permissions Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Permissions Checked ( report : ĠMultiple Permissions Report ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( report . are All Permissions Granted ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhas Permission () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpermission Decl ined ( report . is Any Permission Per manently Denied ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Permission R ationale ShouldBe Shown ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpermissions : ĠList < Permission Request >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoken : ĠPermission Token ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoken . continue Permission Request () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}). check () ĊĠĠĠ Ġ} Ċ }