Почему нулевой Executor

В общем проблема у меня очень мистическая. Делаю блокнот, и когда хочу удалить заметку после запуска активности все работает и проблем нет, но когда открываю другую активность и возвращаюсь на старую при попытке удалить получаю краш приложения и эту ошибку.

Attempt to invoke interface method 'void java.util.concurrent.Executor.execute(java.lang.Runnable)' on a null object reference

Как у меня все устроено MainActivity -> при долгом нажатии на заметку вызываю choseNote(dialog) -> (через интерфейс при нажатии на пункт удалить вызываю метод с активности (deleteNote(note)), а он в свою очередь вызывает метод с presenter deleteNote(note) -> presenter -> вызывает методы с репозитория которые переносят заметку в корзину (moveToNoteTrash()) и удаляет заметку с таблицы (deleteNote()).

presenter.deleteNote(note)

 @Override
public void deleteNote(Note note){
   trashRepository.moveToTrash(note);
   notesRepository.deleteNote(note);
}

trashRepository.moveToTrash(note)

    public void moveToTrash(Note note) {
    Runnable runnable = () ->{
       trashDao.moveToTrash(note.getTitle(), note.getValue(), note.getDate());

    };
    executor.execute(runnable);
}

noteRepository.deleteNote(Note)

    public void deleteNote(Note note) {
    Runnable runnable = () -> noteDao.deleteNote(note);
    executor.execute(runnable);
}

noteDao,trashDao

 @Delete void deleteNote(Note note);

  @Query("INSERT INTO trash (title,value,date,type) VALUES (:title,:value,:date, 'note')")
void moveToTrash(String title, String value, long date);

Ответы (1 шт):

Автор решения: Andrii Pasichnik

Проблема была решена с помощью пользователя @woesss.

Presenter второго activty удалял репозиторий при вызове destroy().

→ Ссылка