title: Why observe MutableLiveData triggers twice without postValue?
body: <p>I want to add file path to Db and when a file already exists in DB show a Toast message. In ViewModel class:</p>
  
  <pre><code>public void addFile(SharedFile file) {
      DefaultExecutorSupplier.getInstance().forBackgroundTasks()
              .execute(() -&gt; {
                  long result = fileRepository.insert(file);
                  insertResult.postValue(result);
              }
      );
  }
  
  public MutableLiveData&lt;Long&gt; getInsertResult() {
      return insertResult;
  }
  </code></pre>
  
  <p>and in the Fragment <code>onViewCreated</code>:</p>
  
  <pre><code>    viewModel.getInsertResult().observe(getViewLifecycleOwner(), aLong -&gt; {
          if (aLong == -1) {
              Toast.makeText(getContext(), getString(R.string.already_exist_file), Toast.LENGTH_LONG).show();
          }
      });
  </code></pre>
  
  <p>It works and when I add a repetitive file it Toasts the message, but the problem is when I open another fragment and back to the current fragment it again Toasts message.</p>