private void doSaveAction() { if (mSpinner != null) { mSpinner.setVisibility(View.VISIBLE); } UserProfileProvider userProfileProvider = new UserProfileProvider(); userProfileProvider.updateAccount( getUpdateJson(), mWeddingLocationMarketCode, mHomeMarketCode, new OnProviderDataCallBackListener<UserProfile>() { @Override protected Activity getActivity() { return UserAccountFragment.this.getActivity(); } @Override protected void onErrorUIUpdate(String errorMessage) { if (mSpinner != null) { mSpinner.setVisibility(View.GONE); } tipsSaveRst(false); } @Override protected void onSuccessDataFetch(UserProfile userProfile) { VendorChecklistSession.getInstance().clear(); mIsUpdateFinished = true; Message message = new Message(); message.obj = UserAccountFragment.this; message.what = HANDLE_MSG_ID_BUDGET_UPDATE; sEventHandler.sendMessageDelayed(message, 20); } @Override protected Runnable getOnSuccessUIUpdateRunnable() { return new Runnable() { @Override public void run() { SyncedObject.DashboardPhotoChangedSyncedObject dashboardPhotoChangedSyncedObject = new SyncedObject.DashboardPhotoChangedSyncedObject(); dashboardPhotoChangedSyncedObject.setUrl(mNewUser.getCouplePhotoUrl()); syncedRefreshDataListener(dashboardPhotoChangedSyncedObject); if (mIsBudgetFinished && mSpinner != null) { mIsBudgetFinished = false; mIsUpdateFinished = false; mSpinner.setVisibility(View.GONE); tipsSaveRst(true); } } }; } }, UserAccountFragment.this, getActivity()); }