only show opened FAB when some accounts are enabled

Daniel Gultsch created

Change summary

src/main/java/eu/siacs/conversations/ui/StartConversationActivity.java |  2 
src/main/java/eu/siacs/conversations/utils/AccountUtils.java           | 10 
2 files changed, 11 insertions(+), 1 deletion(-)

Detailed changes

src/main/java/eu/siacs/conversations/ui/StartConversationActivity.java 🔗

@@ -807,7 +807,7 @@ public class StartConversationActivity extends XmppActivity implements XmppConne
 		if (QuickConversationsService.isQuicksy()) {
 			setRefreshing(xmppConnectionService.getQuickConversationsService().isSynchronizing());
 		}
-		if (QuickConversationsService.isConversations() && this.contacts.size() == 0 && this.conferences.size() == 0 && mOpenedFab.compareAndSet(false,true)) {
+		if (QuickConversationsService.isConversations() && AccountUtils.hasEnabledAccounts(xmppConnectionService) && this.contacts.size() == 0 && this.conferences.size() == 0 && mOpenedFab.compareAndSet(false,true)) {
 			binding.speedDial.open();
 		}
 	}

src/main/java/eu/siacs/conversations/utils/AccountUtils.java 🔗

@@ -24,6 +24,16 @@ public class AccountUtils {
     }
 
 
+    public static boolean hasEnabledAccounts(final XmppConnectionService service) {
+        final List<Account> accounts = service.getAccounts();
+        for(Account account : accounts) {
+            if (account.isOptionSet(Account.OPTION_DISABLED)) {
+                return false;
+            }
+        }
+        return false;
+    }
+
     public static List<String> getEnabledAccounts(final XmppConnectionService service) {
         ArrayList<String> accounts = new ArrayList<>();
         for (Account account : service.getAccounts()) {