|  |  |  | @ -100,30 +100,32 @@ data class SearchScope(private var scope: String) { | 
			
		
	
		
			
				
					|  |  |  |  |         val list = hashSetOf<BookSource>() | 
			
		
	
		
			
				
					|  |  |  |  |         if (scope.isEmpty()) { | 
			
		
	
		
			
				
					|  |  |  |  |             list.addAll(appDb.bookSourceDao.allEnabled) | 
			
		
	
		
			
				
					|  |  |  |  |         } else if (scope.contains("::")) { | 
			
		
	
		
			
				
					|  |  |  |  |             scope.substringAfter("::").let { | 
			
		
	
		
			
				
					|  |  |  |  |                 appDb.bookSourceDao.getBookSource(it)?.let { source -> | 
			
		
	
		
			
				
					|  |  |  |  |                     list.add(source) | 
			
		
	
		
			
				
					|  |  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  |         } else { | 
			
		
	
		
			
				
					|  |  |  |  |             val oldScope = scope.splitNotBlank(",") | 
			
		
	
		
			
				
					|  |  |  |  |             val newScope = oldScope.filter { | 
			
		
	
		
			
				
					|  |  |  |  |                 val bookSources = appDb.bookSourceDao.getEnabledByGroup(it) | 
			
		
	
		
			
				
					|  |  |  |  |                 list.addAll(bookSources) | 
			
		
	
		
			
				
					|  |  |  |  |                 bookSources.isNotEmpty() | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  |             if (oldScope.size != newScope.size) { | 
			
		
	
		
			
				
					|  |  |  |  |                 update(newScope) | 
			
		
	
		
			
				
					|  |  |  |  |                 stateLiveData.postValue(scope) | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |         if (list.isEmpty()) { | 
			
		
	
		
			
				
					|  |  |  |  |             scope = "" | 
			
		
	
		
			
				
					|  |  |  |  |             appDb.bookSourceDao.allEnabled.let { | 
			
		
	
		
			
				
					|  |  |  |  |                 if (it.isNotEmpty()) { | 
			
		
	
		
			
				
					|  |  |  |  |             if (scope.contains("::")) { | 
			
		
	
		
			
				
					|  |  |  |  |                 scope.substringAfter("::").let { | 
			
		
	
		
			
				
					|  |  |  |  |                     appDb.bookSourceDao.getBookSource(it)?.let { source -> | 
			
		
	
		
			
				
					|  |  |  |  |                         list.add(source) | 
			
		
	
		
			
				
					|  |  |  |  |                     } | 
			
		
	
		
			
				
					|  |  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  |  |             } else { | 
			
		
	
		
			
				
					|  |  |  |  |                 val oldScope = scope.splitNotBlank(",") | 
			
		
	
		
			
				
					|  |  |  |  |                 val newScope = oldScope.filter { | 
			
		
	
		
			
				
					|  |  |  |  |                     val bookSources = appDb.bookSourceDao.getEnabledByGroup(it) | 
			
		
	
		
			
				
					|  |  |  |  |                     list.addAll(bookSources) | 
			
		
	
		
			
				
					|  |  |  |  |                     bookSources.isNotEmpty() | 
			
		
	
		
			
				
					|  |  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  |  |                 if (oldScope.size != newScope.size) { | 
			
		
	
		
			
				
					|  |  |  |  |                     update(newScope) | 
			
		
	
		
			
				
					|  |  |  |  |                     stateLiveData.postValue(scope) | 
			
		
	
		
			
				
					|  |  |  |  |                     list.addAll(it) | 
			
		
	
		
			
				
					|  |  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  |             if (list.isEmpty()) { | 
			
		
	
		
			
				
					|  |  |  |  |                 scope = "" | 
			
		
	
		
			
				
					|  |  |  |  |                 appDb.bookSourceDao.allEnabled.let { | 
			
		
	
		
			
				
					|  |  |  |  |                     if (it.isNotEmpty()) { | 
			
		
	
		
			
				
					|  |  |  |  |                         stateLiveData.postValue(scope) | 
			
		
	
		
			
				
					|  |  |  |  |                         list.addAll(it) | 
			
		
	
		
			
				
					|  |  |  |  |                     } | 
			
		
	
		
			
				
					|  |  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
	
		
			
				
					|  |  |  | 
 |