/*
* Copyright (c) 2014. The Trustees of Indiana University.
*
* This version of the code is licensed under the MPL 2.0 Open Source license with additional
* healthcare disclaimer. If the user is an entity intending to commercialize any application
* that uses this code in a for-profit venture, please contact the copyright holder.
*/
package com.muzima.view.preferences.settings;
import android.app.ProgressDialog;
import android.os.AsyncTask;
import com.muzima.MuzimaApplication;
import com.muzima.R;
import com.muzima.service.MuzimaSyncService;
import static com.muzima.utils.Constants.DataSyncServiceConstants.SyncStatusConstants;
public class SyncFormDataTask extends AsyncTask<String, Void, Boolean> {
private SettingsPreferenceFragment settingsPreferenceFragment;
private MuzimaSyncService muzimaSyncService;
private ProgressDialog progressDialog;
public SyncFormDataTask(SettingsPreferenceFragment settingsPreferenceFragment) {
this.settingsPreferenceFragment = settingsPreferenceFragment;
muzimaSyncService = ((MuzimaApplication)settingsPreferenceFragment.getActivity().getApplication()).getMuzimaSyncService();
}
@Override
protected Boolean doInBackground(String... params) {
int[] result = muzimaSyncService.uploadAllCompletedForms();
return result[0] == SyncStatusConstants.SUCCESS;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
progressDialog = new ProgressDialog(settingsPreferenceFragment.getContext());
progressDialog.setMessage(settingsPreferenceFragment.getString(R.string.title_data_synchronize));
progressDialog.show();
}
@Override
protected void onPostExecute(Boolean r) {
super.onPostExecute(r);
progressDialog.dismiss();
settingsPreferenceFragment.syncedFormData(r);
}
}