package Ġcom . ji aw e idev . permission x čĊč Ċ import Ġandroid . Manifest č Ċ import Ġandroid . content . Intent č Ċ import Ġandroid . net . Uri č Ċ import Ġandroidx . appcompat . app . AppCompatActivity č Ċ import Ġandroid . os . Bundle č Ċ import Ġandroid . widget . Toast č Ċ import Ġcom . ji aw e idev . permission x . databinding . Activity Main Binding čĊč Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ čĊčĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbinding : ĠActivity Main Binding čĊčĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ čĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) čĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠActivity Main Binding . inflate ( layout Inflater ) čĊĠĠĠĠĠĠĠ ĠsetContentView ( binding . root ) čĊčĊĠĠĠĠĠĠĠ Ġbinding . make Call Btn . setOnClickListener Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ ĠPermission X . request ( this , čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠManifest . permission . CALL _ PHONE , čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠManifest . permission . WRITE _ EXTERNAL _ STORAGE , čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠManifest . permission . READ _ CONTACT S , čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ){ Ġall Granted , den ied List -> čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( all Granted ){ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcall () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} else { čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġ" You Ġdenied Ġ$ den ied List ", čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . LENGTH _ SHORT ). show () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġprivate Ġfun Ġcall () Ġ{ čĊĠĠĠĠĠĠĠ Ġtry Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( Intent . ACTION _ CALL ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . data Ġ= ĠUri . parse (" tel : 1 0 0 8 6 ") čĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) čĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠSecurity Exception ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} č Ċ }