private IEnumerator CRDeleteContact(ContactView view, Contact contact) { yield return(StartCoroutine(CRRequestPermission(AndroidPermission.AndroidPermissionWriteContacts))); if (contact == null) { yield break; } var message = string.Format("Delete contact with id: " + (contact.Id ?? "null")); var alert = NativeUI.ShowTwoButtonAlert("Delete Contact", message, "Yes", "No"); alert.OnComplete += button => { if (button == 1) // Click No { return; } var deleteResult = DeviceContacts.DeleteContact(contact); if (deleteResult != null) { Debug.LogWarning(deleteResult); return; } createdViews.Remove(view); Destroy(view.gameObject); }; }
public override void OnEnter() { DateTime?birthday = null; if (!string.IsNullOrEmpty(birthdayInput.Value)) { DateTime parseBirthday; if (DateTime.TryParseExact(birthdayInput.Value, "yyyy-MM-dd", CultureInfo.InvariantCulture, DateTimeStyles.None, out parseBirthday)) { birthday = parseBirthday; } else { errorMsg.Value = "Can't convert birthday to yyyy-MM-dd format."; Fsm.Event(eventTarget, isNotSuccessEvent); } } AddedPhoneNumbersObject addedPhoneNumbersTemp = (AddedPhoneNumbersObject)phoneNumbersObject.Value; AddedEmailsObject addedEmailsTemp = (AddedEmailsObject)emailsObject.Value; List <StringStringKeyValuePair> addedEmails = addedEmailsTemp.AddedEmails != null ? addedEmailsTemp.AddedEmails : new List <StringStringKeyValuePair>(); List <StringStringKeyValuePair> addedPhoneNumbers = addedPhoneNumbersTemp.AddedPhoneNumbers != null ? addedPhoneNumbersTemp.AddedPhoneNumbers : new List <StringStringKeyValuePair>(); Texture2D avatarImage = (Texture2D)avatarImageInput.Value; //var avatar = avatarImage != null ? (Texture2D)avatarImage : null; Contact contact = new Contact() { FirstName = firstName.Value, MiddleName = middleName.Value, LastName = lastName.Value, Company = company.Value, Birthday = birthday, Emails = addedEmails.Select(email => new KeyValuePair <string, string>(email.Key, email.Value)).ToArray(), PhoneNumbers = addedPhoneNumbers.Select(phoneNumber => new KeyValuePair <string, string>(phoneNumber.Key, phoneNumber.Value)).ToArray(), Photo = avatarImage }; string error = DeviceContacts.AddContact(contact); if (string.IsNullOrEmpty(error)) { Fsm.Event(eventTarget, isSuccessEvent); } else { errorMsg.Value = error; Fsm.Event(eventTarget, isNotSuccessEvent); } }
protected override void OnCreate(Bundle savedInstanceState) { TabLayoutResource = Resource.Layout.Tabbar; ToolbarResource = Resource.Layout.Toolbar; base.OnCreate(savedInstanceState); Xamarin.Essentials.Platform.Init(this, savedInstanceState); DeviceContacts.Init(this); global::Xamarin.Forms.Forms.Init(this, savedInstanceState); LoadApplication(new App()); }
public override void OnEnter() { ContactObject temp = (ContactObject)contactObj.Value; Contact contact = temp.Contact; string error = DeviceContacts.DeleteContact(contact); if (string.IsNullOrEmpty(error)) { Fsm.Event(eventTarget, isSuccessEvent); } else { Fsm.Event(eventTarget, isNotSuccessEvent); } }
IEnumerator CRPickContacts() { yield return(StartCoroutine(CRRequestPermission(AndroidPermission.AndroidPermissionReadContacts))); DeviceContacts.PickContact((error, contact) => { if (contact != null) { AddContactView(contact); return; } string errorMessage = error ?? "Received an empty contact with unknown error."; NativeUI.Alert("Pick Contact Error", errorMessage); }); }
IEnumerator CRGetAllContacts() { yield return(StartCoroutine(CRRequestPermission(AndroidPermission.AndroidPermissionReadContacts))); DeviceContacts.GetContacts((error, contacts) => { if (!string.IsNullOrEmpty(error)) { NativeUI.Alert("Get All Contacts Error", error); } if (contacts != null) { foreach (var contact in contacts) { AddContactView(contact); } } }); }
IEnumerator CRAddContact() { yield return(StartCoroutine(CRRequestPermission(AndroidPermission.AndroidPermissionWriteContacts))); string firstName = firstnNameInput.text; string middleName = middleNameInput.text; string lastName = lastNameInput.text; string company = companyInput.text; DateTime?birthday = null; if (!string.IsNullOrEmpty(birthdayInput.text)) { DateTime parseBirthday; if (DateTime.TryParseExact(birthdayInput.text, "yyyy-MM-dd", CultureInfo.InvariantCulture, DateTimeStyles.None, out parseBirthday)) { birthday = parseBirthday; } else { NativeUI.Alert("Invalid birthday", "Can't convert birthday to yyyy-MM-dd format."); yield break; } } var avatar = avatarImage.texture != null ? (Texture2D)avatarImage.texture : null; var error = DeviceContacts.AddContact(new Contact() { FirstName = firstName, MiddleName = middleName, LastName = lastName, Company = company, Birthday = birthday, Emails = addedEmails.Select(email => new KeyValuePair <string, string>(email.Key, email.Value)).ToArray(), PhoneNumbers = addedPhoneNumbers.Select(phoneNumber => new KeyValuePair <string, string>(phoneNumber.Key, phoneNumber.Value)).ToArray(), Photo = avatar }); NativeUI.Alert("Add Contact", error ?? "Added new contact successfully"); }
public override void OnRequestPermissionsResult(int requestCode, string[] permissions, [GeneratedEnum] Android.Content.PM.Permission[] grantResults) { Xamarin.Essentials.Platform.OnRequestPermissionsResult(requestCode, permissions, grantResults); DeviceContacts.OnRequestPermissionsResult(requestCode, permissions, grantResults); base.OnRequestPermissionsResult(requestCode, permissions, grantResults); }
public override void OnEnter() { DeviceContacts.PickContact(OnContactReceived); }
public override void OnEnter() { DeviceContacts.GetContacts(OnContactsReceived); }