/* Ġown Cloud ĠAndroid ĠLibrary Ġis Ġavailable Ġunder ĠMIT Ġlicense Ċ Ġ* ĠĠ ĠCopyright Ġ( C ) Ġ 2 0 2 1 Ġown Cloud ĠGmbH . Ċ Ġ* Ċ Ġ* ĠĠ ĠPermission Ġis Ġhereby Ġgranted , Ġfree Ġof Ġcharge , Ġto Ġany Ġperson Ġobtaining Ġa Ġcopy Ċ Ġ* ĠĠ Ġof Ġthis Ġsoftware Ġand Ġassociated Ġdocumentation Ġfiles Ġ( the Ġ" Software "), Ġto Ġdeal Ċ Ġ* ĠĠ Ġin Ġthe ĠSoftware Ġwithout Ġrestriction , Ġincluding Ġwithout Ġlimitation Ġthe Ġrights Ċ Ġ* ĠĠ Ġto Ġuse , Ġcopy , Ġmodify , Ġmerge , Ġpublish , Ġdistribute , Ġsublicense , Ġand / or Ġsell Ċ Ġ* ĠĠ Ġcopies Ġof Ġthe ĠSoftware , Ġand Ġto Ġpermit Ġpersons Ġto Ġwhom Ġthe ĠSoftware Ġis Ċ Ġ* ĠĠ Ġfurnished Ġto Ġdo Ġso , Ġsubject Ġto Ġthe Ġfollowing Ġconditions : Ċ Ġ* Ċ Ġ* ĠĠ ĠThe Ġabove Ġcopyright Ġnotice Ġand Ġthis Ġpermission Ġnotice Ġshall Ġbe Ġincluded Ġin Ċ Ġ* ĠĠ Ġall Ġcopies Ġor Ġsubstantial Ġportions Ġof Ġthe ĠSoftware . Ċ Ġ* Ċ Ġ* ĠĠ ĠTHE ĠSOFTWARE ĠIS ĠPROVIDED Ġ" AS ĠIS ", ĠWITHOUT ĠWARRANTY ĠOF ĠANY ĠKIND , Ċ Ġ* ĠĠ ĠEXPRESS ĠOR ĠIMPLIED , ĠINCLUDING ĠBUT ĠNOT ĠLIMITED ĠTO ĠTHE ĠWARRANTIES ĠOF Ċ Ġ* ĠĠ ĠMERCHANTABILITY , ĠFITNESS ĠFOR ĠA ĠPARTICULAR ĠPURPOSE ĠAND Ċ Ġ* ĠĠ ĠNONINFRINGEMENT . ĠIN ĠNO ĠEVENT ĠSHALL ĠTHE ĠAUTHORS ĠOR ĠCOPYRIGHT ĠHOLDERS Ċ Ġ* ĠĠ ĠBE ĠLIABLE ĠFOR ĠANY ĠCLAIM , ĠDAMAGES ĠOR ĠOTHER ĠLIABILITY , ĠWHETHER ĠIN ĠAN Ċ Ġ* ĠĠ ĠACTION ĠOF ĠCONTRACT , ĠTORT ĠOR ĠOTHERWISE , ĠARISING ĠFROM , ĠOUT ĠOF ĠOR ĠIN Ċ Ġ* ĠĠ ĠCONNECTION ĠWITH ĠTHE ĠSOFTWARE ĠOR ĠTHE ĠUSE ĠOR ĠOTHER ĠDEALINGS ĠIN Ċ Ġ* ĠĠ ĠTHE ĠSOFTWARE . Ċ Ġ* Ċ Ġ*/ Ċ package Ġcom . ed uc am ad rid . clo ude duc a . lib . common . http Ċ Ċ import Ġokhttp 3 . Cookie Ċ import Ġokhttp 3 . Cookie Jar Ċ import Ġokhttp 3 . Http Url Ċ Ċ class ĠCookie Jar Impl ( ĊĠĠĠ Ġprivate Ġval Ġs Cookie Store : ĠHashMap < String , ĠList < Cookie >> Ċ ) Ġ: ĠCookie Jar Ġ{ ĊĊĠĠĠ Ġfun Ġcontains Cookie WithName ( cookies : ĠList < Cookie >, Ġname : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( cookie : ĠCookie Ġin Ġcookies ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( cookie . name Ġ== Ġname ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Updated Cookies ( old Cookies : ĠList < Cookie >, Ġnew Cookies : ĠList < Cookie >): ĠList < Cookie > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġupdated List Ġ= ĠArrayList < Cookie >( new Cookies ) ĊĠĠĠĠĠĠĠ Ġfor Ġ( old Cookie : ĠCookie Ġin Ġold Cookies ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! contains Cookie WithName ( updated List , Ġold Cookie . name )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdated List . add ( old Cookie ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġupdated List ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsave From Response ( url : ĠHttp Url , Ġcookies : ĠList < Cookie >) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠAvoid Ġduplicated Ġcookies Ġbut Ġupdate ĊĠĠĠĠĠĠĠ Ġval Ġcurrent Cookies : ĠList < Cookie > Ġ= Ġs Cookie Store [ url . host ] Ġ?: ĠArrayList () ĊĠĠĠĠĠĠĠ Ġval Ġupdated Cookies : ĠList < Cookie > Ġ= Ġget Updated Cookies ( current Cookies , Ġcookies ) ĊĠĠĠĠĠĠĠ Ġs Cookie Store [ url . host ] Ġ= Ġupdated Cookies ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġload For Request ( url : ĠHttp Url ) Ġ= ĊĠĠĠĠĠĠĠ Ġs Cookie Store [ url . host ] Ġ?: ĠArrayList () Ċ Ċ } Ċ