Connection manager switches to fallback hosts on close
https://github.com/ably/ably-java/blob/bbbcb4d1ee6e9bc7a8b98a2b4990259030e50725/lib/src/main/java/io/ably/lib/transport/ConnectionManager.java#L1393

When the transport becomes unavailable due to a number of reasons (including a clean close, or an abnormal close) the connection immediately jumps to a fallback host if the internet is up.

This is because the check for whether to use fallback includes checking for a `pendingConnect`, as well as the error reason being "server related". The `pendingConnect` is set when the connecting state is enacted, but not cleared apart from `checkFallback` if it's decided not to use a fallback.

This means any time the connection closes for a number of reasons, then the connection will immediately fallback and not resume.
diff --git a/lib/src/main/java/io/ably/lib/transport/ConnectionManager.java b/lib/src/main/java/io/ably/lib/transport/ConnectionManager.java
index 69f91299..cb442abe 100644
--- a/lib/src/main/java/io/ably/lib/transport/ConnectionManager.java
+++ b/lib/src/main/java/io/ably/lib/transport/ConnectionManager.java
@@ -265,6 +265,12 @@ public class ConnectionManager implements ConnectListener {
         void enactForChannel(StateIndication stateIndication, ConnectionStateChange change, Channel channel) {
             channel.setConnected(stateIndication.reattachOnResumeFailure);
         }
+
+        @Override
+        void enact(StateIndication stateIndication, ConnectionStateChange change) {
+            super.enact(stateIndication, change);
+            pendingConnect = null;
+        }
     }
 
     /**************************************************
['lib/src/main/java/io/ably/lib/transport/ConnectionManager.java']