Exemplo n.º 1
0
        private static bool ShouldVibrate()
        {
            if (s_hasPermission == Permission.Denied)
            {
                return(false);
            }

            s_vibrator ??= Vibrator.FromContext(s_activity);
            return(true);
        }
Exemplo n.º 2
0
 private void SetVibrator()
 {
     if (IsVibrateOn)
     {
         _vibrator = Vibrator.FromContext(this);
         long[] mVibratePattern = new long[] { 0, 400, 1000, 600, 1000, 800, 1000, 1000 };
         if (Build.VERSION.SdkInt >= BuildVersionCodes.O)
         {
             var effect = VibrationEffect.CreateWaveform(mVibratePattern, 0);
             _vibrator?.Vibrate(effect);
         }
         else
         {
             _vibrator?.Vibrate(mVibratePattern, 0);
         }
     }
 }
Exemplo n.º 3
0
 public PlatformFeedbackGenerator()
 {
     m_vibrator ??= Vibrator.FromContext(s_activity);
 }
Exemplo n.º 4
0
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.Main);

            //"Criação de uma lista de moradores"
            Ceuense        instanciaDeClasse = new Ceuense();
            List <Ceuense> listaCeuenses     = instanciaDeClasse.gerarLista();
            //Contagem de quantos moradores estão na lista,
            //o +1 é para usar a função Random pois ela gera de (valorInicial,ValorLimite) Ex. => Next(0,2) = {0, 1}
            //int tamanhoLista = listaCeuenses.Count;

            Button      enviar       = FindViewById <Button>(Resource.Id.enviar);
            RadioGroup  opcoes       = FindViewById <RadioGroup>(Resource.Id.opcoes);
            RadioButton radioButton1 = FindViewById <RadioButton>(Resource.Id.radioButton1);
            RadioButton radioButton2 = FindViewById <RadioButton>(Resource.Id.radioButton2);
            RadioButton radioButton3 = FindViewById <RadioButton>(Resource.Id.radioButton3);
            //TextView pontuacao = FindViewById<TextView>(Resource.Id.pontuacao);

            int opcaoCorreta = novaPergunta(listaCeuenses);

            //Pontuação
            int pontos = 1;

            //Timer pra dar a pontuação
            DateTime inicio = DateTime.Now;

            //Tentativas
            int numRespostas      = 0;
            int tentativasErradas = 0;

            enviar.Click += delegate
            {
                //Gerar opção correta
                //Se algum radiobutton está marcado
                if (opcoes.CheckedRadioButtonId != -1)
                {
                    if (numRespostas < 13)
                    {
                        switch (opcaoCorreta)
                        {
                        case 1:
                            if (opcoes.CheckedRadioButtonId == radioButton1.Id)
                            {
                                numRespostas++;
                                opcaoCorreta = novaPergunta(listaCeuenses);
                            }
                            else
                            {
                                tentativasErradas++;
                                if (tentativasErradas == 1)
                                {
                                    notificarPrimeiraErrada();
                                }
                                Vibrator.FromContext(this).Vibrate(300);
                                if (opcoes.CheckedRadioButtonId == radioButton2.Id)
                                {
                                    radioButton2.SetTextColor(Color.Red);
                                }
                                else
                                {
                                    radioButton3.SetTextColor(Color.Red);
                                }
                            }

                            break;

                        case 2:
                            if (opcoes.CheckedRadioButtonId == radioButton2.Id)
                            {
                                numRespostas++;
                                opcaoCorreta = novaPergunta(listaCeuenses);
                            }
                            else
                            {
                                tentativasErradas++;
                                if (tentativasErradas == 1)
                                {
                                    notificarPrimeiraErrada();
                                }
                                Vibrator.FromContext(this).Vibrate(300);
                                if (opcoes.CheckedRadioButtonId == radioButton1.Id)
                                {
                                    radioButton1.SetTextColor(Color.Red);
                                }
                                else
                                {
                                    radioButton3.SetTextColor(Color.Red);
                                }
                            }

                            break;

                        case 3:
                            if (opcoes.CheckedRadioButtonId == radioButton3.Id)
                            {
                                numRespostas++;
                                opcaoCorreta = novaPergunta(listaCeuenses);
                            }
                            else
                            {
                                tentativasErradas++;
                                if (tentativasErradas == 1)
                                {
                                    notificarPrimeiraErrada();
                                }
                                Vibrator.FromContext(this).Vibrate(300);
                                if (opcoes.CheckedRadioButtonId == radioButton1.Id)
                                {
                                    radioButton1.SetTextColor(Color.Red);
                                }
                                else
                                {
                                    radioButton2.SetTextColor(Color.Red);
                                }
                            }

                            break;
                        }
                    }
                    else
                    {
                        TimeSpan tempo = DateTime.Now - inicio;
                        mostrarPontuacao(tempo, tentativasErradas, pontos);
                    }
                }
            };
        }
Exemplo n.º 5
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            Log.Debug(AlarmSetterAndroid.AlarmTag, "OnCreate");
            base.OnCreate(savedInstanceState);

            SetContentView(Resource.Layout.AlarmActivity);
            var closeButton = FindViewById <Button>(Resource.Id.closeButton);

            closeButton.Click += CloseButton_Click;

            // add flags to turn screen on and appear over lock screen
            Window.AddFlags(WindowManagerFlags.ShowWhenLocked);
            Window.AddFlags(WindowManagerFlags.DismissKeyguard);
            Window.AddFlags(WindowManagerFlags.KeepScreenOn);
            Window.AddFlags(WindowManagerFlags.TurnScreenOn);

            Intent intent = Intent;
            Bundle bundle = intent.Extras;

            if (bundle == null)
            {
                return;
            }

            var id           = (string)bundle.Get("id");
            var timeTextView = FindViewById <TextView>(Resource.Id.timeTextView);
            var nameTextView = FindViewById <TextView>(Resource.Id.nameTextView);

            _alarm            = _alarmStorageService.GetAlarm(id);
            timeTextView.Text = _alarm.TimeOffset.ToLocalTime().ToString(@"hh\:mm");
            nameTextView.Text = _alarm.Name;

            _settings = _alarmStorageService.GetSettings();
            string alarmTonePath = "alarm_tone.m4a";
            var    alarmTone     = _settings.AlarmTone;

            if (alarmTone != null)
            {
                if (alarmTone.IsCustomTone)
                {
                    string[] split = alarmTone.Path.Split(':');
                    string   type  = split[0];

                    if (type.Contains("primary"))
                    {
                        alarmTonePath = Android.OS.Environment.ExternalStorageDirectory + "/" + split[1];
                        _mediaPlayer.SetDataSource(alarmTonePath);
                    }
                }
                else
                {
                    alarmTonePath = _settings.AlarmTone.Path;
                    AssetFileDescriptor assetFileDescriptor = Assets.OpenFd(alarmTonePath);
                    _mediaPlayer.SetDataSource(assetFileDescriptor.FileDescriptor, assetFileDescriptor.StartOffset, assetFileDescriptor.Length);
                }
            }

            _mediaPlayer.Looping = true;
            _mediaPlayer.Prepare();
            _mediaPlayer.Start();

            if (_alarm.IsVibrateOn)
            {
                return;
            }


            _vibrator = Vibrator.FromContext(this);
            _vibrator.Vibrate(_pattern, 0);
            Log.Debug(AlarmSetterAndroid.AlarmTag, "Done Create");
        }