|  |  |  | @ -10,15 +10,18 @@ import androidx.recyclerview.widget.DiffUtil | 
			
		
	
		
			
				
					|  |  |  |  | import androidx.recyclerview.widget.RecyclerView | 
			
		
	
		
			
				
					|  |  |  |  | import io.legado.app.R | 
			
		
	
		
			
				
					|  |  |  |  | import io.legado.app.data.entities.BookSource | 
			
		
	
		
			
				
					|  |  |  |  | import io.legado.app.help.coroutine.Coroutine | 
			
		
	
		
			
				
					|  |  |  |  | import io.legado.app.lib.theme.ColorUtils | 
			
		
	
		
			
				
					|  |  |  |  | import io.legado.app.utils.gone | 
			
		
	
		
			
				
					|  |  |  |  | import io.legado.app.utils.visible | 
			
		
	
		
			
				
					|  |  |  |  | import kotlinx.android.synthetic.main.item_find_book.view.* | 
			
		
	
		
			
				
					|  |  |  |  | import kotlinx.android.synthetic.main.item_text.view.* | 
			
		
	
		
			
				
					|  |  |  |  | import kotlinx.coroutines.CoroutineScope | 
			
		
	
		
			
				
					|  |  |  |  | import org.jetbrains.anko.sdk27.listeners.onClick | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | class FindBookAdapter:PagedListAdapter<BookSource, FindBookAdapter.MyViewHolder>(DIFF_CALLBACK) { | 
			
		
	
		
			
				
					|  |  |  |  | class FindBookAdapter(private val scope: CoroutineScope) : | 
			
		
	
		
			
				
					|  |  |  |  |     PagedListAdapter<BookSource, FindBookAdapter.MyViewHolder>(DIFF_CALLBACK) { | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     var exIndex = 0 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  |  | @ -58,26 +61,30 @@ class FindBookAdapter:PagedListAdapter<BookSource, FindBookAdapter.MyViewHolder> | 
			
		
	
		
			
				
					|  |  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  |  |                 if (exIndex == position) { | 
			
		
	
		
			
				
					|  |  |  |  |                     gl_child.visible() | 
			
		
	
		
			
				
					|  |  |  |  |                     bookSource.getExploreRule().getExploreKinds(bookSource.bookSourceUrl)?.let { | 
			
		
	
		
			
				
					|  |  |  |  |                         var rowNum = 0 | 
			
		
	
		
			
				
					|  |  |  |  |                         var columnNum = 0 | 
			
		
	
		
			
				
					|  |  |  |  |                         gl_child.removeAllViews() | 
			
		
	
		
			
				
					|  |  |  |  |                         it.map { kind -> | 
			
		
	
		
			
				
					|  |  |  |  |                             val tv = LayoutInflater.from(context) | 
			
		
	
		
			
				
					|  |  |  |  |                                 .inflate(R.layout.item_text, gl_child, false) | 
			
		
	
		
			
				
					|  |  |  |  |                             tv.text_view.text = kind.title | 
			
		
	
		
			
				
					|  |  |  |  |                             val rowSpecs = GridLayout.spec(rowNum, 1.0f) | 
			
		
	
		
			
				
					|  |  |  |  |                             val colSpecs = GridLayout.spec(columnNum, 1.0f) | 
			
		
	
		
			
				
					|  |  |  |  |                             val params = GridLayout.LayoutParams(rowSpecs, colSpecs) | 
			
		
	
		
			
				
					|  |  |  |  |                             gl_child.addView(tv, params) | 
			
		
	
		
			
				
					|  |  |  |  |                             if (columnNum < 2) { | 
			
		
	
		
			
				
					|  |  |  |  |                                 columnNum++ | 
			
		
	
		
			
				
					|  |  |  |  |                             } else { | 
			
		
	
		
			
				
					|  |  |  |  |                                 columnNum = 0 | 
			
		
	
		
			
				
					|  |  |  |  |                                 rowNum++ | 
			
		
	
		
			
				
					|  |  |  |  |                             } | 
			
		
	
		
			
				
					|  |  |  |  |                             tv.onClick { | 
			
		
	
		
			
				
					|  |  |  |  |                     Coroutine.async(scope) { | 
			
		
	
		
			
				
					|  |  |  |  |                         bookSource.getExploreRule().getExploreKinds(bookSource.bookSourceUrl) | 
			
		
	
		
			
				
					|  |  |  |  |                     }.onSuccess { | 
			
		
	
		
			
				
					|  |  |  |  |                         it?.let { | 
			
		
	
		
			
				
					|  |  |  |  |                             var rowNum = 0 | 
			
		
	
		
			
				
					|  |  |  |  |                             var columnNum = 0 | 
			
		
	
		
			
				
					|  |  |  |  |                             gl_child.removeAllViews() | 
			
		
	
		
			
				
					|  |  |  |  |                             it.map { kind -> | 
			
		
	
		
			
				
					|  |  |  |  |                                 val tv = LayoutInflater.from(context) | 
			
		
	
		
			
				
					|  |  |  |  |                                     .inflate(R.layout.item_text, gl_child, false) | 
			
		
	
		
			
				
					|  |  |  |  |                                 tv.text_view.text = kind.title | 
			
		
	
		
			
				
					|  |  |  |  |                                 val rowSpecs = GridLayout.spec(rowNum, 1.0f) | 
			
		
	
		
			
				
					|  |  |  |  |                                 val colSpecs = GridLayout.spec(columnNum, 1.0f) | 
			
		
	
		
			
				
					|  |  |  |  |                                 val params = GridLayout.LayoutParams(rowSpecs, colSpecs) | 
			
		
	
		
			
				
					|  |  |  |  |                                 gl_child.addView(tv, params) | 
			
		
	
		
			
				
					|  |  |  |  |                                 if (columnNum < 2) { | 
			
		
	
		
			
				
					|  |  |  |  |                                     columnNum++ | 
			
		
	
		
			
				
					|  |  |  |  |                                 } else { | 
			
		
	
		
			
				
					|  |  |  |  |                                     columnNum = 0 | 
			
		
	
		
			
				
					|  |  |  |  |                                     rowNum++ | 
			
		
	
		
			
				
					|  |  |  |  |                                 } | 
			
		
	
		
			
				
					|  |  |  |  |                                 tv.onClick { | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |                                 } | 
			
		
	
		
			
				
					|  |  |  |  |                             } | 
			
		
	
		
			
				
					|  |  |  |  |                         } | 
			
		
	
		
			
				
					|  |  |  |  |                     } | 
			
		
	
	
		
			
				
					|  |  |  | 
 |