jenkins-bot has submitted this change and it was merged. 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(-) Approvals: jenkins-bot: Verified Niedzielski: Looks good to me, approved 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: merged Gerrit-Change-Id: Ie49b3474f4f2cd166728e57459fa6f529ac208dd Gerrit-PatchSet: 1 Gerrit-Project: apps/android/wikipedia Gerrit-Branch: master Gerrit-Owner: Dbrant <dbr...@wikimedia.org> Gerrit-Reviewer: BearND <bsitzm...@wikimedia.org> Gerrit-Reviewer: Brion VIBBER <br...@wikimedia.org> Gerrit-Reviewer: Mholloway <mhollo...@wikimedia.org> Gerrit-Reviewer: Niedzielski <sniedziel...@wikimedia.org> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits