/
ImageKeyHelper.java
90 lines (79 loc) 路 3.37 KB
/
ImageKeyHelper.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
package openfoodfacts.github.scrachx.openfood.images;
import android.os.Bundle;
import openfoodfacts.github.scrachx.openfood.BuildConfig;
import openfoodfacts.github.scrachx.openfood.R;
import openfoodfacts.github.scrachx.openfood.models.Product;
import openfoodfacts.github.scrachx.openfood.models.ProductImageField;
import org.apache.commons.lang3.StringUtils;
public class ImageKeyHelper {
public static final String IMAGE_URL = "imageurl";
public static final String IMAGE_FILE = "imagefile";
public static final String IMAGE_TYPE = "imageType";
public static final String PRODUCT_BARCODE = "code";
public static final String PRODUCT = "product";
public static final String LANGUAGE = "language";
public static final String IMAGE_STRING_ID = "id";
public static final String IMG_ID = "imgid";
static final String IMAGE_EDIT_SIZE = "400";
public static final String IMAGE_EDIT_SIZE_FILE = "." + IMAGE_EDIT_SIZE;
private ImageKeyHelper() {
}
public static String getImageStringKey(ProductImageField field, Product product) {
return getImageStringKey(field, product.getLang());
}
public static String getImageStringKey(ProductImageField field, String language) {
return field.toString() + '_' + language;
}
public static String getLanguageCodeFromUrl(ProductImageField field, String url) {
if (StringUtils.isBlank(url) || field == null) {
return null;
}
return StringUtils.substringBefore(StringUtils.substringAfterLast(url, field.toString() + "_"), ".");
}
public static Bundle createImageBundle(ProductImageField imageType, Product product, String language, String imageUrl) {
Bundle bundle = new Bundle();
bundle.putString(ImageKeyHelper.IMAGE_URL, imageUrl);
if (product != null) {
bundle.putSerializable(ImageKeyHelper.PRODUCT, product);
bundle.putSerializable(ImageKeyHelper.IMAGE_TYPE, imageType);
bundle.putString(ImageKeyHelper.LANGUAGE, language);
}
return bundle;
}
public static int getResourceIdForEditAction(ProductImageField field) {
switch (field) {
case FRONT:
return R.string.edit_front_image;
case NUTRITION:
return R.string.edit_nutrition_image;
case INGREDIENTS:
return R.string.edit_ingredients_image;
default:
return R.string.edit_other_image;
}
}
public static int getResourceId(ProductImageField field) {
switch (field) {
case FRONT:
return R.string.front_short_picture;
case NUTRITION:
return R.string.nutrition_facts;
case INGREDIENTS:
return R.string.ingredients;
default:
return R.string.other_picture;
}
}
public static String getImageUrl(String barcode, String imageName, String size) {
String baseUrlString = BuildConfig.STATICURL+ "/images/products/";
String barcodePattern = barcode;
if (barcodePattern.length() > 8) {
barcodePattern = new StringBuilder(barcode)
.insert(3, "/")
.insert(7, "/")
.insert(11, "/")
.toString();
}
return baseUrlString + barcodePattern + "/" + imageName + size + ".jpg";
}
}