package Ġcom . int i ja . int ij avid čĊčĊč Ċ import Ġandroid . net . Uri č Ċ import Ġandroid . os . Bundle č Ċ import Ġandroid . app . Fragment č Ċ import Ġandroid . view . LayoutInflater č Ċ import Ġandroid . view . View č Ċ import Ġandroid . view . ViewGroup č Ċ import Ġcom . google . android . ex op layer 2 . Default Load Control č Ċ import Ġcom . google . android . ex op layer 2 . Exo Player Factory č Ċ import Ġcom . google . android . ex op layer 2 . Simple Exo Player č Ċ import Ġcom . google . android . ex op layer 2 . extractor . Default Extract ors Factory č Ċ import Ġcom . google . android . ex op layer 2 . source . Extractor Media Source č Ċ import Ġcom . google . android . ex op layer 2 . track selection . Default Track Selector č Ċ import Ġcom . google . android . ex op layer 2 . ui . Simple Exo Player View č Ċ import Ġcom . google . android . ex op layer 2 . upstream . Default DataSource Factory čĊčĊč Ċ class ĠRenderer Ġ: ĠFragment () Ġ{ čĊčĊĠĠĠ Ġprivate Ġvar Ġmain View : ĠView ? Ġ= Ġnull čĊĠĠĠ Ġprivate Ġvar Ġsep : ĠSimple Exo Player ? Ġ= Ġnull čĊĠĠĠ Ġprivate Ġvar Ġse v : ĠSimple Exo Player View ? Ġ= Ġnull čĊĠĠĠ Ġprivate Ġvar Ġurl URI : ĠUri ? Ġ= Ġnull čĊčĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ čĊĠĠĠĠĠĠĠ Ġ// ĠInf late Ġthe Ġlayout Ġfor Ġthis Ġfragment čĊĠĠĠĠĠĠĠ Ġmain View Ġ= Ġinflater . inflate ( R . layout . fragment _ renderer , Ġcontainer , Ġfalse ) čĊčĊĠĠĠĠĠĠĠ Ġinit () čĊĠĠĠĠĠĠĠ Ġplay () čĊčĊĠĠĠĠĠĠĠ Ġreturn Ġmain View čĊĠĠĠ Ġ} čĊĠĠĠ Ġprivate Ġfun Ġplay () Ġ{ čĊĠĠĠĠĠĠĠ Ġval Ġts Ġ= ĠDefault Track Selector () čĊĠĠĠĠĠĠĠ Ġval Ġlc Ġ= ĠDefault Load Control () čĊčĊĠĠĠĠĠĠĠ Ġsep Ġ= ĠEx o Player Factory . new Simple Instance ( activity , Ġts , Ġlc ) čĊčĊĠĠĠĠĠĠĠ Ġse v !!. player Ġ= Ġsep čĊĠĠĠĠĠĠĠ Ġval Ġms Ġ= ĠExtract or Media Source ( url URI , ĠDefault DataSource Factory ( activity , Ġ" int i ja "), ĠDefault Extract ors Factory (), Ġnull , Ġnull ) čĊĠĠĠĠĠĠĠ Ġsep !!. prepare ( ms ) čĊĠĠĠĠĠĠĠ Ġsep !!. play When Ready Ġ= Ġtrue čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġprivate Ġfun Ġinit () Ġ{ čĊĠĠĠĠĠĠĠ Ġse v Ġ= Ġmain View !!. findViewById < View >( R . id . player ) Ġas ĠSimple Exo Player View čĊĠĠĠĠĠĠĠ Ġse v !!. use Controller Ġ= Ġarguments !!. getBoolean (" controller ") čĊĠĠĠĠĠĠĠ Ġurl URI Ġ= ĠUri . parse ( arguments !!. getString (" url ", Ġ"")) čĊčĊĠĠĠ Ġ} čĊčĊčĊĠĠĠ Ġ/* ĠComp let ely Ġreleases Ġthe Ġcurrent Ġvideo Ġplay b act Ġinstance Ġ*/ čĊĠĠĠ Ġprivate Ġfun Ġnull ify () Ġ{ čĊĠĠĠĠĠĠĠ Ġif Ġ( sep Ġ!= Ġnull ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġsep !!. stop () čĊĠĠĠĠĠĠĠĠĠĠĠ Ġsep !!. release () čĊĠĠĠĠĠĠĠĠĠĠĠ Ġsep Ġ= Ġnull čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoverride Ġfun Ġon Pause () Ġ{ čĊĠĠĠĠĠĠĠ Ġsuper . on Pause () čĊĠĠĠĠĠĠĠ Ġnull ify () čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ čĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () čĊĠĠĠĠĠĠĠ Ġnull ify () čĊĠĠĠ Ġ} čĊč Ċ } čĊ