Merge "Add feature flag to Font Scaling Tile" into tm-qpr-dev
This commit is contained in:
@@ -27,6 +27,8 @@ import com.android.systemui.animation.DialogCuj
|
|||||||
import com.android.systemui.animation.DialogLaunchAnimator
|
import com.android.systemui.animation.DialogLaunchAnimator
|
||||||
import com.android.systemui.dagger.qualifiers.Background
|
import com.android.systemui.dagger.qualifiers.Background
|
||||||
import com.android.systemui.dagger.qualifiers.Main
|
import com.android.systemui.dagger.qualifiers.Main
|
||||||
|
import com.android.systemui.flags.FeatureFlags
|
||||||
|
import com.android.systemui.flags.Flags
|
||||||
import com.android.systemui.plugins.ActivityStarter
|
import com.android.systemui.plugins.ActivityStarter
|
||||||
import com.android.systemui.plugins.FalsingManager
|
import com.android.systemui.plugins.FalsingManager
|
||||||
import com.android.systemui.plugins.qs.QSTile
|
import com.android.systemui.plugins.qs.QSTile
|
||||||
@@ -50,7 +52,8 @@ constructor(
|
|||||||
activityStarter: ActivityStarter,
|
activityStarter: ActivityStarter,
|
||||||
qsLogger: QSLogger,
|
qsLogger: QSLogger,
|
||||||
private val dialogLaunchAnimator: DialogLaunchAnimator,
|
private val dialogLaunchAnimator: DialogLaunchAnimator,
|
||||||
private val systemSettings: SystemSettings
|
private val systemSettings: SystemSettings,
|
||||||
|
private val featureFlags: FeatureFlags
|
||||||
) :
|
) :
|
||||||
QSTileImpl<QSTile.State?>(
|
QSTileImpl<QSTile.State?>(
|
||||||
host,
|
host,
|
||||||
@@ -65,7 +68,7 @@ constructor(
|
|||||||
private val icon = ResourceIcon.get(R.drawable.ic_qs_font_scaling)
|
private val icon = ResourceIcon.get(R.drawable.ic_qs_font_scaling)
|
||||||
|
|
||||||
override fun isAvailable(): Boolean {
|
override fun isAvailable(): Boolean {
|
||||||
return false
|
return featureFlags.isEnabled(Flags.ENABLE_FONT_SCALING_TILE)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun newTileState(): QSTile.State {
|
override fun newTileState(): QSTile.State {
|
||||||
|
|||||||
@@ -18,21 +18,30 @@ package com.android.systemui.qs.tiles
|
|||||||
import android.os.Handler
|
import android.os.Handler
|
||||||
import android.testing.AndroidTestingRunner
|
import android.testing.AndroidTestingRunner
|
||||||
import android.testing.TestableLooper
|
import android.testing.TestableLooper
|
||||||
|
import android.view.View
|
||||||
import androidx.test.filters.SmallTest
|
import androidx.test.filters.SmallTest
|
||||||
import com.android.internal.logging.MetricsLogger
|
import com.android.internal.logging.MetricsLogger
|
||||||
|
import com.android.internal.logging.UiEventLogger
|
||||||
import com.android.systemui.SysuiTestCase
|
import com.android.systemui.SysuiTestCase
|
||||||
import com.android.systemui.animation.DialogLaunchAnimator
|
import com.android.systemui.animation.DialogLaunchAnimator
|
||||||
import com.android.systemui.classifier.FalsingManagerFake
|
import com.android.systemui.classifier.FalsingManagerFake
|
||||||
|
import com.android.systemui.flags.FakeFeatureFlags
|
||||||
|
import com.android.systemui.flags.Flags
|
||||||
import com.android.systemui.plugins.ActivityStarter
|
import com.android.systemui.plugins.ActivityStarter
|
||||||
import com.android.systemui.plugins.statusbar.StatusBarStateController
|
import com.android.systemui.plugins.statusbar.StatusBarStateController
|
||||||
import com.android.systemui.qs.QSTileHost
|
import com.android.systemui.qs.QSTileHost
|
||||||
import com.android.systemui.qs.logging.QSLogger
|
import com.android.systemui.qs.logging.QSLogger
|
||||||
|
import com.android.systemui.util.mockito.any
|
||||||
|
import com.android.systemui.util.mockito.eq
|
||||||
|
import com.android.systemui.util.mockito.nullable
|
||||||
import com.android.systemui.util.settings.FakeSettings
|
import com.android.systemui.util.settings.FakeSettings
|
||||||
import com.google.common.truth.Truth.assertThat
|
import com.google.common.truth.Truth.assertThat
|
||||||
import org.junit.Before
|
import org.junit.Before
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
import org.junit.runner.RunWith
|
import org.junit.runner.RunWith
|
||||||
import org.mockito.Mock
|
import org.mockito.Mock
|
||||||
|
import org.mockito.Mockito.anyBoolean
|
||||||
|
import org.mockito.Mockito.verify
|
||||||
import org.mockito.Mockito.`when`
|
import org.mockito.Mockito.`when`
|
||||||
import org.mockito.MockitoAnnotations
|
import org.mockito.MockitoAnnotations
|
||||||
|
|
||||||
@@ -46,15 +55,20 @@ class FontScalingTileTest : SysuiTestCase() {
|
|||||||
@Mock private lateinit var activityStarter: ActivityStarter
|
@Mock private lateinit var activityStarter: ActivityStarter
|
||||||
@Mock private lateinit var qsLogger: QSLogger
|
@Mock private lateinit var qsLogger: QSLogger
|
||||||
@Mock private lateinit var dialogLaunchAnimator: DialogLaunchAnimator
|
@Mock private lateinit var dialogLaunchAnimator: DialogLaunchAnimator
|
||||||
|
@Mock private lateinit var uiEventLogger: UiEventLogger
|
||||||
|
|
||||||
private lateinit var testableLooper: TestableLooper
|
private lateinit var testableLooper: TestableLooper
|
||||||
private lateinit var fontScalingTile: FontScalingTile
|
private lateinit var fontScalingTile: FontScalingTile
|
||||||
|
|
||||||
|
val featureFlags = FakeFeatureFlags()
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
fun setUp() {
|
fun setUp() {
|
||||||
MockitoAnnotations.initMocks(this)
|
MockitoAnnotations.initMocks(this)
|
||||||
testableLooper = TestableLooper.get(this)
|
testableLooper = TestableLooper.get(this)
|
||||||
`when`(qsHost.getContext()).thenReturn(mContext)
|
`when`(qsHost.getContext()).thenReturn(mContext)
|
||||||
|
`when`(qsHost.uiEventLogger).thenReturn(uiEventLogger)
|
||||||
|
|
||||||
fontScalingTile =
|
fontScalingTile =
|
||||||
FontScalingTile(
|
FontScalingTile(
|
||||||
qsHost,
|
qsHost,
|
||||||
@@ -66,15 +80,37 @@ class FontScalingTileTest : SysuiTestCase() {
|
|||||||
activityStarter,
|
activityStarter,
|
||||||
qsLogger,
|
qsLogger,
|
||||||
dialogLaunchAnimator,
|
dialogLaunchAnimator,
|
||||||
FakeSettings()
|
FakeSettings(),
|
||||||
|
featureFlags
|
||||||
)
|
)
|
||||||
fontScalingTile.initialize()
|
fontScalingTile.initialize()
|
||||||
|
testableLooper.processAllMessages()
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun isNotAvailable_whenNotSupportedDevice_returnsFalse() {
|
fun isAvailable_whenFlagIsFalse_returnsFalse() {
|
||||||
|
featureFlags.set(Flags.ENABLE_FONT_SCALING_TILE, false)
|
||||||
|
|
||||||
val isAvailable = fontScalingTile.isAvailable()
|
val isAvailable = fontScalingTile.isAvailable()
|
||||||
|
|
||||||
assertThat(isAvailable).isFalse()
|
assertThat(isAvailable).isFalse()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun isAvailable_whenFlagIsTrue_returnsTrue() {
|
||||||
|
featureFlags.set(Flags.ENABLE_FONT_SCALING_TILE, true)
|
||||||
|
|
||||||
|
val isAvailable = fontScalingTile.isAvailable()
|
||||||
|
|
||||||
|
assertThat(isAvailable).isTrue()
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun clickTile_showDialog() {
|
||||||
|
val view = View(context)
|
||||||
|
fontScalingTile.click(view)
|
||||||
|
testableLooper.processAllMessages()
|
||||||
|
|
||||||
|
verify(dialogLaunchAnimator).showFromView(any(), eq(view), nullable(), anyBoolean())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user