public static PreferenciaBLL create() { if (_Preferencia == null) { _Preferencia = new PreferenciaBLL(); } return(_Preferencia); }
public void OnLocationChanged(Location location) { if (desativando) { return; } LocalizacaoInfo local = converterLocalizacao(location); /* * local.Velocidade = 20; * local.Latitude = -16.620743; * local.Longitude = -49.356621; * local.Sentido = 324; */ if (Situacao == GPSSituacaoEnum.Ativo) { if (Xamarin.Forms.Forms.IsInitialized) { local = GPSUtils.atualizarPosicao(local); RadarInfo radar = RadarBLL.RadarAtual; if (radar != null) { //var velocidadeImagem = mRootLayout.FindViewById<ImageView>(Resource.Id.velocidadeImagem); atualizarVelocidadeRadar(radar.Velocidade); var distanciaRadar = mRootLayout.FindViewById <TextView>(Resource.Id.distanciaRadar); int distancia = Convert.ToInt32(Math.Floor(local.Distancia)); //velocidadeImagem.SetImageResource(Resource.Drawable.radar_20); //velocidadeRadar.Text = radar.VelocidadeStr; distanciaRadar.Text = distancia.ToString() + " m"; if (mRootLayout.Visibility != ViewStates.Visible) { mRootLayout.Visibility = ViewStates.Visible; } } else { if (mRootLayout.Visibility == ViewStates.Visible) { mRootLayout.Visibility = ViewStates.Invisible; } } } } else if (Situacao == GPSSituacaoEnum.Espera) { var regraPreferencia = new PreferenciaBLL(); if (regraPreferencia.pegar("ligarDesligar", "") == "1" && local.Precisao <= 30) { if (local.Velocidade >= 15) { Situacao = GPSSituacaoEnum.Ativo; if (!Xamarin.Forms.Forms.IsInitialized) { Intent intent = new Intent(this, typeof(MainActivity)); intent.AddFlags(ActivityFlags.NewTask); StartActivity(intent); } else if (MainActivity.Situacao != JanelaSituacaoEnum.Aberta) { Intent intent = new Intent(this, typeof(MainActivity)); intent.AddFlags(ActivityFlags.NewTask); StartActivity(intent); } } else { desativarGPS(); new Handler().PostDelayed(() => { ativarGPS(); }, 30000); } } } }