handle thumbnail section adding
This commit is contained in:
parent
232073b227
commit
5ca95e7e35
2 changed files with 39 additions and 6 deletions
|
@ -26,6 +26,7 @@ import com.simplemobiletools.gallery.models.ThumbnailItem
|
||||||
import com.simplemobiletools.gallery.models.ThumbnailMedium
|
import com.simplemobiletools.gallery.models.ThumbnailMedium
|
||||||
import com.simplemobiletools.gallery.models.ThumbnailSection
|
import com.simplemobiletools.gallery.models.ThumbnailSection
|
||||||
import kotlinx.android.synthetic.main.photo_video_item_grid.view.*
|
import kotlinx.android.synthetic.main.photo_video_item_grid.view.*
|
||||||
|
import kotlinx.android.synthetic.main.thumbnail_section.view.*
|
||||||
import java.util.*
|
import java.util.*
|
||||||
import kotlin.collections.ArrayList
|
import kotlin.collections.ArrayList
|
||||||
|
|
||||||
|
@ -71,7 +72,15 @@ class MediaAdapter(activity: BaseSimpleActivity, var media: MutableList<Medium>,
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
|
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
|
||||||
val layoutType = if (isListViewType) R.layout.photo_video_item_list else R.layout.photo_video_item_grid
|
val layoutType = if (viewType == ITEM_SECTION) {
|
||||||
|
R.layout.thumbnail_section
|
||||||
|
} else {
|
||||||
|
if (isListViewType) {
|
||||||
|
R.layout.photo_video_item_list
|
||||||
|
} else {
|
||||||
|
R.layout.photo_video_item_grid
|
||||||
|
}
|
||||||
|
}
|
||||||
return createViewHolder(layoutType, parent)
|
return createViewHolder(layoutType, parent)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -93,6 +102,15 @@ class MediaAdapter(activity: BaseSimpleActivity, var media: MutableList<Medium>,
|
||||||
|
|
||||||
override fun getItemCount() = thumbnailItems.size
|
override fun getItemCount() = thumbnailItems.size
|
||||||
|
|
||||||
|
override fun getItemViewType(position: Int): Int {
|
||||||
|
val tmbItem = thumbnailItems[position]
|
||||||
|
return if (tmbItem is ThumbnailSection) {
|
||||||
|
ITEM_SECTION
|
||||||
|
} else {
|
||||||
|
ITEM_MEDIUM
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
override fun prepareActionMode(menu: Menu) {
|
override fun prepareActionMode(menu: Menu) {
|
||||||
menu.apply {
|
menu.apply {
|
||||||
findItem(R.id.cab_rename).isVisible = isOneItemSelected()
|
findItem(R.id.cab_rename).isVisible = isOneItemSelected()
|
||||||
|
@ -135,7 +153,10 @@ class MediaAdapter(activity: BaseSimpleActivity, var media: MutableList<Medium>,
|
||||||
if (!activity.isActivityDestroyed()) {
|
if (!activity.isActivityDestroyed()) {
|
||||||
val itemView = holder.itemView
|
val itemView = holder.itemView
|
||||||
visibleItemPaths.remove(itemView?.photo_name?.tag)
|
visibleItemPaths.remove(itemView?.photo_name?.tag)
|
||||||
Glide.with(activity).clear(itemView?.medium_thumbnail!!)
|
val tmb = itemView?.medium_thumbnail
|
||||||
|
if (tmb != null) {
|
||||||
|
Glide.with(activity).clear(tmb)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -367,11 +388,15 @@ class MediaAdapter(activity: BaseSimpleActivity, var media: MutableList<Medium>,
|
||||||
mediumGroups[key] = value
|
mediumGroups[key] = value
|
||||||
}
|
}
|
||||||
|
|
||||||
media.forEach {
|
thumbnailItems.clear()
|
||||||
|
for ((key, value) in mediumGroups) {
|
||||||
|
thumbnailItems.add(ThumbnailSection(key))
|
||||||
|
value.forEach {
|
||||||
val thumbnailMedium = ThumbnailMedium(it.name, it.path, it.parentPath, it.modified, it.taken, it.size, it.type, it.isFavorite)
|
val thumbnailMedium = ThumbnailMedium(it.name, it.path, it.parentPath, it.modified, it.taken, it.size, it.type, it.isFavorite)
|
||||||
thumbnailItems.add(thumbnailMedium)
|
thumbnailItems.add(thumbnailMedium)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private fun setupThumbnailMedium(view: View, medium: ThumbnailMedium) {
|
private fun setupThumbnailMedium(view: View, medium: ThumbnailMedium) {
|
||||||
view.apply {
|
view.apply {
|
||||||
|
@ -407,7 +432,8 @@ class MediaAdapter(activity: BaseSimpleActivity, var media: MutableList<Medium>,
|
||||||
|
|
||||||
private fun setupThumbnailSection(view: View, section: ThumbnailSection) {
|
private fun setupThumbnailSection(view: View, section: ThumbnailSection) {
|
||||||
view.apply {
|
view.apply {
|
||||||
|
thumbnail_section.text = section.title
|
||||||
|
thumbnail_section.setTextColor(textColor)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
7
app/src/main/res/layout/thumbnail_section.xml
Normal file
7
app/src/main/res/layout/thumbnail_section.xml
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<com.simplemobiletools.commons.views.MyTextView
|
||||||
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:id="@+id/thumbnail_section"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:textSize="@dimen/bigger_text_size"/>
|
Loading…
Reference in a new issue