package Ġapp . home Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . net . Uri Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . browser . custom tabs . Custom Tabs Client Ċ import Ġandroidx . browser . custom tabs . Custom Tabs Intent Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġapp . R Ċ import Ġapp . home . Package Ops . get PackageName ToUse Ċ Ċ internal Ġclass ĠHome Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĠĠĠ Ġprivate Ġval Ġproduct Home Url Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠUri . parse ( getString ( R . string . product _ home _ url )) ĊĠĠĠ Ġ} ĊĠĠĠ Ġprivate Ġval Ġcustom Tabs Service Connection Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠHome Custom Tabs Service Connection ( context That Bind s The Service Connection ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠTODO ĠHandle Ġback Ġbutton ĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġlaunch () ĊĠĠĠĠĠĠĠ ĠCustom Tabs Client . bind Custom Tabs Service ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext That Bind s The Service Connection (), ĠpackageName , Ġcustom Tabs Service Connection ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġcontext That Bind s The Service Connection (). unbind Service ( custom Tabs Service Connection ) ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġlaunch () Ġ{ ĊĠĠĠĠĠĠĠ ĠCustom Tabs Intent . Builder (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Start Animations ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ Home Activity , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . anim . grow _ fade _ in _ from _ bottom , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . anim . shrink _ fade _ out _ from _ bottom ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Exit Animations ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ Home Activity , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . anim . grow _ fade _ in _ from _ bottom , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . anim . shrink _ fade _ out _ from _ bottom ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠsetShow Title ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Instant Apps Enabled ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenable Url Bar H iding () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Toolbar Color ( Context Compat . getColor ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ Home Activity , ĠR . color . product _ toolbar _ background )) ĊĠĠĠĠĠĠĠ Ġ}. build (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent .` package ` Ġ= Ġget PackageName ToUse ( this @ Home Activity , Ġproduct Home Url ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( intent .` package ` Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIntent ( this @ Home Activity , ĠWebView Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. putExtra ( WebView Activity . EXTRA _ URL , Ġproduct Home Url . toString ())) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsupport Finish After Transition () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlaunch Url ( this @ Home Activity , Ġproduct Home Url ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcontext That Bind s The Service Connection () Ġ= Ġthis Ċ } Ċ