package Ġcom . v ob . scan it . ui . activities Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . net . Uri Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroid . webkit . URL Util Ċ import Ġandroid . widget . Button Ċ import Ġandroid . widget . EditText Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . appcompat . widget . Toolbar Ċ import Ġcom . v ob . scan it . R Ċ Ċ class ĠQR Barcode Scan Result Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġlateinit Ġvar Ġscan Data : ĠString ĊĠĠĠ Ġlateinit Ġvar Ġopen In Browser Btn : ĠButton ĊĠĠĠ Ġlateinit Ġvar Ġshare Btn : ĠButton ĊĠĠĠ Ġlateinit Ġvar Ġscan Result TV : ĠTextView ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ q _ r _ barcode _ scan _ result ) ĊĊĠĠĠĠĠĠĠ Ġscan Data Ġ= Ġintent . getString Extra (" result ") !! ĊĊĠĠĠĠĠĠĠ Ġinitialise Fields () ĊĊĠĠĠĠĠĠĠ Ġsetup Toolbar () ĊĊĠĠĠĠĠĠĠ Ġscan Result TV . text Ġ= Ġscan Data ĊĊĠĠĠĠĠĠĠ Ġopen In Browser Btn . setOnClickListener Ġ{ open In Browser ()} ĊĠĠĠĠĠĠĠ Ġshare Btn . setOnClickListener Ġ{ Ġshare () Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinitialise Fields () Ġ{ ĊĠĠĠĠĠĠĠ Ġopen In Browser Btn Ġ= ĠfindViewById ( R . id . open In Browser _ btn ) ĊĠĠĠĠĠĠĠ Ġscan Result TV Ġ= ĠfindViewById ( R . id . scan Result _ tv ) ĊĠĠĠĠĠĠĠ Ġshare Btn Ġ= ĠfindViewById ( R . id . share _ btn ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġopen In Browser () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġis Url : ĠBoolean Ġ= ĠURL Util . isValid Url ( scan Data ) ĊĠĠĠĠĠĠĠ Ġif Ġ( is Url ) ĊĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġopen URL Ġ= ĠIntent ( Intent . ACTION _ VIEW ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġopen URL . data Ġ= ĠUri . parse ( scan Data ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( open URL ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow AlertDialog () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshare () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsend Intent : ĠIntent Ġ= ĠIntent (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaction Ġ= ĠIntent . ACTION _ SEND ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput Extra ( Intent . EXTRA _ TEXT , Ġscan Data ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= Ġ" text / plain " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġshare Intent Ġ= ĠIntent . create Chooser ( send Intent , Ġnull ) ĊĠĠĠĠĠĠĠ ĠstartActivity ( share Intent ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow AlertDialog () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġalert : Ġandroid . app . AlertDialog . Builder Ġ= Ġandroid . app . AlertDialog . Builder ( this ) ĊĠĠĠĠĠĠĠ Ġval Ġm View : ĠView Ġ= Ġlayout Inflater . inflate ( R . layout . filename _ dialog , Ġnull ) ĊĊĠĠĠĠĠĠĠ Ġval Ġtxt _ input Text : ĠEditText Ġ= Ġm View . findViewById < View >( R . id . txt _ input ) Ġas ĠEditText ĊĠĠĠĠĠĠĠ Ġval Ġbtn _ cancel : ĠButton Ġ= Ġm View . findViewById < View >( R . id . btn _ cancel ) Ġas ĠButton ĊĠĠĠĠĠĠĠ Ġval Ġbtn _ ok ay : ĠButton Ġ= Ġm View . findViewById < View >( R . id . btn _ ok ay ) Ġas ĠButton ĊĠĠĠĠĠĠĠ Ġval Ġheader Ġ= Ġm View . findViewById < View >( R . id . heading ) Ġas ĠTextView ĊĊĠĠĠĠĠĠĠ Ġheader . text Ġ= Ġ" The Ġdata Ġextracted Ġseems Ġnot Ġto Ġbe ĠURL " ĊĠĠĠĠĠĠĠ Ġtxt _ input Text . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġbtn _ ok ay . text Ġ= Ġ" Open ĠURL " ĊĠĠĠĠĠĠĠ Ġbtn _ cancel . text Ġ= Ġ" Close " ĊĊĠĠĠĠĠĠĠ Ġalert . setView ( m View ) ĊĠĠĠĠĠĠĠ Ġval Ġalert Dialog : Ġandroid . app . AlertDialog ? Ġ= Ġalert . create () ĊĠĠĠĠĠĠĠ Ġalert Dialog ?. set Canceled On Touch Outside ( false ) ĊĠĠĠĠĠĠĠ Ġbtn _ cancel . setOnClickListener ( View . OnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġalert Dialog ?. dismiss () ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġbtn _ ok ay . setOnClickListener ( View . OnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġopen URL Ġ= ĠIntent ( Intent . ACTION _ VIEW ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġopen URL . data Ġ= ĠUri . parse (" https :// $ scan Data ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( open URL ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġalert Dialog ?. show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsetup Toolbar () Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġtoolbar Ġ= ĠfindViewById < Toolbar >( R . id . show data _ toolbar ) ĊĠĠĠĠĠĠĠ Ġtoolbar . title Ġ= Ġ" Scan ĠResult " ĊĠĠĠĠĠĠĠ Ġtoolbar . setTitle TextAppearance ( application Context , ĠR . style . TextAppearance _ AppCompat _ Title ) ĊĠĠĠĠĠĠĠ Ġtoolbar . setTitle TextColor (- 0 x 1 ) ĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( toolbar ) ĊĊĠĠĠĠĠĠĠ Ġsupport ActionBar ?. set Display Home As Up Enabled ( true ) ĊĠĠĠĠĠĠĠ Ġsupport ActionBar ?. set Display Show Home Enabled ( true ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Support Navigate Up (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġon Back Pressed () ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} Ċ Ċ }