Do not disable BLE if a fabric has not been provisioned on the device (#9933)

* Check if a fabric has been provisioned before disabling BLE

* Update src/app/server/Server.cpp

Co-authored-by: Boris Zbarsky <bzbarsky@apple.com>

* check for network configuration as well

Co-authored-by: Boris Zbarsky <bzbarsky@apple.com>
diff --git a/src/app/server/Server.cpp b/src/app/server/Server.cpp
index 51ce340..0d41fcb 100644
--- a/src/app/server/Server.cpp
+++ b/src/app/server/Server.cpp
@@ -135,10 +135,11 @@
         ChipLogProgress(AppServer, "Rendezvous and secure pairing skipped");
         SuccessOrExit(err = AddTestCommissioning());
     }
-    else if (DeviceLayer::ConnectivityMgr().IsWiFiStationProvisioned() || DeviceLayer::ConnectivityMgr().IsThreadProvisioned())
+    else if ((DeviceLayer::ConnectivityMgr().IsWiFiStationProvisioned() || DeviceLayer::ConnectivityMgr().IsThreadProvisioned()) &&
+             (GetFabricTable().FabricCount() != 0))
     {
-        // If the network is already provisioned, proactively disable BLE advertisement.
-        ChipLogProgress(AppServer, "Network already provisioned. Disabling BLE advertisement");
+        // The device is already commissioned, proactively disable BLE advertisement.
+        ChipLogProgress(AppServer, "Fabric already commissioned. Disabling BLE advertisement");
         chip::DeviceLayer::ConnectivityMgr().SetBLEAdvertisingEnabled(false);
     }
     else