package com.netease.nim.demo.contact.helper;
import android.widget.Toast;
import com.netease.nim.demo.DemoCache;
import com.netease.nim.demo.R;
import com.netease.nim.uikit.common.util.log.LogUtil;
import com.netease.nimlib.sdk.NIMClient;
import com.netease.nimlib.sdk.RequestCallbackWrapper;
import com.netease.nimlib.sdk.ResponseCode;
import com.netease.nimlib.sdk.uinfo.UserService;
import com.netease.nimlib.sdk.uinfo.constant.UserInfoFieldEnum;
import java.util.HashMap;
import java.util.Map;
/**
* Created by hzxuwen on 2015/9/17.
*/
public class UserUpdateHelper {
private static final String TAG = UserUpdateHelper.class.getSimpleName();
/**
* 更新用户资料
*/
public static void update(final UserInfoFieldEnum field, final Object value, RequestCallbackWrapper<Void> callback) {
Map<UserInfoFieldEnum, Object> fields = new HashMap<>(1);
fields.put(field, value);
update(fields, callback);
}
private static void update(final Map<UserInfoFieldEnum, Object> fields, final RequestCallbackWrapper<Void> callback) {
NIMClient.getService(UserService.class).updateUserInfo(fields).setCallback(new RequestCallbackWrapper<Void>() {
@Override
public void onResult(int code, Void result, Throwable exception) {
if (code == ResponseCode.RES_SUCCESS) {
LogUtil.i(TAG, "update userInfo success, update fields count=" + fields.size());
} else {
if (exception != null) {
Toast.makeText(DemoCache.getContext(), R.string.user_info_update_failed, Toast.LENGTH_SHORT).show();
LogUtil.i(TAG, "update userInfo failed, exception=" + exception.getMessage());
}
}
if (callback != null) {
callback.onResult(code, result, exception);
}
}
});
}
}