/* Ċ Ġ* ĠCopyright Ġ 2 0 2 1 - 2 0 2 2 ĠBand yer Ġ@ Ġhttps :// www . band yer . com Ċ Ġ* Ċ Ġ* Ġ ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġ Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* Ġ ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* Ġ ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġ Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* Ġ ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* Ġ ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġ Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġcom . band yer . sdk _ design . call . bottom _ sheet . items Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . content . Context Ċ import Ġandroid . view . View Ċ import Ġandroidx . annotation . Id Res Ċ import Ġandroidx . annotation . Layout Res Ċ import Ġandroidx . annotation . Style Res Ċ import Ġcom . band yer . sdk _ design . R Ċ import Ġcom . band yer . sdk _ design . bottom _ sheet . items . Action Item Ċ import Ġcom . band yer . sdk _ design . buttons . Audio Route Button Ċ import Ġcom . band yer . sdk _ design . buttons . Band yer ActionButton Ċ import Ġcom . band yer . sdk _ design . call . buttons . Band yer Audio Route ActionButton Ċ import Ġcom . band yer . sdk _ design . extensions . get Call Action Item Style Ċ import Ġcom . band yer . sdk _ design . extensions . get Ring ing Action Item Style Ċ import Ġcom . band yer . sdk _ design . extensions . set All Enabled Ċ Ċ /** Ċ Ġ* ĠClass Ġrepresenting Ġa ĠCall ĠAction Ċ Ġ* Ġ@ constructor Ċ Ġ*/ Ċ open Ġclass ĠCall Action (@ Id Res Ġview Id : ĠInt , Ġ@ Layout Res Ġview Layout Res : ĠInt Ġ= Ġ 0 , Ġ@ Style Res Ġview Style : ĠInt Ġ= Ġ 0 ) Ġ: ĠAction Item ( view Id , Ġview Layout Res , Ġview Style ) Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠInstance Ġof ĠCall ĠActions ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġcompanion Ġobject ĠItems Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠG ives Ġa Ġlist Ġof Ġall Ġactions Ġused Ġfor Ġincoming Ġcalls ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġctx ĠContext Ġinput Ġcontext ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return ĠList < Call Action > Ġcomposed Ġof ĠBIG _ H ANG UP Ġand ĠBIG _ AN SW ER ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġget Incoming Call Actions ( ctx : ĠContext ) Ġ= ĠlistOf ( DECL INE ( ctx ), ĠAN SW ER ( ctx )) ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠGet Ġall Ġactions Ġfor Ġan Ġaudio & Video Ġcall Ġthat Ġcan Ġbe Ġcollapsed ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġctx ĠContext ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġcamera Toggle d ĠTrue Ġif Ġby Ġdefault Ġthe Ġcamera Ġshould Ġbe Ġtoggle d , Ġfalse Ġotherwise , Ġnull Ġif Ġnot Ġdesired Ġas Ġaction ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġmic Toggle d ĠTrue Ġif Ġby Ġdefault Ġthe Ġmicro phone Ġshould Ġbe Ġtoggle d , Ġfalse Ġotherwise , Ġnull Ġif Ġnot Ġdesired Ġas Ġaction ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġwith Chat ĠTrue Ġif Ġby Ġdefault Ġthe Ġchat Ġshould Ġbe Ġshown , Ġfalse Ġotherwise ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġwith White board Ġ ĠTrue Ġif Ġby Ġdefault Ġthe Ġwhite board Ġshould Ġbe Ġshown , Ġfalse Ġotherwise ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġwith File Share Ġ ĠTrue Ġif Ġby Ġdefault Ġthe Ġfile Ġshare Ġshould Ġbe Ġshown , Ġfalse Ġotherwise ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġwith Screen Share Ġ ĠTrue Ġif Ġby Ġdefault Ġthe Ġscreen Ġshare Ġshould Ġbe Ġshown , Ġfalse Ġotherwise ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return ĠList < Call Action > ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġget Actions ( ctx : ĠContext , Ġmic Toggle d : ĠBoolean ?, Ġcamera Toggle d : ĠBoolean ?, Ġwith Chat : ĠBoolean , Ġwith White board : ĠBoolean , Ġwith File Share : ĠBoolean , Ġwith Screen Share : ĠBoolean ): ĠList < Call Action > Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmutable ListOf < Call Action >(). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( mic Toggle d Ġ!= Ġnull ) Ġadd ( MICRO PHONE ( mic Toggle d , Ġctx )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( camera Toggle d Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( CAMERA ( camera Toggle d , Ġctx )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( SWITCH _ CAMERA ( ctx )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( with Chat ) Ġadd ( CHAT ( ctx )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( with White board ) Ġadd ( WHITE BOARD ( ctx )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( AU DI OR OUT E ( ctx )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( with File Share ) Ġadd ( FILE _ SHARE ( ctx )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( with Screen Share ) Ġadd ( SCREEN _ SHARE ( false , Ġctx )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( size Ġ< Ġ 3 ) Ġadd ( 1 , ĠH ANG UP ( ctx )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġadd ( 3 , ĠH ANG UP ( ctx )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠT og gl able ĠCall ĠAction ĊĠĠĠĠ Ġ* Ġ@ property Ġtoggle d Ġtrue Ġto Ġselect , Ġfalse Ġotherwise ĊĠĠĠĠ Ġ* Ġ@ constructor ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġabstract Ġclass ĠT og gl able Call Action ( view Id : ĠInt , Ġvar Ġtoggle d : ĠBoolean , Ġview Layout Res : ĠInt Ġ= Ġ 0 , Ġview Style : ĠInt Ġ= Ġ 0 ) Ġ: ĠCall Action ( view Id , Ġview Layout Res , Ġview Style ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠToggle Ġthe Ġaction Ġbutton ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġtoggle () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġaction Button Ġ= ĠitemView ?. findViewById < Band yer ActionButton >( view Id ) Ġ?: Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtoggle (! action Button . is Activated ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠToggle Ġthe Ġaction Ġbutton ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġenable Ġtrue Ġto Ġenable , Ġfalse Ġotherwise ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġopen Ġfun Ġtoggle ( enable : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġaction Button Ġ= ĠitemView ?. findViewById < Band yer ActionButton >( view Id ) Ġ?: Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaction Button . is Activated Ġ= Ġenable ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtoggle d Ġ= Ġenable ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Content Description ( action Button . button ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠUpdate Ġcontent Ġdescription ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġbutton Ġview Ġto Ġupdate Ġthe Ġcontent Ġdescription ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġopen Ġfun Ġupdate Content Description ( button : ĠView ?) Ġ= ĠUnit ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Ready () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtoggle ( toggle d ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCamera Ġcall Ġaction Ġitem ĊĠĠĠĠ Ġ* Ġ@ property Ġtoggle d Ġtrue Ġor Ġfalse Ġto Ġtoggle ĊĠĠĠĠ Ġ* Ġ@ constructor ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġopen Ġclass ĠCAM ERA ( m Toggle d : ĠBoolean , Ġprivate Ġval Ġctx : ĠContext ) Ġ: ĠT og gl able Call Action ( R . id . band yer _ id _ camera , Ġm Toggle d , ĠR . layout . band yer _ call _ action _ item , Ġctx . get Call Action Item Style ( R . style able . Band yer SDK Design _ Bottom Sheet _ Call _ band yer _ camera Style )) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġupdate Content Description ( button : ĠView ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbutton ?. content Description Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( toggle d ) Ġctx . resources . getString ( R . string . band yer _ call _ action _ enable _ camera _ description ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġctx . resources . getString ( R . string . band yer _ call _ action _ disable _ camera _ description ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠMicro phone Ġcall Ġaction Ġitem ĊĠĠĠĠ Ġ* Ġ@ property Ġtoggle d Ġtrue Ġor Ġfalse Ġto Ġtoggle ĊĠĠĠĠ Ġ* Ġ@ constructor ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġopen Ġclass ĠMIC RO PHONE ( m Toggle d : ĠBoolean , Ġprivate Ġval Ġctx : ĠContext ) Ġ: ĠT og gl able Call Action ( R . id . band yer _ id _ micro phone , Ġm Toggle d , ĠR . layout . band yer _ call _ action _ item , Ġctx . get Call Action Item Style ( R . style able . Band yer SDK Design _ Bottom Sheet _ Call _ band yer _ micro phone Style )) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġupdate Content Description ( button : ĠView ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbutton ?. content Description Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( toggle d ) Ġctx . resources . getString ( R . string . band yer _ call _ action _ enable _ mic _ description ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġctx . resources . getString ( R . string . band yer _ call _ action _ disable _ mic _ description ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠOptions Ġcall Ġaction Ġitem ĊĠĠĠĠ Ġ* Ġ@ property Ġswitch With ĠCall Action Ġto Ġreplace Ġthe Ġoptions Ġwith ĊĠĠĠĠ Ġ* Ġ@ constructor ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġopen Ġclass ĠOPTIONS ( val Ġswitch With : ĠCall Action , Ġctx : ĠContext ) Ġ: ĠCall Action ( R . id . band yer _ id _ options , ĠR . layout . band yer _ call _ action _ item , Ġctx . get Call Action Item Style ( R . style able . Band yer SDK Design _ Bottom Sheet _ Call _ band yer _ options Style )) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSwitch Ġcamera Ġcall Ġaction Ġitem ĊĠĠĠĠ Ġ* Ġ@ constructor ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġopen Ġclass ĠSW ITCH _ CAMERA ( ctx : ĠContext ) Ġ: ĠCall Action ( R . id . band yer _ id _ switch camera , ĠR . layout . band yer _ call _ action _ item , Ġctx . get Call Action Item Style ( R . style able . Band yer SDK Design _ Bottom Sheet _ Call _ band yer _ switch Camera Style )) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠPart icipants Ġcall Ġaction Ġitem ĊĠĠĠĠ Ġ* Ġ@ constructor ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġopen Ġclass ĠPARTIC IP ANT S ( ctx : ĠContext ) Ġ: ĠCall Action ( R . id . band yer _ id _ participants , ĠR . layout . band yer _ call _ action _ item , Ġctx . get Call Action Item Style ( R . style able . Band yer SDK Design _ Bottom Sheet _ Call _ band yer _ participants Style )) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠOpen ĠChat Ġcall Ġaction Ġitem ĊĠĠĠĠ Ġ* Ġ@ constructor ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġopen Ġclass ĠCH AT ( ctx : ĠContext ) Ġ: ĠCall Action ( R . id . band yer _ id _ chat , ĠR . layout . band yer _ call _ action _ item , Ġctx . get Call Action Item Style ( R . style able . Band yer SDK Design _ Bottom Sheet _ Call _ band yer _ chat Style )) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠAudio Route Ġcall Ġaction Ġitem ĊĠĠĠĠ Ġ* Ġ@ property ĠmCurrent ĠAudio Route ? Ġcurrent ĠAudio Route Ġdevice ĊĠĠĠĠ Ġ* Ġ@ constructor ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġopen Ġclass ĠA U DI OR OUT E ( ctx : ĠContext ) Ġ: ĠCall Action ( R . id . band yer _ id _ aud ior oute , ĠR . layout . band yer _ call _ action _ aud ior oute _ item , Ġctx . get Call Action Item Style ( R . style able . Band yer SDK Design _ Bottom Sheet _ Call _ band yer _ audio Route Style )) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġvar ĠmCurrent : ĠAudio Route ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠChange Ġcurrent ĠAudio Route Ġdevice ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġitem Ġnew ĠAudio Route ? ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun ĠsetCurrent ( item : ĠAudio Route ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( item Ġ== Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠitemView ?. findViewById < Band yer Audio Route ActionButton >( view Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbutton Ġ= Ġview ?. button Ġas ? ĠAudio Route Button ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview ?. post Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( item ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠAudio Route . BL U ETO OTH Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbutton ?. state Ġ= ĠAudio Route Button . State . BL U ETO OTH ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠAudio Route . WI RED _ HEAD SET Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbutton ?. state Ġ= ĠAudio Route Button . State . WI RED _ HEAD SET ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠAudio Route . LO UD SPE AK ER Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbutton ?. state Ġ= ĠAudio Route Button . State . LO UD SPE AK ER ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠAudio Route . EAR PI E CE Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbutton ?. state Ġ= ĠAudio Route Button . State . EAR PI E CE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠAudio Route . MUT ED Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbutton ?. state Ġ= ĠAudio Route Button . State . MUT ED ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠmCurrent Ġ= Ġitem ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Ready () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠsetCurrent ( m Current ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠH ang up Ġcall Ġaction Ġitem ĊĠĠĠĠ Ġ* Ġ@ constructor ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġopen Ġclass ĠDECL INE ( ctx : ĠContext ) Ġ: ĠCall Action ( R . id . band yer _ id _ decl ine , ĠR . layout . band yer _ call _ action _ item , Ġctx . get Ring ing Action Item Style ( R . style able . Band yer SDK Design _ Bottom Sheet _ Ring ing _ band yer _ decl ine Style )) ĊĊĠĠĠ Ġ/** ĊĊĠĠĠĠ Ġ* ĠH ang up Ġcall Ġaction Ġitem ĊĠĠĠĠ Ġ* Ġ@ constructor ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġopen Ġclass ĠH ANG UP ( ctx : ĠContext ) Ġ: ĠCall Action ( R . id . band yer _ id _ hang up , ĠR . layout . band yer _ call _ action _ item , Ġctx . get Call Action Item Style ( R . style able . Band yer SDK Design _ Bottom Sheet _ Call _ band yer _ hang Up Style )) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠAnswer Ġcall Ġaction Ġitem ĊĠĠĠĠ Ġ* Ġ@ constructor ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġopen Ġclass ĠAN SW ER ( ctx : ĠContext ) Ġ: ĠCall Action ( R . id . band yer _ id _ answer , ĠR . layout . band yer _ call _ action _ item , Ġctx . get Ring ing Action Item Style ( R . style able . Band yer SDK Design _ Bottom Sheet _ Ring ing _ band yer _ answer Style )) ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠWhite board Ġcall Ġaction Ġitem ĊĠĠĠĠ Ġ* Ġ@ constructor ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġopen Ġclass ĠWH ITE BOARD ( ctx : ĠContext ) Ġ: ĠCall Action ( R . id . band yer _ id _ white board , ĠR . layout . band yer _ call _ action _ item , Ġctx . get Call Action Item Style ( R . style able . Band yer SDK Design _ Bottom Sheet _ Call _ band yer _ white board Style )) ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠUpload Ġcall Ġaction Ġitem ĊĠĠĠĠ Ġ* Ġ@ constructor ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġopen Ġclass ĠFILE _ SHARE ( ctx : ĠContext ) Ġ: ĠCall Action ( R . id . band yer _ id _ file share , ĠR . layout . band yer _ call _ action _ item , Ġctx . get Call Action Item Style ( R . style able . Band yer SDK Design _ Bottom Sheet _ Call _ band yer _ file Share Style )) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġold Label Text : ĠString ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠIf Ġaction Ġbutton Ġis Ġenabled ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġvar Ġenabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġset ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Ready () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġaction Ġ= ĠitemView !!. findViewById < Band yer ActionButton >( view Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( old Label Text Ġ== Ġnull ) Ġold Label Text Ġ= Ġaction . label ?. text ?. toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaction . label ?. text Ġ= Ġold Label Text ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaction . set All Enabled ( enabled ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠSet Ġthe ĠUpload Ġprogress ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġprogress Ġpercentage Ġfrom Ġ 0 Ġto Ġ 1 0 0 ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġ@ Suppress Lint (" SetText I 1 8 n ") ĊĠĠĠĠĠĠĠ Ġfun Ġset Upload Progress ( progress : ĠFloat ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView Ġ?: Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġaction Ġ= ĠitemView !!. findViewById < Band yer ActionButton >( view Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( progress Ġ< Ġ 1 0 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaction . label ?. text Ġ= Ġ"${ progress . toInt ()} %" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaction . label ?. text Ġ= Ġold Label Text ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠRemove Ġthe Ġprogress ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġremove Upload Progress () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView Ġ?: Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġaction Ġ= ĠitemView !!. findViewById < Band yer ActionButton >( view Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaction . label ?. text Ġ= Ġold Label Text ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠEnable Ġthe Ġaction ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġenable () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView Ġ?: Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġaction Ġ= ĠitemView !!. findViewById < Band yer ActionButton >( view Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaction . set All Enabled ( true ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠDisable Ġthe Ġaction ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġdisable () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView Ġ?: Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġaction Ġ= ĠitemView !!. findViewById < Band yer ActionButton >( view Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaction . set All Enabled ( false ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠMicro phone Ġcall Ġaction Ġitem ĊĠĠĠĠ Ġ* Ġ@ property Ġtoggle d Ġtrue Ġor Ġfalse Ġto Ġtoggle ĊĠĠĠĠ Ġ* Ġ@ constructor ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġopen Ġclass ĠSCREEN _ SHARE ( m Toggle d : ĠBoolean Ġ= Ġfalse , Ġctx : ĠContext ) Ġ: ĠT og gl able Call Action ( R . id . band yer _ id _ screen share , Ġm Toggle d , ĠR . layout . band yer _ call _ action _ item , Ġctx . get Call Action Item Style ( R . style able . Band yer SDK Design _ Bottom Sheet _ Call _ band yer _ screen Share Style )) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCalled Ġwhen Ġthe Ġlayout Ġhas Ġbeen Ġinfl ated ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġon Ready () Ġ= ĠUnit Ċ }