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

Reply via email to