/* * 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.domain.Credentials; import com.muzima.service.CohortPrefixPreferenceService; import com.muzima.service.CredentialsPreferenceService; import com.muzima.service.WizardFinishPreferenceService; import com.muzima.view.preferences.SettingsActivity; public class ResetDataTask extends AsyncTask<String, Void, Void> { private SettingsActivity settingsActivity; private String newUrl; private ProgressDialog progressDialog; public ResetDataTask(SettingsActivity settingsActivity, String newUrl) { this.settingsActivity = settingsActivity; this.newUrl = newUrl; } @Override protected Void doInBackground(String... params) { resetData(); return null; } private void resetData() { ((MuzimaApplication)settingsActivity.getApplication()).clearApplicationData(); SettingsActivity context = settingsActivity; new WizardFinishPreferenceService(context).resetWizard(); new CohortPrefixPreferenceService(context).clearPrefixes(); } @Override protected void onPreExecute() { super.onPreExecute(); progressDialog = new ProgressDialog(settingsActivity); progressDialog.setMessage(settingsActivity.getString(R.string.title_data_reset)); progressDialog.show(); } @Override protected void onPostExecute(Void v) { new CredentialsPreferenceService(settingsActivity).saveCredentials(new Credentials(newUrl, null, null)); progressDialog.dismiss(); super.onPostExecute(v); settingsActivity.launchLoginActivity(true); } }