private async void initialSetup() { var loader = new Windows.ApplicationModel.Resources.ResourceLoader(); // guardo la pulsera en un singleton global MiBand.Band = await MiBand.FirstMatch(); // pero la asigno localmente para que no de tanto por culo band = MiBand.Band; if (band != null) { ApplicationDataContainer localSettings = ApplicationData.Current.LocalSettings; if (localSettings.Containers.ContainsKey("MiBand")) { var miBandSettings = localSettings.Containers["MiBand"]; string savedMAC = (string)miBandSettings.Values["MAC"]; string currentMAC = await band.getAddress(); if (savedMAC.Equals(currentMAC)) { // misma pulsera Debug.WriteLine("[mainpage] misma pulsera"); band.Settings = miBandSettings; } else { // diferente pulsera Debug.WriteLine("[mainpage] diferente pulsera"); properties.MACAddress = currentMAC; bool ret = await band.ConfigureAsSettings(); if (ret) { Debug.WriteLine("[mainpage] error al configurar como en los ajustes"); } } } else { MessageDialog dialog = new MessageDialog(loader.GetString("GreetingText"), loader.GetString("GreetingTitle")); await dialog.ShowAsync(); // la aplicacion esta recien instalada? // ir a pagina de configuracion inicial Debug.WriteLine("[mainpage] no hay datos de pulsera"); if (await band.CreateSettings()) { string currentMAC = await band.getAddress(); properties.MACAddress = currentMAC; properties.LoadingV = Visibility.Collapsed; properties.Loading = false; this.Frame.Navigate(typeof(Pages.SetUserInfo), "InitialSetup"); return; } } updateInfoFromSettings(); properties.LoadingV = Visibility.Collapsed; properties.Loading = false; Task.Factory.StartNew(() => { finishSetup(); }); } else { // si no detectamos la pulsera se cierra la aplicacion y fuera MessageDialog dialog = new MessageDialog(loader.GetString("MiBandNotFoundText"), loader.GetString("MiBandNotFoundTitle")); await dialog.ShowAsync(); updateInfoFromSettings(); properties.LoadingV = Visibility.Collapsed; properties.Loading = false; //Application.Current.Exit(); } }