@Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    credentials = getArguments().getParcelable(CREDENTIALS);
    item = getArguments().getParcelable(FILE_ITEM);
  }
  @Override
  public void onDetach() {
    super.onDetach();

    if (workFragment != null) {
      workFragment.setTargetFragment(null, 0);
    }
  }
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    credentials = getArguments().getParcelable(CREDENTIALS);
    path = getArguments().getString(URL_TO_PUBLIC_PATH);
    makePublicOrExpire = getArguments().getBoolean(MAKE_PUBLIC_OR_EXPIRE);
  }
  @Override
  public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);

    FragmentManager fragmentManager = getFragmentManager();
    workFragment =
        (DownloadFileRetainedFragment) fragmentManager.findFragmentByTag(WORK_FRAGMENT_TAG);
    if (workFragment == null || workFragment.getTargetFragment() == null) {
      workFragment = new DownloadFileRetainedFragment();
      fragmentManager.beginTransaction().add(workFragment, WORK_FRAGMENT_TAG).commit();
      workFragment.loadFile(getActivity(), credentials, item);
    }
    workFragment.setTargetFragment(this, 0);
  }
  @Override
  public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);

    FragmentManager fragmentManager = getFragmentManager();
    workFragment =
        (MakeItemPublicRetainedFragment) fragmentManager.findFragmentByTag(WORK_FRAGMENT_TAG);
    if (workFragment == null || workFragment.getTargetFragment() == null) {
      workFragment = new MakeItemPublicRetainedFragment();
      fragmentManager.beginTransaction().add(workFragment, WORK_FRAGMENT_TAG).commit();
      workFragment.changePublicState(getActivity(), credentials, path, makePublicOrExpire);
    }
    workFragment.setTargetFragment(this, 0);
  }
 @Override
 public void onCancel(DialogInterface dialog) {
   super.onCancel(dialog);
   onCancel();
 }