|  |  | @ -10,6 +10,7 @@ import io.legado.app.constant.AppPattern | 
			
		
	
		
		
			
				
					
					|  |  |  | import io.legado.app.data.appDb |  |  |  | import io.legado.app.data.appDb | 
			
		
	
		
		
			
				
					
					|  |  |  | import io.legado.app.data.entities.BookSource |  |  |  | import io.legado.app.data.entities.BookSource | 
			
		
	
		
		
			
				
					
					|  |  |  | import io.legado.app.utils.* |  |  |  | import io.legado.app.utils.* | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import java.io.FileOutputStream | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | class BookSourceViewModel(application: Application) : BaseViewModel(application) { |  |  |  | class BookSourceViewModel(application: Application) : BaseViewModel(application) { | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | @ -135,13 +136,16 @@ class BookSourceViewModel(application: Application) : BaseViewModel(application) | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     @Suppress("BlockingMethodInNonBlockingContext") | 
			
		
	
		
		
			
				
					
					|  |  |  |     fun shareSelection(sources: List<BookSource>, success: ((intent: Intent) -> Unit)) { |  |  |  |     fun shareSelection(sources: List<BookSource>, success: ((intent: Intent) -> Unit)) { | 
			
		
	
		
		
			
				
					
					|  |  |  |         execute { |  |  |  |         execute { | 
			
		
	
		
		
			
				
					
					|  |  |  |             val tmpSharePath = "${context.filesDir}/shareBookSource.json" |  |  |  |             val tmpSharePath = "${context.filesDir}/shareBookSource.json" | 
			
		
	
		
		
			
				
					
					|  |  |  |             FileUtils.delete(tmpSharePath) |  |  |  |             FileUtils.delete(tmpSharePath) | 
			
		
	
		
		
			
				
					
					|  |  |  |             val intent = Intent(Intent.ACTION_SEND) |  |  |  |             val intent = Intent(Intent.ACTION_SEND) | 
			
		
	
		
		
			
				
					
					|  |  |  |             val file = FileUtils.createFileWithReplace(tmpSharePath) |  |  |  |             val file = FileUtils.createFileWithReplace(tmpSharePath) | 
			
		
	
		
		
			
				
					
					|  |  |  |             file.writeText(GSON.toJson(sources)) |  |  |  |             FileOutputStream(file).use { | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 GSON.writeToOutputStream(it, sources) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |             val fileUri = FileProvider.getUriForFile(context, AppConst.authority, file) |  |  |  |             val fileUri = FileProvider.getUriForFile(context, AppConst.authority, file) | 
			
		
	
		
		
			
				
					
					|  |  |  |             intent.type = "text/*" |  |  |  |             intent.type = "text/*" | 
			
		
	
		
		
			
				
					
					|  |  |  |             intent.putExtra(Intent.EXTRA_STREAM, fileUri) |  |  |  |             intent.putExtra(Intent.EXTRA_STREAM, fileUri) | 
			
		
	
	
		
		
			
				
					|  |  | 
 |