use of org.wordpress.android.models.Person in project WordPress-Android by wordpress-mobile.
the class PeopleManagementActivity method onEventMainThread.
public void onEventMainThread(RoleChangeDialogFragment.RoleChangeEvent event) {
if (!NetworkUtils.checkConnection(this)) {
return;
}
final Person person = PeopleTable.getUser(event.personID, event.localTableBlogId);
if (person == null || event.newRole == null || person.getRole() == event.newRole) {
return;
}
final PersonDetailFragment personDetailFragment = getDetailFragment();
if (personDetailFragment != null) {
// optimistically update the role
personDetailFragment.changeRole(event.newRole);
}
PeopleUtils.updateRole(mSite, person.getPersonID(), event.newRole, event.localTableBlogId, new PeopleUtils.UpdateUserCallback() {
@Override
public void onSuccess(Person person) {
AnalyticsUtils.trackWithSiteDetails(AnalyticsTracker.Stat.PERSON_UPDATED, mSite);
PeopleTable.saveUser(person);
refreshOnScreenFragmentDetails();
}
@Override
public void onError() {
// change the role back to it's original value
if (personDetailFragment != null) {
personDetailFragment.refreshPersonDetails();
}
ToastUtils.showToast(PeopleManagementActivity.this, R.string.error_update_role, ToastUtils.Duration.LONG);
}
});
}
Aggregations