|  |  |  | @ -115,26 +115,18 @@ object RealPathUtil { | 
			
		
	
		
			
				
					|  |  |  |  |             e.printOnDebug() | 
			
		
	
		
			
				
					|  |  |  |  |             val file = File(context.cacheDir, "tmp") | 
			
		
	
		
			
				
					|  |  |  |  |             val filePath = file.absolutePath | 
			
		
	
		
			
				
					|  |  |  |  |             var input: FileInputStream? = null | 
			
		
	
		
			
				
					|  |  |  |  |             var output: FileOutputStream? = null | 
			
		
	
		
			
				
					|  |  |  |  |             try { | 
			
		
	
		
			
				
					|  |  |  |  |                 val pfd = | 
			
		
	
		
			
				
					|  |  |  |  |                     context.contentResolver.openFileDescriptor(filePathUri!!, "r") | 
			
		
	
		
			
				
					|  |  |  |  |                         ?: return null | 
			
		
	
		
			
				
					|  |  |  |  |                 val fd = pfd.fileDescriptor | 
			
		
	
		
			
				
					|  |  |  |  |                 input = FileInputStream(fd) | 
			
		
	
		
			
				
					|  |  |  |  |                 output = FileOutputStream(filePath) | 
			
		
	
		
			
				
					|  |  |  |  |                 var read: Int | 
			
		
	
		
			
				
					|  |  |  |  |                 val bytes = ByteArray(4096) | 
			
		
	
		
			
				
					|  |  |  |  |                 while (input.read(bytes).also { read = it } != -1) { | 
			
		
	
		
			
				
					|  |  |  |  |                     output.write(bytes, 0, read) | 
			
		
	
		
			
				
					|  |  |  |  |                 return context.contentResolver.openFileDescriptor(filePathUri!!, "r")?.use { | 
			
		
	
		
			
				
					|  |  |  |  |                     val fd = it.fileDescriptor | 
			
		
	
		
			
				
					|  |  |  |  |                     FileInputStream(fd).use { fis -> | 
			
		
	
		
			
				
					|  |  |  |  |                         FileOutputStream(filePath).use { fos -> | 
			
		
	
		
			
				
					|  |  |  |  |                             fis.copyTo(fos) | 
			
		
	
		
			
				
					|  |  |  |  |                         } | 
			
		
	
		
			
				
					|  |  |  |  |                     } | 
			
		
	
		
			
				
					|  |  |  |  |                     File(filePath).absolutePath | 
			
		
	
		
			
				
					|  |  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  |  |                 return File(filePath).absolutePath | 
			
		
	
		
			
				
					|  |  |  |  |             } catch (e: IOException) { | 
			
		
	
		
			
				
					|  |  |  |  |                 e.printStackTrace() | 
			
		
	
		
			
				
					|  |  |  |  |             } finally { | 
			
		
	
		
			
				
					|  |  |  |  |                 input?.close() | 
			
		
	
		
			
				
					|  |  |  |  |                 output?.close() | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  |         } finally { | 
			
		
	
		
			
				
					|  |  |  |  |             cursor?.close() | 
			
		
	
	
		
			
				
					|  |  |  | 
 |