use of com.amazonaws.services.cognitoidentityprovider.model.UpdateUserAttributesResult in project aws-sdk-android by aws-amplify.
the class CognitoUser method updateAttributesInBackground.
/**
* Updates attributes for a user. Runs in background.
* <p>
* Requires valid accessToken.
* </p>
*
* @param clientMetadata A map of custom key-value pairs that is passed to the lambda function for
* custom workflow.
* @param attributes REQUIRED: All attributes and values that need to be
* updated for this user.
* @param callback REQUIRED: {@link UpdateAttributesHandler} callback.
*/
public void updateAttributesInBackground(final Map<String, String> clientMetadata, final CognitoUserAttributes attributes, final UpdateAttributesHandler callback) {
if (callback == null) {
throw new CognitoParameterInvalidException("callback is null");
}
final CognitoUser user = this;
new Thread(new Runnable() {
@Override
public void run() {
final Handler handler = new Handler(context.getMainLooper());
Runnable returnCallback;
try {
final CognitoUserSession session = user.getCachedSession();
final UpdateUserAttributesResult updateUserAttributesResult = updateAttributesInternal(clientMetadata, attributes, session);
final List<CognitoUserCodeDeliveryDetails> attributesVerificationList = new ArrayList<CognitoUserCodeDeliveryDetails>();
if (updateUserAttributesResult.getCodeDeliveryDetailsList() != null) {
for (final CodeDeliveryDetailsType details : updateUserAttributesResult.getCodeDeliveryDetailsList()) {
attributesVerificationList.add(new CognitoUserCodeDeliveryDetails(details));
}
}
returnCallback = new Runnable() {
@Override
public void run() {
callback.onSuccess(attributesVerificationList);
}
};
} catch (final Exception e) {
returnCallback = new Runnable() {
@Override
public void run() {
callback.onFailure(e);
}
};
}
handler.post(returnCallback);
}
}).start();
}
use of com.amazonaws.services.cognitoidentityprovider.model.UpdateUserAttributesResult in project aws-sdk-android by aws-amplify.
the class CognitoUser method updateAttributes.
/**
* Updates attributes for a user. Runs in background.
* <p>
* Requires valid accessToken. <b>Note:</b> This method will perform network
* operations. Calling this method in applications' main thread will cause
* Android to throw NetworkOnMainThreadException.
* </p>
* @param attributes REQUIRED: All attributes and values that need to be
* updated for this user.
* @param clientMetadata A map of custom key-value pairs that is passed to the lambda function for
* custom workflow.
* @param callback REQUIRED: {@link UpdateAttributesHandler} callback.
*/
public void updateAttributes(final CognitoUserAttributes attributes, final Map<String, String> clientMetadata, final UpdateAttributesHandler callback) {
if (callback == null) {
throw new CognitoParameterInvalidException("callback is null");
}
try {
final CognitoUserSession session = getCachedSession();
final UpdateUserAttributesResult updateUserAttributesResult = updateAttributesInternal(clientMetadata, attributes, session);
final List<CognitoUserCodeDeliveryDetails> attributesVerificationList = new ArrayList<CognitoUserCodeDeliveryDetails>();
if (updateUserAttributesResult.getCodeDeliveryDetailsList() != null) {
for (final CodeDeliveryDetailsType details : updateUserAttributesResult.getCodeDeliveryDetailsList()) {
attributesVerificationList.add(new CognitoUserCodeDeliveryDetails(details));
}
}
callback.onSuccess(attributesVerificationList);
} catch (final Exception e) {
callback.onFailure(e);
}
}
Aggregations