package Ġcom . mx . video Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . util . Attribute Set Ċ import Ġandroid . widget . Toast Ċ import Ġcom . mx . video . beans . MX State Ċ import Ġcom . mx . video . utils . MX Video Listener Ċ import Ġcom . mx . video . views . MX View Provider Ċ Ċ open Ġclass ĠMX Video Std Ġ@ Jvm Over loads Ġconstructor ( ĊĠĠĠ Ġcontext : ĠContext , Ġattrs : ĠAttributeSet ? Ġ= Ġnull , Ġdef Style Attr : ĠInt Ġ= Ġ 0 Ċ ) Ġ: ĠMX Video ( context , Ġattrs , Ġdef Style Attr ) Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġget Layout Id (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠR . layout . mx _ layout _ video _ std ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġvar ĠonComplete Listener : Ġ(() Ġ-> ĠUnit )? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar ĠonError Listener : Ġ(() Ġ-> ĠUnit )? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar ĠonStart Prepare Listener : Ġ(() Ġ-> ĠUnit )? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġon Prepared Listener : Ġ(() Ġ-> ĠUnit )? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġon Empty Play Listener : Ġ(() Ġ-> ĠUnit )? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġon Time Listener : Ġ(( position : ĠInt , Ġduration : ĠInt ) Ġ-> ĠUnit )? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġon Buffer Listener : Ġ(( in Buffer : ĠBoolean ) Ġ-> ĠUnit )? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġval Ġvideo Listener Ġ= Ġobject Ġ: ĠMX Video Listener () Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon StateChange ( state : ĠMX State , Ġprovider : ĠMX View Provider ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( state ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMX State . PRE PAR ING Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonStart Prepare Listener ?. invoke () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMX State . PRE PARE D Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Prepared Listener ?. invoke () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMX State . COMPLETE Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonComplete Listener ?. invoke () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMX State . ERROR Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonError Listener ?. invoke () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Play Ticket ( position : ĠInt , Ġduration : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Time Listener ?. invoke ( position , Ġduration ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Buffer ing ( in Buffer : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Buffer Listener ?. invoke ( in Buffer ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Empty Play () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( on Empty Play Listener Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Empty Play Listener ?. invoke () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ MX Video Std . context , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . mx _ play _ source _ not _ set , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . LENGTH _ SHORT ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġadd On Video Listener ( video Listener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ åĽŀè°ĥ ï¼ļ è§Ĩé¢ĳ åĩĨå¤ĩ åĲ¯åĬ¨ æĴŃæĶ¾ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset On Start Prepare Listener ( listener : Ġ(() Ġ-> ĠUnit )? ) Ġ{ ĊĠĠĠĠĠĠĠ ĠonStart Prepare Listener Ġ= Ġlistener ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ åĽŀè°ĥ ï¼ļ è§Ĩé¢ĳ å·² åĩĨå¤ĩ å¥½ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset On Prepared Listener ( listener : Ġ(() Ġ-> ĠUnit )? ) Ġ{ ĊĠĠĠĠĠĠĠ Ġon Prepared Listener Ġ= Ġlistener ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ åĽŀè°ĥ ï¼ļ è§Ĩé¢ĳ æĴŃæĶ¾ å®ĮæĪĲ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset On Complete Listener ( listener : Ġ(() Ġ-> ĠUnit )? ) Ġ{ ĊĠĠĠĠĠĠĠ ĠonComplete Listener Ġ= Ġlistener ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ åĽŀè°ĥ ï¼ļ è§Ĩé¢ĳ æĴŃæĶ¾ éĶĻè¯¯ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset OnError Listener ( listener : Ġ(() Ġ-> ĠUnit )? ) Ġ{ ĊĠĠĠĠĠĠĠ ĠonError Listener Ġ= Ġlistener ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ åĽŀè°ĥ ï¼ļ è§Ĩé¢ĳ ç¼ĵ åĨ² åĬłè½½ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset On Buffer Listener ( listener : Ġ(( in Buffer : ĠBoolean ) Ġ-> ĠUnit )? ) Ġ{ ĊĠĠĠĠĠĠĠ Ġon Buffer Listener Ġ= Ġlistener ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ åĽŀè°ĥ ï¼ļ è§Ĩé¢ĳ æĴŃæĶ¾ æĹ¶éĹ´ åıĺ æĽ´ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset On Time Listener ( listener : Ġ(( position : ĠInt , Ġduration : ĠInt ) Ġ-> ĠUnit )? ) Ġ{ ĊĠĠĠĠĠĠĠ Ġon Time Listener Ġ= Ġlistener ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ åĽŀè°ĥ ï¼ļ æ²¡æľī æºĲ æĹ¶ çĤ¹åĩ» æĴŃæĶ¾ æĮīéĴ® ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset On Empty Play Listener ( listener : Ġ(() Ġ-> ĠUnit )? ) Ġ{ ĊĠĠĠĠĠĠĠ Ġon Empty Play Listener Ġ= Ġlistener ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġrelease () Ġ{ ĊĠĠĠĠĠĠĠ Ġon Buffer Listener Ġ= Ġnull ĊĠĠĠĠĠĠĠ ĠonComplete Listener Ġ= Ġnull ĊĠĠĠĠĠĠĠ ĠonError Listener Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġon Prepared Listener Ġ= Ġnull ĊĠĠĠĠĠĠĠ ĠonStart Prepare Listener Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġon Time Listener Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġsuper . release () ĊĠĠĠ Ġ} Ċ }