mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-31 06:17:57 +01:00 
			
		
		
		
	Migrate to ViewBinding in ReaderActivity
This commit is contained in:
		| @@ -29,6 +29,7 @@ import eu.kanade.tachiyomi.data.notification.NotificationReceiver | ||||
| import eu.kanade.tachiyomi.data.notification.Notifications | ||||
| import eu.kanade.tachiyomi.data.preference.PreferencesHelper | ||||
| import eu.kanade.tachiyomi.data.preference.getOrDefault | ||||
| import eu.kanade.tachiyomi.databinding.ReaderActivityBinding | ||||
| import eu.kanade.tachiyomi.ui.base.activity.BaseRxActivity | ||||
| import eu.kanade.tachiyomi.ui.reader.ReaderPresenter.SetAsCoverResult.AddToLibraryFirst | ||||
| import eu.kanade.tachiyomi.ui.reader.ReaderPresenter.SetAsCoverResult.Error | ||||
| @@ -56,19 +57,6 @@ import eu.kanade.tachiyomi.widget.SimpleSeekBarListener | ||||
| import java.io.File | ||||
| import java.util.concurrent.TimeUnit | ||||
| import kotlin.math.abs | ||||
| import kotlinx.android.synthetic.main.reader_activity.brightness_overlay | ||||
| import kotlinx.android.synthetic.main.reader_activity.color_overlay | ||||
| import kotlinx.android.synthetic.main.reader_activity.left_chapter | ||||
| import kotlinx.android.synthetic.main.reader_activity.left_page_text | ||||
| import kotlinx.android.synthetic.main.reader_activity.page_number | ||||
| import kotlinx.android.synthetic.main.reader_activity.page_seekbar | ||||
| import kotlinx.android.synthetic.main.reader_activity.please_wait | ||||
| import kotlinx.android.synthetic.main.reader_activity.reader_menu | ||||
| import kotlinx.android.synthetic.main.reader_activity.reader_menu_bottom | ||||
| import kotlinx.android.synthetic.main.reader_activity.right_chapter | ||||
| import kotlinx.android.synthetic.main.reader_activity.right_page_text | ||||
| import kotlinx.android.synthetic.main.reader_activity.toolbar | ||||
| import kotlinx.android.synthetic.main.reader_activity.viewer_container | ||||
| import nucleus.factory.RequiresPresenter | ||||
| import rx.Observable | ||||
| import rx.Subscription | ||||
| @@ -114,6 +102,8 @@ class ReaderActivity : BaseRxActivity<ReaderPresenter>() { | ||||
|     @Suppress("DEPRECATION") | ||||
|     private var progressDialog: ProgressDialog? = null | ||||
|  | ||||
|     private lateinit var binding: ReaderActivityBinding | ||||
|  | ||||
|     companion object { | ||||
|         @Suppress("unused") | ||||
|         const val LEFT_TO_RIGHT = 1 | ||||
| @@ -142,7 +132,9 @@ class ReaderActivity : BaseRxActivity<ReaderPresenter>() { | ||||
|             else -> R.style.Theme_Reader | ||||
|         }) | ||||
|         super.onCreate(savedInstanceState) | ||||
|         setContentView(R.layout.reader_activity) | ||||
|  | ||||
|         binding = ReaderActivityBinding.inflate(layoutInflater) | ||||
|         setContentView(binding.root) | ||||
|  | ||||
|         if (presenter.needsInit()) { | ||||
|             val manga = intent.extras!!.getLong("manga", -1) | ||||
| @@ -265,15 +257,15 @@ class ReaderActivity : BaseRxActivity<ReaderPresenter>() { | ||||
|      */ | ||||
|     private fun initializeMenu() { | ||||
|         // Set toolbar | ||||
|         setSupportActionBar(toolbar) | ||||
|         setSupportActionBar(binding.toolbar) | ||||
|         supportActionBar?.setDisplayHomeAsUpEnabled(true) | ||||
|         toolbar.setNavigationOnClickListener { | ||||
|         binding.toolbar.setNavigationOnClickListener { | ||||
|             onBackPressed() | ||||
|         } | ||||
|  | ||||
|         ViewCompat.setOnApplyWindowInsetsListener(reader_menu) { _, insets -> | ||||
|         ViewCompat.setOnApplyWindowInsetsListener(binding.readerMenu) { _, insets -> | ||||
|             if (!window.isDefaultBar()) { | ||||
|                 reader_menu.setPadding( | ||||
|                 binding.readerMenu.setPadding( | ||||
|                         insets.systemWindowInsetLeft, | ||||
|                         insets.systemWindowInsetTop, | ||||
|                         insets.systemWindowInsetRight, | ||||
| @@ -283,14 +275,14 @@ class ReaderActivity : BaseRxActivity<ReaderPresenter>() { | ||||
|         } | ||||
|  | ||||
|         // Init listeners on bottom menu | ||||
|         page_seekbar.setOnSeekBarChangeListener(object : SimpleSeekBarListener() { | ||||
|         binding.pageSeekbar.setOnSeekBarChangeListener(object : SimpleSeekBarListener() { | ||||
|             override fun onProgressChanged(seekBar: SeekBar, value: Int, fromUser: Boolean) { | ||||
|                 if (viewer != null && fromUser) { | ||||
|                     moveToPageIndex(value) | ||||
|                 } | ||||
|             } | ||||
|         }) | ||||
|         left_chapter.setOnClickListener { | ||||
|         binding.leftChapter.setOnClickListener { | ||||
|             if (viewer != null) { | ||||
|                 if (viewer is R2LPagerViewer) | ||||
|                     loadNextChapter() | ||||
| @@ -298,7 +290,7 @@ class ReaderActivity : BaseRxActivity<ReaderPresenter>() { | ||||
|                     loadPreviousChapter() | ||||
|             } | ||||
|         } | ||||
|         right_chapter.setOnClickListener { | ||||
|         binding.rightChapter.setOnClickListener { | ||||
|             if (viewer != null) { | ||||
|                 if (viewer is R2LPagerViewer) | ||||
|                     loadPreviousChapter() | ||||
| @@ -323,7 +315,7 @@ class ReaderActivity : BaseRxActivity<ReaderPresenter>() { | ||||
|             } else { | ||||
|                 resetDefaultMenuAndBar() | ||||
|             } | ||||
|             reader_menu.visible() | ||||
|             binding.readerMenu.visible() | ||||
|  | ||||
|             if (animate) { | ||||
|                 val toolbarAnimation = AnimationUtils.loadAnimation(this, R.anim.enter_from_top) | ||||
| @@ -333,10 +325,10 @@ class ReaderActivity : BaseRxActivity<ReaderPresenter>() { | ||||
|                         window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS) | ||||
|                     } | ||||
|                 }) | ||||
|                 toolbar.startAnimation(toolbarAnimation) | ||||
|                 binding.toolbar.startAnimation(toolbarAnimation) | ||||
|  | ||||
|                 val bottomAnimation = AnimationUtils.loadAnimation(this, R.anim.enter_from_bottom) | ||||
|                 reader_menu_bottom.startAnimation(bottomAnimation) | ||||
|                 binding.readerMenuBottom.startAnimation(bottomAnimation) | ||||
|             } | ||||
|  | ||||
|             if (preferences.showPageNumber().getOrDefault()) { | ||||
| @@ -353,13 +345,13 @@ class ReaderActivity : BaseRxActivity<ReaderPresenter>() { | ||||
|                 val toolbarAnimation = AnimationUtils.loadAnimation(this, R.anim.exit_to_top) | ||||
|                 toolbarAnimation.setAnimationListener(object : SimpleAnimationListener() { | ||||
|                     override fun onAnimationEnd(animation: Animation) { | ||||
|                         reader_menu.gone() | ||||
|                         binding.readerMenu.gone() | ||||
|                     } | ||||
|                 }) | ||||
|                 toolbar.startAnimation(toolbarAnimation) | ||||
|                 binding.toolbar.startAnimation(toolbarAnimation) | ||||
|  | ||||
|                 val bottomAnimation = AnimationUtils.loadAnimation(this, R.anim.exit_to_bottom) | ||||
|                 reader_menu_bottom.startAnimation(bottomAnimation) | ||||
|                 binding.readerMenuBottom.startAnimation(bottomAnimation) | ||||
|             } | ||||
|  | ||||
|             if (preferences.showPageNumber().getOrDefault()) { | ||||
| @@ -372,7 +364,7 @@ class ReaderActivity : BaseRxActivity<ReaderPresenter>() { | ||||
|      * Reset menu padding and system bar | ||||
|      */ | ||||
|     private fun resetDefaultMenuAndBar() { | ||||
|         reader_menu.setPadding(0, 0, 0, 0) | ||||
|         binding.readerMenu.setPadding(0, 0, 0, 0) | ||||
|         window.defaultBar() | ||||
|     } | ||||
|  | ||||
| @@ -393,17 +385,17 @@ class ReaderActivity : BaseRxActivity<ReaderPresenter>() { | ||||
|         // Destroy previous viewer if there was one | ||||
|         if (prevViewer != null) { | ||||
|             prevViewer.destroy() | ||||
|             viewer_container.removeAllViews() | ||||
|             binding.viewerContainer.removeAllViews() | ||||
|         } | ||||
|         viewer = newViewer | ||||
|         viewer_container.addView(newViewer.getView()) | ||||
|         binding.viewerContainer.addView(newViewer.getView()) | ||||
|  | ||||
|         toolbar.title = manga.title | ||||
|         binding.toolbar.title = manga.title | ||||
|  | ||||
|         page_seekbar.isRTL = newViewer is R2LPagerViewer | ||||
|         binding.pageSeekbar.isRTL = newViewer is R2LPagerViewer | ||||
|  | ||||
|         please_wait.visible() | ||||
|         please_wait.startAnimation(AnimationUtils.loadAnimation(this, R.anim.fade_in_long)) | ||||
|         binding.pleaseWait.visible() | ||||
|         binding.pleaseWait.startAnimation(AnimationUtils.loadAnimation(this, R.anim.fade_in_long)) | ||||
|     } | ||||
|  | ||||
|     /** | ||||
| @@ -411,9 +403,9 @@ class ReaderActivity : BaseRxActivity<ReaderPresenter>() { | ||||
|      * method to the current viewer, but also set the subtitle on the toolbar. | ||||
|      */ | ||||
|     fun setChapters(viewerChapters: ViewerChapters) { | ||||
|         please_wait.gone() | ||||
|         binding.pleaseWait.gone() | ||||
|         viewer?.setChapters(viewerChapters) | ||||
|         toolbar.subtitle = viewerChapters.currChapter.chapter.name | ||||
|         binding.toolbar.subtitle = viewerChapters.currChapter.chapter.name | ||||
|  | ||||
|         // Invalidate menu to show proper chapter bookmark state | ||||
|         invalidateOptionsMenu() | ||||
| @@ -482,20 +474,20 @@ class ReaderActivity : BaseRxActivity<ReaderPresenter>() { | ||||
|         val pages = page.chapter.pages ?: return | ||||
|  | ||||
|         // Set bottom page number | ||||
|         page_number.text = "${page.number}/${pages.size}" | ||||
|         binding.pageNumber.text = "${page.number}/${pages.size}" | ||||
|  | ||||
|         // Set seekbar page number | ||||
|         if (viewer !is R2LPagerViewer) { | ||||
|             left_page_text.text = "${page.number}" | ||||
|             right_page_text.text = "${pages.size}" | ||||
|             binding.leftPageText.text = "${page.number}" | ||||
|             binding.rightPageText.text = "${pages.size}" | ||||
|         } else { | ||||
|             right_page_text.text = "${page.number}" | ||||
|             left_page_text.text = "${pages.size}" | ||||
|             binding.rightPageText.text = "${page.number}" | ||||
|             binding.leftPageText.text = "${pages.size}" | ||||
|         } | ||||
|  | ||||
|         // Set seekbar progress | ||||
|         page_seekbar.max = pages.lastIndex | ||||
|         page_seekbar.progress = page.index | ||||
|         binding.pageSeekbar.max = pages.lastIndex | ||||
|         binding.pageSeekbar.progress = page.index | ||||
|     } | ||||
|  | ||||
|     /** | ||||
| @@ -696,7 +688,7 @@ class ReaderActivity : BaseRxActivity<ReaderPresenter>() { | ||||
|          * Sets the visibility of the bottom page indicator according to [visible]. | ||||
|          */ | ||||
|         fun setPageNumberVisibility(visible: Boolean) { | ||||
|             page_number.visibility = if (visible) View.VISIBLE else View.INVISIBLE | ||||
|             binding.pageNumber.visibility = if (visible) View.VISIBLE else View.INVISIBLE | ||||
|         } | ||||
|  | ||||
|         /** | ||||
| @@ -756,7 +748,7 @@ class ReaderActivity : BaseRxActivity<ReaderPresenter>() { | ||||
|                 subscriptions.add(customFilterColorSubscription) | ||||
|             } else { | ||||
|                 customFilterColorSubscription?.let { subscriptions.remove(it) } | ||||
|                 color_overlay.gone() | ||||
|                 binding.colorOverlay.gone() | ||||
|             } | ||||
|         } | ||||
|  | ||||
| @@ -782,11 +774,11 @@ class ReaderActivity : BaseRxActivity<ReaderPresenter>() { | ||||
|  | ||||
|             // Set black overlay visibility. | ||||
|             if (value < 0) { | ||||
|                 brightness_overlay.visible() | ||||
|                 binding.brightnessOverlay.visible() | ||||
|                 val alpha = (abs(value) * 2.56).toInt() | ||||
|                 brightness_overlay.setBackgroundColor(Color.argb(alpha, 0, 0, 0)) | ||||
|                 binding.brightnessOverlay.setBackgroundColor(Color.argb(alpha, 0, 0, 0)) | ||||
|             } else { | ||||
|                 brightness_overlay.gone() | ||||
|                 binding.brightnessOverlay.gone() | ||||
|             } | ||||
|         } | ||||
|  | ||||
| @@ -794,8 +786,8 @@ class ReaderActivity : BaseRxActivity<ReaderPresenter>() { | ||||
|          * Sets the color filter [value]. | ||||
|          */ | ||||
|         private fun setColorFilterValue(value: Int) { | ||||
|             color_overlay.visible() | ||||
|             color_overlay.setFilterColor(value, preferences.colorFilterMode().getOrDefault()) | ||||
|             binding.colorOverlay.visible() | ||||
|             binding.colorOverlay.setFilterColor(value, preferences.colorFilterMode().getOrDefault()) | ||||
|         } | ||||
|     } | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user