package Ġio . github . dr umber . k its une . util Ċ Ċ import Ġandroid . content . Content Values Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . Bitmap Ċ import Ġandroid . os . Build Ċ import Ġandroid . os . Environment Ċ import Ġandroid . provider . Media Store Ċ import Ġio . github . dr umber . k its une . util . extensions . format Date Ċ import Ġjava . util .* Ċ Ċ fun ĠContext . save Image In Gallery ( image : ĠBitmap , Ġimage Name : ĠString ? Ġ= Ġnull ): ĠBoolean Ġ{ ĊĠĠĠ Ġval ĠfileName Ġ= Ġ( if Ġ(! image Name . isNull Or Blank ()) Ġ"${ image Name }_ " Ġelse Ġ"") Ġ+ ĠDate (). format Date (" yyyy - MM - dd - HH - mm - ss ") Ġ+ Ġ". jpg " ĊĊĠĠĠ Ġval Ġcontent Values Ġ= ĠContent Values (). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! image Name . isNull Or Blank ()) Ġput ( Media Store . Media Columns . TITLE , Ġimage Name ) ĊĠĠĠĠĠĠĠ Ġput ( Media Store . Media Columns . DISPLAY _ NAME , ĠfileName ) ĊĠĠĠĠĠĠĠ Ġput ( Media Store . Media Columns . MIME _ TYPE , Ġ" image / jpeg ") ĊĠĠĠĠĠĠĠ Ġput ( Media Store . Media Columns . DATE _ AD DED , ĠSystem . currentTimeMillis () Ġ/ Ġ 1 0 0 0 ) ĊĠĠĠĠĠĠĠ Ġput ( Media Store . Media Columns . DATE _ MODI FIED , ĠSystem . currentTimeMillis () Ġ/ Ġ 1 0 0 0 ) ĊĠĠĠĠĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . Q ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Media Store . Media Columns . DATE _ TA KEN , ĠSystem . currentTimeMillis ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Media Store . Media Columns . REL ATIVE _ PATH , ĠEnvironment . DIRECTORY _ PI CTURE S ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġimage Uri Ġ= Ġcontent Resolver . insert ( Media Store . Images . Media . EXTERNAL _ CONTENT _ URI , Ġcontent Values ) ĊĠĠĠ Ġval ĠoutputStream Ġ= Ġimage Uri ?. let Ġ{ Ġcontent Resolver . open OutputStream ( it ) Ġ} ĊĊĠĠĠ ĠoutputStream ?. use Ġ{ ĊĠĠĠĠĠĠĠ Ġlog D (" Saving Ġimage Ġto Ġ$ image Uri ") ĊĠĠĠĠĠĠĠ Ġimage . compress ( Bitmap . Compress Format . JPEG , Ġ 1 0 0 , Ġit ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġfalse Ċ } Ċ