|  |  | @ -16,6 +16,7 @@ import io.legado.app.R | 
			
		
	
		
		
			
				
					
					|  |  |  | import io.legado.app.base.VMBaseActivity |  |  |  | import io.legado.app.base.VMBaseActivity | 
			
		
	
		
		
			
				
					
					|  |  |  | import io.legado.app.constant.Bus |  |  |  | import io.legado.app.constant.Bus | 
			
		
	
		
		
			
				
					
					|  |  |  | import io.legado.app.constant.PreferKey |  |  |  | import io.legado.app.constant.PreferKey | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import io.legado.app.help.coroutine.Coroutine | 
			
		
	
		
		
			
				
					
					|  |  |  | import io.legado.app.help.storage.Backup |  |  |  | import io.legado.app.help.storage.Backup | 
			
		
	
		
		
			
				
					
					|  |  |  | import io.legado.app.lib.theme.ATH |  |  |  | import io.legado.app.lib.theme.ATH | 
			
		
	
		
		
			
				
					
					|  |  |  | import io.legado.app.service.BaseReadAloudService |  |  |  | import io.legado.app.service.BaseReadAloudService | 
			
		
	
	
		
		
			
				
					|  |  | @ -27,7 +28,6 @@ import io.legado.app.ui.main.my.MyFragment | 
			
		
	
		
		
			
				
					
					|  |  |  | import io.legado.app.ui.main.rss.RssFragment |  |  |  | import io.legado.app.ui.main.rss.RssFragment | 
			
		
	
		
		
			
				
					
					|  |  |  | import io.legado.app.utils.* |  |  |  | import io.legado.app.utils.* | 
			
		
	
		
		
			
				
					
					|  |  |  | import kotlinx.android.synthetic.main.activity_main.* |  |  |  | import kotlinx.android.synthetic.main.activity_main.* | 
			
		
	
		
		
			
				
					
					|  |  |  | import kotlinx.coroutines.launch |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | class MainActivity : VMBaseActivity<MainViewModel>(R.layout.activity_main), |  |  |  | class MainActivity : VMBaseActivity<MainViewModel>(R.layout.activity_main), | 
			
		
	
		
		
			
				
					
					|  |  |  |     BottomNavigationView.OnNavigationItemSelectedListener, |  |  |  |     BottomNavigationView.OnNavigationItemSelectedListener, | 
			
		
	
	
		
		
			
				
					|  |  | @ -116,20 +116,17 @@ class MainActivity : VMBaseActivity<MainViewModel>(R.layout.activity_main), | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     override fun finish() { |  |  |  |     override fun finish() { | 
			
		
	
		
		
			
				
					
					|  |  |  |         if (!BuildConfig.DEBUG) { |  |  |  |         if (!BuildConfig.DEBUG) { | 
			
		
	
		
		
			
				
					
					|  |  |  |             launch { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             backup() |  |  |  |             backup() | 
			
		
	
		
		
			
				
					
					|  |  |  |                 super.finish() |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |         } else { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         super.finish() |  |  |  |         super.finish() | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     private suspend fun backup() { |  |  |  |     private fun backup() { | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         Coroutine.async { | 
			
		
	
		
		
			
				
					
					|  |  |  |             val backupPath = getPrefString(PreferKey.backupPath) |  |  |  |             val backupPath = getPrefString(PreferKey.backupPath) | 
			
		
	
		
		
			
				
					
					|  |  |  |             if (backupPath?.isNotEmpty() == true) { |  |  |  |             if (backupPath?.isNotEmpty() == true) { | 
			
		
	
		
		
			
				
					
					|  |  |  |                 val uri = Uri.parse(backupPath) |  |  |  |                 val uri = Uri.parse(backupPath) | 
			
		
	
		
		
			
				
					
					|  |  |  |             val doc = DocumentFile.fromTreeUri(this, uri) |  |  |  |                 val doc = DocumentFile.fromTreeUri(this@MainActivity, uri) | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |                 if (doc?.canWrite() == true) { |  |  |  |                 if (doc?.canWrite() == true) { | 
			
		
	
		
		
			
				
					
					|  |  |  |                     Backup.backup(this@MainActivity, uri) |  |  |  |                     Backup.backup(this@MainActivity, uri) | 
			
		
	
		
		
			
				
					
					|  |  |  |                 } |  |  |  |                 } | 
			
		
	
	
		
		
			
				
					|  |  | @ -137,6 +134,7 @@ class MainActivity : VMBaseActivity<MainViewModel>(R.layout.activity_main), | 
			
		
	
		
		
			
				
					
					|  |  |  |                 Backup.backup(this@MainActivity, null) |  |  |  |                 Backup.backup(this@MainActivity, null) | 
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     override fun onDestroy() { |  |  |  |     override fun onDestroy() { | 
			
		
	
		
		
			
				
					
					|  |  |  |         super.onDestroy() |  |  |  |         super.onDestroy() | 
			
		
	
	
		
		
			
				
					|  |  | 
 |