protected override void inicializarTela()
        {
            adicionarSwitch(_HabilitarVozSwitch, "Habilitar Voz", "Avisa com voz a chegada em algum radar");
            adicionarSwitch(_LigarDesligarSwitch, "Ao Ligar e Desligar", "Reproduz voz ao iniciar ou delisgar o aplicativo");
            adicionarSwitch(_AlertaSonoroSwitch, "Alerta Sonoro", "Além da reprodução de voz, emitir também o alerta sonoro");
            adicionarBotao("Reproduzir Teste", () => {
                var tipoRadares = new List <RadarTipoEnum>()
                {
                    RadarTipoEnum.Lombada,
                    RadarTipoEnum.Pedagio,
                    RadarTipoEnum.PoliciaRodoviaria,
                    RadarTipoEnum.RadarFixo,
                    RadarTipoEnum.RadarMovel,
                    RadarTipoEnum.SemaforoComRadar
                };
                var velocidades = new List <int>()
                {
                    40, 50, 60, 70, 80
                };
                var distancias = new List <int>()
                {
                    100, 200, 300, 400, 500, 600, 700
                };

                var tipoRadar  = tipoRadares.Randomize().FirstOrDefault();
                var velocidade = velocidades.Randomize().FirstOrDefault();
                var distancia  = distancias.Randomize().FirstOrDefault();

                var aviso = new AvisoSonoroBLL();
                aviso.play(tipoRadar, velocidade, distancia);
            });
        }
Example #2
0
        private static void avisarRadar(LocalizacaoInfo local, RadarInfo radar)
        {
            var regraAviso = new AvisoSonoroBLL();

            RadarBLL.RadarAtual = radar;
            string mensagem = "Tem um radar a frente, diminua para " + radar.Velocidade.ToString() + "km/h!";

            MensagemUtils.notificar(RADAR_ID, "Radar Club", mensagem, radar.Velocidade);
            if (PreferenciaUtils.BeepAviso)
            {
                regraAviso.play(PreferenciaUtils.SomAlarme);
            }
            if (PreferenciaUtils.VibrarAlerta)
            {
                int tempo = PreferenciaUtils.TempoDuracaoVibracao;
                if (tempo <= 0)
                {
                    tempo = 1;
                }
                tempo = tempo * 1000;
                MensagemUtils.vibrar(tempo);
            }
            if (PreferenciaUtils.HabilitarVoz)
            {
                int distancia = arredondarDistancia(local.Distancia);
                if (distancia != DistanciaOld)
                {
                    regraAviso.play(RadarTipoEnum.RadarFixo, radar.Velocidade, distancia);
                    DistanciaOld = distancia;
                }
            }
        }
        protected override void inicializarComponente()
        {
            base.inicializarComponente();

            foreach (var item in _SomAlarme)
            {
                var alarmeSwitch = new AlarmeSwitch {
                    Style     = EstiloUtils.Popup.CheckBox,
                    SomAlarme = item.Key
                };
                alarmeSwitch.Toggled += (sender, e) =>
                {
                    var alSwitch = (AlarmeSwitch)sender;
                    if (alSwitch.IsToggled)
                    {
                        foreach (var s in _Controls)
                        {
                            if (alSwitch.SomAlarme != s.Key)
                            {
                                s.Value.IsToggled = false;
                            }
                        }
                        PreferenciaUtils.SomAlarme = alSwitch.SomAlarme;
                        var regraAviso = new AvisoSonoroBLL();
                        if (PreferenciaUtils.CanalAudio == AudioCanalEnum.Notificacao)
                        {
                            string arquivoSom = regraAviso.pegarArquivo(alSwitch.SomAlarme);
                            MensagemUtils.notificar(104, "Radar+", "Reproduzindo som de alarme para escolha!", audio: arquivoSom);
                        }
                        else
                        {
                            regraAviso.play(alSwitch.SomAlarme);
                        }
                    }
                    else
                    {
                        bool marcado = false;
                        foreach (var s in _Controls)
                        {
                            if (s.Value.IsToggled)
                            {
                                marcado = true;
                                break;
                            }
                        }
                        if (!marcado)
                        {
                            alSwitch.IsToggled = true;
                        }
                    }
                };
                _Controls.Add(item.Key, alarmeSwitch);
            }
        }
        private static void avisarRadar(LocalizacaoInfo local, RadarInfo radar)
        {
            var regraAviso = new AvisoSonoroBLL();

            RadarBLL.RadarAtual = radar;
            string titulo   = "Radar+";
            string mensagem = "Tem um radar a frente, diminua para " + radar.Velocidade.ToString() + "km/h!";

            if (PreferenciaUtils.VibrarAlerta)
            {
                int tempo = PreferenciaUtils.TempoDuracaoVibracao;
                if (tempo <= 0)
                {
                    tempo = 1;
                }
                tempo = tempo * 1000;
                MensagemUtils.vibrar(tempo);
            }
            if (PreferenciaUtils.HabilitarVoz)
            {
                MensagemUtils.notificar(RADAR_ID, titulo, mensagem, velocidade: radar.Velocidade);
                int distancia = arredondarDistancia(local.Distancia);
                regraAviso.play(radar.Tipo, radar.Velocidade, distancia);
                DistanciaOld = distancia;
            }
            else
            {
                if (PreferenciaUtils.CanalAudio == AudioCanalEnum.Notificacao)
                {
                    if (PreferenciaUtils.BeepAviso)
                    {
                        string arquivoAlarme = regraAviso.pegarArquivo(PreferenciaUtils.SomAlarme);
                        MensagemUtils.notificar(RADAR_ID, titulo, mensagem, audio: arquivoAlarme, velocidade: radar.Velocidade);
                    }
                    else
                    {
                        MensagemUtils.notificar(RADAR_ID, titulo, mensagem, velocidade: radar.Velocidade);
                    }
                }
                else
                {
                    MensagemUtils.notificar(RADAR_ID, titulo, mensagem, velocidade: radar.Velocidade);
                    if (PreferenciaUtils.BeepAviso)
                    {
                        regraAviso.play(PreferenciaUtils.SomAlarme);
                    }
                }
            }
        }