Hide rather than exclude disabled edit rows

pull/1001/head
Alex Baker 4 years ago
parent b6a5251c0a
commit ea42147dbd

@ -219,7 +219,7 @@ public final class TaskEditFragment extends InjectingFragment
FragmentManager fragmentManager = getChildFragmentManager();
List<TaskEditControlFragment> taskEditControlFragments =
taskEditControlSetFragmentManager.getOrCreateFragments(this, model);
int visibleSize = taskEditControlSetFragmentManager.getVisibleSize();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
for (int i = 0; i < taskEditControlFragments.size(); i++) {
TaskEditControlFragment taskEditControlFragment = taskEditControlFragments.get(i);
@ -228,10 +228,13 @@ public final class TaskEditFragment extends InjectingFragment
TaskEditControlSetFragmentManager.TASK_EDIT_CONTROL_FRAGMENT_ROWS[i],
taskEditControlFragment,
tag);
if (i >= visibleSize) {
fragmentTransaction.hide(taskEditControlFragment);
}
}
fragmentTransaction.commit();
for (int i = taskEditControlFragments.size() - 1; i > 0; i--) {
for (int i = visibleSize - 1; i > 0; i--) {
binding.controlSets.addView(inflater.inflate(R.layout.task_edit_row_divider, binding.controlSets, false), i);
}

@ -87,6 +87,7 @@ public class TaskEditControlSetFragmentManager {
String hideAlwaysTrigger = context.getString(R.string.TEA_ctrl_hide_section_pref);
for (numRows = 0; numRows < displayOrder.size(); numRows++) {
if (displayOrder.get(numRows).equals(hideAlwaysTrigger)) {
displayOrder.remove(numRows);
break;
}
}
@ -116,7 +117,7 @@ public class TaskEditControlSetFragmentManager {
List<TaskEditControlFragment> fragments = new ArrayList<>();
FragmentManager fragmentManager = taskEditFragment.getChildFragmentManager();
for (int i = 0; i < numRows; i++) {
for (int i = 0; i < displayOrder.size(); i++) {
String tag = displayOrder.get(i);
TaskEditControlFragment fragment =
(TaskEditControlFragment) fragmentManager.findFragmentByTag(tag);
@ -164,4 +165,8 @@ public class TaskEditControlSetFragmentManager {
throw new RuntimeException("Unsupported fragment");
}
}
public int getVisibleSize() {
return numRows;
}
}

Loading…
Cancel
Save