public void onActivityResult(Activity activity, int requestCode, int resultCode, Intent data) {
        if (requestCode != REQUEST_OPEN_CONTACT_FORM && requestCode != REQUEST_OPEN_EXISTING_CONTACT) {
            return;
        }

        if (updateContactPromise == null) {
            return;
        }

        if (resultCode != Activity.RESULT_OK) {
            updateContactPromise.resolve(null); // user probably pressed cancel
            updateContactPromise = null;
            return;
        }

        if (data == null) {
            updateContactPromise.reject("Error received activity result with no data!");
            updateContactPromise = null;
            return;
        }

        try {
            Uri contactUri = data.getData();

            if (contactUri == null) {
                updateContactPromise.reject("Error wrong data. No content uri found!"); // something was wrong
                updateContactPromise = null;
                return;
            }

            Context ctx = getReactApplicationContext();
            ContentResolver cr = ctx.getContentResolver();
            ContactsProvider contactsProvider = new ContactsProvider(cr);
            WritableMap newlyModifiedContact = contactsProvider.getContactById(contactUri.getLastPathSegment());

            updateContactPromise.resolve(newlyModifiedContact); // success
        } catch (Exception e) {
            updateContactPromise.reject(e.getMessage());
        }
        updateContactPromise = null;
    }
Retrieves <code>contact</code> for contact, or <code>null</code> if not
available.

@param contactId contact identifier, <code>recordID</code>
android/src/main/java/com/rt2zz/reactnativecontacts/impl/ContactsManagerImpl.java