Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Current user data not properly updating when using parse in android

When updating current user unique fields, not getting proper exception message from parse. If i update username with existing username and send update request (save) using parse it is showing correctly.If now i reset the username back and give the existing email and update , it is returning username exists exception message instead of returning email exists message.

public void updateUserData(UserModel userModel) throws ParseException {       
 ParseUser user = ParseUser.getCurrentUser();
    if (user != null && userModel != null){
        if(userModel.getFirstName() != null) {
            user.put(Constants.FIRST_NAME, userModel.getFirstName());
        }
        if(userModel.getLastName() != null) {
            user.put(Constants.LAST_NAME, userModel.getLastName());
        }
        if(userModel.getUsername() != null) {
            user.setUsername(userModel.getUsername());
        }

        if(userModel.getEmail() != null) {
            user.setEmail(userModel.getEmail());
        }

        if (userModel.getPassword() != null) {
            user.setPassword(userModel.getPassword());
        }
        if (userModel.getAvatar() != null) {
            ParseFile file = new ParseFile(System.currentTimeMillis() + ".jpg", userModel.getAvatar());
            file.save();
            user.put("imageFile", file);
        }
        user.save();
    }
}

Thanks in advance, Please post if any have faced such issues.

like image 287
BhagyaLatha Madireddi Avatar asked Apr 09 '26 17:04

BhagyaLatha Madireddi


1 Answers

change this code.

if (userModel.getAvatar() != null) {
            final ParseFile file = new ParseFile(System.currentTimeMillis() + ".jpg", userModel.getAvatar());
            file.saveInBackground(new SaveCallback() {

                @Override
                public void done(ParseException e) {
                    // TODO Auto-generated method stub
                    if (e == null) {
                        // success
                        user.put("imageFile", file);

                        // exit from one thered
                        UpdateDatabase(user);
                    } else {
                        // fail
                        e.getMessage();
                    }
                }
            });

        }

then this code copy & paste.

    protected void UpdateDatabase(ParseUser user) {
    // TODO Auto-generated method stub

    // before update parse table then set user permisson like read & write
    user.saveInBackground(new SaveCallback() {

        @Override
        public void done(ParseException e) {
            // TODO Auto-generated method stub
            if (e == null) {
                // success
            } else {
                // fail
                e.getMessage();
            }
        }
    });
}
like image 60
Hardik Parmar Avatar answered Apr 12 '26 07:04

Hardik Parmar