package Ġio . go los . go los . screens . profile Ċ Ċ import Ġandroid . arch . lifecycle . LiveData Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġio . go los . go los . R Ċ import Ġio . go los . go los . screens . Go los Activity Ċ import Ġio . go los . go los . screens . stories . model . Feed Type Ċ import Ġio . go los . go los . utils . One Shot LiveData Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġy uri Ġon Ġ 1 5 . 1 2 . 1 7 . Ċ Ġ*/ Ċ class ĠUser Profile Activity Ġ: ĠGo los Activity (), ĠProfile Section Pre selector Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġfragment : ĠUser Profile Fragment ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġval Ġm Pre select LiveData Ġ= ĠOne Shot LiveData < Feed Type >() ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . a _ profile ) ĊĠĠĠĠĠĠĠ Ġif Ġ( intent . has Extra ( USERNAME _ TAG )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment Ġ= ĠUser Profile Fragment . getInstance ( intent . getString Extra ( USERNAME _ TAG )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsupport FragmentManager . beginTransaction () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. replace ( R . id . root _ lo , Ġfragment ). commit () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcheck Pre selection ( intent ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcheck Pre selection ( intent : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġ(( intent ?. get Serializable Extra ( FEED _ TYPE ) Ġas ? ĠFeed Type ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: ĠFeed Type . B LOG ). let Ġ{ Ġm Pre select LiveData . value Ġ= Ġit Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon New Intent ( intent : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġcheck Pre selection ( intent ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Pre select () Ġ= Ġm Pre select LiveData ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ Ġfragment ?. user Visible Hint Ġ= Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠUSER NAME _ TAG Ġ= Ġ" USERNAME _ TAG " ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠFE ED _ TYPE Ġ= Ġ" FEED _ TYPE " ĊĠĠĠĠĠĠĠ Ġfun Ġstart ( ctx : ĠContext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġusername : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġctx . startActivity ( getStart Intent ( ctx , Ġusername )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġget Start Intent ( ctx : ĠContext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġusername : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfeed Type : ĠFeed Type ? Ġ= Ġnull ): ĠIntent Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġi Ġ= ĠIntent ( ctx , ĠUser Profile Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġi . putExtra ( USERNAME _ TAG , Ġusername ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( feed Type Ġ!= Ġnull ) Ġi . putExtra ( FEED _ TYPE , Ġfeed Type ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġi ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ interface ĠProfile Section Pre selector Ġ{ ĊĠĠĠ Ġfun Ġget Pre select (): ĠLive Data < Feed Type > Ċ }