mirror of
https://github.com/sudoxnym/habitica-android.git
synced 2026-05-23 22:27:15 +00:00
fix task creation
This commit is contained in:
parent
22e564d477
commit
0dc55af208
5 changed files with 16 additions and 16 deletions
|
|
@ -114,7 +114,7 @@ public interface ApiService {
|
|||
Observable<HabitResponse<Task>> scoreChecklistItem(@Path("taskId") String taskId, @Path("itemId") String itemId);
|
||||
|
||||
@POST("tasks/user")
|
||||
Observable<HabitResponse<Task>> createItem(@Body Task item);
|
||||
Observable<HabitResponse<Task>> createTask(@Body Task item);
|
||||
|
||||
@POST("tasks/user")
|
||||
Observable<HabitResponse<List<Task>>> createTasks(@Body List<Task> tasks);
|
||||
|
|
|
|||
|
|
@ -87,7 +87,7 @@ public interface ApiClient {
|
|||
|
||||
Observable<Task> scoreChecklistItem(String taskId, String itemId);
|
||||
|
||||
Observable<Task> createItem(Task item);
|
||||
Observable<Task> createTask(Task item);
|
||||
|
||||
Observable<List<Task>> createTasks(List<Task> tasks);
|
||||
|
||||
|
|
|
|||
|
|
@ -527,8 +527,8 @@ public class ApiClientImpl implements Action1<Throwable>, ApiClient {
|
|||
}
|
||||
|
||||
@Override
|
||||
public Observable<Task> createItem(Task item) {
|
||||
return apiService.createItem(item).compose(configureApiCallObserver());
|
||||
public Observable<Task> createTask(Task item) {
|
||||
return apiService.createTask(item).compose(configureApiCallObserver());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -3,30 +3,22 @@ package com.habitrpg.android.habitica.data.implementation;
|
|||
import com.habitrpg.android.habitica.data.ApiClient;
|
||||
import com.habitrpg.android.habitica.data.TaskRepository;
|
||||
import com.habitrpg.android.habitica.data.local.TaskLocalRepository;
|
||||
import com.habitrpg.android.habitica.events.TaskCreatedEvent;
|
||||
import com.habitrpg.android.habitica.events.TaskUpdatedEvent;
|
||||
import com.habitrpg.android.habitica.helpers.RxErrorHandler;
|
||||
import com.habitrpg.android.habitica.models.responses.TaskDirection;
|
||||
import com.habitrpg.android.habitica.models.responses.TaskDirectionData;
|
||||
import com.habitrpg.android.habitica.models.responses.TaskScoringResult;
|
||||
import com.habitrpg.android.habitica.models.tasks.ChecklistItem;
|
||||
import com.habitrpg.android.habitica.models.tasks.RemindersItem;
|
||||
import com.habitrpg.android.habitica.models.tasks.Task;
|
||||
import com.habitrpg.android.habitica.models.tasks.TaskList;
|
||||
import com.habitrpg.android.habitica.models.tasks.TaskTag;
|
||||
import com.habitrpg.android.habitica.models.tasks.TasksOrder;
|
||||
import com.habitrpg.android.habitica.models.user.Stats;
|
||||
import com.habitrpg.android.habitica.models.user.User;
|
||||
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import io.realm.Realm;
|
||||
import io.realm.RealmResults;
|
||||
import rx.Observable;
|
||||
import rx.functions.Func2;
|
||||
|
||||
|
||||
public class TaskRepositoryImpl extends BaseRepositoryImpl<TaskLocalRepository> implements TaskRepository {
|
||||
|
|
@ -130,8 +122,11 @@ public class TaskRepositoryImpl extends BaseRepositoryImpl<TaskLocalRepository>
|
|||
return Observable.just(task);
|
||||
}
|
||||
lastTaskAction = now;
|
||||
return localRepository.getTaskCopy(task.getId()).first()
|
||||
.flatMap(apiClient::createItem)
|
||||
return apiClient.createTask(task)
|
||||
.map(task1 -> {
|
||||
task1.dateCreated = new Date();
|
||||
return task1;
|
||||
})
|
||||
.doOnNext(localRepository::saveTask);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -149,8 +149,13 @@ public class RealmTaskLocalRepository extends RealmBaseLocalRepository implement
|
|||
@Override
|
||||
public Observable<Task> getTaskCopy(String taskId) {
|
||||
return getTask(taskId)
|
||||
.filter(task -> task.isManaged() && task.isValid())
|
||||
.map(realm::copyFromRealm);
|
||||
.map(task -> {
|
||||
if (task.isManaged() && task.isValid()) {
|
||||
return realm.copyFromRealm(task);
|
||||
} else {
|
||||
return task;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
Loading…
Reference in a new issue