/* Ċ Ġ* ĠShow Notes Dialog Ċ Ġ* ĠImplements Ġthe ĠShow Notes Dialog Ġclass Ċ Ġ* ĠA ĠShow Notes Dialog Ġdisplays Ġthe Ġshow Ġnotes Ġfor Ġa Ġpod cast Ġepisode Ċ Ġ* Ċ Ġ* ĠThis Ġfile Ġis Ġpart Ġof Ċ Ġ* ĠESC APE POD Ġ- ĠFree Ġand ĠOpen ĠPod cast ĠApp Ċ Ġ* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 8 - 2 2 Ġ- ĠY 2 0 K . org Ċ Ġ* ĠLicensed Ġunder Ġthe ĠMIT - License Ċ Ġ* Ġhttp :// opensource . org / licenses / MIT Ċ Ġ*/ ĊĊ Ċ package Ġorg . y 2 0 k . escape pod . dialogs Ċ Ċ import Ġandroid . content . Clip Data Ċ import Ġandroid . content . Clipboard Manager Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . text . Html Ċ import Ġandroid . text . method . Link Movement Method Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . TextView Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . core . content . Context Compat . startActivity Ċ import Ġandroidx . core . net . to Uri Ċ import Ġandroidx . core . view . is G one Ċ import Ġandroidx . core . view . isVisible Ċ import Ġcom . google . android . material . dialog . Material AlertDialog Builder Ċ import Ġorg . y 2 0 k . escape pod . R Ċ import Ġorg . y 2 0 k . escape pod . database . objects . Episode Ċ import Ġorg . y 2 0 k . escape pod . database . objects . Episode Description Ċ import Ġorg . y 2 0 k . escape pod . database . objects . Pod cast Ċ import Ġorg . y 2 0 k . escape pod . helpers . DateTime Helper Ċ import Ġorg . y 2 0 k . escape pod . helpers . Log Helper ĊĊ Ċ /* Ċ Ġ* ĠShow Notes Dialog Ġclass Ċ Ġ*/ Ċ class ĠShow Notes Dialog Ġ{ ĊĊĠĠĠ Ġ/* ĠDefine Ġlog Ġtag Ġ*/ ĊĠĠĠ Ġprivate Ġval ĠTAG Ġ= ĠLog Helper . make Log Tag ( Show Notes Dialog :: class . java . simple Name ) ĊĊĊĠĠĠ Ġ/* ĠConstruct Ġand Ġshow Ġdialog Ġ*/ ĊĠĠĠ Ġfun Ġshow ( context : ĠContext , Ġpod cast : ĠPod cast , Ġepisode : ĠEp isode , Ġepisode Description : ĠEp isode Description ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġprepare Ġdialog Ġbuilder ĊĠĠĠĠĠĠĠ Ġval Ġbuilder : ĠMaterial AlertDialog Builder Ġ= ĠMaterial AlertDialog Builder ( context , ĠR . style . AlertDialog Theme ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġget Ġviews ĊĠĠĠĠĠĠĠ Ġval Ġinflater : ĠLayoutInflater Ġ= ĠLayoutInflater . from ( context ) ĊĠĠĠĠĠĠĠ Ġval Ġview : ĠView Ġ= Ġinflater . inflate ( R . layout . dialog _ shown otes , Ġnull ) ĊĠĠĠĠĠĠĠ Ġval Ġpod cast Name View : ĠTextView Ġ= Ġview . findViewById ( R . id . podcast _ name ) ĊĠĠĠĠĠĠĠ Ġval Ġpod cast Website View : ĠTextView Ġ= Ġview . findViewById ( R . id . podcast _ website ) ĊĠĠĠĠĠĠĠ Ġval Ġpod cast Links Divider : ĠImageView Ġ= Ġview . findViewById ( R . id . divider _ centered _ dot ) ĊĠĠĠĠĠĠĠ Ġval Ġpod cast Feed View : ĠTextView Ġ= Ġview . findViewById ( R . id . podcast _ feed ) ĊĠĠĠĠĠĠĠ Ġval Ġepisode Date View : ĠTextView Ġ= Ġview . findViewById ( R . id . episode _ date ) ĊĠĠĠĠĠĠĠ Ġval Ġepisode Title View : ĠTextView Ġ= Ġview . findViewById ( R . id . episode _ title ) ĊĠĠĠĠĠĠĠ Ġval Ġepisode Show Notes View : ĠTextView Ġ= Ġview . findViewById ( R . id . episodes _ shown otes _ view ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġset Ġdialog Ġview ĊĠĠĠĠĠĠĠ Ġbuilder . setView ( view ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġset Ġviews ĊĠĠĠĠĠĠĠ Ġpod cast Name View . text Ġ= Ġpod cast . name ĊĠĠĠĠĠĠĠ Ġepisode Date View . text Ġ= ĠDateTime Helper . getDate String ( episode . publication Date ) ĊĠĠĠĠĠĠĠ Ġepisode Title View . text Ġ= Ġepisode . title ĊĠĠĠĠĠĠĠ Ġepisode Title View . isSelected Ġ= Ġtrue Ġ// Ġtriggers Ġthe Ġmar quee ĊĠĠĠĠĠĠĠ Ġepisode Show Notes View . text Ġ= ĠHtml . from Html ( episode Description . description . replace ( Regex ("< img .+ ?> "), Ġ""), ĠHtml . FROM _ HTML _ MODE _ COMP ACT ) Ġ// Ġregex Ġremoves Ġplaceholder Ġimages ĊĠĠĠĠĠĠĠ Ġepisode Show Notes View . movement Method Ġ= ĠLink Movement Method . getInstance () Ġ// Ġmake Ġlink Ġtap able ĊĊĠĠĠĠĠĠĠ Ġ// Ġpod cast Ġwebsite : Ġset Ġup Ġopen Ġbrowser ĊĠĠĠĠĠĠĠ Ġif Ġ( podcast . website . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpod cast Website View . isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpod cast Links Divider . isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpod cast Website View . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( context , ĠIntent ( Intent . ACTION _ VIEW , Ġpod cast . website . to Uri ()), Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpod cast Website View . is G one Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpod cast Links Divider . is G one Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġpod cast Ġfeed : Ġset Ġup Ġclipboard Ġcopy ĊĠĠĠĠĠĠĠ Ġpod cast Feed View . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġclip : ĠClip Data Ġ= ĠClip Data . new Plain Text (" simple Ġtext ", Ġpod cast . remote Pod cast Feed Location ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcm : ĠClip board Manager Ġ= Ġcontext . getSystem Service ( Context . CLIP BOARD _ SERVICE ) Ġas ĠClip board Manager ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcm . set Primary Clip ( clip ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( context , ĠR . string . toast _ message _ copied _ to _ clipboard , ĠToast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġadd Ġclose Ġbutton ĊĠĠĠĠĠĠĠ Ġbuilder . set Positive Button ( R . string . dialog _ episode _ shown otes _ close ) Ġ{ Ġ_, Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġlisten Ġfor Ġclick Ġon Ġclose Ġbutton ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġdo Ġnothing ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġdisplay Ġdialog ĊĠĠĠĠĠĠĠ Ġbuilder . show () ĊĠĠĠ Ġ} Ċ Ċ }