package Ġcom . example . snap chat clone Ċ Ċ import Ġandroid . graphics . Bitmap Ċ import Ġandroid . graphics . Bitmap Factory Ċ import Ġandroid . os . AsyncTask Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . TextView Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . google . firebase . auth . Firebase Auth Ċ import Ġcom . google . firebase . database . Firebase Database Ċ import Ġcom . google . firebase . storage . Firebase Storage Ċ import Ġcom . squareup . pic asso . Pic asso Ċ import Ġjava . lang . Exception Ċ import Ġjava . net . Http URLConnection Ċ import Ġjava . net . URL ĊĊ Ċ class ĠView Snap Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĠĠĠ Ġvar Ġmessage TextView : ĠTextView ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġm Auth Ġ= ĠFirebase Auth . getInstance () ĊĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ new _ snap ) ĊĠĠĠĠĠĠĠ Ġget Support ActionBar ()?. setTitle (" Snap s "); ĊĊĠĠĠĠĠĠĠ Ġmessage TextView Ġ= ĠfindViewById ( R . id . message TextView ) ĊĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠ Ġvar Ġsnap s ImageView : ĠImageView Ġ= ĠfindViewById ( R . id . snap ImageView ) ĊĊĊĠĠĠĠĠĠĠ Ġmessage TextView ?. text Ġ= Ġintent . getString Extra (" message ") ĊĊĠĠĠĠĠĠĠ Ġvar Ġurl Ġ= Ġintent . getString Extra (" imageUrl ") ĊĠĠĠĠĠĠĠ Ġ// G lide . with ( this ). load ( url ). dont Animate (). dont Transform (). into ( snap s ImageView ) ĊĠĠĠĠĠĠĠĠ Ġ// ĠĠ ĠG lide . with (. getContext ()). load ( url ). placeholder ( R . drawable . default _ profile ). dont Animate (). into ( view ); ĊĠĠĠĠĠĠĠ ĠPic asso . get () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( url ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( snap s ImageView ); ĊĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/* val Ġtask Ġ= ĠImage Down o ader () ĊĠĠĠĠĠĠĠ Ġval Ġmy Image : ĠBitmap ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmy Image Ġ= Ġtask . execute ( intent . getString Extra (" imageUrl ")). get () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsnap s ImageView ?. setImage Bitmap ( my Image ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinner Ġclass ĠImage Down o ader Ġ: ĠAsync Task < String , ĠVoid , ĠBitmap >() Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdo In Background ( var arg Ġurls : ĠString ?): ĠBitmap ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġurl Ġ= ĠURL ( urls [ 0 ]) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġconnection Ġ= Ġurl . open Connection () Ġas ĠHttp URLConnection ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconnection . connect () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġ` is ` Ġ= Ġconnection . inputStream ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠBitmap Factory . decode Stream (` is `) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ}*/ ĊĊĠĠĠ Ġoverride Ġfun Ġon Back Pressed () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Back Pressed () ĊĊĠĠĠĠĠĠĠ Ġintent . getString Extra (" snap Key ") ?. let Ġ{ ĠFirebase Database . getInstance (). getReference (). child (" users "). child ( m Auth ?. currentUser !!. uid ). child (" snap s "). child ( it ). remove Value () Ġ} ĊĠĠĠĠĠĠĠ Ġintent . getString Extra (" image Name ") ?. let Ġ{ ĠFirebase Storage . getInstance (). getReference (). child (" Images "). child ( it ). delete () Ġ} ĊĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠ Ġ} Ċ } Ċ