[Catalyst] Make AirplaneModePreference final

NO_IFTTT=Catalyst only

Bug: 375925972
Flag: TEST_ONLY
Test: atest
Change-Id: Ieea0e0e770d93d8bbe6f1f7a608541d5ba42c9cc
This commit is contained in:
Jacky Wang
2024-12-06 21:55:48 +08:00
parent aa2379967c
commit 858fbdb759
2 changed files with 10 additions and 16 deletions

View File

@@ -45,14 +45,12 @@ import com.android.settingslib.metadata.PreferenceLifecycleProvider
import com.android.settingslib.metadata.ReadWritePermit import com.android.settingslib.metadata.ReadWritePermit
import com.android.settingslib.metadata.SensitivityLevel import com.android.settingslib.metadata.SensitivityLevel
import com.android.settingslib.metadata.SwitchPreference import com.android.settingslib.metadata.SwitchPreference
import com.android.settingslib.preference.SwitchPreferenceBinding
import java.util.concurrent.Executors import java.util.concurrent.Executors
import java.util.concurrent.TimeUnit import java.util.concurrent.TimeUnit
// LINT.IfChange // LINT.IfChange
open class AirplaneModePreference : class AirplaneModePreference :
SwitchPreference(KEY, R.string.airplane_mode), SwitchPreference(KEY, R.string.airplane_mode),
SwitchPreferenceBinding,
PreferenceAvailabilityProvider, PreferenceAvailabilityProvider,
PreferenceLifecycleProvider, PreferenceLifecycleProvider,
PreferenceRestrictionMixin { PreferenceRestrictionMixin {

View File

@@ -16,13 +16,13 @@
package com.android.settings.network package com.android.settings.network
import android.content.Context
import android.content.ContextWrapper import android.content.ContextWrapper
import android.content.pm.PackageManager import android.content.pm.PackageManager
import android.content.pm.PackageManager.FEATURE_LEANBACK import android.content.pm.PackageManager.FEATURE_LEANBACK
import android.content.res.Resources import android.content.res.Resources
import android.provider.Settings import android.provider.Settings
import android.telephony.TelephonyManager import android.telephony.TelephonyManager
import androidx.annotation.DrawableRes
import androidx.preference.SwitchPreferenceCompat import androidx.preference.SwitchPreferenceCompat
import androidx.test.core.app.ApplicationProvider import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.ext.junit.runners.AndroidJUnit4
@@ -37,14 +37,15 @@ import org.mockito.kotlin.mock
import org.mockito.kotlin.stub import org.mockito.kotlin.stub
@RunWith(AndroidJUnit4::class) @RunWith(AndroidJUnit4::class)
open class AirplaneModePreferenceTest { class AirplaneModePreferenceTest {
private val mockResources = mock<Resources>() private val mockResources = mock<Resources>()
private val mockPackageManager = mock<PackageManager>() private val mockPackageManager = mock<PackageManager>()
private var mockTelephonyManager = mock<TelephonyManager>() private var mockTelephonyManager = mock<TelephonyManager>()
private val context = private val context = ApplicationProvider.getApplicationContext<Context>()
object : ContextWrapper(ApplicationProvider.getApplicationContext()) { private val contextWrapper =
object : ContextWrapper(context) {
override fun getResources(): Resources = mockResources override fun getResources(): Resources = mockResources
override fun getPackageManager(): PackageManager = mockPackageManager override fun getPackageManager(): PackageManager = mockPackageManager
@@ -56,19 +57,14 @@ open class AirplaneModePreferenceTest {
} }
} }
private var airplaneModePreference = private val airplaneModePreference = AirplaneModePreference()
object : AirplaneModePreference() {
// TODO: Remove override
override val icon: Int
@DrawableRes get() = 0
}
@Test @Test
fun isAvailable_hasConfigAndNoFeatureLeanback_shouldReturnTrue() { fun isAvailable_hasConfigAndNoFeatureLeanback_shouldReturnTrue() {
mockResources.stub { on { getBoolean(anyInt()) } doReturn true } mockResources.stub { on { getBoolean(anyInt()) } doReturn true }
mockPackageManager.stub { on { hasSystemFeature(FEATURE_LEANBACK) } doReturn false } mockPackageManager.stub { on { hasSystemFeature(FEATURE_LEANBACK) } doReturn false }
assertThat(airplaneModePreference.isAvailable(context)).isTrue() assertThat(airplaneModePreference.isAvailable(contextWrapper)).isTrue()
} }
@Test @Test
@@ -76,7 +72,7 @@ open class AirplaneModePreferenceTest {
mockResources.stub { on { getBoolean(anyInt()) } doReturn false } mockResources.stub { on { getBoolean(anyInt()) } doReturn false }
mockPackageManager.stub { on { hasSystemFeature(FEATURE_LEANBACK) } doReturn false } mockPackageManager.stub { on { hasSystemFeature(FEATURE_LEANBACK) } doReturn false }
assertThat(airplaneModePreference.isAvailable(context)).isFalse() assertThat(airplaneModePreference.isAvailable(contextWrapper)).isFalse()
} }
@Test @Test
@@ -84,7 +80,7 @@ open class AirplaneModePreferenceTest {
mockResources.stub { on { getBoolean(anyInt()) } doReturn true } mockResources.stub { on { getBoolean(anyInt()) } doReturn true }
mockPackageManager.stub { on { hasSystemFeature(FEATURE_LEANBACK) } doReturn true } mockPackageManager.stub { on { hasSystemFeature(FEATURE_LEANBACK) } doReturn true }
assertThat(airplaneModePreference.isAvailable(context)).isFalse() assertThat(airplaneModePreference.isAvailable(contextWrapper)).isFalse()
} }
@Test @Test