Save criterion column

pull/618/head
Alex Baker 7 years ago
parent 733a7e2c9a
commit bc5f441a50

@ -139,14 +139,6 @@ public class AndroidUtilities {
return result;
}
public static Map<String, Object> mapFromContentValues(ContentValues contentValues) {
Map<String, Object> map = new HashMap<>();
for (Map.Entry<String, Object> entry : contentValues.valueSet()) {
map.put(entry.getKey(), entry.getValue());
}
return map;
}
public interface SerializedPut<T> {
void put(T object, String key, char type, String value) throws NumberFormatException;
}

@ -5,18 +5,21 @@ import android.os.Parcelable;
import java.util.Map;
import static com.todoroo.andlib.utility.AndroidUtilities.mapFromSerializedString;
import static com.todoroo.andlib.utility.AndroidUtilities.mapToSerializedString;
public class CustomFilter extends Filter {
private long id;
private String criterion;
private CustomFilter() {
}
public CustomFilter(String listingTitle, String sql, Map<String, Object> values, long id) {
public CustomFilter(String listingTitle, String sql, Map<String, Object> values, long id, String criterion) {
super(listingTitle, sql, values);
this.id = id;
this.criterion = criterion;
}
private CustomFilter(Parcel parcel) {
readFromParcel(parcel);
}
public org.tasks.data.Filter toStoreObject() {
@ -25,8 +28,9 @@ public class CustomFilter extends Filter {
filter.setTitle(listingTitle);
filter.setSql(sqlQuery);
if (valuesForNewTasks != null && valuesForNewTasks.size() > 0) {
filter.setCriterion(mapToSerializedString(valuesForNewTasks));
filter.setValues(mapToSerializedString(valuesForNewTasks));
}
filter.setCriterion(criterion);
return filter;
}
@ -41,12 +45,14 @@ public class CustomFilter extends Filter {
public void writeToParcel(Parcel dest, int flags) {
super.writeToParcel(dest, flags);
dest.writeLong(id);
dest.writeString(criterion);
}
@Override
protected void readFromParcel(Parcel source) {
super.readFromParcel(source);
id = source.readLong();
criterion = source.readString();
}
/**
@ -59,9 +65,7 @@ public class CustomFilter extends Filter {
*/
@Override
public CustomFilter createFromParcel(Parcel source) {
CustomFilter item = new CustomFilter();
item.readFromParcel(source);
return item;
return new CustomFilter(source);
}
/**

@ -273,7 +273,7 @@ public class CustomFilterActivity extends ThemedInjectingAppCompatActivity imple
}
org.tasks.data.Filter storeObject = persist(title, sql.toString(), values);
Filter filter = new CustomFilter(title, sql.toString(), values, storeObject.getId());
Filter filter = new CustomFilter(title, sql.toString(), values, storeObject.getId(), storeObject.getCriterion());
setResult(RESULT_OK, new Intent().putExtra(TaskListActivity.OPEN_FILTER, filter));
finish();
}

@ -56,7 +56,7 @@ public final class CustomFilterExposer {
sql = sql.replace("tasks.userId=0", "1"); // TODO: replace dirty hack for missing column
CustomFilter customFilter = new CustomFilter(title, sql, values, savedFilter.getId());
CustomFilter customFilter = new CustomFilter(title, sql, values, savedFilter.getId(), savedFilter.getCriterion());
customFilter.icon = filter;
return customFilter;
}

Loading…
Cancel
Save