2929import java .util .Date ;
3030import java .util .List ;
3131import java .util .Locale ;
32+ import java .util .Map ;
3233import java .util .concurrent .ConcurrentHashMap ;
3334
3435import cz .msebera .android .httpclient .client .CookieStore ;
@@ -93,7 +94,10 @@ public void addCookie(Cookie cookie) {
9394
9495 // Save cookie into persistent store
9596 SharedPreferences .Editor prefsWriter = cookiePrefs .edit ();
96- prefsWriter .putString (COOKIE_NAME_STORE , TextUtils .join ("," , cookies .keySet ()));
97+
98+ // This prevents map.keySet to compile to a Java 8+ KeySetView return type
99+ Map <String , Cookie > map = cookies ;
100+ prefsWriter .putString (COOKIE_NAME_STORE , TextUtils .join ("," , map .keySet ()));
97101 prefsWriter .putString (COOKIE_NAME_PREFIX + name , encodeCookie (new SerializableCookie (cookie )));
98102 prefsWriter .apply ();
99103 }
@@ -102,7 +106,9 @@ public void addCookie(Cookie cookie) {
102106 public void clear () {
103107 // Clear cookies from persistent store
104108 SharedPreferences .Editor prefsWriter = cookiePrefs .edit ();
105- for (String name : cookies .keySet ()) {
109+ // This prevents map.keySet to compile to a Java 8+ KeySetView return type
110+ Map <String , Cookie > map = cookies ;
111+ for (String name : map .keySet ()) {
106112 prefsWriter .remove (COOKIE_NAME_PREFIX + name );
107113 }
108114 prefsWriter .remove (COOKIE_NAME_STORE );
@@ -132,9 +138,11 @@ public boolean clearExpired(Date date) {
132138 }
133139 }
134140
141+ // This prevents map.keySet to compile to a Java 8+ KeySetView return type
142+ Map <String , Cookie > map = cookies ;
135143 // Update names in persistent store
136144 if (clearedAny ) {
137- prefsWriter .putString (COOKIE_NAME_STORE , TextUtils .join ("," , cookies .keySet ()));
145+ prefsWriter .putString (COOKIE_NAME_STORE , TextUtils .join ("," , map .keySet ()));
138146 }
139147 prefsWriter .apply ();
140148
0 commit comments