// Simulates background work that happens behind the splash screen async void SimulateStartup() { ISharedPreferences sharedPreferences = Application.Context.GetSharedPreferences("loginfile", FileCreationMode.Private); string email = sharedPreferences.GetString("email", string.Empty); string password = sharedPreferences.GetString("password", string.Empty); if (string.IsNullOrEmpty(email) || string.IsNullOrEmpty(password)) { Log.Debug(TAG, "Performing some startup work that takes a bit of time."); await Task.Delay(1000); // Simulate a bit of startup work. Log.Debug(TAG, "Startup work is finished - starting MainActivity."); StartActivity(new Intent(Application.Context, typeof(Login))); } else { Login login = new Login(); if (login.CheckWifiStatus()) { var user = await Account.UserLogin(email, Convert.ToInt32(password)); if (user == null) { MainThread.BeginInvokeOnMainThread(() => { Toast.MakeText(this, "Invalid login credintials provided!", ToastLength.Long).Show(); StartActivity(new Intent(Application.Context, typeof(Login))); }); } else { var iss = new Intent(this, typeof(FragmentHomeActivity)); ISharedPreferences sharedPrefrences = Application.Context.GetSharedPreferences("loginfile", FileCreationMode.Private); ISharedPreferencesEditor spEdit = sharedPrefrences.Edit(); spEdit.PutString("email", user.email_address); spEdit.PutString("password", user.password_hash.ToString()); spEdit.Apply(); UserInfoHolder.FetchUserInfo(user); FetchandSendTokenWithEmail(); MainThread.BeginInvokeOnMainThread(() => { this.StartActivity(iss); // circle5.Visibility = Android.Views.ViewStates.Visible; this.Finish(); }); } } else { MainThread.BeginInvokeOnMainThread(() => { Toast.MakeText(this, "Please connect to Wifi", ToastLength.Long).Show(); StartActivity(new Intent(Application.Context, typeof(Login))); }); } } }
private async void Worker_DoWork1(object sender, DoWorkEventArgs e) { var duration = TimeSpan.FromMilliseconds(100); Vibration.Vibrate(duration); if (Android.Util.Patterns.EmailAddress.Matcher(email.Text).Matches() == true) { if (InputValidation.ValidatePassword(pass.Text, pass.Text, this)) { MainThread.BeginInvokeOnMainThread(() => { //loadingIndicator.Visibility = Android.Views.ViewStates.Visible; loginbuttonindicator.Visibility = Android.Views.ViewStates.Visible; }); try { if (CheckWifiStatus()) { var user = await Account.UserLogin(email.Text, pass.Text.GetHashCode()); if (user == null) { MainThread.BeginInvokeOnMainThread(() => { Toast.MakeText(this, "Invalid login credintials provided!", ToastLength.Long).Show(); int hash = pass.Text.GetHashCode(); loadingIndicator.Visibility = Android.Views.ViewStates.Gone; loginbuttonindicator.Visibility = Android.Views.ViewStates.Gone; }); } else { var iss = new Intent(this, typeof(FragmentHomeActivity)); ISharedPreferences sharedPrefrences = Application.Context.GetSharedPreferences("loginfile", FileCreationMode.Private); ISharedPreferencesEditor spEdit = sharedPrefrences.Edit(); spEdit.PutString("email", user.email_address); spEdit.PutString("password", user.password_hash.ToString()); spEdit.Apply(); UserInfoHolder.FetchUserInfo(user); FetchandSendTokenWithEmail(); MainThread.BeginInvokeOnMainThread(() => { this.StartActivity(iss); // circle5.Visibility = Android.Views.ViewStates.Visible; this.Finish(); }); } } else { MainThread.BeginInvokeOnMainThread(() => { Toast.MakeText(this, "Please connect to Wifi", ToastLength.Long).Show(); loadingIndicator.Visibility = Android.Views.ViewStates.Gone; email.Enabled = true; pass.Enabled = true; }); } } catch (Exception ex) { MainThread.BeginInvokeOnMainThread(() => { Toast.MakeText(this, "Please Connect to the Internet| No Internet Connection", ToastLength.Long).Show(); loadingIndicator.Visibility = Android.Views.ViewStates.Gone; email.Enabled = true; pass.Enabled = true; }); } } else { MainThread.BeginInvokeOnMainThread(() => { Toast.MakeText(this, "PLEASE ENTER CORRECT PASSWORD", ToastLength.Long).Show(); loadingIndicator.Visibility = Android.Views.ViewStates.Gone; email.Enabled = true; pass.Enabled = true; }); } } else { MainThread.BeginInvokeOnMainThread(() => { Toast.MakeText(this, "PLEASE ENTER CORRECT EMAIL ADDRESS", ToastLength.Long).Show(); loadingIndicator.Visibility = Android.Views.ViewStates.Gone; email.Enabled = true; pass.Enabled = true; }); } }