Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9142c94e authored by Jacky Wang's avatar Jacky Wang
Browse files

[Catalyst] Fix catalyst tests after dumping isVisible

NO_IFTTT=Catalyst only

Bug: 370394101
Flag: TEST_ONLY
Test: atest
Change-Id: I4d67d63b72c5f534a74af157fd434e8be51b0f31
parent f60eb83f
Loading
Loading
Loading
Loading
+16 −12
Original line number Diff line number Diff line
@@ -21,33 +21,30 @@ import android.content.res.Resources
import android.media.AudioManager
import android.os.Vibrator
import androidx.core.content.getSystemService
import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4
import com.android.settings.R
import com.android.settings.R.integer.config_vibration_supported_intensity_levels
import com.android.settings.flags.Flags
import com.android.settings.testutils.shadow.SettingsShadowResources
import com.android.settings.testutils.shadow.ShadowAudioManager
import com.android.settingslib.preference.CatalystScreenTestCase
import com.google.common.truth.Truth.assertThat
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.kotlin.doReturn
import org.mockito.kotlin.mock
import org.mockito.kotlin.spy
import org.mockito.kotlin.stub
import org.robolectric.Shadows.shadowOf
import org.robolectric.annotation.Config

// LINT.IfChange
@RunWith(AndroidJUnit4::class)
@Config(shadows = [ShadowAudioManager::class])
@Config(shadows = [ShadowAudioManager::class, SettingsShadowResources::class])
class VibrationIntensityScreenTest : CatalystScreenTestCase() {
    private lateinit var vibratorMock: Vibrator

    private val resourcesSpy: Resources =
        spy((ApplicationProvider.getApplicationContext() as Context).resources)
    private val resourcesSpy: Resources = spy(appContext.resources)

    private val context: Context =
        object : ContextWrapper(ApplicationProvider.getApplicationContext()) {
        object : ContextWrapper(appContext) {
            override fun getSystemService(name: String): Any? =
                when {
                    name == VIBRATOR_SERVICE -> vibratorMock
@@ -76,7 +73,7 @@ class VibrationIntensityScreenTest : CatalystScreenTestCase() {
    fun isAvailable_noVibrator_unavailable() {
        vibratorMock = mock { on { hasVibrator() } doReturn false }
        resourcesSpy.stub {
            on { getInteger(R.integer.config_vibration_supported_intensity_levels) } doReturn 3
            on { getInteger(config_vibration_supported_intensity_levels) } doReturn 3
        }
        assertThat(preferenceScreenCreator.isAvailable(context)).isFalse()
    }
@@ -85,7 +82,7 @@ class VibrationIntensityScreenTest : CatalystScreenTestCase() {
    fun isAvailable_hasVibratorAndSingleIntensityLevel_unavailable() {
        vibratorMock = mock { on { hasVibrator() } doReturn true }
        resourcesSpy.stub {
            on { getInteger(R.integer.config_vibration_supported_intensity_levels) } doReturn 1
            on { getInteger(config_vibration_supported_intensity_levels) } doReturn 1
        }
        assertThat(preferenceScreenCreator.isAvailable(context)).isFalse()
    }
@@ -94,11 +91,18 @@ class VibrationIntensityScreenTest : CatalystScreenTestCase() {
    fun isAvailable_hasVibratorAndMultipleIntensityLevels_available() {
        vibratorMock = mock { on { hasVibrator() } doReturn true }
        resourcesSpy.stub {
            on { getInteger(R.integer.config_vibration_supported_intensity_levels) } doReturn 2
            on { getInteger(config_vibration_supported_intensity_levels) } doReturn 2
        }
        assertThat(preferenceScreenCreator.isAvailable(context)).isTrue()
    }

    override fun migration() {
        // make screen available
        shadowOf(appContext.getSystemService(Vibrator::class.java)).setHasVibrator(true)
        SettingsShadowResources.overrideResource(config_vibration_supported_intensity_levels, 2)
        super.migration()
    }

    private fun setRingerMode(ringerMode: Int) {
        val audioManager = context.getSystemService<AudioManager>()
        audioManager?.ringerModeInternal = ringerMode
+3 −0
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@
package com.android.settings.network

import android.content.Context
import android.content.pm.PackageManager.FEATURE_TELEPHONY
import android.platform.test.annotations.DisableFlags
import android.telephony.SubscriptionInfo
import android.telephony.SubscriptionManager
@@ -48,6 +49,8 @@ class MobileNetworkListScreenTest : CatalystScreenTestCase() {
            shadowOf(context.getSystemService(SubscriptionManager::class.java))
        val subscriptionInfo: SubscriptionInfo = mock()
        subscriptionManager.setAvailableSubscriptionInfos(subscriptionInfo)
        // make screen available
        shadowOf(context.packageManager).setSystemFeature(FEATURE_TELEPHONY, true)
        super.migration()
    }
}