/// <summary>
        /// Configure the application by setting up the DebugLog, the titel bar and checking, reading and writing the configuration files.
        /// </summary>
        private async Task ConfigureApp()
        {
            DebugLogSetup();
            TitelBarSetup();

            if (await BridgeConfigurationFile.CheckForBridgeConfiguration())
            {
                if (!await BridgeConfigurationFile.ReadBridgeConfigurationFile())
                {
                    await BridgeConfigurationFile.UpdateBridgeConfigurationFile();
                }
            }
            else
            {
                await BridgeConfigurationFile.CreateBridgeConfiguration();
            }

            if (await ConfigurationFile.CheckForConfiguration())
            {
                if (!await ConfigurationFile.ReadConfigurationFile())
                {
                    await ConfigurationFile.UpdateConfigurationFile();
                }
            }
            else
            {
                await ConfigurationFile.CreateConfiguration();
            }
        }
        /// <summary>
        /// Saves a new IP Address of a bridge in the brige configuration file.
        /// </summary>
        /// <param name="ipAddress">A new IP Address of a bridge</param>
        private static void SaveIPAddress(string ipAddress)
        {
            if (ipAdress != ipAddress)
            {
                BridgeConfigurationFile.bridgeConfigurationData.bridgeIPAddress = ipAddress;
                _ = BridgeConfigurationFile.UpdateBridgeConfigurationFile();

                ipAdress = ipAddress;
            }
        }
        /// <summary>
        /// Is called when the user presses his F2 key. When the key has been pressed 5 times, demo mode is activated or deactivated and application reloads.
        /// </summary>
        /// <returns></returns>
        private async Task DemoKeyPressed()
        {
            f2KeyCount++;

            if (f2KeyCount > 4)
            {
                f2KeyCount = 0;

                LightController.BasicLightController.ClearAllLights();
                BridgeConfigurationFile.ResetBridgeConfigurationTemporarily();
                ConfigurationFile.ResetConfigurationTemporarily();
                userCanUseNav = false;

                Connection.BridgeInformation.isConnected = false;
                Connection.BridgeInformation.demoMode    = !Connection.BridgeInformation.demoMode;
                Connection.BridgeInformation.showedDemoModeIntroduction = false;
                await ConfigureApp();

                NavigateToPageAndSelect(0);
            }
        }
 /// <summary>
 /// Saves a new app key of a connection in the brige configuration file.
 /// </summary>
 /// <param name="newAppKey">A new app key</param>
 private static void SaveNewAppKey(string newAppKey)
 {
     BridgeConfigurationFile.bridgeConfigurationData.bridgeAppKey = newAppKey;
     _ = BridgeConfigurationFile.UpdateBridgeConfigurationFile();
 }