From ed5a5a42c2d65732b49e5298a5b598da922066d0 Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Tue, 6 Jun 2017 14:26:37 -0700 Subject: [PATCH] fix various issues --- Habitica/build.gradle | 2 +- .../habitrpg/android/habitica/data/TaskRepository.java | 2 ++ .../habitica/data/implementation/TaskRepositoryImpl.java | 6 ++++++ .../habitica/data/implementation/UserRepositoryImpl.java | 2 +- .../local/implementation/RealmTaskLocalRepository.java | 9 +++------ .../android/habitica/ui/activities/TaskFormActivity.java | 7 ++++--- .../habitica/widget/HabitButtonWidgetService.java | 2 +- seeds-sdk/build.gradle | 2 +- 8 files changed, 19 insertions(+), 13 deletions(-) diff --git a/Habitica/build.gradle b/Habitica/build.gradle index 5cfc96c3c..25fabd639 100644 --- a/Habitica/build.gradle +++ b/Habitica/build.gradle @@ -155,7 +155,7 @@ dependencies { android { compileSdkVersion 25 - buildToolsVersion "25.0.2" + buildToolsVersion "25.0.3" defaultConfig { applicationId "com.habitrpg.android.habitica" diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/data/TaskRepository.java b/Habitica/src/main/java/com/habitrpg/android/habitica/data/TaskRepository.java index 1c3d69bc6..4c73acfc3 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/data/TaskRepository.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/data/TaskRepository.java @@ -45,4 +45,6 @@ public interface TaskRepository extends BaseRepository { void swapTaskPosition(int firstPosition, int secondPosition); Observable> updateTaskPosition(int currentPosition); + + Observable getUnmanagedTask(String taskid); } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/TaskRepositoryImpl.java b/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/TaskRepositoryImpl.java index 08d90ba3c..da17f05e8 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/TaskRepositoryImpl.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/TaskRepositoryImpl.java @@ -190,4 +190,10 @@ public class TaskRepositoryImpl extends BaseRepositoryImpl return localRepository.getTaskAtPosition(currentPosition) .flatMap(task -> apiClient.postTaskNewPosition(task.getId(), currentPosition)); } + + @Override + public Observable getUnmanagedTask(String taskid) { + return getTask(taskid) + .map(localRepository::getUnmanagedCopy); + } } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/UserRepositoryImpl.java b/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/UserRepositoryImpl.java index d2dd5a935..5f7dece0b 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/UserRepositoryImpl.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/UserRepositoryImpl.java @@ -77,7 +77,7 @@ public class UserRepositoryImpl extends BaseRepositoryImpl } }); } else { - return Observable.empty(); + return Observable.just(null); } } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/data/local/implementation/RealmTaskLocalRepository.java b/Habitica/src/main/java/com/habitrpg/android/habitica/data/local/implementation/RealmTaskLocalRepository.java index 21b9013dd..4fd05b798 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/data/local/implementation/RealmTaskLocalRepository.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/data/local/implementation/RealmTaskLocalRepository.java @@ -106,14 +106,10 @@ public class RealmTaskLocalRepository extends RealmBaseLocalRepository implement for (Task localTask : localTasks) { if (!onlineTaskList.contains(localTask)) { if (localTask.checklist != null) { - for (ChecklistItem item : localTask.checklist) { - item.deleteFromRealm(); - } + localTask.checklist.deleteAllFromRealm(); } if (localTask.reminders != null) { - for (RemindersItem item : localTask.reminders) { - item.deleteFromRealm(); - } + localTask.reminders.deleteAllFromRealm(); } localTask.deleteFromRealm(); } @@ -153,6 +149,7 @@ public class RealmTaskLocalRepository extends RealmBaseLocalRepository implement @Override public Observable getTaskCopy(String taskId) { return getTask(taskId) + .filter(task -> task.isManaged()) .map(realm::copyFromRealm); } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/TaskFormActivity.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/TaskFormActivity.java index 962f910f4..ab746c3d4 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/TaskFormActivity.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/TaskFormActivity.java @@ -475,11 +475,12 @@ public class TaskFormActivity extends BaseActivity implements AdapterView.OnItem this.task = task; if (task != null) { populate(task); - populateChecklistRecyclerView(); setTitle(task); - - populateRemindersRecyclerView(); + if (taskType.equals("todo") || taskType.equals("daily")) { + populateChecklistRecyclerView(); + populateRemindersRecyclerView(); + } } setTitle(task); diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/widget/HabitButtonWidgetService.java b/Habitica/src/main/java/com/habitrpg/android/habitica/widget/HabitButtonWidgetService.java index f286a3bfa..1c63ddc7f 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/widget/HabitButtonWidgetService.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/widget/HabitButtonWidgetService.java @@ -53,7 +53,7 @@ public class HabitButtonWidgetService extends Service { makeTaskMapping(); for (String taskid : this.taskMapping.keySet()) { - taskRepository.getTask(taskid).subscribe(this::updateData, RxErrorHandler.handleEmptyError()); + taskRepository.getUnmanagedTask(taskid).first().subscribe(this::updateData, RxErrorHandler.handleEmptyError()); } stopSelf(); diff --git a/seeds-sdk/build.gradle b/seeds-sdk/build.gradle index fee18da6c..98ce9c759 100755 --- a/seeds-sdk/build.gradle +++ b/seeds-sdk/build.gradle @@ -13,7 +13,7 @@ buildscript { android { compileSdkVersion 25 - buildToolsVersion "25.0.2" + buildToolsVersion "25.0.3" defaultConfig { minSdkVersion 14