From a012ab06bf3be94ccf82625bc4b30046bf1284c5 Mon Sep 17 00:00:00 2001 From: Alex Baker Date: Wed, 29 May 2019 14:09:11 -0500 Subject: [PATCH] Load new copy of task for editing Re-using task was interfering with diffutil change detection. This query should eventually pass additional details --- .../todoroo/astrid/activity/MainActivity.java | 26 ++++++++++++------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/com/todoroo/astrid/activity/MainActivity.java b/app/src/main/java/com/todoroo/astrid/activity/MainActivity.java index 86cf08f3f..8d9837f01 100644 --- a/app/src/main/java/com/todoroo/astrid/activity/MainActivity.java +++ b/app/src/main/java/com/todoroo/astrid/activity/MainActivity.java @@ -366,15 +366,23 @@ public class MainActivity extends InjectingAppCompatActivity clearUi(); - getSupportFragmentManager() - .beginTransaction() - .replace(R.id.detail, newTaskEditFragment(task), TaskEditFragment.TAG_TASKEDIT_FRAGMENT) - .addToBackStack(TaskEditFragment.TAG_TASKEDIT_FRAGMENT) - .commitAllowingStateLoss(); - - getSupportFragmentManager().executePendingTransactions(); - - showDetailFragment(); + disposables.add( + Single.fromCallable(() -> task.isNew() ? task : taskDao.fetch(task.getId())) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe( + t -> { + getSupportFragmentManager() + .beginTransaction() + .replace( + R.id.detail, + newTaskEditFragment(t), + TaskEditFragment.TAG_TASKEDIT_FRAGMENT) + .addToBackStack(TaskEditFragment.TAG_TASKEDIT_FRAGMENT) + .commit(); + + showDetailFragment(); + })); } @Override