diff --git a/mastodon/src/main/java/org/joinmastodon/android/MainActivity.java b/mastodon/src/main/java/org/joinmastodon/android/MainActivity.java index 535584a9c..ddfb01371 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/MainActivity.java +++ b/mastodon/src/main/java/org/joinmastodon/android/MainActivity.java @@ -52,12 +52,6 @@ public class MainActivity extends FragmentStackActivity{ }else{ session=AccountSessionManager.getInstance().getLastActiveAccount(); } - if (session.getInstance() == null) { - // i don't know how, but i ended up having a session, but no instance info. - // removing account to avoid glitched behavior and crashes - AccountSessionManager.getInstance().removeAccount(session.getID()); - session=AccountSessionManager.getInstance().getLastActiveAccount(); - } args.putString("account", session.getID()); Fragment fragment=session.activated ? new HomeFragment() : new AccountActivationFragment(); fragment.setArguments(args); 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 d746661f4..ca3e5cba8 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 @@ -463,7 +463,12 @@ public class AccountSessionManager{ } public Instance getInstanceInfo(String domain){ - return instances.get(domain); + Instance instance = instances.get(domain); + if (instance == null) { + throw new IllegalStateException("Cannot get instance for " + domain + ". Sessions: " + + String.join(", ", instances.keySet())); + } + return instance; } public void updateAccountInfo(String id, Account account){