package Ġcom . github . od ar id avid . z ikk . utils Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . Bitmap Ċ import Ġandroid . graphics . Bitmap Factory Ċ import Ġandroid . graphics . Image Decoder Ċ import Ġandroid . net . Uri Ċ import Ġandroid . os . Build Ċ import Ġandroid . provider . Media Store Ċ import Ġandroid . support . v 4 . media . Media Metadata Compat Ċ import Ġandroidx . core . net . to Uri Ċ import Ġcom . github . od ar id avid . z ikk . R Ċ import Ġjava . io . FileNotFoundException Ċ Ċ /** Ċ Ġ* Ċ Ġ* ĠCopyright Ġ 2 0 2 0 ĠDavid ĠO d ari Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ċ Ġ* Ġin Ġcompliance Ġwith Ġthe ĠLicense . ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* ĠĠĠĠĠĠĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ġdistributed Ġunder Ġthe ĠLicense Ċ Ġ* Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ċ Ġ* Ġor Ġimplied . ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ġlimitations Ġunder Ċ Ġ* Ġthe ĠLicense . Ċ Ġ* Ċ Ġ**/ Ċ inline Ġval ĠMedia Metadata Compat . id : ĠString ĊĠĠĠ Ġget () Ġ= ĠgetString ( Media Metadata Compat . METADATA _ KEY _ MEDIA _ ID ) Ċ Ċ inline Ġval ĠMedia Metadata Compat . title : ĠString ? ĊĠĠĠ Ġget () Ġ= ĠgetString ( Media Metadata Compat . METADATA _ KEY _ TITLE ) Ċ Ċ inline Ġval ĠMedia Metadata Compat . artist : ĠString ? ĊĠĠĠ Ġget () Ġ= ĠgetString ( Media Metadata Compat . METADATA _ KEY _ AR TI ST ) Ċ Ċ inline Ġval ĠMedia Metadata Compat . duration ĊĠĠĠ Ġget () Ġ= Ġget Long ( Media Metadata Compat . METADATA _ KEY _ DURATION ) Ċ Ċ inline Ġval ĠMedia Metadata Compat . album : ĠString ? ĊĠĠĠ Ġget () Ġ= ĠgetString ( Media Metadata Compat . METADATA _ KEY _ AL BU M ) Ċ Ċ inline Ġval ĠMedia Metadata Compat . album Art Uri : ĠUri ĊĠĠĠ Ġget () Ġ= Ġthis . getString ( Media Metadata Compat . METADATA _ KEY _ AL BU M _ ART _ URI ). to Uri () Ċ Ċ inline Ġval ĠMedia Metadata Compat . album Art : ĠBitmap ? ĊĠĠĠ Ġget () Ġ= Ġget Bitmap ( Media Metadata Compat . METADATA _ KEY _ AL BU M _ ART ) ĊĊ Ċ fun Ġget Album Art Bitmap ( context : ĠContext , Ġimage Uri : ĠUri ): ĠBitmap ? Ġ{ ĊĠĠĠ Ġval Ġcr Ġ= Ġcontext . content Resolver ĊĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( version From ( Build . VERSION _ CODES . P )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsrc Ġ= ĠImage Decoder . create Source ( cr , Ġimage Uri ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠImage Decoder . decode Bitmap ( src ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse ĠMedia Store . Images . Media . get Bitmap ( cr , Ġimage Uri ) ĊĠĠĠ Ġ} Ġcatch Ġ( e : ĠFileNotFoundException ) Ġ{ ĊĠĠĠĠĠĠĠ ĠBitmap Factory . decode Resource ( context . resources , ĠR . drawable . bg _ no _ art ) ĊĠĠĠ Ġ} Ċ } ĊĊ