package com.mozu.mozuandroidinstoreassistant.app.tasks; import android.content.Context; import android.os.AsyncTask; import com.crashlytics.android.Crashlytics; import com.mozu.mozuandroidinstoreassistant.app.models.UserPreferences; import com.mozu.mozuandroidinstoreassistant.app.models.authentication.UserPreferencesDiskInteractorListener; import com.mozu.mozuandroidinstoreassistant.app.serialization.UserPreferencesSerializer; import java.io.IOException; import java.util.List; public class WriteUserPrefsFromDiskAsyncTask extends AsyncTask<Void, Void, Void> { private UserPreferencesDiskInteractorListener mListener; private Context mContext; private List<UserPreferences> mPreferences; private boolean errored = false; public WriteUserPrefsFromDiskAsyncTask(UserPreferencesDiskInteractorListener listener, Context context, List<UserPreferences> preferences) { mListener = listener; mContext = context; mPreferences = preferences; } @Override protected Void doInBackground(Void... params) { UserPreferencesSerializer serializer = new UserPreferencesSerializer(mContext); try { serializer.serializeUserPrefs(mPreferences); } catch (IOException e) { Crashlytics.logException(e); errored = true; } return null; } @Override protected void onPostExecute(Void aVoid) { if (errored) { mListener.failedToWrite(); } super.onPostExecute(aVoid); } @Override protected void onCancelled() { if (errored) { mListener.failedToWrite(); } super.onCancelled(); } }