diff --git a/src/com/android/settings/development/transcode/TranscodeDefaultOptionPreferenceController.java b/src/com/android/settings/development/transcode/TranscodeDefaultOptionPreferenceController.java index 1c2fcd98410..a12aa642d7e 100644 --- a/src/com/android/settings/development/transcode/TranscodeDefaultOptionPreferenceController.java +++ b/src/com/android/settings/development/transcode/TranscodeDefaultOptionPreferenceController.java @@ -21,6 +21,7 @@ import android.os.SystemProperties; import com.android.settings.R; import com.android.settings.core.TogglePreferenceController; +import com.android.settingslib.development.DevelopmentSettingsEnabler; /** * The controller (on the transcode settings screen) indicating that by default we assume that apps @@ -47,7 +48,11 @@ public class TranscodeDefaultOptionPreferenceController extends TogglePreference @Override public int getAvailabilityStatus() { - return AVAILABLE; + if (DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(mContext)) { + return AVAILABLE; + } else { + return CONDITIONALLY_UNAVAILABLE; + } } @Override diff --git a/src/com/android/settings/development/transcode/TranscodeDisableCachePreferenceController.java b/src/com/android/settings/development/transcode/TranscodeDisableCachePreferenceController.java index c3b0624e9df..8229c98bfa2 100644 --- a/src/com/android/settings/development/transcode/TranscodeDisableCachePreferenceController.java +++ b/src/com/android/settings/development/transcode/TranscodeDisableCachePreferenceController.java @@ -22,6 +22,7 @@ import android.os.SystemProperties; import com.android.internal.annotations.VisibleForTesting; import com.android.settings.R; import com.android.settings.core.TogglePreferenceController; +import com.android.settingslib.development.DevelopmentSettingsEnabler; /** * The controller (in the Media transcoding settings) indicating the user's preference to disable @@ -49,7 +50,11 @@ public class TranscodeDisableCachePreferenceController extends TogglePreferenceC @Override public int getAvailabilityStatus() { - return AVAILABLE; + if (DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(mContext)) { + return AVAILABLE; + } else { + return CONDITIONALLY_UNAVAILABLE; + } } @Override diff --git a/src/com/android/settings/development/transcode/TranscodeGlobalTogglePreferenceController.java b/src/com/android/settings/development/transcode/TranscodeGlobalTogglePreferenceController.java index b2d446e0721..63572f711fd 100644 --- a/src/com/android/settings/development/transcode/TranscodeGlobalTogglePreferenceController.java +++ b/src/com/android/settings/development/transcode/TranscodeGlobalTogglePreferenceController.java @@ -21,6 +21,7 @@ import android.os.SystemProperties; import com.android.settings.R; import com.android.settings.core.TogglePreferenceController; +import com.android.settingslib.development.DevelopmentSettingsEnabler; /** * The controller for the "Enabling transcoding for all apps" switch on the transcode settings @@ -37,7 +38,11 @@ public class TranscodeGlobalTogglePreferenceController extends TogglePreferenceC @Override public int getAvailabilityStatus() { - return AVAILABLE; + if (DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(mContext)) { + return AVAILABLE; + } else { + return CONDITIONALLY_UNAVAILABLE; + } } @Override diff --git a/src/com/android/settings/development/transcode/TranscodeNotificationPreferenceController.java b/src/com/android/settings/development/transcode/TranscodeNotificationPreferenceController.java index 6b6692e5811..11c9c743279 100644 --- a/src/com/android/settings/development/transcode/TranscodeNotificationPreferenceController.java +++ b/src/com/android/settings/development/transcode/TranscodeNotificationPreferenceController.java @@ -22,6 +22,7 @@ import android.os.SystemProperties; import com.android.internal.annotations.VisibleForTesting; import com.android.settings.R; import com.android.settings.core.TogglePreferenceController; +import com.android.settingslib.development.DevelopmentSettingsEnabler; /** * The controller (in the Media transcoding settings) indicating the user's preference to show @@ -49,7 +50,11 @@ public class TranscodeNotificationPreferenceController extends TogglePreferenceC @Override public int getAvailabilityStatus() { - return AVAILABLE; + if (DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(mContext)) { + return AVAILABLE; + } else { + return CONDITIONALLY_UNAVAILABLE; + } } @Override diff --git a/src/com/android/settings/development/transcode/TranscodeUserControlPreferenceController.java b/src/com/android/settings/development/transcode/TranscodeUserControlPreferenceController.java index ce82293486c..377ff26dda3 100644 --- a/src/com/android/settings/development/transcode/TranscodeUserControlPreferenceController.java +++ b/src/com/android/settings/development/transcode/TranscodeUserControlPreferenceController.java @@ -21,6 +21,7 @@ import android.os.SystemProperties; import com.android.settings.R; import com.android.settings.core.TogglePreferenceController; +import com.android.settingslib.development.DevelopmentSettingsEnabler; /** * The controller for the User's control (over other transcoding preferences) preference switch on @@ -47,7 +48,11 @@ public class TranscodeUserControlPreferenceController extends TogglePreferenceCo @Override public int getAvailabilityStatus() { - return AVAILABLE; + if (DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(mContext)) { + return AVAILABLE; + } else { + return CONDITIONALLY_UNAVAILABLE; + } } @Override diff --git a/tests/unit/src/com/android/settings/development/transcode/TranscodeDefaultOptionPreferenceControllerTest.java b/tests/unit/src/com/android/settings/development/transcode/TranscodeDefaultOptionPreferenceControllerTest.java index e3fa0766acc..ecbae2d2c74 100644 --- a/tests/unit/src/com/android/settings/development/transcode/TranscodeDefaultOptionPreferenceControllerTest.java +++ b/tests/unit/src/com/android/settings/development/transcode/TranscodeDefaultOptionPreferenceControllerTest.java @@ -20,6 +20,7 @@ import static com.google.common.truth.Truth.assertThat; import android.content.Context; import android.os.SystemProperties; +import android.provider.Settings; import androidx.test.core.app.ApplicationProvider; import androidx.test.ext.junit.runners.AndroidJUnit4; @@ -36,11 +37,14 @@ public class TranscodeDefaultOptionPreferenceControllerTest { "persist.sys.fuse.transcode_default"; private TranscodeDefaultOptionPreferenceController mUnderTest; + private Context mContext; @Before public void setUp() { - Context context = ApplicationProvider.getApplicationContext(); - mUnderTest = new TranscodeDefaultOptionPreferenceController(context, "some_key"); + mContext = ApplicationProvider.getApplicationContext(); + mUnderTest = new TranscodeDefaultOptionPreferenceController(mContext, "some_key"); + Settings.Global.putInt(mContext.getContentResolver(), + Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 1); } @Test @@ -74,4 +78,12 @@ public class TranscodeDefaultOptionPreferenceControllerTest { assertThat(mUnderTest.getAvailabilityStatus()).isEqualTo( BasePreferenceController.AVAILABLE); } + + @Test + public void getAvailabilityStatus_developerOptionFalse_shouldReturnUNAVAILABLE() { + Settings.Global.putInt(mContext.getContentResolver(), + Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 0); + assertThat(mUnderTest.getAvailabilityStatus()).isEqualTo( + BasePreferenceController.CONDITIONALLY_UNAVAILABLE); + } } diff --git a/tests/unit/src/com/android/settings/development/transcode/TranscodeDisableCachePreferenceControllerTest.java b/tests/unit/src/com/android/settings/development/transcode/TranscodeDisableCachePreferenceControllerTest.java index d1a3355e36a..e7d1d4b1af2 100644 --- a/tests/unit/src/com/android/settings/development/transcode/TranscodeDisableCachePreferenceControllerTest.java +++ b/tests/unit/src/com/android/settings/development/transcode/TranscodeDisableCachePreferenceControllerTest.java @@ -22,6 +22,7 @@ import static com.google.common.truth.Truth.assertThat; import android.content.Context; import android.os.SystemProperties; +import android.provider.Settings; import androidx.test.core.app.ApplicationProvider; import androidx.test.ext.junit.runners.AndroidJUnit4; @@ -36,11 +37,14 @@ import org.junit.runner.RunWith; public class TranscodeDisableCachePreferenceControllerTest { private TranscodeDisableCachePreferenceController mUnderTest; + private Context mContext; @Before public void setUp() { - Context context = ApplicationProvider.getApplicationContext(); - mUnderTest = new TranscodeDisableCachePreferenceController(context, "some_key"); + mContext = ApplicationProvider.getApplicationContext(); + mUnderTest = new TranscodeDisableCachePreferenceController(mContext, "some_key"); + Settings.Global.putInt(mContext.getContentResolver(), + Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 1); } @Test @@ -74,4 +78,12 @@ public class TranscodeDisableCachePreferenceControllerTest { assertThat(mUnderTest.getAvailabilityStatus()).isEqualTo( BasePreferenceController.AVAILABLE); } + + @Test + public void getAvailabilityStatus_developerOptionFalse_shouldReturnUNAVAILABLE() { + Settings.Global.putInt(mContext.getContentResolver(), + Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 0); + assertThat(mUnderTest.getAvailabilityStatus()).isEqualTo( + BasePreferenceController.CONDITIONALLY_UNAVAILABLE); + } } diff --git a/tests/unit/src/com/android/settings/development/transcode/TranscodeGlobalTogglePreferenceControllerTest.java b/tests/unit/src/com/android/settings/development/transcode/TranscodeGlobalTogglePreferenceControllerTest.java index 7c0acd7bea6..0751fd9b211 100644 --- a/tests/unit/src/com/android/settings/development/transcode/TranscodeGlobalTogglePreferenceControllerTest.java +++ b/tests/unit/src/com/android/settings/development/transcode/TranscodeGlobalTogglePreferenceControllerTest.java @@ -20,10 +20,13 @@ import static com.google.common.truth.Truth.assertThat; import android.content.Context; import android.os.SystemProperties; +import android.provider.Settings; import androidx.test.core.app.ApplicationProvider; import androidx.test.ext.junit.runners.AndroidJUnit4; +import com.android.settings.core.BasePreferenceController; + import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; @@ -34,11 +37,14 @@ public class TranscodeGlobalTogglePreferenceControllerTest { private static final String TRANSCODE_ENABLED_PROP_KEY = "persist.sys.fuse.transcode_enabled"; private TranscodeGlobalTogglePreferenceController mController; + private Context mContext; @Before public void setUp() { - Context context = ApplicationProvider.getApplicationContext(); - mController = new TranscodeGlobalTogglePreferenceController(context, "test_key"); + mContext = ApplicationProvider.getApplicationContext(); + mController = new TranscodeGlobalTogglePreferenceController(mContext, "test_key"); + Settings.Global.putInt(mContext.getContentResolver(), + Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 1); } @Test @@ -75,4 +81,12 @@ public class TranscodeGlobalTogglePreferenceControllerTest { // Verify the system property was updated. assertThat(SystemProperties.getBoolean(TRANSCODE_ENABLED_PROP_KEY, true)).isFalse(); } + + @Test + public void getAvailabilityStatus_developerOptionFalse_shouldReturnUNAVAILABLE() { + Settings.Global.putInt(mContext.getContentResolver(), + Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 0); + assertThat(mController.getAvailabilityStatus()).isEqualTo( + BasePreferenceController.CONDITIONALLY_UNAVAILABLE); + } } diff --git a/tests/unit/src/com/android/settings/development/transcode/TranscodeNotificationPreferenceControllerTest.java b/tests/unit/src/com/android/settings/development/transcode/TranscodeNotificationPreferenceControllerTest.java index 65bfbf571e2..d9ae0a48c5b 100644 --- a/tests/unit/src/com/android/settings/development/transcode/TranscodeNotificationPreferenceControllerTest.java +++ b/tests/unit/src/com/android/settings/development/transcode/TranscodeNotificationPreferenceControllerTest.java @@ -22,6 +22,7 @@ import static com.google.common.truth.Truth.assertThat; import android.content.Context; import android.os.SystemProperties; +import android.provider.Settings; import androidx.test.core.app.ApplicationProvider; import androidx.test.ext.junit.runners.AndroidJUnit4; @@ -36,10 +37,14 @@ import org.junit.runner.RunWith; public class TranscodeNotificationPreferenceControllerTest { private TranscodeNotificationPreferenceController mUnderTest; + private Context mContext; + @Before public void setUp() { - Context context = ApplicationProvider.getApplicationContext(); - mUnderTest = new TranscodeNotificationPreferenceController(context, "notification_key"); + mContext = ApplicationProvider.getApplicationContext(); + mUnderTest = new TranscodeNotificationPreferenceController(mContext, "notification_key"); + Settings.Global.putInt(mContext.getContentResolver(), + Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 1); } @Test @@ -73,4 +78,12 @@ public class TranscodeNotificationPreferenceControllerTest { assertThat(mUnderTest.getAvailabilityStatus()).isEqualTo( BasePreferenceController.AVAILABLE); } + + @Test + public void getAvailabilityStatus_developerOptionFalse_shouldReturnUNAVAILABLE() { + Settings.Global.putInt(mContext.getContentResolver(), + Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 0); + assertThat(mUnderTest.getAvailabilityStatus()).isEqualTo( + BasePreferenceController.CONDITIONALLY_UNAVAILABLE); + } } diff --git a/tests/unit/src/com/android/settings/development/transcode/TranscodeUserControlPreferenceControllerTest.java b/tests/unit/src/com/android/settings/development/transcode/TranscodeUserControlPreferenceControllerTest.java index 63a6ac6cb22..6e4bfc834fb 100644 --- a/tests/unit/src/com/android/settings/development/transcode/TranscodeUserControlPreferenceControllerTest.java +++ b/tests/unit/src/com/android/settings/development/transcode/TranscodeUserControlPreferenceControllerTest.java @@ -20,6 +20,7 @@ import static com.google.common.truth.Truth.assertThat; import android.content.Context; import android.os.SystemProperties; +import android.provider.Settings; import androidx.test.core.app.ApplicationProvider; import androidx.test.ext.junit.runners.AndroidJUnit4; @@ -36,11 +37,14 @@ public class TranscodeUserControlPreferenceControllerTest { "persist.sys.fuse.transcode_user_control"; private TranscodeUserControlPreferenceController mUnderTest; + private Context mContext; @Before public void setUp() { - Context context = ApplicationProvider.getApplicationContext(); - mUnderTest = new TranscodeUserControlPreferenceController(context, "some_key"); + mContext = ApplicationProvider.getApplicationContext(); + mUnderTest = new TranscodeUserControlPreferenceController(mContext, "some_key"); + Settings.Global.putInt(mContext.getContentResolver(), + Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 1); } @Test @@ -74,4 +78,12 @@ public class TranscodeUserControlPreferenceControllerTest { assertThat(mUnderTest.getAvailabilityStatus()).isEqualTo( BasePreferenceController.AVAILABLE); } + + @Test + public void getAvailabilityStatus_developerOptionFalse_shouldReturnUNAVAILABLE() { + Settings.Global.putInt(mContext.getContentResolver(), + Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 0); + assertThat(mUnderTest.getAvailabilityStatus()).isEqualTo( + BasePreferenceController.CONDITIONALLY_UNAVAILABLE); + } }