|
|
@ -8,12 +8,14 @@ package com.todoroo.astrid.data;
|
|
|
|
import org.json.JSONException;
|
|
|
|
import org.json.JSONException;
|
|
|
|
import org.json.JSONObject;
|
|
|
|
import org.json.JSONObject;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import android.graphics.Bitmap;
|
|
|
|
import android.text.TextUtils;
|
|
|
|
import android.text.TextUtils;
|
|
|
|
|
|
|
|
|
|
|
|
import com.todoroo.andlib.data.AbstractModel;
|
|
|
|
import com.todoroo.andlib.data.AbstractModel;
|
|
|
|
import com.todoroo.andlib.data.Property.LongProperty;
|
|
|
|
import com.todoroo.andlib.data.Property.LongProperty;
|
|
|
|
import com.todoroo.andlib.data.Property.StringProperty;
|
|
|
|
import com.todoroo.andlib.data.Property.StringProperty;
|
|
|
|
import com.todoroo.andlib.data.TodorooCursor;
|
|
|
|
import com.todoroo.andlib.data.TodorooCursor;
|
|
|
|
|
|
|
|
import com.todoroo.andlib.utility.AndroidUtilities;
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* A model that is synchronized to a remote server and has a remote id
|
|
|
|
* A model that is synchronized to a remote server and has a remote id
|
|
|
@ -85,8 +87,18 @@ abstract public class RemoteModel extends AbstractModel {
|
|
|
|
|
|
|
|
|
|
|
|
public String getPictureUrl(StringProperty pictureProperty, String size) {
|
|
|
|
public String getPictureUrl(StringProperty pictureProperty, String size) {
|
|
|
|
String value = getValue(pictureProperty);
|
|
|
|
String value = getValue(pictureProperty);
|
|
|
|
|
|
|
|
return PictureHelper.getPictureUrl(value, size);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public static class PictureHelper {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public static String getPictureUrl(String value, String size) {
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
|
|
|
|
if (value == null)
|
|
|
|
|
|
|
|
return null;
|
|
|
|
JSONObject pictureJson = new JSONObject(value);
|
|
|
|
JSONObject pictureJson = new JSONObject(value);
|
|
|
|
|
|
|
|
if (pictureJson.has("data")) // Unpushed encoded bitmap //$NON-NLS-1$
|
|
|
|
|
|
|
|
return null;
|
|
|
|
return pictureJson.optString(size);
|
|
|
|
return pictureJson.optString(size);
|
|
|
|
} catch (JSONException e) {
|
|
|
|
} catch (JSONException e) {
|
|
|
|
return value;
|
|
|
|
return value;
|
|
|
@ -95,13 +107,20 @@ abstract public class RemoteModel extends AbstractModel {
|
|
|
|
|
|
|
|
|
|
|
|
public static String getPictureUrlFromCursor(TodorooCursor<?> cursor, StringProperty pictureProperty, String size) {
|
|
|
|
public static String getPictureUrlFromCursor(TodorooCursor<?> cursor, StringProperty pictureProperty, String size) {
|
|
|
|
String value = cursor.get(pictureProperty);
|
|
|
|
String value = cursor.get(pictureProperty);
|
|
|
|
|
|
|
|
return getPictureUrl(value, size);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@SuppressWarnings("nls")
|
|
|
|
|
|
|
|
public static JSONObject uploadPictureJson(Bitmap bitmap) {
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
if (value == null)
|
|
|
|
JSONObject pictureJson = new JSONObject();
|
|
|
|
return null;
|
|
|
|
pictureJson.put("name", "photo.jpg");
|
|
|
|
JSONObject pictureJson = new JSONObject(value);
|
|
|
|
pictureJson.put("type", "image/jpeg");
|
|
|
|
return pictureJson.optString(size);
|
|
|
|
pictureJson.put("data", AndroidUtilities.encodeBase64Bitmap(bitmap));
|
|
|
|
|
|
|
|
return pictureJson;
|
|
|
|
} catch (JSONException e) {
|
|
|
|
} catch (JSONException e) {
|
|
|
|
return value;
|
|
|
|
return null;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|