package Ġcom . w ag ner 2 3 0 3 . kotlin phot ob y intent Ċ Ċ import Ġandroid . Manifest Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Intent Ċ import Ġandroid . content . pm . PackageManager Ċ import Ġandroid . graphics . Bitmap Ċ import Ġandroid . graphics . Bitmap Factory Ċ import Ġandroid . net . Uri Ċ import Ġandroid . os . Build Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . os . Environment Ċ import Ġandroid . provider . Media Store Ċ import Ġandroid . support . test . espress o . id ling . Count ing Id ling Resource Ċ import Ġandroid . support . v 4 . app . Activity Compat Ċ import Ġandroid . support . v 4 . content . Context Compat Ċ import Ġandroid . support . v 4 . content . File Provider Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . util . Log Ċ import Ġandroid . widget . Array Adapter Ċ import Ġandroid . widget . Toast Ċ import Ġcom . google . firebase . storage . Firebase Storage Ċ import Ġcom . google . firebase . storage . Storage Reference Ċ import Ġcom . jak ew h art on . r xb ind ing 2 . widget . item Click s Ċ import Ġio . reactivex . dis pos ables . Composite Disposable Ċ import Ġio . reactivex . rx kotlin . subscribe By Ċ import Ġkotlinx . android . synt hetic . main . activity _ main .* Ċ import Ġjava . io . File Ċ import Ġjava . text . SimpleDateFormat Ċ import Ġjava . util .* Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠPH OTO _ FILE _ SYSTEM Ġ= Ġ 2 1 2 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠREQUEST _ IMAGE _ CAPTURE Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠIMAGE _ FILE _ KEY Ġ= Ġ" image _ file _ key " ĊĠĠĠĠĠĠĠ Ġconst Ġprivate Ġval ĠIMAGE _ REQUEST ED _ KEY Ġ= Ġ" image _ requested _ key " ĊĠĠĠĠĠĠĠ Ġconst Ġprivate Ġval ĠFILE _ INDEX _ KEY Ġ= Ġ" file _ index _ key " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠMIN _ DIM EN Ġ= Ġ 1 0 8 0 ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠCOMP RESS ION Ġ= Ġ 7 0 ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġtest Files Ġ= ĠlistOf (" 0 4 ", Ġ" 0 5 ", Ġ" 0 6 ", Ġ" 0 8 ", Ġ" 0 9 ", Ġ" 1 2 ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġm Storage Ref Ġ: ĠStorage Reference Ġby Ġlazy Ġ{ ĠFirebase Storage . getInstance (). reference Ġ} ĊĠĠĠ Ġprivate Ġvar ĠmCurrent Photo Path : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġm Photo Index : ĠInt Ġ= Ġ 0 ĊĠĠĠ Ġprivate Ġvar Ġm File Requested : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġdis pos ables Ġ= ĠComposite Disposable () ĊĠĠĠ Ġvar Ġidle Resource Ġ: ĠCount ing Id ling Resource ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĠĠĠĠĠĠĠ ĠLog . d (" DEVICE _ DATA ", ĠBuild :: class . java . fields . map Ġ{ Ġ" Build .${ it . name } Ġ= Ġ${ it . get ( it . name )} "} . join ToString ("\ n ")) ĊĊĠĠĠĠĠĠĠ ĠlistView . adapter Ġ= ĠArray Adapter ( this , Ġandroid . R . layout . simple _ list _ item _ 1 , Ġtest Files ) ĊĊĊĠĠĠĠĠĠĠ ĠsavedInstanceState ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠmCurrent Photo Path Ġ= Ġit . getString ( IMAGE _ FILE _ KEY , Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Photo Index Ġ= Ġit . getInt ( FILE _ INDEX _ KEY , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm File Requested Ġ= Ġit . getString ( IMAGE _ REQUEST ED _ KEY , Ġ"") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonStart () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onStart () ĊĠĠĠĠĠĠĠ Ġif Ġ( dis pos ables . is Disposed ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdis pos ables Ġ= ĠComposite Disposable () ĊĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠ Ġdis pos ables . add ( Rx View . click s ( button ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe By Ġ{ Ġtake Photo () Ġ}) ĊĠĠĠĠĠĠĠ Ġdis pos ables . add ( list View . item Click s (). subscribe By Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtake Photo ( test Files [ it ]) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Stop () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Stop () ĊĠĠĠĠĠĠĠ Ġdis pos ables . dispose () ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġon Save InstanceState ( out State : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Save InstanceState ( out State ) ĊĠĠĠĠĠĠĠ Ġout State ?. putString ( IMAGE _ FILE _ KEY , ĠmCurrent Photo Path Ġ?: Ġ"") ĊĠĠĠĠĠĠĠ Ġout State ?. putString ( IMAGE _ REQUEST ED _ KEY , Ġm File Requested Ġ?: Ġ"") ĊĠĠĠĠĠĠĠ Ġout State ?. put Int ( FILE _ INDEX _ KEY , Ġm Photo Index ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Result ( request Code : ĠInt , ĠresultCode : ĠInt , Ġdata : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Result ( request Code , ĠresultCode , Ġdata ) ĊĠĠĠĠĠĠĠ Ġif Ġ( request Code Ġ== ĠREQUEST _ IMAGE _ CAPTURE ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( result Code Ġ== ĠActivity . RESULT _ OK ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfile Ġ= ĠFile ( m Current Photo Path ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( file . length () Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . gc () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsize Ġ= Ġfile . length () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfiles Dir Ġ= Ġget External Files Dir ( Environment . DIRECTORY _ PI CTURE S ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtarget 1 0 0 Ġ= ĠFile ( files Dir , Ġ" 1 0 0 . jpg ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfile . copy To ( target 1 0 0 , Ġoverwrite Ġ= Ġtrue ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġscaled Options Ġ= Ġtarget 1 0 0 . getS ca led Options ( MIN _ DIM EN ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠfileName Ġ= Ġ" compressed . jpg " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtarget Ġ= Ġtarget 1 0 0 . compress ( COMPRESS ION , ĠFile ( files Dir , ĠfileName ), Ġscaled Options ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" COMPRESS ", Ġ"$ fileName \ t File Ġsize :\ t ${ target . length () }\ t Rate : Ġ$ COMPRESS ION % ") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠTODO Ġcompress Ġimage Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠG lide . with ( this ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( target ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply ( RequestOptions . fit Center Transform ()) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( image ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . gc () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠUpload ĠImage Ġto ĠFirebase ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġoptions Ġ= ĠBitmap Factory . Options () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoptions . in Just Decode Bounds Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBitmap Factory . decode File ( target 1 0 0 . absolute Path , Ġoptions ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtime Stamp Ġ= ĠSimpleDateFormat (" yyyy MM dd _ HH mm ss "). format ( Date ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġimage Ref Ġ= Ġm Storage Ref . child (" images " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"/ ${ Build . MAN U FACT UR ER } Ġ${ Build . MODEL }" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"/ $ m File Requested " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"_ ${ options . scale To ( MIN _ DIM EN )}" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"_ $ COMPRESS ION " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"_ ${ time Stamp }. jpg ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Photo Index ++ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimage Ref . put File ( Uri . from File ( target )). add On Success Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġ" Upload Ġ$ m File Requested Ġcon cl uÃŃ do ", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġidle Resource ?. decrement () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}. add On Failure Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġ" Upload Ġ$ m File Requested Ġfal hou ", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġidle Resource ?. decrement () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġ" Ar quivo Ġcor ro mp ido , Ġt ente Ġnov amente ", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġidle Resource ?. decrement () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġ" Erro Ġao Ġba ix ar Ġarquivo , Ġt ente Ġnov amente ", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġidle Resource ?. decrement () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġtake Photo ( file Requested : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm File Requested Ġ= Ġfile Requested ĊĠĠĠĠĠĠĠ Ġif Ġ( Context Compat . check Self Permission ( this , ĠManifest . permission . WRITE _ EXTERNAL _ STORAGE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ== ĠPackage Manager . PERMISSION _ GRAN TED ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart Photo Intent () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠActivity Compat . request Permissions ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis , ĠarrayOf ( Manifest . permission . WRITE _ EXTERNAL _ STORAGE ), ĠPH OTO _ FILE _ SYSTEM ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġstart Photo Intent () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġimage File Ġ= Ġcreate Image File () ĊĠĠĠĠĠĠĠ Ġif Ġ( image File Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġphoto Intent Ġ= ĠIntent ( this , ĠFirebase Photo Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġuri Ġ= ĠFile Provider . get Uri For File ( this , Ġ" com . w ag ner 2 3 0 3 . kotlin phot ob y intent . file provider ", Ġimage File ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġphoto Intent . putExtra ( Media Store . EXTRA _ OUTPUT , Ġimage File . absolute Path ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġphoto Intent . putExtra ( IMAGE _ FILE _ KEY , Ġm File Requested ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġidle Resource ?. increment () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity For Result ( photo Intent , ĠREQUEST _ IMAGE _ CAPTURE ) ĊĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠ Ġval Ġtake Picture Intent Ġ= ĠIntent ( Media Store . ACTION _ IMAGE _ CAPTURE ); Ċ // ĠĠĠĠĠĠĠ Ġif Ġ( take Picture Intent . resolve Activity ( package Manager ) Ġ!= Ġnull ) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġimage File Ġ= Ġcreate Image File () Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( image File Ġ!= Ġnull ) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġuri Ġ= ĠFile Provider . get Uri For File ( this , Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" com . w ag ner 2 3 0 3 . kotlin phot ob y intent . file provider ", Ġimage File ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtake Picture Intent . putExtra ( Media Store . EXTRA _ OUTPUT , Ġuri ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity For Result ( take Picture Intent , ĠREQUEST _ IMAGE _ CAPTURE ); Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcreate Image File (): ĠFile ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtime Stamp Ġ= ĠSimpleDateFormat (" yyyy MM dd _ HH mm ss "). format ( Date ()) ĊĠĠĠĠĠĠĠ Ġval Ġexternal Storage Ġ= ĠEnvironment . get External Storage Directory () ĊĠĠĠĠĠĠĠ Ġval Ġstorage Dir Ġ= Ġcache Dir Ġ// Ġget External Files Dir ( Environment . DIRECTORY _ PI CTURE S ) Ġ// external Cache Dir ĊĠĠĠĠĠĠĠ Ġval Ġimage File Ġ= ĠFile . create TempFile (" COMP RO V AN TE _${ time Stamp }_ ", Ġ". jpg ", Ġstorage Dir ) ĊĠĠĠĠĠĠĠ Ġ// ĠSave Ġa Ġfile : Ġpath Ġfor Ġuse Ġwith ĠACTION _ VIEW Ġintent s ĊĠĠĠĠĠĠĠ ĠmCurrent Photo Path Ġ= Ġimage File . getAbsolutePath (); ĊĠĠĠĠĠĠĠ Ġreturn Ġimage File ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Request Permissions Result ( request Code : ĠInt , Ġpermissions : ĠArray < out ĠString >, Ġgrant Results : ĠInt Array ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Request Permissions Result ( request Code , Ġpermissions , Ġgrant Results ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( grant Results . isNotEmpty () Ġ&& Ġgrant Results [ 0 ] Ġ== ĠPackage Manager . PERMISSION _ GRAN TED ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen ( request Code ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPH OTO _ FILE _ SYSTEM Ġ-> Ġstart Photo Intent () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġidle Resource ?. decrement () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġfun ĠBitmap Factory . Options . scale To ( dim en Min : ĠInt ): ĠInt Ġ{ ĊĠĠĠ Ġval Ġdim en Ġ= ĠMath . min ( out Width , Ġout Height ) ĊĠĠĠ Ġreturn Ġlargest Power Of 2 ( dim en . toDouble ()/ dim en Min . toDouble ()) Ċ } Ċ Ċ fun Ġlargest Power Of 2 ( i : ĠDouble ) Ġ= ĠMath . pow ( 2 . 0 , ĠMath . floor ( Math . log ( i )/ Math . log ( 2 . 0 ))). toInt () Ċ Ċ private Ġfun ĠFile . compress ( compression : ĠInt , ĠoutputFile : ĠFile , Ġscaled Options : ĠBitmap Factory . Options ? Ġ= Ġnull ): ĠFile Ġ{ ĊĠĠĠ Ġval Ġbitmap Ġ= ĠBitmap Factory . decode File ( absolute Path , Ġscaled Options ) ĊĠĠĠ ĠoutputFile . output Stream (). use Ġ{ Ġbitmap . compress ( Bitmap . Compress Format . JPEG , Ġcompression , Ġit ) Ġ} ĊĠĠĠ Ġreturn ĠoutputFile Ċ } Ċ Ċ private Ġfun ĠFile . getS ca led Options ( dim en : ĠInt ): ĠBitmap Factory . Options Ġ{ ĊĠĠĠ Ġval Ġoptions Ġ= ĠBitmap Factory . Options (); ĊĠĠĠ Ġoptions . in Just Decode Bounds Ġ= Ġtrue ; ĊĠĠĠ ĠBitmap Factory . decode File ( absolute Path , Ġoptions ); ĊĠĠĠ Ġoptions . in Sample Size Ġ= Ġoptions . scale To ( dim en ); ĊĠĠĠ Ġoptions . in Just Decode Bounds Ġ= Ġfalse ; ĊĠĠĠ Ġreturn Ġoptions Ċ } ĊĊ