Пример #1
0
 public void HandleSearch(IMenuItem item)
 {
     if (_searchOpen)
     {
         ((BaseViewModel)ViewModel).ShowSpacer = false;
         SetSearchString();
         _actionBar.SetDisplayShowTitleEnabled(true);
         _actionBar.SetDisplayShowCustomEnabled(false);
         item.SetIcon(Resource.Drawable.ic_search_white);
         _imm.HideSoftInputFromWindow(Activity.CurrentFocus.WindowToken, 0);
     }
     else
     {
         ((BaseViewModel)ViewModel).ShowSpacer = true;
         if (!string.IsNullOrEmpty(_edtSearch.Text))
         {
             SetSearchString(_edtSearch.Text);
         }
         _actionBar.SetDisplayShowTitleEnabled(false);
         _actionBar.SetDisplayShowCustomEnabled(true);
         _edtSearch.RequestFocus();
         _imm.ShowSoftInput(_edtSearch, ShowFlags.Implicit);
         item.SetIcon(Resource.Drawable.ic_clear_white);
     }
     _searchOpen = !_searchOpen;
 }
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            Window.SetLayout(DisplayDetails.DisplayWidthPx, -2);
            Window.SetGravity(GravityFlags.Top | GravityFlags.Left);
            var wlp = Window.Attributes;

            wlp.X                = 0;
            wlp.Y                = 0;
            wlp.Width            = DisplayDetails.DisplayWidthPx;
            wlp.HorizontalMargin = 0;
            wlp.VerticalMargin   = 0;
            Window.Attributes    = wlp;

            SetContentView(Resource.Layout.remote_notification_reply);
            SetFinishOnTouchOutside(false);
            BindViews();
            BindEvents();
            _messageInput.RequestFocus();
            KeyboardStatusService.ShowKeyboard(this, _messageInput);
        }
        /* Updates both the IEntry.CursorPosition and IEntry.SelectionLength properties. */
        static void UpdateCursorSelection(AppCompatEditText editText, IEntry entry)
        {
            if (!entry.IsReadOnly)            // && editText.HasFocus)// || editText.RequestFocus()))//&& editText.RequestFocus())
            {
                if (!editText.HasFocus)
                {
                    editText.RequestFocus();
                }

                int start = GetSelectionStart(editText, entry);
                int end   = GetSelectionEnd(editText, entry, start);

                editText.SetSelection(start, end);
            }
        }
Пример #4
0
        private async void Submit_Click(object sender, System.EventArgs e)
        {
            AppCompatEditText fname    = FindViewById <AppCompatEditText>(Resource.Id.name);
            AppCompatEditText email    = FindViewById <AppCompatEditText>(Resource.Id.email);
            AppCompatEditText passw    = FindViewById <AppCompatEditText>(Resource.Id.password);
            AppCompatEditText confPass = FindViewById <AppCompatEditText>(Resource.Id.confirmPassword);

            if (string.IsNullOrWhiteSpace(fname.Text))
            {
                fname.Error = StringResources.register_ui_fullname_validate_empty;
                fname.RequestFocus();
            }
            else if (string.IsNullOrWhiteSpace(email.Text))
            {
                email.Error = StringResources.common_ui_forms_email_validate_empty;
                email.RequestFocus();
            }
            else if (string.IsNullOrWhiteSpace(passw.Text))
            {
                passw.Error = StringResources.common_ui_forms_password_validate_empty;
                passw.RequestFocus();
            }
            else if (passw.Text != confPass.Text)
            {
                confPass.Error = StringResources.common_ui_forms_password_validate_mismatch;
                confPass.RequestFocus();
            }
            else if (!Android.Util.Patterns.EmailAddress.Matcher(email.Text).Matches())
            {
                email.Error = StringResources.common_ui_forms_email_validate_invalid;
                email.RequestFocus();
            }
            else if (string.IsNullOrWhiteSpace(selectedLanguage) ||
                     selectedLanguage == StringResources.common_ui_forms_language_default)
            {
                new Android.Support.V7.App.AlertDialog.Builder(this)
                .SetMessage(StringResources.common_ui_forms_language_error)
                .SetPositiveButton(StringResources.common_comms_ok, (a, b) => { })
                .Show();
            }
            else
            {
                FindViewById <RelativeLayout>(Resource.Id.loadingLayout).Visibility = ViewStates.Visible;
                FindViewById <AppCompatButton>(Resource.Id.submit).Enabled          = false;

                LanguageChoice chosenLang = languageChoices.FirstOrDefault((arg) => arg.Endonym == selectedLanguage);

                LOG_EVENT_WITH_ACTION("REGISTER", "ATTEMPT");

                CultureInfo currentCulture = StringResources.Culture ?? Localise.GetCurrentCultureInfo();
                string      currentLang    = currentCulture.TwoLetterISOLanguageName;

                LanguageChoice matchingLanguage = await LanguageChoiceManager.GetLanguageFromCode(currentLang);

                //default to English at registration if no matching language
                int langId = (matchingLanguage != null)? matchingLanguage.Id : 1;

                var response = await RestClient.Register(fname.Text, email.Text.ToLower(), passw.Text, langId);

                if (response.Meta.Success)
                {
                    LOG_EVENT_WITH_ACTION("REGISTER", "SUCCESS");
                    var intent = new Intent(this, typeof(Activities.RegisterVerification));
                    intent.PutExtra("EMAIL_USED_TO_REGISTER", email.Text);
                    intent.SetFlags(ActivityFlags.ClearTop | ActivityFlags.ClearTask | ActivityFlags.NewTask);
                    StartActivity(intent);
                    Finish();
                }
                else
                {
                    RunOnUiThread(() =>
                    {
                        if (response.Meta.Messages.Count > 0)
                        {
                            LOG_EVENT_WITH_ACTION("REGISTER", "ERROR");
                            response.Meta.Messages.ForEach(MakeError);
                        }
                        FindViewById <AppCompatButton>(Resource.Id.submit).Enabled          = true;
                        FindViewById <RelativeLayout>(Resource.Id.loadingLayout).Visibility = ViewStates.Gone;
                        fname.RequestFocus();
                    });
                }
            }
        }