package Ġcom . example . bor is . music downloader . utils Ċ Ċ import Ġandroid . util . Log Ċ import Ġcom . example . bor is . music downloader . present ers . Download Fragment Presenter Impl Ċ import Ġjava . util . regex . Pattern Ċ Ċ class ĠY outube Util Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠTAG Ġ= Ġ" Y outube Util " ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġpattern : ĠPattern Ġ= ĠPattern . compile ("^ http ( s ?) :// (?: www \\. )? youtu (?: be \\. com / watch \\ ? v = | \\. be /) ([ \\ w \\ -_ ]* )( .* )") ĊĊĠĠĠĠĠĠĠ Ġfun Ġcheck Valid Y outube Uri ( uri : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmatcher Ġ= ĠDownload Fragment Presenter Impl . pattern . matcher ( uri ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" link Ġvalidity : Ġ${ matcher . matches () }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġmatcher . matches () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġextract Y outube Id ( url : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmatcher Ġ= ĠDownload Fragment Presenter Impl . pattern . matcher ( url ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( matcher . find ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġmatcher . group ( 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ"" ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġconvert Mobile To Standard ( uri : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġuri . replace (" m . youtube ", Ġ" youtube ", Ġignore Case Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }