package Ġxyz . y ore k . x per mis ison . sample Ċ Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . text . Sp anned String Ċ import Ġandroid . text . style . Bullet Span Ċ import Ġandroid . view . Menu Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . core . text . build Sp anned String Ċ import Ġandroidx . core . text . in Spans Ċ import Ġxyz . y ore k . x per mis ison . R Ċ import Ġjava . util .* Ċ Ċ abstract Ġclass ĠBase Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĊĠĠĠĠĠĠĠ Ġval Ġtv Single : ĠTextView Ġ= ĠfindViewById ( R . id . tv Single ) ĊĠĠĠĠĠĠĠ ĠfindViewById < View >( R . id . btn Request Single Permission ). setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest Single Permission ( tv Single ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġtv All : ĠTextView Ġ= ĠfindViewById ( R . id . tv All ) ĊĠĠĠĠĠĠĠ ĠfindViewById < View >( R . id . btn Request All Permission ). setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest All Permission ( tv All ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠsetTitle ( title : ĠCharSequence ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . setTitle ( title ) ĊĠĠĠĠĠĠĠ ĠfindViewById < TextView >( R . id . tv Title ). text Ġ= Ġtitle ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġfun Ġbuild Permission CallbackInfo ( is Granted : ĠBoolean , Ġgranted List : ĠList < String >, Ġdenied List : ĠList < String >): ĠSp anned String Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġbuild Sp anned String Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġappend Line ("${ Date ( System . currentTimeMillis ()). toLocale String ()} : Ġis Granted =$ is Granted ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġin Spans ( Bullet Span ( 1 6 , Ġ 0 xFFFF 0 0 0 0 . toInt ())) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend Line (" gr anted List =${ gr anted List }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġin Spans ( Bullet Span ( 1 6 , Ġ 0 xFFFF 0 0 0 0 . toInt ())) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend (" den ied List =${ den ied List }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġabstract Ġfun Ġrequest Single Permission ( textView : ĠTextView ) ĊĊĠĠĠ Ġabstract Ġfun Ġrequest All Permission ( textView : ĠTextView ) Ċ }