From 86b6adf228e147a111ee2fe7ad09199db7ce7525 Mon Sep 17 00:00:00 2001 From: Jacocococo Date: Fri, 29 Mar 2024 14:38:06 +0100 Subject: [PATCH] Move unauthenticatedApiController The constructor of AccountSessionManager may need this object which could lead to a situation where it was being used before it had been created. Making it static and moving it to MastodonAPIRequest, the only place it was being used anyways, seems to fix the issue. --- .../org/joinmastodon/android/api/MastodonAPIRequest.java | 6 ++++-- .../android/api/session/AccountSessionManager.java | 6 ------ 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/mastodon/src/main/java/org/joinmastodon/android/api/MastodonAPIRequest.java b/mastodon/src/main/java/org/joinmastodon/android/api/MastodonAPIRequest.java index 09cb7ca60..abdd9b99e 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/api/MastodonAPIRequest.java +++ b/mastodon/src/main/java/org/joinmastodon/android/api/MastodonAPIRequest.java @@ -37,6 +37,8 @@ import okhttp3.Response; public abstract class MastodonAPIRequest extends APIRequest{ private static final String TAG="MastodonAPIRequest"; + private static MastodonAPIController unauthenticatedApiController=new MastodonAPIController(null); + private String domain; private AccountSession account; private String path; @@ -95,14 +97,14 @@ public abstract class MastodonAPIRequest extends APIRequest{ public MastodonAPIRequest execNoAuth(String domain){ this.domain=domain; - AccountSessionManager.getInstance().getUnauthenticatedApiController().submitRequest(this); + unauthenticatedApiController.submitRequest(this); return this; } public MastodonAPIRequest exec(String domain, Token token){ this.domain=domain; this.token=token; - AccountSessionManager.getInstance().getUnauthenticatedApiController().submitRequest(this); + unauthenticatedApiController.submitRequest(this); return this; } diff --git a/mastodon/src/main/java/org/joinmastodon/android/api/session/AccountSessionManager.java b/mastodon/src/main/java/org/joinmastodon/android/api/session/AccountSessionManager.java index 328bde9ac..0a3db0f1f 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/api/session/AccountSessionManager.java +++ b/mastodon/src/main/java/org/joinmastodon/android/api/session/AccountSessionManager.java @@ -72,7 +72,6 @@ public class AccountSessionManager{ private HashMap> customEmojis=new HashMap<>(); private HashMap instancesLastUpdated=new HashMap<>(); private HashMap instances=new HashMap<>(); - private MastodonAPIController unauthenticatedApiController=new MastodonAPIController(null); private Instance authenticatingInstance; private Application authenticatingApp; private String lastActiveAccountID; @@ -232,11 +231,6 @@ public class AccountSessionManager{ maybeUpdateShortcuts(); } - @NonNull - public MastodonAPIController getUnauthenticatedApiController(){ - return unauthenticatedApiController; - } - public void authenticate(Activity activity, Instance instance){ authenticatingInstance=instance; new CreateOAuthApp()