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
This commit is contained in:
@@ -65,3 +65,6 @@
|
|||||||
-keep class androidx.window.extensions.** { *; }
|
-keep class androidx.window.extensions.** { *; }
|
||||||
-dontwarn androidx.window.extensions.**
|
-dontwarn androidx.window.extensions.**
|
||||||
-keep class androidx.window.** { *; }
|
-keep class androidx.window.** { *; }
|
||||||
|
|
||||||
|
# Keep the com.android.settings.media_drm.FakeFeatureFlagsImpl
|
||||||
|
-keep class com.android.settings.media_drm.FakeFeatureFlagsImpl { *; }
|
||||||
|
@@ -32,7 +32,6 @@ android_test {
|
|||||||
"truth",
|
"truth",
|
||||||
"kotlinx_coroutines_test",
|
"kotlinx_coroutines_test",
|
||||||
"Settings-testutils2",
|
"Settings-testutils2",
|
||||||
"MediaDrmSettingsFlagsLib",
|
|
||||||
"servicestests-utils",
|
"servicestests-utils",
|
||||||
// Don't add SettingsLib libraries here - you can use them directly as they are in the
|
// Don't add SettingsLib libraries here - you can use them directly as they are in the
|
||||||
// instrumented Settings app.
|
// instrumented Settings app.
|
||||||
|
@@ -29,6 +29,8 @@ import android.util.Log;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
|
||||||
import com.android.settings.media_drm.Flags;
|
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 android.platform.test.flag.junit.SetFlagsRule;
|
||||||
|
|
||||||
import androidx.preference.SwitchPreference;
|
import androidx.preference.SwitchPreference;
|
||||||
@@ -65,10 +67,10 @@ public class ForceSwSecureCryptoFallbackPreferenceControllerTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@EnableFlags(Flags.FLAG_FORCE_L3_ENABLED)
|
||||||
public void updateState_flagEnabled_checkPreference() {
|
public void updateState_flagEnabled_checkPreference() {
|
||||||
mSetFlagsRule.enableFlags(Flags.FLAG_FORCE_L3_ENABLED);
|
|
||||||
mController.updateState(mPreference);
|
mController.updateState(mPreference);
|
||||||
assumeTrue(mPreference.isEnabled());
|
assertThat(mPreference.isEnabled()).isTrue();
|
||||||
assertThat(mPreference.isChecked()).isFalse();
|
assertThat(mPreference.isChecked()).isFalse();
|
||||||
assertThat(WidevineProperties.forcel3_enabled().orElse(false)).isFalse();
|
assertThat(WidevineProperties.forcel3_enabled().orElse(false)).isFalse();
|
||||||
|
|
||||||
@@ -85,33 +87,22 @@ public class ForceSwSecureCryptoFallbackPreferenceControllerTest {
|
|||||||
assertThat(WidevineProperties.forcel3_enabled().orElse(false)).isFalse();
|
assertThat(WidevineProperties.forcel3_enabled().orElse(false)).isFalse();
|
||||||
assertThat(mPreference.isEnabled()).isTrue();
|
assertThat(mPreference.isEnabled()).isTrue();
|
||||||
assertThat(mPreference.isChecked()).isFalse();
|
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
|
@Test
|
||||||
|
@DisableFlags(Flags.FLAG_FORCE_L3_ENABLED)
|
||||||
public void updateState_flagDisabled_checkPreference() {
|
public void updateState_flagDisabled_checkPreference() {
|
||||||
mSetFlagsRule.disableFlags(Flags.FLAG_FORCE_L3_ENABLED);
|
|
||||||
mController.updateState(mPreference);
|
mController.updateState(mPreference);
|
||||||
assertThat(mPreference.isEnabled()).isFalse();
|
assertThat(mPreference.isEnabled()).isFalse();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@EnableFlags(Flags.FLAG_FORCE_L3_ENABLED)
|
||||||
public void updateState_checkWidevine() throws Exception {
|
public void updateState_checkWidevine() throws Exception {
|
||||||
try (MediaDrm drm = new MediaDrm(WIDEVINE_UUID)) {
|
try (MediaDrm drm = new MediaDrm(WIDEVINE_UUID)) {
|
||||||
assumeTrue(drm.getPropertyString("securityLevel").equals("L1"));
|
assumeTrue(drm.getPropertyString("securityLevel").equals("L1"));
|
||||||
mSetFlagsRule.enableFlags(Flags.FLAG_FORCE_L3_ENABLED);
|
|
||||||
mController.updateState(mPreference);
|
mController.updateState(mPreference);
|
||||||
assumeTrue(mPreference.isEnabled());
|
assertThat(mPreference.isEnabled()).isTrue();
|
||||||
} catch (UnsupportedSchemeException ex) {
|
} catch (UnsupportedSchemeException ex) {
|
||||||
assumeNoException(ex);
|
assumeNoException(ex);
|
||||||
}
|
}
|
||||||
@@ -139,11 +130,11 @@ public class ForceSwSecureCryptoFallbackPreferenceControllerTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@EnableFlags(Flags.FLAG_FORCE_L3_ENABLED)
|
||||||
public void updateState_checkWhenWidevineReady() throws Exception {
|
public void updateState_checkWhenWidevineReady() throws Exception {
|
||||||
try (MediaDrm drm = new MediaDrm(WIDEVINE_UUID)) {
|
try (MediaDrm drm = new MediaDrm(WIDEVINE_UUID)) {
|
||||||
if (drm.getPropertyString("securityLevel").equals("L1")) {
|
if (drm.getPropertyString("securityLevel").equals("L1")) {
|
||||||
String version = drm.getPropertyString(MediaDrm.PROPERTY_VERSION);
|
String version = drm.getPropertyString(MediaDrm.PROPERTY_VERSION);
|
||||||
mSetFlagsRule.enableFlags(Flags.FLAG_FORCE_L3_ENABLED);
|
|
||||||
mController.updateState(mPreference);
|
mController.updateState(mPreference);
|
||||||
if (Integer.parseInt(version.split("\\.", 2)[0]) >= 19) {
|
if (Integer.parseInt(version.split("\\.", 2)[0]) >= 19) {
|
||||||
assertThat(mPreference.isEnabled()).isTrue();
|
assertThat(mPreference.isEnabled()).isTrue();
|
||||||
|
Reference in New Issue
Block a user