Skip to content

Commit 9559c5e

Browse files
committed
1 parent 447e02c commit 9559c5e

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

library/src/main/java/com/loopj/android/http/PersistentCookieStore.java

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ public class PersistentCookieStore implements CookieStore {
4848
private static final String COOKIE_PREFS = "CookiePrefsFile";
4949
private static final String COOKIE_NAME_STORE = "names";
5050
private static final String COOKIE_NAME_PREFIX = "cookie_";
51+
private boolean omitNonPersistentCookies = false;
5152

5253
private final ConcurrentHashMap<String, Cookie> cookies;
5354
private final SharedPreferences cookiePrefs;
@@ -82,6 +83,8 @@ public PersistentCookieStore(Context context) {
8283

8384
@Override
8485
public void addCookie(Cookie cookie) {
86+
if (omitNonPersistentCookies && !cookie.isPersistent())
87+
return;
8588
String name = cookie.getName() + cookie.getDomain();
8689

8790
// Save cookie into local store, or remove if expired
@@ -146,6 +149,29 @@ public List<Cookie> getCookies() {
146149
return new ArrayList<>(cookies.values());
147150
}
148151

152+
/**
153+
* Will make PersistentCookieStore instance ignore Cookies, which are non-persistent by
154+
* signature (`Cookie.isPersistent`)
155+
*
156+
* @param omitNonPersistentCookies true if non-persistent cookies should be omited
157+
*/
158+
public void setOmitNonPersistentCookies(boolean omitNonPersistentCookies) {
159+
this.omitNonPersistentCookies = omitNonPersistentCookies;
160+
}
161+
162+
/**
163+
* Non-standard helper method, to delete cookie
164+
*
165+
* @param cookie cookie to be removed
166+
*/
167+
public void deleteCookie(Cookie cookie) {
168+
String name = cookie.getName();
169+
cookies.remove(name);
170+
SharedPreferences.Editor prefsWriter = cookiePrefs.edit();
171+
prefsWriter.remove(COOKIE_NAME_PREFIX + name);
172+
prefsWriter.commit();
173+
}
174+
149175
/**
150176
* Serializes Cookie object into String
151177
*

0 commit comments

Comments
 (0)