private AddEditTaskModel resolveDefaultModel()

in todoapp/app/src/main/java/com/example/android/architecture/blueprints/todoapp/addedittask/AddEditTaskFragment.java [82:102]


  private AddEditTaskModel resolveDefaultModel(Bundle savedInstanceState) {
    Bundle arguments = getArguments();
    if (arguments != null && arguments.containsKey(TASK_ARGUMENT)) {
      Task task = TaskBundlePacker.taskFromBundle(checkNotNull(arguments.getBundle(TASK_ARGUMENT)));
      return AddEditTaskModel.builder()
          .details(task.details())
          .mode(AddEditTaskMode.update(task.id()))
          .build();
    }

    if (savedInstanceState != null
        && savedInstanceState.containsKey(ADD_EDIT_TASK_MODEL_RESTORE_KEY)) {
      return AddEditTaskModeBundlePacker.addEditTaskModelFromBundle(
          checkNotNull(savedInstanceState.getBundle(ADD_EDIT_TASK_MODEL_RESTORE_KEY)));
    }

    return AddEditTaskModel.builder()
        .mode(AddEditTaskMode.create())
        .details(TaskDetails.DEFAULT)
        .build();
  }