BhagyaLatha Madireddi
BhagyaLatha Madireddi

Reputation: 31

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.

Upvotes: 3

Views: 80

Answers (1)

Hardik Parmar
Hardik Parmar

Reputation: 712

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();
            }
        }
    });
}

Upvotes: 1

Related Questions