package Ġde . beat b rot . screenshot assistant . voice Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . graphics . Bitmap Ċ import Ġandroid . net . Uri Ċ import Ġandroid . service . voice . Voice Interaction Session Ċ import Ġandroid . widget . Toast Ċ import Ġde . beat b rot . screenshot assistant . MainActivity Ċ import Ġde . beat b rot . screenshot assistant . R Ċ import Ġjava . io . File Ċ import Ġjava . io . File OutputStream Ċ Ċ class ĠInteraction Session ( context : ĠContext ) Ġ: ĠVoice Interaction Session ( context ) Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġon Handle Screenshot ( screenshot : ĠBitmap ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( screenshot Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstart Intent Ġ= ĠIntent ( context , ĠMainActivity :: class . java ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Flags ( Intent . FLAG _ ACTIVITY _ NEW _ TASK ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Extra (" screenshot ", Ġget Screenshot Uri ( screenshot )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhide () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . startActivity ( start Intent ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( context , ĠR . string . enable _ screenshot , ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhide () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Screenshot Uri ( bitmap : ĠBitmap ): ĠUri Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġscr File Ġ= Ġcreate Screenshot File () ĊĊĠĠĠĠĠĠĠ ĠFileOutputStream ( scr File ). use Ġ{ Ġstream Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbitmap . compress ( Bitmap . Compress Format . WE BP , Ġ 1 0 0 , Ġstream ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn ĠUri . from File ( scr File ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcreate Screenshot File (): ĠFile Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġscr Dir Ġ= ĠFile ( context . cacheDir , Ġ" screenshots ") ĊĠĠĠĠĠĠĠ Ġval Ġscr File Ġ= ĠFile ( scr Dir , Ġ" scr ") ĊĊĠĠĠĠĠĠĠ Ġscr Dir . mkdir () ĊĠĠĠĠĠĠĠ Ġif Ġ( scr File . exists ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġscr File . delete () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġscr File . createNew File () ĊĊĠĠĠĠĠĠĠ Ġreturn Ġscr File ĊĠĠĠ Ġ} Ċ }