package com.boardgamegeek.tasks; import android.content.ContentResolver; import android.content.ContentValues; import android.content.Context; import android.support.annotation.NonNull; import com.boardgamegeek.provider.BggContract.Collection; import com.boardgamegeek.ui.model.PrivateInfo; import hugo.weaving.DebugLog; import timber.log.Timber; public class UpdateCollectionItemPrivateInfoTask extends UpdateCollectionItemTask { private final PrivateInfo privateInfo; @DebugLog public UpdateCollectionItemPrivateInfoTask(Context context, int gameId, int collectionId, long internalId, PrivateInfo privateInfo) { super(context, gameId, collectionId,internalId); this.privateInfo = privateInfo; } @DebugLog @Override protected void updateResolver(@NonNull ContentResolver resolver, long internalId) { ContentValues values = new ContentValues(9); values.put(Collection.PRIVATE_INFO_PRICE_PAID_CURRENCY, privateInfo.getPriceCurrency()); values.put(Collection.PRIVATE_INFO_PRICE_PAID, privateInfo.getPrice()); values.put(Collection.PRIVATE_INFO_CURRENT_VALUE_CURRENCY, privateInfo.getCurrentValueCurrency()); values.put(Collection.PRIVATE_INFO_CURRENT_VALUE, privateInfo.getCurrentValue()); values.put(Collection.PRIVATE_INFO_QUANTITY, privateInfo.getQuantity()); values.put(Collection.PRIVATE_INFO_ACQUISITION_DATE, privateInfo.getAcquisitionDate()); values.put(Collection.PRIVATE_INFO_ACQUIRED_FROM, privateInfo.getAcquiredFrom()); values.put(Collection.PRIVATE_INFO_COMMENT, privateInfo.getPrivateComment()); values.put(Collection.PRIVATE_INFO_DIRTY_TIMESTAMP, System.currentTimeMillis()); resolver.update(Collection.buildUri(internalId), values, null, null); } @DebugLog @Override protected void onPostExecute(Void result) { super.onPostExecute(result); Timber.i("Updated game ID %1$s, collection ID %2$s with private info.", gameId, collectionId); } }