@Override public void onBackPressed() { // If the note has been deleted, just return if (IsDeleted) { setResult(RESULT_CANCELED); finish(); return; } // Save it to original file HelperFunctions.SaveBmpPicture(ContentView.getFingerPaint(), EditOneNote.NoteFilePath); // Update database record NotesDb.UpdateOneNote(EditOneNote); // Update the specific alarm if user has changed the notify time if (!Pre_UseNotifyTime.equals(EditOneNote.Use_NotifyTime)) { // From Y(use notify) to N(don't use notify), User cancels alarm if (EditOneNote.Use_NotifyTime.equals(ProjectConst.No)) { Log.d(ProjectConst.TAG, "EditNoteActivity: delete alarm"); Alarms.DeleteOneAlarm(this, EditOneNote.NoteRowId); } // From N(don't use notify) to Y(use notify), add one alarm if (EditOneNote.Use_NotifyTime.equals(ProjectConst.Yes)) { Log.d(ProjectConst.TAG, "EditNoteActivity: add alarm"); NotesDb.UpdateNoteNotifyRingTime(EditOneNote.NoteRowId, EditOneNote.NotifyTime); Alarms.AddOneAlarm(this); } } else { // User changes the notify time if (EditOneNote.Use_NotifyTime.equals(ProjectConst.Yes) && HelperFunctions.CmpDatePrefix2(Pre_NotifyTime, EditOneNote.NotifyTime) != 0) { Log.d(ProjectConst.TAG, "EditNoteActivity: update alarm"); NotesDb.UpdateNoteNotifyRingTime(EditOneNote.NoteRowId, EditOneNote.NotifyTime); Alarms.UpdateOneAlarm(this, EditOneNote.NoteRowId); } } // Refresh widget note list HelperFunctions.RefreshWidgetNoteList(this, NotesDb.GetAllNotes()); // Refresh 1x1 widget if (EditOneNote.WidgetId != 0) HelperFunctions.Refresh1x1Widget( this, EditOneNote.WidgetId, EditOneNote.NoteTitle, EditOneNote.NoteRowId, EditOneNote.DrawableResIdx, EditOneNote.Password.length() > 0, EditOneNote.NoteType); // Show toast to notify user settings have been saved Toast.makeText(this, getString(R.string.notesavingtip), Toast.LENGTH_SHORT).show(); // Return to main activity Intent ReturnBackData = new Intent(); ReturnBackData.putExtra(OneNote.KEY_TITLE, EditOneNote.NoteTitle); ReturnBackData.putExtra(OneNote.KEY_INDEX, EditOneNote.PosIdx); ReturnBackData.putExtra(OneNote.KEY_DRAWABLE_ID, EditOneNote.DrawableResIdx); setResult(RESULT_OK, ReturnBackData); finish(); }