|  |  |  | @ -31,6 +31,8 @@ import io.legado.app.utils.viewbindingdelegate.viewBinding | 
			
		
	
		
			
				
					|  |  |  |  | import kotlinx.coroutines.Dispatchers | 
			
		
	
		
			
				
					|  |  |  |  | import kotlinx.coroutines.Dispatchers.IO | 
			
		
	
		
			
				
					|  |  |  |  | import kotlinx.coroutines.Job | 
			
		
	
		
			
				
					|  |  |  |  | import kotlinx.coroutines.flow.conflate | 
			
		
	
		
			
				
					|  |  |  |  | import kotlinx.coroutines.flow.map | 
			
		
	
		
			
				
					|  |  |  |  | import kotlinx.coroutines.launch | 
			
		
	
		
			
				
					|  |  |  |  | import kotlinx.coroutines.withContext | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  |  | @ -156,11 +158,11 @@ class CacheActivity : VMBaseActivity<ActivityCacheBookBinding, CacheViewModel>() | 
			
		
	
		
			
				
					|  |  |  |  |                 AppConst.bookGroupAudioId -> appDb.bookDao.flowAudio() | 
			
		
	
		
			
				
					|  |  |  |  |                 AppConst.bookGroupNoneId -> appDb.bookDao.flowNoGroup() | 
			
		
	
		
			
				
					|  |  |  |  |                 else -> appDb.bookDao.flowByGroup(groupId) | 
			
		
	
		
			
				
					|  |  |  |  |             }.collect { list -> | 
			
		
	
		
			
				
					|  |  |  |  |                 val booksDownload = list.filter { | 
			
		
	
		
			
				
					|  |  |  |  |             }.conflate().map { books -> | 
			
		
	
		
			
				
					|  |  |  |  |                 val booksDownload = books.filter { | 
			
		
	
		
			
				
					|  |  |  |  |                     it.type == 0 | 
			
		
	
		
			
				
					|  |  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  |  |                 val books = when (getPrefInt(PreferKey.bookshelfSort)) { | 
			
		
	
		
			
				
					|  |  |  |  |                 when (getPrefInt(PreferKey.bookshelfSort)) { | 
			
		
	
		
			
				
					|  |  |  |  |                     1 -> booksDownload.sortedByDescending { it.latestChapterTime } | 
			
		
	
		
			
				
					|  |  |  |  |                     2 -> booksDownload.sortedWith { o1, o2 -> | 
			
		
	
		
			
				
					|  |  |  |  |                         o1.name.cnCompare(o2.name) | 
			
		
	
	
		
			
				
					|  |  |  | @ -168,6 +170,7 @@ class CacheActivity : VMBaseActivity<ActivityCacheBookBinding, CacheViewModel>() | 
			
		
	
		
			
				
					|  |  |  |  |                     3 -> booksDownload.sortedBy { it.order } | 
			
		
	
		
			
				
					|  |  |  |  |                     else -> booksDownload.sortedByDescending { it.durChapterTime } | 
			
		
	
		
			
				
					|  |  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  |  |             }.conflate().collect { books -> | 
			
		
	
		
			
				
					|  |  |  |  |                 adapter.setItems(books) | 
			
		
	
		
			
				
					|  |  |  |  |                 initCacheSize(books) | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
	
		
			
				
					|  |  |  | @ -177,7 +180,7 @@ class CacheActivity : VMBaseActivity<ActivityCacheBookBinding, CacheViewModel>() | 
			
		
	
		
			
				
					|  |  |  |  |     @SuppressLint("NotifyDataSetChanged") | 
			
		
	
		
			
				
					|  |  |  |  |     private fun initGroupData() { | 
			
		
	
		
			
				
					|  |  |  |  |         launch { | 
			
		
	
		
			
				
					|  |  |  |  |             appDb.bookGroupDao.flowAll().collect { | 
			
		
	
		
			
				
					|  |  |  |  |             appDb.bookGroupDao.flowAll().conflate().collect { | 
			
		
	
		
			
				
					|  |  |  |  |                 groupList.clear() | 
			
		
	
		
			
				
					|  |  |  |  |                 groupList.addAll(it) | 
			
		
	
		
			
				
					|  |  |  |  |                 adapter.notifyDataSetChanged() | 
			
		
	
	
		
			
				
					|  |  |  | 
 |