private void handleIntents() {
    Intent i = getIntent();

    if (i.getAction() == null) return;

    if (Constants.ACTION_RESTART_APP.equals(i.getAction())) {
      OmniNotes.restartApp(getApplicationContext());
    }

    if (receivedIntent(i)) {
      Note note = i.getParcelableExtra(Constants.INTENT_NOTE);
      if (note == null) {
        note = DbHelper.getInstance(this).getNote(i.getIntExtra(Constants.INTENT_KEY, 0));
      }
      // Checks if the same note is already opened to avoid to open again
      if (note != null && noteAlreadyOpened(note)) {
        return;
      }
      // Empty note instantiation
      if (note == null) {
        note = new Note();
      }
      switchToDetail(note);
    }

    if (Constants.ACTION_SEND_AND_EXIT.equals(i.getAction())) {
      saveAndExit(i);
    }

    // Tag search
    if (Intent.ACTION_VIEW.equals(i.getAction())) {
      switchToList();
    }
  }
 /** Used to perform a quick text-only note saving (eg. Tasker+Pushbullet) */
 private void saveAndExit(Intent i) {
   Note note = new Note();
   note.setTitle(i.getStringExtra(Intent.EXTRA_SUBJECT));
   note.setContent(i.getStringExtra(Intent.EXTRA_TEXT));
   DbHelper.getInstance(this).updateNote(note, true);
   showToast(getString(R.string.note_updated), Toast.LENGTH_SHORT);
   finish();
 }