package Ġcom . ath ert on . up next . presentation . navigation Ċ Ċ import Ġandroid . content . Activity NotFoundException Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . net . Uri Ċ import Ġandroidx . fragment . app . FragmentManager Ċ import Ġandroidx . navigation . Nav Controller Ċ import Ġcom . ath ert on . up next . Mobile Navigation Directions Ċ import Ġcom . ath ert on . up next . presentation . common . ContentType Ċ import Ġcom . ath ert on . up next . presentation . common . add tol ists . AddTo Lists Dialog Fragment Ċ import Ġcom . ath ert on . up next . presentation . common . new list . New List Dialog Fragment Ċ import Ġcom . ath ert on . up next . presentation . features . content . Content Detail Fragment Directions Ċ Ċ class ĠAndroid Navigator ( private Ġval Ġnav Controller : ĠNav Controller , Ġval Ġcontext : ĠContext ) Ġ: ĠNavigator Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġshow Search Screen () Ġ{ ĊĠĠĠĠĠĠĠ Ġnav Controller . navigate ( com . ath ert on . up next . R . id . action Shared Go To Search ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Movie Detail Screen ( movie Id : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġaction Ġ= ĠContent Detail Fragment Directions . action Shared Go To Content Detail ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Id Ġ= Ġmovie Id , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠcontentType Ġ= ĠContentType . Movie ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġnav Controller . navigate ( action ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Tv Show Detail Screen ( tv Show Id : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġaction Ġ= ĠContent Detail Fragment Directions . action Shared Go To Content Detail ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Id Ġ= Ġtv Show Id , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠcontentType Ġ= ĠContentType . Tv Show ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġnav Controller . navigate ( action ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Person Detail Screen ( person Id : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠ ĠTODO (" not Ġimplemented ") Ġ// To Ġchange Ġbody Ġof Ġcreated Ġfunctions Ġuse ĠFile Ġ| ĠSettings Ġ| ĠFile ĠTemplates . ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġfall Ġback Ġon Ġweb Ġintent Ġif ĠY outube Ġapp Ġis Ġnot Ġinstalled ĊĠĠĠ Ġoverride Ġfun Ġplay Y outube Video ( video Key : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġapp Intent Ġ= ĠIntent ( Intent . ACTION _ VIEW , ĠUri . parse (" vnd . youtube :$ video Key ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . startActivity ( app Intent ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( ex : ĠActivity NotFoundException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġweb Intent Ġ= ĠIntent ( Intent . ACTION _ VIEW , ĠUri . parse (" http :// www . youtube . com / watch ? v =$ video Key ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . startActivity ( web Intent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Settings Screen () Ġ{ ĊĠĠĠĠĠĠĠ Ġnav Controller . navigate ( com . ath ert on . up next . R . id . action Shared Go To Settings ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow License s Screen () Ġ{ ĊĠĠĠĠĠĠĠ Ġnav Controller . navigate ( com . ath ert on . up next . R . id . action Shared Go To License s ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Url In Browser ( url : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbrowser Intent Ġ= ĠIntent ( Intent . ACTION _ VIEW , ĠUri . parse ( url )) ĊĠĠĠĠĠĠĠ Ġcontext . startActivity ( browser Intent ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Tv Shows Screen ( initial List Id : ĠLong ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġaction Ġ= ĠMobile Navigation Directions . action Shared Go To Shows ( initial List Id Ġ= Ġinitial List Id Ġ?: Ġ 0 L ) ĊĠĠĠĠĠĠĠ Ġnav Controller . navigate ( action ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Movies Screen ( initial List Id : ĠLong ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġaction Ġ= ĠMobile Navigation Directions . action Shared Go To Movies ( initial List Id Ġ= Ġinitial List Id Ġ?: Ġ 0 L ) ĊĠĠĠĠĠĠĠ Ġnav Controller . navigate ( action ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow AddTo Lists Menu ( ĊĠĠĠĠĠĠĠ Ġcontent Id : ĠLong , ĊĠĠĠĠĠĠĠ ĠcontentType : ĠContentType , ĊĠĠĠĠĠĠĠ Ġfragment Manager : ĠFragment Manager ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfragment Ġ= ĠAdd To Lists Dialog Fragment . newInstance ( content Id Ġ= Ġcontent Id , ĠcontentType Ġ= ĠcontentType ) ĊĠĠĠĠĠĠĠ Ġfragment . show ( fragment Manager , ĠAdd To Lists Dialog Fragment . FRAGMENT _ TAG ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow New List Screen ( ĊĠĠĠĠĠĠĠ Ġcontent Id : ĠLong , ĊĠĠĠĠĠĠĠ ĠcontentType : ĠContentType , ĊĠĠĠĠĠĠĠ Ġfragment Manager : ĠFragment Manager ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfragment Ġ= ĠNew List Dialog Fragment . newInstance ( content Id Ġ= Ġcontent Id , ĠcontentType Ġ= ĠcontentType ) ĊĠĠĠĠĠĠĠ Ġfragment . show ( fragment Manager , ĠNew List Dialog Fragment . FRAGMENT _ TAG ) ĊĠĠĠ Ġ} Ċ } Ċ