From 5a1ecb81f56cb463d80dc98b16b1a7a1e4f1d198 Mon Sep 17 00:00:00 2001 From: mcarare <48995920+mcarare@users.noreply.github.com> Date: Wed, 3 May 2023 15:30:22 +0300 Subject: [PATCH] Bug 1831083 - Refactor DefaultReaderModeController to improve testing. --- .../readermode/ReaderModeController.kt | 30 +++++++++++-------- .../DefaultReaderModeControllerTest.kt | 24 ++++++++++----- 2 files changed, 34 insertions(+), 20 deletions(-) diff --git a/app/src/main/java/org/mozilla/fenix/browser/readermode/ReaderModeController.kt b/app/src/main/java/org/mozilla/fenix/browser/readermode/ReaderModeController.kt index cfb2081d3f..72d99b04ec 100644 --- a/app/src/main/java/org/mozilla/fenix/browser/readermode/ReaderModeController.kt +++ b/app/src/main/java/org/mozilla/fenix/browser/readermode/ReaderModeController.kt @@ -8,6 +8,7 @@ import android.view.View import android.widget.Button import android.widget.RadioButton import androidx.appcompat.content.res.AppCompatResources +import com.google.android.gms.common.util.VisibleForTesting import mozilla.components.feature.readerview.ReaderViewFeature import mozilla.components.support.base.feature.ViewBoundFeatureWrapper import org.mozilla.fenix.R @@ -27,6 +28,21 @@ class DefaultReaderModeController( private val isPrivate: Boolean = false, private val onReaderModeChanged: () -> Unit = {}, ) : ReaderModeController { + + @VisibleForTesting + internal val privateButtonColor + get() = AppCompatResources.getColorStateList( + readerViewControlsBar.context, + R.color.readerview_private_button_color, + ) + + @VisibleForTesting + internal val privateRadioButtonColor + get() = AppCompatResources.getColorStateList( + readerViewControlsBar.context, + R.color.readerview_private_radio_color, + ) + override fun hideReaderView() { onReaderModeChanged() readerViewFeature.withFeature { @@ -56,12 +72,7 @@ class DefaultReaderModeController( ).map { findViewById