/************************************************************************ ***** Ċ Ġ* Ġbrowser utils . kt Ċ Ġ************************************************************************* **** Ċ Ġ* ĠCopyright ĠÂ© Ġ 2 0 1 8 ĠV LC Ġauthors Ġand ĠVideo LAN Ċ Ġ* Ċ Ġ* ĠThis Ġprogram Ġis Ġfree Ġsoftware ; Ġyou Ġcan Ġredistribute Ġit Ġand / or Ġmodify Ċ Ġ* Ġit Ġunder Ġthe Ġterms Ġof Ġthe ĠGNU ĠGeneral ĠPublic ĠLicense Ġas Ġpublished Ġby Ċ Ġ* Ġthe ĠFree ĠSoftware ĠFoundation ; Ġeither Ġversion Ġ 2 Ġof Ġthe ĠLicense , Ġor Ċ Ġ* Ġ( at Ġyour Ġoption ) Ġany Ġlater Ġversion . Ċ Ġ* Ċ Ġ* ĠThis Ġprogram Ġis Ġdistributed Ġin Ġthe Ġhope Ġthat Ġit Ġwill Ġbe Ġuseful , Ċ Ġ* Ġbut ĠWITHOUT ĠANY ĠWARRANTY ; Ġwithout Ġeven Ġthe Ġimplied Ġwarranty Ġof Ċ Ġ* ĠMERCHANTABILITY Ġor ĠFITNESS ĠFOR ĠA ĠPARTICULAR ĠPURPOSE . Ġ ĠSee Ġthe Ċ Ġ* ĠGNU ĠGeneral ĠPublic ĠLicense Ġfor Ġmore Ġdetails . Ċ Ġ* Ċ Ġ* ĠYou Ġshould Ġhave Ġreceived Ġa Ġcopy Ġof Ġthe ĠGNU ĠGeneral ĠPublic ĠLicense Ċ Ġ* Ġalong Ġwith Ġthis Ġprogram ; Ġif Ġnot , Ġwrite Ġto Ġthe ĠFree ĠSoftware Ċ Ġ* ĠFoundation , ĠInc ., Ġ 5 1 ĠFranklin ĠStreet , ĠFifth ĠFloor , ĠBoston ĠMA Ġ 0 2 1 1 0 - 1 3 0 1 , ĠUSA . Ċ Ġ************************************************************************* ****/ Ċ Ċ package Ġorg . vide ol an . v lc . util Ċ Ċ import Ġandroid . net . Uri Ċ import Ġorg . vide ol an . med iali brary . ML Service Locator Ċ import Ġorg . vide ol an . med iali brary . interfaces . media . Media Wrapper Ċ import Ġorg . vide ol an . med iali brary . media . Media Library Item Ċ import Ġorg . vide ol an . v lc . medi adb . models . Browser Fav Ċ import Ġjava . io . File Ċ Ċ fun Ġis Scheme Streaming ( scheme : ĠString ?): ĠBoolean Ġ= Ġwhen Ġ{ ĊĠĠĠ Ġscheme . isNull OrEmpty () Ġ-> Ġfalse ĊĠĠĠ Ġis Scheme Http Or Https ( scheme ) Ġ-> Ġtrue ĊĠĠĠ Ġscheme . startsWith (" m ms ") Ġ-> Ġtrue ĊĠĠĠ Ġscheme . startsWith (" rt sp ") Ġ-> Ġtrue ĊĠĠĠ Ġelse Ġ-> Ġfalse Ċ } Ċ Ċ fun Ġis Scheme Http Or Https ( scheme : ĠString ?): ĠBoolean Ġ= Ġscheme ?. startsWith (" http ") Ġ== Ġtrue Ċ Ċ fun Ġis Scheme Supported ( scheme : ĠString ?) Ġ= Ġwhen ( scheme ) Ġ{ ĊĠĠĠ Ġ" file ", Ġ" smb ", Ġ" ssh ", Ġ" nfs ", Ġ" ftp ", Ġ" ftp s ", Ġ" content " Ġ-> Ġtrue ĊĠĠĠ Ġelse Ġ-> Ġfalse Ċ } Ċ fun ĠString ?. is Scheme Network () Ġ= Ġwhen ( this ) Ġ{ ĊĠĠĠ Ġ" smb ", Ġ" ssh ", Ġ" nfs ", Ġ" ftp ", Ġ" ftp s ", Ġ" up np " Ġ-> Ġtrue ĊĠĠĠ Ġelse Ġ-> Ġfalse Ċ } Ċ Ċ fun ĠString ?. is Scheme File () Ġ= Ġwhen ( this ) Ġ{ ĊĠĠĠ Ġ" file ", Ġnull Ġ-> Ġtrue ĊĠĠĠ Ġelse Ġ-> Ġfalse Ċ } Ċ Ċ fun Ġconvert F avorites ( browser Fav s : ĠList < Browser Fav > ?) Ġ= Ġbrowser Fav s ?. filter Ġ{ ĊĠĠĠ Ġit . uri . scheme Ġ!= Ġ" file " Ġ|| ĠFile ( it . uri . path ). exists () Ċ } ?. map Ġ{ Ġ( uri , Ġ_, Ġtitle , Ġicon Url ) Ġ-> ĊĠĠĠ ĠML Service Locator . get Abstract Media Wrapper ( uri ). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġset Display Title ( Uri . decode ( title )) ĊĠĠĠĠĠĠĠ Ġtype Ġ= ĠMedia Wrapper . TYPE _ DIR ĊĠĠĠĠĠĠĠ Ġicon Url ?. let Ġ{ Ġart work URL Ġ= ĠUri . decode ( it ) Ġ} ĊĠĠĠĠĠĠĠ ĠsetState Flags ( Media Library Item . FLAG _ FA V OR ITE ) ĊĠĠĠ Ġ} Ċ } Ġ?: Ġempty List () Ċ