diff options
| -rw-r--r-- | core/java/android/view/RoundScrollbarRenderer.java | 4 | ||||
| -rw-r--r-- | core/tests/coretests/src/android/view/RoundScrollbarRendererTest.java | 22 |
2 files changed, 15 insertions, 11 deletions
diff --git a/core/java/android/view/RoundScrollbarRenderer.java b/core/java/android/view/RoundScrollbarRenderer.java index 59c2598f00f0..5e1eadae0953 100644 --- a/core/java/android/view/RoundScrollbarRenderer.java +++ b/core/java/android/view/RoundScrollbarRenderer.java @@ -35,7 +35,9 @@ import android.view.flags.Flags; * @hide */ public class RoundScrollbarRenderer { - private static final String BLUECHIP_ENABLED_SYSPROP = "persist.cw_build.bluechip.enabled"; + /** @hide */ + public static final String BLUECHIP_ENABLED_SYSPROP = "persist.cw_build.bluechip.enabled"; + // The range of the scrollbar position represented as an angle in degrees. private static final float SCROLLBAR_ANGLE_RANGE = 28.8f; private static final float MAX_SCROLLBAR_ANGLE_SWIPE = 26.3f; // 90% diff --git a/core/tests/coretests/src/android/view/RoundScrollbarRendererTest.java b/core/tests/coretests/src/android/view/RoundScrollbarRendererTest.java index 262bd5cd6c01..0f17f9cdddc8 100644 --- a/core/tests/coretests/src/android/view/RoundScrollbarRendererTest.java +++ b/core/tests/coretests/src/android/view/RoundScrollbarRendererTest.java @@ -16,7 +16,11 @@ package android.view; +import static android.view.RoundScrollbarRenderer.BLUECHIP_ENABLED_SYSPROP; + import static org.junit.Assert.assertEquals; +import static org.junit.Assume.assumeFalse; +import static org.junit.Assume.assumeTrue; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyFloat; import static org.mockito.ArgumentMatchers.anyInt; @@ -30,11 +34,8 @@ import android.content.Context; import android.graphics.Canvas; import android.graphics.Paint; import android.graphics.Rect; +import android.os.SystemProperties; import android.platform.test.annotations.Presubmit; -import android.platform.test.annotations.RequiresFlagsDisabled; -import android.platform.test.annotations.RequiresFlagsEnabled; -import android.platform.test.flag.junit.CheckFlagsRule; -import android.platform.test.flag.junit.DeviceFlagsValueProvider; import android.view.flags.Flags; import androidx.test.core.app.ApplicationProvider; @@ -42,7 +43,6 @@ import androidx.test.ext.junit.runners.AndroidJUnit4; import androidx.test.filters.SmallTest; import org.junit.Before; -import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.ArgumentCaptor; @@ -66,9 +66,6 @@ public class RoundScrollbarRendererTest { private static final float DEFAULT_ALPHA = 0.5f; private static final Rect BOUNDS = new Rect(0, 0, 200, 200); - @Rule - public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule(); - @Mock private Canvas mCanvas; @Captor private ArgumentCaptor<Paint> mPaintCaptor; private RoundScrollbarRenderer mScrollbar; @@ -88,8 +85,8 @@ public class RoundScrollbarRendererTest { } @Test - @RequiresFlagsDisabled(Flags.FLAG_USE_REFACTORED_ROUND_SCROLLBAR) public void testScrollbarDrawn_legacy() { + assumeFalse(usingRefactoredScrollbar()); mScrollbar.drawRoundScrollbars(mCanvas, DEFAULT_ALPHA, BOUNDS, /* drawToLeft= */ false); // The arc will be drawn twice, i.e. once for track and once for thumb @@ -105,8 +102,8 @@ public class RoundScrollbarRendererTest { } @Test - @RequiresFlagsEnabled(Flags.FLAG_USE_REFACTORED_ROUND_SCROLLBAR) public void testScrollbarDrawn() { + assumeTrue(usingRefactoredScrollbar()); mScrollbar.drawRoundScrollbars(mCanvas, DEFAULT_ALPHA, BOUNDS, /* drawToLeft= */ false); // The arc will be drawn thrice, i.e. twice for track and once for thumb @@ -143,4 +140,9 @@ public class RoundScrollbarRendererTest { return super.computeVerticalScrollExtent(); } } + + private static boolean usingRefactoredScrollbar() { + return Flags.useRefactoredRoundScrollbar() + && SystemProperties.getBoolean(BLUECHIP_ENABLED_SYSPROP, false); + } } |