~plaxx/tomdroid/iteration-3

« back to all changes in this revision

Viewing changes to src/org/tomdroid/Note.java

  • Committer: Olivier Bilodeau
  • Date: 2008-12-02 04:42:57 UTC
  • Revision ID: olivier@bottomlesspit.org-20081202044257-lwwadk931yjd5ahu
Now parsing and showing *bold*, _italic_, -striked-, =highlighted= and monospace in notes!
To achieve that, the Note.noteContent is now a SpannableStringBuilder.

Show diffs side-by-side

added added

removed removed

Lines of Context:
38
38
 
39
39
import android.os.Handler;
40
40
import android.os.Message;
 
41
import android.text.Spannable;
 
42
import android.text.SpannableStringBuilder;
 
43
import android.text.style.StyleSpan;
41
44
import android.util.Log;
42
45
 
43
46
public class Note {
47
50
        public static final String NOTE_CONTENT = "note-content";
48
51
        public static final int NOTE_RECEIVED_AND_VALID = 1;
49
52
        
 
53
        // Notes constants
 
54
        public static final int NOTE_HIGHLIGHT_COLOR = 0xFFFFFF00;
 
55
        public static final String NOTE_MONOSPACE_TYPEFACE = "monospace";
 
56
        
50
57
        // Members
51
 
        private String noteContent;
 
58
        private SpannableStringBuilder noteContent = new SpannableStringBuilder();
52
59
        private String note;
53
60
        private String noteURL;
54
61
        
77
84
                return note;
78
85
        }
79
86
 
80
 
        public String getNoteContent() {
 
87
        public SpannableStringBuilder getNoteContent() {
81
88
                return noteContent;
82
89
        }
83
90
 
84
 
        public void setNoteContent(String noteContent) {
 
91
        public void setNoteContent(SpannableStringBuilder noteContent) {
85
92
                this.noteContent = noteContent;
86
93
        }
87
94
 
93
100
                this.note = note;
94
101
        }
95
102
        
 
103
        public SpannableStringBuilder getDisplayableNoteContent() {
 
104
                SpannableStringBuilder sNoteContent = new SpannableStringBuilder(getNoteContent());
 
105
                
 
106
                sNoteContent.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), 17, 35, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
 
107
                return sNoteContent;
 
108
        }
 
109
        
96
110
        // TODO I don't know if this double handler thingy is efficient but it was (for me) the more maintainable 
97
111
        // way of doing this. When I'll know more about Android, I should come back to this
98
112
    private Handler handler = new Handler() {