package Ġcom . app ac ou stic . co int ester . core . presentation . start Ċ Ċ import Ġandroid . Manifest Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . activity . result . contract . Activity Result Contracts Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġcom . app ac ou stic . co int ester . core . presentation . main . MainActivity Ċ Ċ class ĠStart Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġinput Record Audio Permission Ġ= ĠManifest . permission . RECORD _ AUDIO ĊĠĠĠ Ġprivate Ġval Ġrequest Record Audio Permission Ġ= Ġregister For Activity Result ( ĊĠĠĠĠĠĠĠ ĠActivity Result Contracts . Request Permission () ĊĠĠĠ Ġ) Ġ{ Ġis Granted Ġ-> ĊĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Granted Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrequest Write External Storage Permission () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshould Show Request Permission R ationale ( input Record Audio Permission ) Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠTODO ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠTODO ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġinput Write External Storage Permission Ġ= ĠManifest . permission . WRITE _ EXTERNAL _ STORAGE ĊĠĠĠ Ġprivate Ġval Ġrequest Write External Storage Permission Ġ= Ġregister For Activity Result ( ĊĠĠĠĠĠĠĠ ĠActivity Result Contracts . Request Permission () ĊĠĠĠ Ġ) Ġ{ Ġis Granted Ġ-> ĊĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Granted Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnavigate To Main () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshould Show Request Permission R ationale ( input Write External Storage Permission ) Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠTODO ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠTODO ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġrequest Record Audio Permission () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġrequest Record Audio Permission () Ġ{ ĊĠĠĠĠĠĠĠ Ġrequest Record Audio Permission . launch ( input Record Audio Permission ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġrequest Write External Storage Permission () Ġ{ ĊĠĠĠĠĠĠĠ Ġrequest Write External Storage Permission . launch ( input Write External Storage Permission ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġnavigate To Main () Ġ{ ĊĠĠĠĠĠĠĠ ĠMainActivity . launch ( this ) ĊĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠ Ġ} Ċ } Ċ