@@ -11,7 +11,10 @@ import com.google.gson.Gson
11
11
import com.google.gson.reflect.TypeToken
12
12
import com.simplemobiletools.commons.activities.BaseSimpleActivity
13
13
import com.simplemobiletools.commons.adapters.MyRecyclerViewAdapter
14
- import com.simplemobiletools.commons.extensions.*
14
+ import com.simplemobiletools.commons.extensions.applyColorFilter
15
+ import com.simplemobiletools.commons.extensions.beGoneIf
16
+ import com.simplemobiletools.commons.extensions.getColoredDrawableWithColor
17
+ import com.simplemobiletools.commons.extensions.isBlackAndWhiteTheme
15
18
import com.simplemobiletools.commons.helpers.LOWER_ALPHA_INT
16
19
import com.simplemobiletools.commons.helpers.SORT_BY_CUSTOM
17
20
import com.simplemobiletools.commons.views.MyRecyclerView
@@ -20,6 +23,9 @@ import com.simplemobiletools.notes.pro.extensions.config
20
23
import com.simplemobiletools.notes.pro.models.ChecklistItem
21
24
import com.simplemobiletools.notes.pro.models.Note
22
25
import com.simplemobiletools.notes.pro.models.NoteType
26
+ import kotlinx.android.synthetic.main.open_new_note_item.view.open_new_note_icon
27
+ import kotlinx.android.synthetic.main.open_new_note_item.view.open_new_note_item_holder
28
+ import kotlinx.android.synthetic.main.open_new_note_item.view.open_new_note_item_title
23
29
import kotlinx.android.synthetic.main.open_note_item.view.open_note_item_holder
24
30
import kotlinx.android.synthetic.main.open_note_item.view.open_note_item_text
25
31
import kotlinx.android.synthetic.main.open_note_item.view.open_note_item_title
@@ -30,6 +36,8 @@ class OpenNoteAdapter(
30
36
) : MyRecyclerViewAdapter(activity, recyclerView, itemClick) {
31
37
private companion object {
32
38
const val NEW_NOTE_ID = - 1
39
+ const val VIEW_TYPE_NOTE = 0
40
+ const val VIEW_TYPE_NEW_NOTE = 1
33
41
}
34
42
35
43
override fun getActionMenuId () = 0
@@ -54,7 +62,20 @@ class OpenNoteAdapter(
54
62
55
63
override fun prepareActionMode (menu : Menu ) {}
56
64
57
- override fun onCreateViewHolder (parent : ViewGroup , viewType : Int ) = createViewHolder(R .layout.open_note_item, parent)
65
+ override fun getItemViewType (position : Int ): Int = if (position == items.size) {
66
+ VIEW_TYPE_NEW_NOTE
67
+ } else {
68
+ VIEW_TYPE_NOTE
69
+ }
70
+
71
+ override fun onCreateViewHolder (parent : ViewGroup , viewType : Int ): ViewHolder {
72
+ val layout = if (viewType == VIEW_TYPE_NEW_NOTE ) {
73
+ R .layout.open_new_note_item
74
+ } else {
75
+ R .layout.open_note_item
76
+ }
77
+ return createViewHolder(layout, parent)
78
+ }
58
79
59
80
override fun onBindViewHolder (holder : ViewHolder , position : Int ) {
60
81
if (position == items.size) {
@@ -74,7 +95,7 @@ class OpenNoteAdapter(
74
95
75
96
private fun setupView (view : View , note : Note ) {
76
97
view.apply {
77
- setupCard()
98
+ setupCard(open_note_item_holder )
78
99
open_note_item_title.apply {
79
100
text = note.title
80
101
setTextColor(properPrimaryColor)
@@ -90,18 +111,18 @@ class OpenNoteAdapter(
90
111
91
112
private fun setupNewNoteView (view : View ) {
92
113
view.apply {
93
- setupCard()
94
- open_note_item_title .apply {
114
+ setupCard(open_new_note_item_holder )
115
+ open_new_note_item_title .apply {
95
116
setText(R .string.create_new_note)
96
117
setTextColor(properPrimaryColor)
97
118
}
98
- open_note_item_text.beGone( )
119
+ open_new_note_icon.applyColorFilter(properPrimaryColor )
99
120
}
100
121
}
101
122
102
- private fun View.setupCard () {
123
+ private fun View.setupCard (holder : View ) {
103
124
if (context.isBlackAndWhiteTheme()) {
104
- open_note_item_holder .setBackgroundResource(R .drawable.black_dialog_background)
125
+ holder .setBackgroundResource(R .drawable.black_dialog_background)
105
126
} else {
106
127
val cardBackgroundColor = if (backgroundColor == Color .BLACK ) {
107
128
Color .WHITE
@@ -113,7 +134,7 @@ class OpenNoteAdapter(
113
134
} else {
114
135
R .drawable.dialog_bg
115
136
}
116
- open_note_item_holder .background =
137
+ holder .background =
117
138
activity.resources.getColoredDrawableWithColor(cardBackground, cardBackgroundColor, LOWER_ALPHA_INT )
118
139
}
119
140
}
0 commit comments