Loading core/java/android/view/Surface.java +13 −2 Original line number Diff line number Diff line Loading @@ -274,7 +274,8 @@ public class Surface implements Parcelable { @Retention(RetentionPolicy.SOURCE) @IntDef(prefix = {"FRAME_RATE_CATEGORY_"}, value = {FRAME_RATE_CATEGORY_DEFAULT, FRAME_RATE_CATEGORY_NO_PREFERENCE, FRAME_RATE_CATEGORY_LOW, FRAME_RATE_CATEGORY_NORMAL, FRAME_RATE_CATEGORY_HIGH}) FRAME_RATE_CATEGORY_LOW, FRAME_RATE_CATEGORY_NORMAL, FRAME_RATE_CATEGORY_HIGH_HINT, FRAME_RATE_CATEGORY_HIGH}) public @interface FrameRateCategory {} // From native_window.h or window.h. Keep these in sync. Loading Loading @@ -307,12 +308,22 @@ public class Surface implements Parcelable { */ public static final int FRAME_RATE_CATEGORY_NORMAL = 3; /** * Hints that, as a result of a user interaction, an animation is likely to start. * This category is a signal that a user interaction heuristic determined the need of a * high refresh rate, and is not an explicit request from the app. * As opposed to {@link #FRAME_RATE_CATEGORY_HIGH}, this vote may be ignored in favor of * more explicit votes. * @hide */ public static final int FRAME_RATE_CATEGORY_HIGH_HINT = 4; /** * Indicates a frame rate suitable for animations that require a high frame rate, which may * increase smoothness but may also increase power usage. * @hide */ public static final int FRAME_RATE_CATEGORY_HIGH = 4; public static final int FRAME_RATE_CATEGORY_HIGH = 5; /** * Create an empty surface, which will later be filled in by readFromParcel(). Loading tests/CtsSurfaceControlTestsStaging/src/main/java/android/view/surfacecontroltests/GraphicsActivity.java +1 −0 Original line number Diff line number Diff line Loading @@ -810,6 +810,7 @@ public class GraphicsActivity extends Activity { private FpsRange convertCategory(int category) { switch (category) { case Surface.FRAME_RATE_CATEGORY_HIGH_HINT: case Surface.FRAME_RATE_CATEGORY_HIGH: return FRAME_RATE_CATEGORY_HIGH; case Surface.FRAME_RATE_CATEGORY_NORMAL: Loading tests/CtsSurfaceControlTestsStaging/src/main/java/android/view/surfacecontroltests/SurfaceControlTest.java +6 −0 Original line number Diff line number Diff line Loading @@ -92,6 +92,12 @@ public class SurfaceControlTest { activity.testSurfaceControlFrameRateCategory(Surface.FRAME_RATE_CATEGORY_HIGH); } @Test public void testSurfaceControlFrameRateCategoryHighHint() throws InterruptedException { GraphicsActivity activity = mActivityRule.getActivity(); activity.testSurfaceControlFrameRateCategory(Surface.FRAME_RATE_CATEGORY_HIGH_HINT); } @Test public void testSurfaceControlFrameRateCategoryNormal() throws InterruptedException { GraphicsActivity activity = mActivityRule.getActivity(); Loading Loading
core/java/android/view/Surface.java +13 −2 Original line number Diff line number Diff line Loading @@ -274,7 +274,8 @@ public class Surface implements Parcelable { @Retention(RetentionPolicy.SOURCE) @IntDef(prefix = {"FRAME_RATE_CATEGORY_"}, value = {FRAME_RATE_CATEGORY_DEFAULT, FRAME_RATE_CATEGORY_NO_PREFERENCE, FRAME_RATE_CATEGORY_LOW, FRAME_RATE_CATEGORY_NORMAL, FRAME_RATE_CATEGORY_HIGH}) FRAME_RATE_CATEGORY_LOW, FRAME_RATE_CATEGORY_NORMAL, FRAME_RATE_CATEGORY_HIGH_HINT, FRAME_RATE_CATEGORY_HIGH}) public @interface FrameRateCategory {} // From native_window.h or window.h. Keep these in sync. Loading Loading @@ -307,12 +308,22 @@ public class Surface implements Parcelable { */ public static final int FRAME_RATE_CATEGORY_NORMAL = 3; /** * Hints that, as a result of a user interaction, an animation is likely to start. * This category is a signal that a user interaction heuristic determined the need of a * high refresh rate, and is not an explicit request from the app. * As opposed to {@link #FRAME_RATE_CATEGORY_HIGH}, this vote may be ignored in favor of * more explicit votes. * @hide */ public static final int FRAME_RATE_CATEGORY_HIGH_HINT = 4; /** * Indicates a frame rate suitable for animations that require a high frame rate, which may * increase smoothness but may also increase power usage. * @hide */ public static final int FRAME_RATE_CATEGORY_HIGH = 4; public static final int FRAME_RATE_CATEGORY_HIGH = 5; /** * Create an empty surface, which will later be filled in by readFromParcel(). Loading
tests/CtsSurfaceControlTestsStaging/src/main/java/android/view/surfacecontroltests/GraphicsActivity.java +1 −0 Original line number Diff line number Diff line Loading @@ -810,6 +810,7 @@ public class GraphicsActivity extends Activity { private FpsRange convertCategory(int category) { switch (category) { case Surface.FRAME_RATE_CATEGORY_HIGH_HINT: case Surface.FRAME_RATE_CATEGORY_HIGH: return FRAME_RATE_CATEGORY_HIGH; case Surface.FRAME_RATE_CATEGORY_NORMAL: Loading
tests/CtsSurfaceControlTestsStaging/src/main/java/android/view/surfacecontroltests/SurfaceControlTest.java +6 −0 Original line number Diff line number Diff line Loading @@ -92,6 +92,12 @@ public class SurfaceControlTest { activity.testSurfaceControlFrameRateCategory(Surface.FRAME_RATE_CATEGORY_HIGH); } @Test public void testSurfaceControlFrameRateCategoryHighHint() throws InterruptedException { GraphicsActivity activity = mActivityRule.getActivity(); activity.testSurfaceControlFrameRateCategory(Surface.FRAME_RATE_CATEGORY_HIGH_HINT); } @Test public void testSurfaceControlFrameRateCategoryNormal() throws InterruptedException { GraphicsActivity activity = mActivityRule.getActivity(); Loading