}
@Override
protected void performAction(final boolean shouldSchedulePassive)
{
ClientState state = ClientState.create();
try
{
events_.fireEvent(new SaveClientStateEvent(state));
}
catch (Exception e)
{
onComplete(shouldSchedulePassive);
return;
}
if (state.isEmpty())
{
onComplete(shouldSchedulePassive);
return;
}
server_.updateClientState(
state.getTemporaryData(),
state.getPersistentData(),
state.getProjectPersistentData(),
new ServerRequestCallback<Void>() {
@Override
public void onError(ServerError error)
{
onComplete(shouldSchedulePassive);