package Ġorg . ab uh ur air a . app . scenes . show Video Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . content . pm . Activity Info Ċ import Ġandroid . content . res . Configuration Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . design . widget . Snackbar Ċ import Ġandroid . view . MenuItem Ċ import Ġandroid . widget . LinearLayout Ċ import Ġcom . example . ah c stores . sources . dependencies . Has Dependencies Ċ import Ġcom . google . android . youtube . player . YouTube Base Activity Ċ import Ġcom . google . android . youtube . player . YouTube Initialization Result Ċ import Ġcom . google . android . youtube . player . YouTube Player Ċ import Ġkotlinx . android . synt hetic . main . activity _ show _ video .* Ċ import Ġorg . ab uh ur air a . app . R Ċ import Ġorg . ab uh ur air a . app . common . VIDEO _ ID Ċ import Ġorg . ab uh ur air a . app . common . protocols . Navigation Interface Ċ import Ġorg . ab uh ur air a . app . scenes . show Video . common . Show Video Display able Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġah med sa ad Ġon Ġ 2 0 1 8 - 0 1 - 2 2 . Ċ Ġ* ĠCopyright ĠÂ© Ġ 2 0 1 7 ĠJ iffy ĠInc . ĠAll Ġrights Ġreserved . Ċ Ġ*/ Ċ class ĠShow Video Activity Ġ: ĠYouTube Base Activity (), ĠNavigation Interface , ĠShow Video Display able , ĠHas Dependencies , ĊĠĠĠĠĠĠĠ ĠYouTube Player . On Initialized Listener Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠRE COVERY _ DIALOG _ REQUEST Ġ= Ġ 1 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġconstants Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ Ġdependencies . resolve Constants () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġlateinit Ġvar Ġid : ĠString ĊĠĠĠ Ġprivate Ġvar Ġyou Tube Player : ĠYouTube Player ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ show _ video ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( savedInstanceState Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvideo ID Ġ= Ġtry Ġ{ Ġintent . getString Extra ( VIDEO _ ID ) Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ null } ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( video ID Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġvideo ID ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplayer View . initialize ( constants . youtube API Key , Ġthis ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĊĠĠĠĠĠĠĠ Ġyou Tube Player ?. setFullscreen ( true ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Configuration Changed ( new Config : ĠConfiguration ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Configuration Changed ( new Config ) ĊĊĠĠĠĠĠĠĠ Ġyou Tube Player ?. setFullscreen ( true ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Initialization Success ( provider : ĠYouTube Player . Provider ?, Ġplayer : ĠYouTube Player ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwas Restore d : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . you Tube Player Ġ= Ġplayer ĊĠĠĠĠĠĠĠ Ġthis . you Tube Player ?. setFullscreen ( true ) ĊĠĠĠĠĠĠĠ Ġthis . you Tube Player ?. set Show Fullscreen Button ( false ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ(! was Restore d ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . you Tube Player ?. load Video ( id ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Initialization Failure ( provider : ĠYouTube Player . Provider ?, Ġerror Reason : ĠYouTube Initialization Result ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( error Reason ?. is User Recover able Error Ġ== Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġerror Reason . getError Dialog ( this , ĠRE COVERY _ DIALOG _ REQUEST ). show () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠerrorMessage Ġ= ĠString . format ( getString ( R . string . error _ player ), Ġerror Reason . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSn ackbar . make ( player View , ĠerrorMessage , ĠSn ackbar . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Result ( request Code : ĠInt , ĠresultCode : ĠInt , Ġdata : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( request Code Ġ== ĠRE COVERY _ DIALOG _ REQUEST ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠRetry Ġinitialization Ġif Ġuser Ġperformed Ġa Ġrecovery Ġaction ĊĠĠĠĠĠĠĠĠĠĠĠ Ġplayer View . initialize ( constants . youtube API Key , Ġthis ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠHandle Ġaction Ġbar Ġitem Ġclicks Ġhere . ĠThe Ġaction Ġbar Ġwill ĊĠĠĠĠĠĠĠ Ġ// Ġautomatically Ġhandle Ġclicks Ġon Ġthe ĠHome / Up Ġbutton , Ġso Ġlong ĊĠĠĠĠĠĠĠ Ġ// Ġas Ġyou Ġspecify Ġa Ġparent Ġactivity Ġin ĠAndroid Manifest . xml . ĊĠĠĠĠĠĠĠ Ġval Ġid Ġ= Ġitem . itemId ĊĊĊĠĠĠĠĠĠĠ Ġif Ġ( id Ġ== Ġandroid . R . id . home ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Back Pressed () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠ Ġ} Ċ }