I have only had a 5-second look at your Activity class, but it looks mostly right to me. If you are doing something, and call it an Activity, with those attributes, then that is the sort of class you would want.
You should consider overriding the equals() hashCode() and toString() methods. You should also consider whether the number you are returning adds anything to the boolean values about importance and urgency, and whether it is necessary at all.
Thank you for posting the code, but often an abbreviated application which reproduces the problem (called SCCEE or something like that) (more details
here, with correct spelling!) is much easier to read.