package com.boardgamegeek.tasks; import android.content.ContentValues; import android.content.Context; import com.boardgamegeek.R; import com.boardgamegeek.provider.BggContract.Plays; import com.boardgamegeek.service.SyncService; import timber.log.Timber; /** * Clears the plays sync timestamps and requests a full plays sync be performed. */ public class ResetPlaysTask extends ToastingAsyncTask { public ResetPlaysTask(Context context) { super(context); } @Override protected int getSuccessMessageResource() { return R.string.pref_sync_reset_success; } @Override protected int getFailureMessageResource() { return R.string.pref_sync_reset_failure; } @Override protected Boolean doInBackground(Void... params) { boolean success = SyncService.clearPlays(getContext()); if (success) { ContentValues values = new ContentValues(1); values.put(Plays.SYNC_HASH_CODE, 0); int count = getContext().getContentResolver().update(Plays.CONTENT_URI, values, null, null); Timber.d("Cleared the hashcode from %,d plays.", count); SyncService.sync(getContext(), SyncService.FLAG_SYNC_PLAYS); } return success; } }