Example #1
0
        void GetActivationDialog()
        {
            ImageButton addCodeImageButtonFake = FindViewById <ImageButton>(Resource.Id.NavBar_addcodeImageButtonFake);
            ImageButton addCodeImageButton     = FindViewById <ImageButton>(Resource.Id.NavBar_addcodeImageButton);

            _activateMessageBadgeDialogBuilder = new AlertDialog.Builder(this);
            LayoutInflater addBadgeMenulayoutInflater = (LayoutInflater)BaseContext.GetSystemService(LayoutInflaterService);
            RelativeLayout addBadgeRelativeLayout     = new RelativeLayout(this);
            View           addBadgeView = addBadgeMenulayoutInflater.Inflate(Resource.Layout.addbadgemenulayoutlayout, null);


            Button addBadgeCancelButton = (Button)addBadgeView.FindViewById(Resource.Id.addbadge_cancelButton);
            Button readQRCodeButton     = (Button)addBadgeView.FindViewById(Resource.Id.addbadge_readQRButton);
            Button addCodeButton        = (Button)addBadgeView.FindViewById(Resource.Id.addbadge_addcodeButton);

            readQRCodeButton.SetTypeface(_font, TypefaceStyle.Normal);
            addCodeButton.SetTypeface(_font, TypefaceStyle.Normal);

            TextView addBadgeTitleTextView = (TextView)addBadgeView.FindViewById(Resource.Id.textView1);
            TextView addBadgeHintTextView  = (TextView)addBadgeView.FindViewById(Resource.Id.addbadge_hintTextView);

            addBadgeRelativeLayout.AddView(addBadgeView);

            addBadgeTitleTextView.SetTypeface(_font, TypefaceStyle.Normal);
            addBadgeHintTextView.SetTypeface(_font, TypefaceStyle.Normal);

            LayoutInflater addCodeMenulayoutInflater = (LayoutInflater)BaseContext.GetSystemService(LayoutInflaterService);
            RelativeLayout addCodeRelativeLayout     = new RelativeLayout(this);
            View           addCodeView = addCodeMenulayoutInflater.Inflate(Resource.Layout.entercodelayout, null);

            Button addCodeCancelButton = (Button)addCodeView.FindViewById(Resource.Id.addcode_cancelButton);
            Button addCodeReadyButton  = (Button)addCodeView.FindViewById(Resource.Id.addcode_readyButton);

            _enterCodeLineImageView = (ImageView)addCodeView.FindViewById(Resource.Id.imageView1);

            TextView addCodeDescrTextView = (TextView)addCodeView.FindViewById(Resource.Id.textView2);
            TextView addCodeTitleTextView = (TextView)addCodeView.FindViewById(Resource.Id.textView1);

            addCodeDescrTextView.SetTypeface(_font, TypefaceStyle.Normal);
            addCodeTitleTextView.SetTypeface(_font, TypefaceStyle.Normal);

            _codeCompleteTextView = (AutoCompleteTextView)addCodeView.FindViewById(Resource.Id.addcode_autoCompleteTextView);
            _codeCompleteTextView.SetTypeface(_font, TypefaceStyle.Normal);


            if (!AppInfo.IsLocaleRu)
            {
                addBadgeTitleTextView.Text       = "Activate Badge";
                addBadgeHintTextView.Text        = "Enter a code or read a QR from a certificate of achivement to get a new badge.";
                addCodeButton.Text               = "   Via Entering code";
                readQRCodeButton.Text            = "   Via QR-reader";
                addCodeDescrTextView.Text        = "Confirmation a code is a process for which is given a badge.";
                addCodeTitleTextView.Text        = "Enter code";
                _wrongCodeDialogReadyButton.Text = "Ok";
                addBadgeCancelButton.Text        = "Cancel";
                addCodeCancelButton.Text         = "Cancel";
                addCodeReadyButton.Text          = "Ok";
            }


            _codeCompleteTextView.Click += delegate
            {
                InputMethodManager im = (InputMethodManager)this.GetSystemService(InputMethodService);
                if (im.IsAcceptingText)
                {
                    _enterCodeLineImageView.SetBackgroundResource(Resource.Drawable.line_blue);
                }
                else
                {
                    _enterCodeLineImageView.SetBackgroundResource(Resource.Drawable.line);
                }
            };
            //codeCompleteTextView.SetDropDownBackgroundDrawable();
            addCodeRelativeLayout.AddView(addCodeView);

            Dialog addBadgeDialog = new Dialog(this, Resource.Style.FullHeightDialog);

            addBadgeDialog.SetTitle("");
            addBadgeDialog.SetContentView(addBadgeRelativeLayout);

            Dialog addCodeDialog = new Dialog(this, Resource.Style.FullHeightDialog);

            addCodeDialog.SetTitle("");
            addCodeDialog.SetContentView(addCodeRelativeLayout);

            addCodeImageButtonFake.Click += delegate {
                if (!_badgePopupWindow.IsShowing)
                {
                    _categoriesListView.Visibility           = ViewStates.Gone;
                    _categoriesshadowImageView.Visibility    = ViewStates.Gone;
                    _inactiveListButton.Visibility           = ViewStates.Gone;
                    _subcategoriesListView.Visibility        = ViewStates.Gone;
                    _subcategoriesshadowImageView.Visibility = ViewStates.Gone;
                    _isProjectsListOpen  = false;
                    isCategoriesListOpen = false;
                    _vibe.Vibrate(50);
                    _codeCompleteTextView.Text = "";
                    addCodeImageButton.StartAnimation(_buttonClickAnimation);
                    addBadgeDialog.Show();
                    addBadgeRelativeLayout.StartAnimation(AnimationUtils.LoadAnimation(this, global::Android.Resource.Animation.FadeIn));
                }
            };



            addBadgeCancelButton.Click += delegate { _vibe.Vibrate(50); addBadgeCancelButton.StartAnimation(_buttonClickAnimation); addBadgeDialog.Dismiss(); };
            addCodeButton.Click        += delegate { _vibe.Vibrate(50); addCodeButton.StartAnimation(_buttonClickAnimation); addBadgeDialog.Dismiss(); addCodeDialog.Show(); addCodeRelativeLayout.StartAnimation(AnimationUtils.LoadAnimation(this, global::Android.Resource.Animation.FadeIn)); };
            addCodeCancelButton.Click  += delegate { _vibe.Vibrate(50); addCodeCancelButton.StartAnimation(_buttonClickAnimation); addCodeDialog.Dismiss(); };
            readQRCodeButton.Click     += delegate
            {
                _vibe.Vibrate(50);
                readQRCodeButton.StartAnimation(_buttonClickAnimation); addBadgeDialog.Dismiss();
                _scanner = new MobileBarcodeScanner(this);
                _scanner.UseCustomOverlay = true;
                var      zxingOverlay   = LayoutInflater.FromContext(this).Inflate(Resource.Layout.qrreaderlayout, null);
                TextView qrTitleContent = (TextView)zxingOverlay.FindViewById(Resource.Id.qrreader_codetextView);
                qrTitleContent.SetTypeface(_font, TypefaceStyle.Normal);


                if (!AppInfo.IsLocaleRu)
                {
                    qrTitleContent.Text = "Check QR-Code";
                }

                _scanner.CustomOverlay = zxingOverlay;

                _scanner.Scan().ContinueWith((t) =>
                {
                    if (t.Status == System.Threading.Tasks.TaskStatus.RanToCompletion)
                    {
                        HandleScanResult(t.Result);
                    }
                });
            };

            addCodeReadyButton.Click += delegate
            {
                _vibe.Vibrate(50);
                if (_codeCompleteTextView.Text.Replace(" ", "") != "")
                {
                    addCodeReadyButton.StartAnimation(_buttonClickAnimation);
                    addCodeDialog.Dismiss();



                    _progressDialogMessage.Text = "Активация достижения...";
                    if (!AppInfo.IsLocaleRu)
                    {
                        _progressDialogMessage.Text = "Badge activation...";
                    }

                    _progressDialog.SetCancelable(false);
                    _progressDialog.Show();

                    ThreadStart threadStart = new ThreadStart(AsyncActivizationViaEntering);
                    Thread      loadThread  = new Thread(threadStart);
                    loadThread.Start();
                }
                else
                {
                    string toastStr = "Введите код активации";
                    if (!AppInfo.IsLocaleRu)
                    {
                        toastStr = "Enter activation code";
                    }

                    Toast.MakeText(this, toastStr, ToastLength.Short).Show();
                    addCodeReadyButton.StartAnimation(_buttonClickAnimation);
                }
            };
        }