[Catalyst] Make AirplaneModePreference final
NO_IFTTT=Catalyst only Bug: 375925972 Flag: TEST_ONLY Test: atest Change-Id: Ieea0e0e770d93d8bbe6f1f7a608541d5ba42c9cc
This commit is contained in:
@@ -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 {
|
||||||
|
@@ -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
|
Reference in New Issue
Block a user