public SystrayApplicationContext()
        {
            // Initialize ApplicationSErvice Connection
            systrayApplicationServiceConnection = new SystrayApplicationServiceConnection();
            systrayApplicationServiceConnection.Init();
            if (systrayApplicationServiceConnection.Initialized)
            {
                MessageBox.Show("Failed to initialize AppServiceConnection" + systrayApplicationServiceConnection.Status.ToString());
                Application.Exit();
            }

            systrayApplicationServiceConnection.NewMessageReceived += OnNewMessageReceived;
            systrayApplicationServiceConnection.ConnectionClosed   += OnAppClosed;

            Log = Log.GetInstance(systrayApplicationServiceConnection);

            // Init Parameters
            var userInfo = (ApplicationDataCompositeValue)ApplicationData.Current.LocalSettings.Values["userInfo"];

            if (userInfo != null)
            {
                userName = userInfo["name"] as string;
                userKey  = userInfo["key"] as string;
            }
            else
            {
                userName = "******";
                userKey  = null;
            }

            // Init BleAdvertisementWacther
            bleAdvertisementWatcher = new BleAdvertisementWatcher();

            // Init BluetoothWacther
            bluetoothWatcher = new BluetoothWatcher();

            // Initialize Menu
            InitMenu();
            InitMenuItems();

            // Initialize AudioMonitor
            AudioMonitor = new AudioMonitor();

            // Start Post Initilalizaion Timer
            postInitializationTimer.Tick    += OnIntialized;
            postInitializationTimer.Interval = 1000;
            postInitializationTimer.Start();
        }
        private void OnAudioStateChanged(AudioMonitor deviceWatcher, bool isEnabled)
        {
            Log.D($"OnAudioStateChanged: {isEnabled}");

            if (isEnabled)
            {
                bool isA2DPConnected = false;

                foreach (EarbudsMenuItem earbudsMenuItem in PairedDeviceMenuItems)
                {
                    if (earbudsMenuItem.IsBtConnected)
                    {
                        isA2DPConnected = true;
                        break;
                    }
                }


                // No A2DP Connected Device
                if (true)
                {
                    foreach (EarbudsMenuItem earbudsMenuItem in PairedDeviceMenuItems)
                    {
                        if (earbudsMenuItem.IsBleConnected)
                        {
                            earbudsMenuItem.ConnectA2DP();
                            // FIXME: 4 Demo, Do not show popup
                            if (!isA2DPConnected)
                            {
                                systrayApplicationServiceConnection.SendMessageAsync($"Connecting with {earbudsMenuItem.Text}");
                            }
                            break;
                        }
                    }
                }
            }
        }