/// <summary> /// Unblock the currently viewed user /// </summary> /// <param name="sender">The object that invoked the event</param> /// <param name="e">The event arguments</param> async void MUnblock_Click(object sender, EventArgs e) { //Try to unblock the user if (await Deleter.DeleteObject(URLs.serverURL + URLs.blacklist_user + "/" + MainActivity.credentials.username + "/" + profile.username + "/" + MainActivity.credentials.token)) { Toast.MakeText(this, "Successfully unblocked user!", ToastLength.Short).Show(); } else { Toast.MakeText(this, "Unable to unblock user", ToastLength.Short).Show(); } }
/// <summary> /// Performs the desired action of each menu item when /// selected from the drop down menu list. /// </summary> /// <param name="item">Selected menu item.</param> public override bool OnOptionsItemSelected(IMenuItem item) { Dialog dialog = null; AlertDialog.Builder builder = new AlertDialog.Builder(this); //Choose which action to do: Logout, View Messages, Leave Group, Edit Profile, Delete Account switch (item.ItemId) { case Resource.Id.logout: // Create the logout confirmation dialog builder.SetMessage(Resource.String.logout_question) .SetCancelable(false) .SetPositiveButton(Resource.String.yes, (senderAlert, args) => { //Send the logout request to the server Deleter.DeleteObject(MainActivity.serverURL + MainActivity.login_ext + "/" + MainActivity.credentials.username + "/" + MainActivity.credentials.token); userProfile = null; Intent logoutIntent = new Intent(this, typeof(MainActivity)); logoutIntent.SetFlags(ActivityFlags.ClearTop | ActivityFlags.NewTask); StartActivity(logoutIntent); }) .SetNegativeButton(Resource.String.no, (senderAlert, args) => { }); //Build and show the logout dialog dialog = builder.Create(); dialog.Show(); return(true); case Resource.Id.viewMessages: // Start ViewMessagesActivity StartActivity(typeof(ViewInbox)); return(true); case Resource.Id.leaveGroup: // Create the leave group confirmation dialog builder.SetMessage(Resource.String.leave_group_question) .SetCancelable(false) .SetPositiveButton(Resource.String.yes, (senderAlert, args) => { //Tell the server to remove the user from their current group Deleter.DeleteObject(MainActivity.serverURL + MainActivity.user_group + "/" + MainActivity.credentials.username + "/" + MainActivity.credentials.token); }) .SetNegativeButton(Resource.String.no, (senderAlert, args) => { }); //Build and show the leave group dialog dialog = builder.Create(); dialog.Show(); return(true); case Resource.Id.editProfile: // Pass profile object and start EditProfileActivity Intent editIntent = new Intent(this, typeof(EditProfileActivity)); var serializedObject = JsonConvert.SerializeObject(userProfile); editIntent.PutExtra("UserProfile", serializedObject); StartActivity(editIntent); return(true); case Resource.Id.deleteUser: // Create the delete user confirmation dialog builder.SetMessage(Resource.String.delete_question) .SetCancelable(false) .SetPositiveButton(Resource.String.yes, (senderAlert, args) => { Deleter.DeleteObject(MainActivity.serverURL + "user/" + MainActivity.credentials.username + "/" + MainActivity.credentials.token); userProfile = null; Intent deleteIntent = new Intent(this, typeof(MainActivity)); deleteIntent.SetFlags(ActivityFlags.ClearTop | ActivityFlags.NewTask); StartActivity(deleteIntent); }) .SetNegativeButton(Resource.String.no, (senderAlert, args) => { }); //Build and show the account deletion dialog dialog = builder.Create(); dialog.Show(); return(true); } return(base.OnOptionsItemSelected(item)); }