package Ġapp . graph ene os . camera . ui . activities Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . net . Uri Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . provider . Media Store . EXTRA _ OUTPUT Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . ImageView Ċ import Ġapp . graph ene os . camera . R Ċ Ċ class ĠVideo Capture Activity Ġ: ĠCapture Activity () Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġwhite Option Circle : ĠImageView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġplay Preview : ĠImageView ĊĊĠĠĠ Ġprivate Ġvar Ġsaved Uri : ĠUri ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġwhite Option Circle Ġ= ĠfindViewById ( R . id . white _ option _ circle ) ĊĠĠĠĠĠĠĠ Ġplay Preview Ġ= ĠfindViewById ( R . id . play _ preview ) ĊĊĠĠĠĠĠĠĠ Ġcapture Button . setImage Resource ( R . drawable . recording ) ĊĊĠĠĠĠĠĠĠ Ġcapture Button . setOnClickListener ĠOn ClickListener @{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( video Capt urer . is Recording ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvideo Capt urer . stop Recording () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvideo Capt urer . start Recording () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġplay Preview . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġi Ġ= ĠIntent ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ Video Capture Activity , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVideo Player :: class . java ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġi . putExtra (" video Uri ", Ġsaved Uri ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( i ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġimage Preview . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġwhite Option Circle . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġplay Preview . visibility Ġ= ĠView . VISIBLE ĊĊĠĠĠĠĠĠĠ Ġconfirm Button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconfirm Video () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġafter Recording ( saved Uri : ĠUri ?) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġthis . saved Uri Ġ= Ġsaved Uri ĊĊĠĠĠĠĠĠĠ Ġbitmap Ġ= Ġpreview View . bitmap !! ĊĊĠĠĠĠĠĠĠ Ġcancel Button View . visibility Ġ= ĠView . VISIBLE ĊĊĠĠĠĠĠĠĠ Ġshow Preview () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Preview () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . show Preview () ĊĠĠĠĠĠĠĠ Ġthird Option . visibility Ġ= ĠView . VISIBLE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġconfirm Video () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( saved Uri Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Result ( RESULT _ C ANCE LED ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Intent Ġ= ĠIntent () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult Intent . data Ġ= Ġsaved Uri ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult Intent . flags Ġ= ĠIntent . FLAG _ GRANT _ READ _ URI _ PERMISSION ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult Intent . putExtra ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEX TRA _ OUTPUT , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsaved Uri ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Result ( RESULT _ OK , Ġresult Intent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhide Preview () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . hide Preview () ĊĠĠĠĠĠĠĠ Ġthird Option . visibility Ġ= ĠView . IN VISIBLE ĊĠĠĠ Ġ} Ċ }