Advertisement
Guest User

Untitled

a guest
Jul 6th, 2015
207
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.47 KB | None | 0 0
  1. /**
  2. * @param message The message to be processed.
  3. * @param read True to mark as READ, False to mark as UNREAD.
  4. */
  5. public static void markMessageAsRead(Message message, boolean read) {
  6. try {
  7. //Getting required variables
  8. Folder messageFolder = message.getFolder();
  9. int initialFolderMode = messageFolder.getMode();
  10. boolean initialFolderOpenState = messageFolder.isOpen();
  11.  
  12. //If the folder is readonly then lets set it to readwrite
  13. if(initialFolderMode == Folder.READ_ONLY) {
  14. if(initialFolderOpenState) {
  15. message.getFolder().close(false);
  16. }
  17.  
  18. message.getFolder().open(Folder.READ_WRITE);
  19. }
  20.  
  21. //Make sure folder is open (incase the above if didn't evaluate)
  22. if(!initialFolderOpenState) {
  23. messageFolder.open(Folder.READ_WRITE);
  24. }
  25.  
  26. //Marking message as seen
  27. message.setFlag(Flags.Flag.SEEN, read);
  28.  
  29. //Now lets revert the folder to it's state before it came here
  30. if(initialFolderOpenState) {
  31. if(!messageFolder.isOpen()) {
  32. messageFolder.open(initialFolderMode);
  33. }
  34. } else {
  35. if(messageFolder.isOpen()) {
  36. messageFolder.close(false);
  37. }
  38. }
  39. } catch (MessagingException e) {
  40. e.printStackTrace();
  41. }
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement