package Ġcom . pot y video . library . utils Ċ Ċ import Ġandroid . Manifest Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . pm . PackageManager Ċ import Ġandroid . content . res . Resources Ċ import Ġandroid . os . Build Ċ import Ġandroid . util . Display Metrics Ċ import Ġandroidx . core . app . Activity Compat Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġcom . pot y video . library . utils . Public Values . Companion . REQUEST _ ID _ MULTIPLE _ PERMISSION S ĊĊ Ċ class ĠPublic Functions Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġfun Ġis This Source Supported ( source : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠmimeType Ġ= Ġget MimeType ( source ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠPublic Values . SUPPORTED _ MEDI AS . contains ( mime Type ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġget MimeType ( source : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġsource . substring After Last (".", ĠPublic Values . KEY _ UNKNOWN ). toLowerCase () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġget Screen Width (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠResources . getSystem (). display Metrics . width Pixels ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġget Screen Height (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠResources . getSystem (). display Metrics . height Pixels ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġconvert Dp To Pixel ( context : ĠContext , Ġdp : ĠFloat ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ( dp Ġ* Ġ( context . resources . display Metrics . density D pi Ġ/ ĠDisplay Metrics . D ENS ITY _ DEFAULT )) Ġas ĠInt ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġconvert Pixels To Dp ( context : ĠContext , Ġpx : ĠFloat ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ( px Ġ/ Ġ( context . resources . display Metrics . density D pi Ġ/ ĠDisplay Metrics . D ENS ITY _ DEFAULT )) Ġas ĠInt ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġcheck Access Storage Permission ( activity : ĠActivity ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . M ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlist Permissions Needed : ĠMutable List < String > Ġ= ĠArrayList () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Context Compat . check Self Permission ( activity !! , ĠManifest . permission . READ _ EXTERNAL _ STORAGE ) Ġ!= ĠPackage Manager . PERMISSION _ GRAN TED ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist Permissions Needed . add ( Manifest . permission . READ _ EXTERNAL _ STORAGE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Context Compat . check Self Permission ( activity , ĠManifest . permission . WRITE _ EXTERNAL _ STORAGE ) Ġ!= ĠPackage Manager . PERMISSION _ GRAN TED ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist Permissions Needed . add ( Manifest . permission . WRITE _ EXTERNAL _ STORAGE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( list Permissions Needed . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠActivity Compat . request Permissions ( activity , Ġlist Permissions Needed . to Typed Array (), ĠREQUEST _ ID _ MULTIPLE _ PERMISSION S ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }