Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix develop branch #3899

Merged
merged 2 commits into from Mar 17, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
Expand Up @@ -70,6 +70,7 @@ import openfoodfacts.github.scrachx.openfood.features.product.view.ingredients_a
import openfoodfacts.github.scrachx.openfood.features.product.view.summary.AbstractSummaryProductPresenter
import openfoodfacts.github.scrachx.openfood.features.product.view.summary.IngredientAnalysisTagsAdapter
import openfoodfacts.github.scrachx.openfood.features.product.view.summary.SummaryProductPresenter
import openfoodfacts.github.scrachx.openfood.models.DaoSession
import openfoodfacts.github.scrachx.openfood.models.InvalidBarcodeDao
import openfoodfacts.github.scrachx.openfood.models.Product
import openfoodfacts.github.scrachx.openfood.models.entities.OfflineSavedProduct
Expand All @@ -82,7 +83,6 @@ import openfoodfacts.github.scrachx.openfood.network.ApiFields
import openfoodfacts.github.scrachx.openfood.network.OpenFoodAPIClient
import openfoodfacts.github.scrachx.openfood.repositories.ProductRepository
import openfoodfacts.github.scrachx.openfood.utils.*
import openfoodfacts.github.scrachx.openfood.utils.Utils.daoSession
import org.greenrobot.eventbus.EventBus
import org.greenrobot.eventbus.Subscribe
import java.io.IOException
Expand All @@ -109,6 +109,9 @@ class ContinuousScanActivity : AppCompatActivity() {
@Inject
lateinit var offlineProductService: OfflineProductService

@Inject
lateinit var daoSession: DaoSession

private val cameraPref by lazy { getSharedPreferences("camera", 0) }

private val commonDisp = CompositeDisposable()
Expand Down
Expand Up @@ -13,7 +13,7 @@ import com.squareup.picasso.Picasso
import openfoodfacts.github.scrachx.openfood.AppFlavors
import openfoodfacts.github.scrachx.openfood.R
import openfoodfacts.github.scrachx.openfood.models.Product
import openfoodfacts.github.scrachx.openfood.network.OpenFoodAPIClient.Companion.getLocaleProductNameField
import openfoodfacts.github.scrachx.openfood.network.OpenFoodAPIClient
import openfoodfacts.github.scrachx.openfood.utils.LocaleHelper.getLanguage
import openfoodfacts.github.scrachx.openfood.utils.Utils.picassoBuilder
import openfoodfacts.github.scrachx.openfood.utils.getEcoscoreResource
Expand All @@ -27,7 +27,8 @@ import openfoodfacts.github.scrachx.openfood.utils.getProductBrandsQuantityDetai
class ProductsRecyclerViewAdapter(
val products: MutableList<Product?>,
private val isLowBatteryMode: Boolean,
private val context: Context
private val context: Context,
private val openFoodAPIClient: OpenFoodAPIClient
) : RecyclerView.Adapter<ProductsRecyclerViewAdapter.ProductsListViewHolder>() {

override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ProductsListViewHolder {
Expand Down Expand Up @@ -73,7 +74,7 @@ class ProductsRecyclerViewAdapter(

// Set product name
holder.productName.text = product?.productName ?: context.getString(R.string.productNameNull)
val productNameInLocale = product?.additionalProperties?.get(getLocaleProductNameField()) as String?
val productNameInLocale = product?.additionalProperties?.get(openFoodAPIClient.getLocaleProductNameField()) as String?
if (!productNameInLocale.isNullOrBlank()) {
holder.productName.text = productNameInLocale
}
Expand Down
Expand Up @@ -390,7 +390,7 @@ class ProductSearchActivity : BaseActivity() {
products += null
}
if (setupDone) {
adapter = ProductsRecyclerViewAdapter(products, lowBatteryMode, this)
adapter = ProductsRecyclerViewAdapter(products, lowBatteryMode, this, client)
binding.productsRecyclerView.adapter = adapter
}
setUpRecyclerView(products)
Expand Down Expand Up @@ -478,7 +478,7 @@ class ProductSearchActivity : BaseActivity() {
binding.productsRecyclerView.setHasFixedSize(true)
val mLayoutManager = LinearLayoutManager(this@ProductSearchActivity, LinearLayoutManager.VERTICAL, false)
binding.productsRecyclerView.layoutManager = mLayoutManager
adapter = ProductsRecyclerViewAdapter(mProducts, lowBatteryMode, this)
adapter = ProductsRecyclerViewAdapter(mProducts, lowBatteryMode, this, client)
binding.productsRecyclerView.adapter = adapter
val dividerItemDecoration = DividerItemDecoration(binding.productsRecyclerView.context, DividerItemDecoration.VERTICAL)
binding.productsRecyclerView.addItemDecoration(dividerItemDecoration)
Expand Down
Expand Up @@ -452,7 +452,7 @@ class OpenFoodAPIClient @Inject constructor(
return comment.toString()
}

private fun getLocaleProductNameField() = "product_name_${getLanguage(context)}"
fun getLocaleProductNameField() = "product_name_${getLanguage(context)}"

private fun getFieldsToFetchFacets() = listOf(
ApiFields.Keys.BRANDS,
Expand Down
Expand Up @@ -14,7 +14,6 @@ import openfoodfacts.github.scrachx.openfood.models.eventbus.ProductNeedsRefresh
import openfoodfacts.github.scrachx.openfood.network.ApiFields
import openfoodfacts.github.scrachx.openfood.network.CommonApiManager.productsApi
import openfoodfacts.github.scrachx.openfood.network.OpenFoodAPIClient
import openfoodfacts.github.scrachx.openfood.network.OpenFoodAPIClient.Companion.getCommentToUpload
import org.greenrobot.eventbus.EventBus
import java.io.File
import java.util.*
Expand All @@ -23,7 +22,8 @@ import javax.inject.Singleton

@Singleton
class OfflineProductService @Inject constructor(
val daoSession: DaoSession
private val daoSession: DaoSession,
private val openFoodAPIClient: OpenFoodAPIClient
) {
/**
* @return true if there is still products to upload, false otherwise
Expand Down Expand Up @@ -77,7 +77,7 @@ class OfflineProductService @Inject constructor(
Log.d(LOG_TAG, "Uploading data for product $barcode: $productDetails")
try {
val productState = productsApi
.saveProduct(barcode, productDetails, getCommentToUpload())
.saveProduct(barcode, productDetails, openFoodAPIClient.getCommentToUpload())
.blockingGet()
if (productState.status == 1L) {
isDataUploaded = true
Expand Down Expand Up @@ -172,4 +172,4 @@ class OfflineProductService @Inject constructor(
companion object {
private val LOG_TAG = OfflineProductService::class.simpleName!!
}
}
}