diff --git a/res/xml/network_provider_internet.xml b/res/xml/network_provider_internet.xml index 292f1824552..1437db67da5 100644 --- a/res/xml/network_provider_internet.xml +++ b/res/xml/network_provider_internet.xml @@ -56,7 +56,7 @@ settings:controller="com.android.settings.network.MobileNetworkSummaryController" /> () + private val mockResources = mock() + + private val context = + object : ContextWrapper(ApplicationProvider.getApplicationContext()) { + override fun getPackageManager(): PackageManager = mockPackageManager + + override fun getResources(): Resources = mockResources + } + + private val airplaneModePreference = AirplaneModePreference() + + @Test + fun isAvailable_hasConfigAndNoFeatureLeanback_shouldReturnTrue() { + mockResources.stub { on { getBoolean(anyInt()) } doReturn true } + mockPackageManager.stub { on { hasSystemFeature(FEATURE_LEANBACK) } doReturn false } + + assertThat(airplaneModePreference.isAvailable(context)).isTrue() + } + + @Test + fun isAvailable_noConfig_shouldReturnFalse() { + mockResources.stub { on { getBoolean(anyInt()) } doReturn false } + mockPackageManager.stub { on { hasSystemFeature(FEATURE_LEANBACK) } doReturn false } + + assertThat(airplaneModePreference.isAvailable(context)).isFalse() + } + + @Test + fun isAvailable_hasFeatureLeanback_shouldReturnFalse() { + mockResources.stub { on { getBoolean(anyInt()) } doReturn true } + mockPackageManager.stub { on { hasSystemFeature(FEATURE_LEANBACK) } doReturn true } + + assertThat(airplaneModePreference.isAvailable(context)).isFalse() + } +} diff --git a/tests/unit/src/com/android/settings/network/VpnPreferenceControllerTest.java b/tests/unit/src/com/android/settings/network/VpnPreferenceControllerTest.java index ee239ba84a1..7a6a99af8e5 100644 --- a/tests/unit/src/com/android/settings/network/VpnPreferenceControllerTest.java +++ b/tests/unit/src/com/android/settings/network/VpnPreferenceControllerTest.java @@ -34,7 +34,6 @@ import android.net.VpnManager; import android.os.Looper; import android.os.UserHandle; import android.provider.Settings; -import android.provider.SettingsSlicesContract; import androidx.lifecycle.LifecycleOwner; import androidx.preference.Preference; @@ -102,7 +101,7 @@ public class VpnPreferenceControllerTest { controller.displayPreference(mScreen); - verify(mPreference).setDependency(SettingsSlicesContract.KEY_AIRPLANE_MODE); + verify(mPreference).setDependency(Settings.Global.AIRPLANE_MODE_ON); } @Test