Dbrant has uploaded a new change for review. https://gerrit.wikimedia.org/r/315997
Change subject: Turn SharedPreferenceCookieManager into a singleton. ...................................................................... Turn SharedPreferenceCookieManager into a singleton. ...and hopefully fix the related crash when instantiating OkHttpClient. Bug: T148172 Change-Id: Ie49b3474f4f2cd166728e57459fa6f529ac208dd --- M app/src/main/java/org/wikipedia/SharedPreferenceCookieManager.java M app/src/main/java/org/wikipedia/WikipediaApp.java 2 files changed, 14 insertions(+), 7 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia refs/changes/97/315997/1 diff --git a/app/src/main/java/org/wikipedia/SharedPreferenceCookieManager.java b/app/src/main/java/org/wikipedia/SharedPreferenceCookieManager.java index cfd8bad..cf2a157 100644 --- a/app/src/main/java/org/wikipedia/SharedPreferenceCookieManager.java +++ b/app/src/main/java/org/wikipedia/SharedPreferenceCookieManager.java @@ -17,12 +17,21 @@ import java.util.List; import java.util.Map; -public class SharedPreferenceCookieManager extends CookieManager { +public final class SharedPreferenceCookieManager extends CookieManager { private static final String DELIMITER = ";"; - private final Map<String, Map<String, String>> cookieJar = new HashMap<>(); - public SharedPreferenceCookieManager() { + private static SharedPreferenceCookieManager INSTANCE; + + @NonNull + public static SharedPreferenceCookieManager getInstance() { + if (INSTANCE == null) { + INSTANCE = new SharedPreferenceCookieManager(); + } + return INSTANCE; + } + + private SharedPreferenceCookieManager() { List<String> domains = Prefs.getCookieDomainsAsList(); for (String domain: domains) { String cookies = Prefs.getCookiesForDomain(domain); diff --git a/app/src/main/java/org/wikipedia/WikipediaApp.java b/app/src/main/java/org/wikipedia/WikipediaApp.java index 482edbf..677c19e 100644 --- a/app/src/main/java/org/wikipedia/WikipediaApp.java +++ b/app/src/main/java/org/wikipedia/WikipediaApp.java @@ -86,7 +86,6 @@ private Database database; private EditTokenStorage editTokenStorage; - private SharedPreferenceCookieManager cookieManager; private String userAgent; private Site site; @@ -176,7 +175,6 @@ funnelManager = new FunnelManager(this); sessionFunnel = new SessionFunnel(this); editTokenStorage = new EditTokenStorage(this); - cookieManager = new SharedPreferenceCookieManager(); database = new Database(this); enableWebViewDebugging(); @@ -377,8 +375,8 @@ return editTokenStorage; } - public SharedPreferenceCookieManager getCookieManager() { - return cookieManager; + @NonNull public SharedPreferenceCookieManager getCookieManager() { + return SharedPreferenceCookieManager.getInstance(); } public void logOut() { -- To view, visit https://gerrit.wikimedia.org/r/315997 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ie49b3474f4f2cd166728e57459fa6f529ac208dd Gerrit-PatchSet: 1 Gerrit-Project: apps/android/wikipedia Gerrit-Branch: master Gerrit-Owner: Dbrant <dbr...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits