|  |  |  | @ -1,10 +1,15 @@ | 
			
		
	
		
			
				
					|  |  |  |  | package io.legado.app.ui.book.bookmark | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | import android.os.Bundle | 
			
		
	
		
			
				
					|  |  |  |  | import android.view.Menu | 
			
		
	
		
			
				
					|  |  |  |  | import android.view.MenuItem | 
			
		
	
		
			
				
					|  |  |  |  | import androidx.activity.viewModels | 
			
		
	
		
			
				
					|  |  |  |  | import io.legado.app.R | 
			
		
	
		
			
				
					|  |  |  |  | import io.legado.app.base.VMBaseActivity | 
			
		
	
		
			
				
					|  |  |  |  | import io.legado.app.data.entities.Bookmark | 
			
		
	
		
			
				
					|  |  |  |  | import io.legado.app.databinding.ActivityAllBookmarkBinding | 
			
		
	
		
			
				
					|  |  |  |  | import io.legado.app.ui.document.HandleFileContract | 
			
		
	
		
			
				
					|  |  |  |  | import io.legado.app.utils.launch | 
			
		
	
		
			
				
					|  |  |  |  | import io.legado.app.utils.showDialogFragment | 
			
		
	
		
			
				
					|  |  |  |  | import io.legado.app.utils.viewbindingdelegate.viewBinding | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  |  | @ -17,6 +22,11 @@ class AllBookmarkActivity : VMBaseActivity<ActivityAllBookmarkBinding, AllBookma | 
			
		
	
		
			
				
					|  |  |  |  |     private val adapter by lazy { | 
			
		
	
		
			
				
					|  |  |  |  |         BookmarkAdapter(this, this) | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  |     private val exportDir = registerForActivityResult(HandleFileContract()) { | 
			
		
	
		
			
				
					|  |  |  |  |         it.uri?.let { uri -> | 
			
		
	
		
			
				
					|  |  |  |  |             viewModel.saveToFile(uri) | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     override fun onActivityCreated(savedInstanceState: Bundle?) { | 
			
		
	
		
			
				
					|  |  |  |  |         initView() | 
			
		
	
	
		
			
				
					|  |  |  | @ -30,6 +40,18 @@ class AllBookmarkActivity : VMBaseActivity<ActivityAllBookmarkBinding, AllBookma | 
			
		
	
		
			
				
					|  |  |  |  |         binding.recyclerView.adapter = adapter | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     override fun onCompatCreateOptionsMenu(menu: Menu): Boolean { | 
			
		
	
		
			
				
					|  |  |  |  |         menuInflater.inflate(R.menu.bookmark, menu) | 
			
		
	
		
			
				
					|  |  |  |  |         return super.onCompatCreateOptionsMenu(menu) | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     override fun onCompatOptionsItemSelected(item: MenuItem): Boolean { | 
			
		
	
		
			
				
					|  |  |  |  |         when (item.itemId) { | 
			
		
	
		
			
				
					|  |  |  |  |             R.id.menu_export -> exportDir.launch() | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |         return super.onCompatOptionsItemSelected(item) | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     override fun onItemClick(bookmark: Bookmark, position: Int) { | 
			
		
	
		
			
				
					|  |  |  |  |         showDialogFragment(BookmarkDialog(bookmark, position)) | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
	
		
			
				
					|  |  |  | @ -44,4 +66,5 @@ class AllBookmarkActivity : VMBaseActivity<ActivityAllBookmarkBinding, AllBookma | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |         adapter.removeItem(pos) | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | } |