private async void Reset_Click(object sender, EventArgs e)
        {
            imm.HideSoftInputFromWindow(Email.WindowToken, 0);
            MainLayout.RequestFocus();

            Reset.Enabled = false;

            if (regsessionid != "")
            {
                string responseString = await c.MakeRequest("action=deletetemp&imageName=&regsessionid=" + regsessionid);                 //deleting images from server

                if (responseString == "OK" || responseString == "INVALID_TOKEN")
                {
                    if (File.Exists(regSessionFile))
                    {
                        File.Delete(regSessionFile);
                    }
                    regsessionid = "";

                    ResetForm();
                }
                else
                {
                    c.ReportError(responseString);
                }
            }
            else
            {
                ResetForm();
            }
            Reset.Enabled = true;
        }
        private async void MessageSend_Click(object sender, EventArgs e)
        {
            imm.HideSoftInputFromWindow(MessageEdit.WindowToken, 0);
            if (MessageEdit.Text != "")
            {
                MessageSend.Enabled = false;

                string url            = "action=helpcentermessage&ID=" + Session.ID + "&SessionID=" + Session.SessionID + "&Content=" + c.UrlEncode(MessageEdit.Text);
                string responseString = await c.MakeRequest(url);

                if (responseString == "OK")
                {
                    MessageEdit.Text           = "";
                    MessageEdit.Visibility     = ViewStates.Gone;
                    MessageSend.Visibility     = ViewStates.Gone;
                    QuestionsScroll.Visibility = ViewStates.Visible;
                    MainLayout.RequestFocus();
                    c.Snack(Resource.String.HelpCenterSent);
                }
                else
                {
                    c.ReportError(responseString);
                }
                MessageSend.Enabled = true;
            }
        }
        private async void MessageSend_Click(object sender, EventArgs e)
        {
            imm.HideSoftInputFromWindow(MessageEdit.WindowToken, 0);
            if (MessageEdit.Text != "")
            {
                MessageSend.Enabled = false;

                string url     = "action=reporterror&ID=" + Session.ID + "&SessionID=" + Session.SessionID;
                string content = "Content=" + c.UrlEncode(MessageEdit.Text + System.Environment.NewLine
                                                          + "Android version: " + c.AndroidInfo() + System.Environment.NewLine + File.ReadAllText(CommonMethods.logFile));
                string responseString = await c.MakeRequest(url, "POST", content);

                if (responseString == "OK")
                {
                    MessageEdit.Text = "";
                    SetFormHidden();
                    MainLayout.RequestFocus();
                    c.Snack(Resource.String.SettingsSent);
                }
                else
                {
                    c.ReportError(responseString);
                }
                MessageSend.Enabled = true;
            }
        }
Example #4
0
 private void TS_Elapsed(object sender, ElapsedEventArgs e)
 {
     ((Timer)sender).Stop();
     this.RunOnUiThread(() => {
         MainScroll.FullScroll(FocusSearchDirection.Down);
         MainLayout.RequestFocus();                 //Description text gets focus without this
     });
 }
 private void SettingsFormCaption_Click(object sender, EventArgs e)
 {
     if (MessageEdit.Visibility == ViewStates.Gone)
     {
         SetFormVisible();
         MessageEdit.RequestFocus();
         //fullscroll page?
     }
     else
     {
         SetFormHidden();
         imm.HideSoftInputFromWindow(MessageEdit.WindowToken, 0);
         MainLayout.RequestFocus();
     }
 }
 private void HelpCenterFormCaption_Click(object sender, EventArgs e)
 {
     if (MessageEdit.Visibility == ViewStates.Gone)
     {
         MessageEdit.Visibility     = ViewStates.Visible;
         MessageSend.Visibility     = ViewStates.Visible;
         QuestionsScroll.Visibility = ViewStates.Gone;
         MessageEdit.RequestFocus();
     }
     else
     {
         MessageEdit.Visibility     = ViewStates.Gone;
         MessageSend.Visibility     = ViewStates.Gone;
         QuestionsScroll.Visibility = ViewStates.Visible;
         imm.HideSoftInputFromWindow(MessageEdit.WindowToken, 0);
         MainLayout.RequestFocus();
     }
 }
        private async void OpenTutorial_Click(object sender, EventArgs e)
        {
            MessageEdit.Visibility     = ViewStates.Gone;
            MessageSend.Visibility     = ViewStates.Gone;
            QuestionsScroll.Visibility = ViewStates.Visible;
            imm.HideSoftInputFromWindow(MessageEdit.WindowToken, 0);
            MainLayout.RequestFocus();

            TutorialFrame.RemoveAllViews();
            TutorialText.Text    = "";
            TutorialNavText.Text = "";

            TutorialTopBar.Visibility          = ViewStates.Visible;
            TutorialFrameBg.Visibility         = ViewStates.Visible;
            TutorialFrame.Visibility           = ViewStates.Visible;
            TutorialTopSeparator.Visibility    = ViewStates.Visible;
            TutorialBottomSeparator.Visibility = ViewStates.Visible;
            TutorialNavBar.Visibility          = ViewStates.Visible;
            OpenTutorial.Visibility            = ViewStates.Gone;
            StartAnim();

            cancelImageLoading = false;

            float width = Math.Min(dpWidth, screenHeight / pixelDensity);

            string url            = "action=tutorial&OS=Android&dpWidth=" + width;
            string responseString = await c.MakeRequest(url);

            if (responseString.Substring(0, 2) == "OK")
            {
                tutorialDescriptions = new List <string>();
                tutorialPictures     = new List <string>();
                responseString       = responseString.Substring(3);

                string[] lines = responseString.Split("\t");
                int      count = 0;
                foreach (string line in lines)
                {
                    count++;
                    if (count % 2 == 1)
                    {
                        tutorialDescriptions.Add(line);
                    }
                    else
                    {
                        tutorialPictures.Add(line);
                    }
                }

                currentTutorial = 0;
                LoadTutorial();
                LoadEmptyPictures(tutorialDescriptions.Count);

                await Task.Run(async() =>
                {
                    for (int i = 0; i < tutorialDescriptions.Count; i++)
                    {
                        if (cancelImageLoading)
                        {
                            break;
                        }
                        await LoadPicture(i);
                    }
                });
            }
            else
            {
                c.ReportError(responseString);
            }
        }
Example #8
0
        protected override void OnResume()         //will be called after opening the file selector too
        {
            try {
                base.OnResume();

                if (!ListActivity.initialized)
                {
                    return;
                }

                if (!c.IsLoggedIn())                 //pressing back button after deleting account
                {
                    Intent intent = new Intent(this, typeof(ListActivity));
                    intent.SetFlags(ActivityFlags.ReorderToFront);
                    StartActivity(intent);
                    return;
                }

                EditAccountDataSection.Visibility      = ViewStates.Gone;
                EditChangePasswordSection.Visibility   = ViewStates.Gone;
                EditLocationSettingsSection.Visibility = ViewStates.Gone;
                DeactivateAccount.Visibility           = ViewStates.Gone;
                DeleteAccount.Visibility = ViewStates.Gone;
                ImagesProgress.Progress  = 0;
                MainScroll.ScrollY       = 0;

                MainLayout.RequestFocus();
                Images.Enabled = true;
                SetSexChoice();
                Email.Text     = Session.Email;
                Username.Text  = Session.Username;
                Name.Text      = Session.Name;
                uploadedImages = new List <string>(Session.Pictures);

                ImagesUploaded.RemoveAllViews();
                ImagesUploaded.drawOrder = new List <int>();

                ImageCache.imagesInProgress     = new List <string>();
                ImageCache.imageViewToLoadLater = new Dictionary <ImageView, string>();

                ImagesUploaded.AddShadow();
                int i = 0;
                foreach (string image in uploadedImages)
                {
                    ImagesUploaded.AddPicture(image, i);
                    i++;
                }
                ImagesUploaded.RefitImagesContainer();

                if (!imagesUploading)
                {
                    if (uploadedImages.Count > 1)
                    {
                        ImagesProgressText.Text = res.GetString(Resource.String.ImagesRearrange);
                    }
                    else
                    {
                        ImagesProgressText.Text = "";
                    }
                }

                Description.Text = Session.Description;

                UseLocationSwitch.Checked = (bool)Session.UseLocation;
                rc.EnableLocationSwitches((bool)Session.UseLocation);
                rc.SetLocationShareLevel((byte)Session.LocationShare);
                rc.SetDistanceShareLevel((byte)Session.DistanceShare);

                if ((bool)Session.ActiveAccount)
                {
                    DeactivateAccount.Text = res.GetString(Resource.String.DeactivateAccount);
                }
                else
                {
                    DeactivateAccount.Text = res.GetString(Resource.String.ActivateAccount);
                }

                if (selectedFile != null)
                {
                    OnResumeEnd();
                }

                c.Log("OnResume end");
            }
            catch (Exception ex)
            {
                c.ReportErrorSilent(ex.Message + System.Environment.NewLine + ex.StackTrace);
            }
        }
        private async void Register_Click(object sender, System.EventArgs e)
        {
            if (CheckFields())
            {
                imm.HideSoftInputFromWindow(Email.WindowToken, 0);
                MainLayout.RequestFocus();

                Register.Enabled = false;

                int locationShare = 0;
                int distanceShare = 0;

                if (UseLocationSwitch.Checked)
                {
                    locationShare = rc.GetLocationShareLevel();
                    distanceShare = rc.GetDistanceShareLevel();
                }

                string url = "action=register&Sex=" + (Sex.SelectedItemId - 1) + "&Email=" + c.UrlEncode(Email.Text.Trim()) + "&Password="******"&Username="******"&Name=" + c.UrlEncode(Name.Text.Trim())
                             + "&Pictures=" + c.UrlEncode(string.Join("|", uploadedImages)) + "&Description=" + c.UrlEncode(Description.Text) + "&UseLocation=" + UseLocationSwitch.Checked
                             + "&LocationShare=" + locationShare + "&DistanceShare=" + distanceShare + "&regsessionid=" + regsessionid;

                if (File.Exists(firebaseTokenFile))                 //sends the token whether it was sent from this device or not
                {
                    url += "&token=" + File.ReadAllText(firebaseTokenFile);
                }
                string responseString = await c.MakeRequest(url);

                if (responseString.Substring(0, 2) == "OK")
                {
                    if (File.Exists(regSessionFile))
                    {
                        File.Delete(regSessionFile);
                    }
                    regsessionid = "";
                    if (File.Exists(regSaveFile))
                    {
                        File.Delete(regSaveFile);
                    }
                    registerCompleted = true;                     //to prevent OnPause from saving form data.

                    if (File.Exists(firebaseTokenFile))
                    {
                        File.WriteAllText(tokenUptoDateFile, "True");
                    }

                    c.LoadCurrentUser(responseString);

                    Register.Enabled = true;

                    Intent i = new Intent(this, typeof(ListActivity));
                    i.SetFlags(ActivityFlags.ReorderToFront);
                    StartActivity(i);
                }
                else if (responseString.Substring(0, 6) == "ERROR_")
                {
                    c.Snack(Resources.GetIdentifier(responseString.Substring(6), "string", PackageName));
                }
                else
                {
                    c.ReportError(responseString);
                }
                Register.Enabled = true;
            }
            else
            {
                c.Snack(checkFormMessage);
            }
        }
        protected async override void OnResume()         //will be called after opening the file selector and permission results
        {
            try
            {
                base.OnResume();

                if (!ListActivity.initialized)
                {
                    return;
                }

                GetScreenMetrics(false);
                ImagesUploaded.SetTileSize();
                MainLayout.RequestFocus();
                Images.Enabled = true;

                if (!(ListActivity.listProfiles is null))
                {
                    ListActivity.listProfiles.Clear();
                    ListActivity.totalResultCount = null;
                }
                Session.LastDataRefresh = null;
                Session.LocationTime    = null;

                registerCompleted = false;

                if (File.Exists(regSaveFile))
                {
                    string[] arr = File.ReadAllLines(regSaveFile);
                    Sex.SetSelection(int.Parse(arr[0]));
                    Email.Text           = arr[1];
                    Password.Text        = arr[2];
                    ConfirmPassword.Text = arr[3];
                    Username.Text        = arr[4];
                    Name.Text            = arr[5];
                    if (arr[6] != "")                     //it would give one element
                    {
                        string[] images = arr[6].Split("|");
                        uploadedImages = new List <string>(images);
                    }
                    else
                    {
                        uploadedImages = new List <string>();
                    }

                    if (uploadedImages.Count > 1)
                    {
                        ImagesProgressText.Text = res.GetString(Resource.String.ImagesRearrange);
                    }
                    else
                    {
                        ImagesProgressText.Text = "";
                    }

                    ImagesUploaded.RemoveAllViews();
                    ImagesUploaded.drawOrder = new List <int>();

                    ImageCache.imagesInProgress     = new List <string>();
                    ImageCache.imageViewToLoadLater = new Dictionary <ImageView, string>();

                    ImagesUploaded.AddShadow();
                    int i = 0;
                    foreach (string image in uploadedImages)
                    {
                        ImagesUploaded.AddPicture(image, i);
                        i++;
                    }
                    ImagesUploaded.RefitImagesContainer();

                    if (imagesUploading)
                    {
                        rc.StartAnim();
                    }

                    Description.Text = arr[7].Replace("[newline]", "\n");

                    UseLocationSwitch.Checked = bool.Parse(arr[8]);
                    rc.EnableLocationSwitches(UseLocationSwitch.Checked);
                    rc.SetLocationShareLevel(byte.Parse(arr[9]));
                    rc.SetDistanceShareLevel(byte.Parse(arr[10]));
                }
                else                 //in case we are stepping back from a successful registration
                {
                    ResetForm();
                }

                if (!eulaLoaded)
                {
                    string responseString = await c.MakeRequest("action=eula&ios=0");                     //deleting images from server

                    if (responseString.Substring(0, 2) == "OK")
                    {
                        eulaLoaded = true;
                        if (Build.VERSION.SdkInt >= BuildVersionCodes.N)
                        {
                            EulaText.TextFormatted = Html.FromHtml(responseString.Substring(3), FromHtmlOptions.ModeLegacy);
                        }
                        else
                        {
#pragma warning disable CS0618 // Type or member is obsolete
                            EulaText.TextFormatted = Html.FromHtml(responseString.Substring(3));
#pragma warning restore CS0618 // Type or member is obsolete
                        }
                    }
                    else
                    {
                        c.ReportError(responseString);
                    }
                }

                if (selectedFile != null)
                {
                    OnResumeEnd();
                }

                c.Log("OnResume end");
            }
            catch (Exception ex)
            {
                c.ReportErrorSilent(ex.Message + System.Environment.NewLine + ex.StackTrace);
            }
        }