package Ġuk . co . sentinel web . c uer . app . util . share Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . net . Uri Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġuk . co . sentinel web . c uer . app . util . wrapper . Y outube Java Api Wrapper Ċ import Ġuk . co . sentinel web . c uer . domain . Media Domain Ċ import Ġuk . co . sentinel web . c uer . domain . Playlist Domain Ċ import Ġuk . co . sentinel web . c uer . domain . Playlist Domain . Playlist Type Domain . PLATFORM Ċ Ċ class ĠShare Wrapper ( ĊĠĠĠ Ġprivate Ġval Ġactivity : ĠAppCompatActivity Ċ ) Ġ{ ĊĠĠĠ Ġfun Ġshare ( media : ĠMedia Domain ) Ġ{ ĊĠĠĠĠĠĠĠ ĠIntent (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaction Ġ= ĠIntent . ACTION _ SEND ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata Ġ= ĠUri . parse ( media . url ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput Extra ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIntent . EXTRA _ TEXT , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshort Message ( media ). trim Margin () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput Extra ( Intent . EXTRA _ SUBJECT , Ġ" Watch Ġ'${ media . title }' Ġby Ġ'${ media . channel Data . title }' ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= Ġ" text / plain " ĊĠĠĠĠĠĠĠ Ġ}. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIntent . create Chooser ( it , Ġ" Share ĠVideo : Ġ${ media . title }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// it Ġ// Ġgives Ġa Ġdifferent Ġshare Ġsheet Ġ- Ġa Ġbit Ġeasier ĊĠĠĠĠĠĠĠ Ġ}. run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġactivity . startActivity ( this ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġshare ( playlist : ĠPlaylist Domain ) Ġ{ ĊĠĠĠĠĠĠĠ ĠIntent (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaction Ġ= ĠIntent . ACTION _ SEND ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata Ġ= ĠUri . parse ( Y outube Java Api Wrapper . playlist Url ( playlist )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput Extra ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIntent . EXTRA _ TEXT , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplaylist Message ( playlist ). trim Margin () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsubject Ġ= Ġ" Shared Ġplaylist : Ġ'${ playlist . title } '" Ġ+ Ġ( playlist . channel Data ?. let Ġ{ Ġ" Ġby Ġ'${ it . title } '" Ġ} Ġ?: Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput Extra ( Intent . EXTRA _ SUBJECT , Ġsubject ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= Ġ" text / plain " ĊĠĠĠĠĠĠĠ Ġ}. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIntent . create Chooser ( it , Ġ" Share ĠPlaylist : Ġ${ playlist . title }") ĊĠĠĠĠĠĠĠ Ġ}. run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġactivity . startActivity ( this ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġfull Message ( media : ĠMedia Domain ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ""" Yo Ġche ez , ĠCheck Ġout Ġthis Ġvid : ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ${ media . title } ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ${ media . url } ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| by Ġ"${ media . channel Data . title }" Ġ(${ Y outube Java Api Wrapper . channel Url ( media )}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| Sent Ġvia ĠC uer Ġ@ c uer app Ġ( https :// twitter . com / c uer app ) ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshort Message ( media : ĠMedia Domain ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ""" ${ media . title } ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ${ media . url } ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| by Ġ"${ media . channel Data . title }" Ġ(${ Y outube Java Api Wrapper . channel Url ( media )}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġplaylist Message ( playlist : ĠPlaylist Domain ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsb Ġ= ĠStringBuilder () ĊĠĠĠĠĠĠĠ Ġsb . append (" Playlist : Ġ"). append ( playlist . title ). append ("\ n \ n ") ĊĠĠĠĠĠĠĠ Ġif Ġ( playlist . type Ġ== ĠPLATFORM ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append (" URL : "). append ( Y outube Java Api Wrapper . playlist Url ( playlist )). append ("\ n \ n ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġplaylist . config . description ?. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append ( this ). append ("\ n \ n ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( playlist . items . size Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append ( Character . to Chars ( 0 x 1 F 4 FA )). append (" ĠV ideos :\ n \ n ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġplaylist . items . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . media . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( star red ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append ( Character . to Chars ( 0 x 2 B 5 0 )). append (" Ġ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append ( title ). append ("\ n ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append ( Y outube Java Api Wrapper . video Short Url ( this )). append ("\ n ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append (" ĠĠ Ġby : Ġ"). append ( channel Data . title ). append (" Ġ- Ġ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append ( channel Data . custom Url Ġ?: ĠY outube Java Api Wrapper . channel Url ( channel Data )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append ("\ n \ n ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġsb . append (" Sent Ġvia ĠC uer Ġ@ c uer app Ġ( https :// twitter . com / c uer app ) "). append ("\ n \ n ") ĊĠĠĠĠĠĠĠ Ġreturn Ġsb . toString () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Link From Intent ( intent : ĠIntent ): ĠString ? Ġ= ĊĠĠĠĠĠĠĠ Ġintent . data ?. toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ? . take If Ġ{ Ġit . startsWith (" http ") Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġintent . clip Data ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . take If Ġ{ Ġit . item Count Ġ> Ġ 0 Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . let Ġ{ Ġit . getItem At ( 0 )?. let Ġ{ Ġit . uri Ġ?: Ġit . text Ġ}. toString () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . take If Ġ{ Ġit . startsWith (" http ") Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġintent . getString Extra ( Intent . EXTRA _ TEXT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . take If Ġ{ Ġit . startsWith (" http ") Ġ} ĊĊĠĠĠ Ġfun ĠgetText From Intent ( intent : ĠIntent ): ĠString ? Ġ= ĊĠĠĠĠĠĠĠ Ġintent . data ?. toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġintent . clip Data ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . take If Ġ{ Ġit . item Count Ġ> Ġ 0 Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . let Ġ{ Ġit . getItem At ( 0 )?. let Ġ{ Ġit . uri Ġ?: Ġit . text Ġ}. toString () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġintent . getString Extra ( Intent . EXTRA _ TEXT ) Ċ Ċ }