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

Commit 7dbe6517 authored by Kyle Zhang's avatar Kyle Zhang
Browse files

Keep FakeFeatureFlagsImpl

* Keep FakeFeatureFlagsImpl.
* Use EnableFlags and DisableFlags annotation
* Switch back from `assumeTrue` to `assert` when flag is enabled or disabled.
* Remove flag rollback test.

Bug: 342830919
Change-Id: Ic9b3438f3f0e31e64d5405ed81903b352195714a
parent f647356d
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -65,3 +65,6 @@
-keep class androidx.window.extensions.** { *; }
-dontwarn androidx.window.extensions.**
-keep class androidx.window.** { *; }

# Keep the com.android.settings.media_drm.FakeFeatureFlagsImpl
-keep class com.android.settings.media_drm.FakeFeatureFlagsImpl { *; }
+0 −1
Original line number Diff line number Diff line
@@ -32,7 +32,6 @@ android_test {
        "truth",
        "kotlinx_coroutines_test",
        "Settings-testutils2",
        "MediaDrmSettingsFlagsLib",
        "servicestests-utils",
        // Don't add SettingsLib libraries here - you can use them directly as they are in the
        // instrumented Settings app.
+8 −17
Original line number Diff line number Diff line
@@ -29,6 +29,8 @@ import android.util.Log;
import android.content.Context;

import com.android.settings.media_drm.Flags;
import android.platform.test.annotations.DisableFlags;
import android.platform.test.annotations.EnableFlags;
import android.platform.test.flag.junit.SetFlagsRule;

import androidx.preference.SwitchPreference;
@@ -65,10 +67,10 @@ public class ForceSwSecureCryptoFallbackPreferenceControllerTest {
    }

    @Test
    @EnableFlags(Flags.FLAG_FORCE_L3_ENABLED)
    public void updateState_flagEnabled_checkPreference() {
        mSetFlagsRule.enableFlags(Flags.FLAG_FORCE_L3_ENABLED);
        mController.updateState(mPreference);
        assumeTrue(mPreference.isEnabled());
        assertThat(mPreference.isEnabled()).isTrue();
        assertThat(mPreference.isChecked()).isFalse();
        assertThat(WidevineProperties.forcel3_enabled().orElse(false)).isFalse();

@@ -85,33 +87,22 @@ public class ForceSwSecureCryptoFallbackPreferenceControllerTest {
        assertThat(WidevineProperties.forcel3_enabled().orElse(false)).isFalse();
        assertThat(mPreference.isEnabled()).isTrue();
        assertThat(mPreference.isChecked()).isFalse();

        // Test flag rollback
        mController.setChecked(true);
        mController.updateState(mPreference);
        assertThat(mPreference.isChecked()).isTrue();
        assertThat(WidevineProperties.forcel3_enabled().orElse(false)).isTrue();
        mSetFlagsRule.disableFlags(Flags.FLAG_FORCE_L3_ENABLED);
        mController.updateState(mPreference);
        assertThat(mPreference.isEnabled()).isFalse();
        assertThat(mPreference.isChecked()).isFalse();
        assertThat(WidevineProperties.forcel3_enabled().orElse(false)).isFalse();
    }

    @Test
    @DisableFlags(Flags.FLAG_FORCE_L3_ENABLED)
    public void updateState_flagDisabled_checkPreference() {
        mSetFlagsRule.disableFlags(Flags.FLAG_FORCE_L3_ENABLED);
        mController.updateState(mPreference);
        assertThat(mPreference.isEnabled()).isFalse();
    }

    @Test
    @EnableFlags(Flags.FLAG_FORCE_L3_ENABLED)
    public void updateState_checkWidevine() throws Exception {
        try (MediaDrm drm = new MediaDrm(WIDEVINE_UUID)) {
            assumeTrue(drm.getPropertyString("securityLevel").equals("L1"));
            mSetFlagsRule.enableFlags(Flags.FLAG_FORCE_L3_ENABLED);
            mController.updateState(mPreference);
            assumeTrue(mPreference.isEnabled());
            assertThat(mPreference.isEnabled()).isTrue();
        } catch (UnsupportedSchemeException ex) {
            assumeNoException(ex);
        }
@@ -139,11 +130,11 @@ public class ForceSwSecureCryptoFallbackPreferenceControllerTest {
    }

    @Test
    @EnableFlags(Flags.FLAG_FORCE_L3_ENABLED)
    public void updateState_checkWhenWidevineReady() throws Exception {
        try (MediaDrm drm = new MediaDrm(WIDEVINE_UUID)) {
            if (drm.getPropertyString("securityLevel").equals("L1")) {
                String version = drm.getPropertyString(MediaDrm.PROPERTY_VERSION);
                mSetFlagsRule.enableFlags(Flags.FLAG_FORCE_L3_ENABLED);
                mController.updateState(mPreference);
                if (Integer.parseInt(version.split("\\.", 2)[0]) >= 19) {
                    assertThat(mPreference.isEnabled()).isTrue();