public CompassPage() { CompassViewModel viewModel; InitializeComponent(); BindingContext = viewModel = new CompassViewModel(); Compass.ReadingChanged += Compass_ReadingChanged; try { if (!Compass.IsMonitoring) { Compass.Start(viewModel.Speed); } } catch (FeatureNotSupportedException fnsEx) { // Feature not supported on device //UserDialogs.Instance.Alert(AppResources.CihazDesteklemiyor, AppResources.CihazDesteklemiyor); Debug.WriteLine($"**** {this.GetType().Name}.{nameof(Compass_ReadingChanged)}: {fnsEx.Message}"); } catch (Exception ex) { UserDialogs.Instance.Alert(ex.Message); Debug.WriteLine(ex.Message); } }
public CompassPage() { InitializeComponent(); On <Xamarin.Forms.PlatformConfiguration.iOS>().SetUseSafeArea(true); BindingContext = new CompassViewModel(); }
public void Compass_Changed_Should_Update_Aspect(double heading, string expectedAspect) { var compassMock = new Mock <ICompassSensor>(); var compassViewModel = new CompassViewModel(compassMock.Object); compassViewModel.OnAppearing(); compassMock.Raise(c => c.ReadingChanged += null, new CompassChangedEventArgs(new CompassData(heading))); Assert.AreEqual(expectedAspect, compassViewModel.CurrentAspect); Assert.AreEqual(heading, compassViewModel.CurrentHeading); }