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

Commit 61bf4eb0 authored by Ram Indani's avatar Ram Indani Committed by Android (Google) Code Review
Browse files

Merge "FRAME_RATE_COMPATIBILITY_GTE renamed to FRAME_RATE_COMPATIBILITY_AT_LEAST" into main

parents 3336c5fa 01ef8b4b
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -53482,9 +53482,9 @@ package android.view {
    field public static final int CHANGE_FRAME_RATE_ALWAYS = 1; // 0x1
    field public static final int CHANGE_FRAME_RATE_ONLY_IF_SEAMLESS = 0; // 0x0
    field @NonNull public static final android.os.Parcelable.Creator<android.view.Surface> CREATOR;
    field @FlaggedApi("com.android.graphics.surfaceflinger.flags.arr_setframerate_gte_enum") public static final int FRAME_RATE_COMPATIBILITY_AT_LEAST = 2; // 0x2
    field public static final int FRAME_RATE_COMPATIBILITY_DEFAULT = 0; // 0x0
    field public static final int FRAME_RATE_COMPATIBILITY_FIXED_SOURCE = 1; // 0x1
    field @FlaggedApi("com.android.graphics.surfaceflinger.flags.arr_setframerate_gte_enum") public static final int FRAME_RATE_COMPATIBILITY_GTE = 2; // 0x2
    field public static final int ROTATION_0 = 0; // 0x0
    field public static final int ROTATION_180 = 2; // 0x2
    field public static final int ROTATION_270 = 3; // 0x3
+5 −4
Original line number Diff line number Diff line
@@ -206,7 +206,8 @@ public class Surface implements Parcelable {
    @Retention(RetentionPolicy.SOURCE)
    @IntDef(prefix = {"FRAME_RATE_COMPATIBILITY_"},
            value = {FRAME_RATE_COMPATIBILITY_DEFAULT, FRAME_RATE_COMPATIBILITY_FIXED_SOURCE,
                    FRAME_RATE_COMPATIBILITY_GTE})
                    FRAME_RATE_COMPATIBILITY_AT_LEAST, FRAME_RATE_COMPATIBILITY_EXACT,
                    FRAME_RATE_COMPATIBILITY_MIN})
    public @interface FrameRateCompatibility {}

    // From native_window.h. Keep these in sync.
@@ -219,7 +220,7 @@ public class Surface implements Parcelable {
     * In Android version {@link Build.VERSION_CODES#BAKLAVA} and above, use
     * {@link FRAME_RATE_COMPATIBILITY_DEFAULT} for game content.
     * For other cases, see {@link FRAME_RATE_COMPATIBILITY_FIXED_SOURCE} and
     * {@link FRAME_RATE_COMPATIBILITY_GTE}.
     * {@link FRAME_RATE_COMPATIBILITY_AT_LEAST}.
     */
    public static final int FRAME_RATE_COMPATIBILITY_DEFAULT = 0;

@@ -234,7 +235,7 @@ public class Surface implements Parcelable {
    public static final int FRAME_RATE_COMPATIBILITY_FIXED_SOURCE = 1;

    /**
     * The surface requests a frame rate that is greater than or equal to the specified frame rate.
     * The surface requests a frame rate that is at least the specified frame rate.
     * This value should be used for UIs, animations, scrolling and fling, and anything that is not
     * a game or video.
     *
@@ -242,7 +243,7 @@ public class Surface implements Parcelable {
     * {@link FRAME_RATE_COMPATIBILITY_DEFAULT}.
     */
    @FlaggedApi(com.android.graphics.surfaceflinger.flags.Flags.FLAG_ARR_SETFRAMERATE_GTE_ENUM)
    public static final int FRAME_RATE_COMPATIBILITY_GTE = 2;
    public static final int FRAME_RATE_COMPATIBILITY_AT_LEAST = 2;

    /**
     * This surface belongs to an app on the High Refresh Rate Deny list, and needs the display
+2 −2
Original line number Diff line number Diff line
@@ -27,7 +27,7 @@ import static android.view.Surface.FRAME_RATE_CATEGORY_LOW;
import static android.view.Surface.FRAME_RATE_CATEGORY_NORMAL;
import static android.view.Surface.FRAME_RATE_CATEGORY_NO_PREFERENCE;
import static android.view.Surface.FRAME_RATE_COMPATIBILITY_FIXED_SOURCE;
import static android.view.Surface.FRAME_RATE_COMPATIBILITY_GTE;
import static android.view.Surface.FRAME_RATE_COMPATIBILITY_AT_LEAST;
import static android.view.WindowManager.LayoutParams.TYPE_INPUT_METHOD;
import static android.view.accessibility.AccessibilityEvent.CONTENT_CHANGE_TYPE_UNDEFINED;
import static android.view.accessibility.Flags.FLAG_DEPRECATE_ACCESSIBILITY_ANNOUNCEMENT_APIS;
@@ -34251,7 +34251,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
                compatibility = FRAME_RATE_COMPATIBILITY_FIXED_SOURCE;
                frameRateToSet = frameRate;
            } else {
                compatibility = FRAME_RATE_COMPATIBILITY_GTE;
                compatibility = FRAME_RATE_COMPATIBILITY_AT_LEAST;
                frameRateToSet = velocityFrameRate;
            }
            viewRootImpl.votePreferredFrameRate(frameRateToSet, compatibility);
+3 −3
Original line number Diff line number Diff line
@@ -38,7 +38,7 @@ import static android.view.Surface.FRAME_RATE_CATEGORY_LOW;
import static android.view.Surface.FRAME_RATE_CATEGORY_NORMAL;
import static android.view.Surface.FRAME_RATE_CATEGORY_NO_PREFERENCE;
import static android.view.Surface.FRAME_RATE_COMPATIBILITY_FIXED_SOURCE;
import static android.view.Surface.FRAME_RATE_COMPATIBILITY_GTE;
import static android.view.Surface.FRAME_RATE_COMPATIBILITY_AT_LEAST;
import static android.view.View.FRAME_RATE_CATEGORY_REASON_BOOST;
import static android.view.View.FRAME_RATE_CATEGORY_REASON_CONFLICTED;
import static android.view.View.FRAME_RATE_CATEGORY_REASON_INTERMITTENT;
@@ -13272,7 +13272,7 @@ public final class ViewRootImpl implements ViewParent,
     * We set category to HIGH if the maximum frame rate is greater than 60.
     * Otherwise, we set category to NORMAL.
     *
     * Use FRAME_RATE_COMPATIBILITY_GTE for velocity and FRAME_RATE_COMPATIBILITY_FIXED_SOURCE
     * Use FRAME_RATE_COMPATIBILITY_AT_LEAST for velocity and FRAME_RATE_COMPATIBILITY_FIXED_SOURCE
     * for TextureView video play and user requested frame rate.
     *
     * @param frameRate the preferred frame rate of a View
@@ -13283,7 +13283,7 @@ public final class ViewRootImpl implements ViewParent,
        if (frameRate <= 0) {
            return;
        }
        if (frameRateCompatibility == FRAME_RATE_COMPATIBILITY_GTE && !mIsPressedGesture) {
        if (frameRateCompatibility == FRAME_RATE_COMPATIBILITY_AT_LEAST && !mIsPressedGesture) {
            mIsTouchBoosting = false;
            mIsFrameRateBoosting = false;
            if (!sToolkitFrameRateVelocityMappingReadOnlyFlagValue) {
+6 −6
Original line number Diff line number Diff line
@@ -25,7 +25,7 @@ import static android.view.Surface.FRAME_RATE_CATEGORY_HIGH_HINT;
import static android.view.Surface.FRAME_RATE_CATEGORY_LOW;
import static android.view.Surface.FRAME_RATE_CATEGORY_NORMAL;
import static android.view.Surface.FRAME_RATE_COMPATIBILITY_FIXED_SOURCE;
import static android.view.Surface.FRAME_RATE_COMPATIBILITY_GTE;
import static android.view.Surface.FRAME_RATE_COMPATIBILITY_AT_LEAST;
import static android.view.View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
import static android.view.View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN;
import static android.view.View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION;
@@ -861,10 +861,10 @@ public class ViewRootImplTest {
            assertEquals(mViewRootImpl.getFrameRateCompatibility(),
                    FRAME_RATE_COMPATIBILITY_FIXED_SOURCE);
            assertFalse(mViewRootImpl.isFrameRateConflicted());
            mViewRootImpl.votePreferredFrameRate(24, FRAME_RATE_COMPATIBILITY_GTE);
            mViewRootImpl.votePreferredFrameRate(24, FRAME_RATE_COMPATIBILITY_AT_LEAST);
            if (toolkitFrameRateVelocityMappingReadOnly()) {
                assertEquals(24, mViewRootImpl.getPreferredFrameRate(), 0.1);
                assertEquals(FRAME_RATE_COMPATIBILITY_GTE,
                assertEquals(FRAME_RATE_COMPATIBILITY_AT_LEAST,
                        mViewRootImpl.getFrameRateCompatibility());
                assertFalse(mViewRootImpl.isFrameRateConflicted());
            } else {
@@ -888,10 +888,10 @@ public class ViewRootImplTest {

        sInstrumentation.runOnMainSync(() -> {
            assertFalse(mViewRootImpl.isFrameRateConflicted());
            mViewRootImpl.votePreferredFrameRate(60, FRAME_RATE_COMPATIBILITY_GTE);
            mViewRootImpl.votePreferredFrameRate(60, FRAME_RATE_COMPATIBILITY_AT_LEAST);
            if (toolkitFrameRateVelocityMappingReadOnly()) {
                assertEquals(60, mViewRootImpl.getPreferredFrameRate(), 0.1);
                assertEquals(FRAME_RATE_COMPATIBILITY_GTE,
                assertEquals(FRAME_RATE_COMPATIBILITY_AT_LEAST,
                        mViewRootImpl.getFrameRateCompatibility());
            } else {
                assertEquals(FRAME_RATE_CATEGORY_HIGH,
@@ -904,7 +904,7 @@ public class ViewRootImplTest {
                    mViewRootImpl.getFrameRateCompatibility());
            // Should be false since 60 is a divisor of 120.
            assertFalse(mViewRootImpl.isFrameRateConflicted());
            mViewRootImpl.votePreferredFrameRate(60, FRAME_RATE_COMPATIBILITY_GTE);
            mViewRootImpl.votePreferredFrameRate(60, FRAME_RATE_COMPATIBILITY_AT_LEAST);
            assertEquals(120, mViewRootImpl.getPreferredFrameRate(), 0.1);
            // compatibility should be remained the same (FRAME_RATE_COMPATIBILITY_FIXED_SOURCE)
            // since the frame rate 60 is smaller than 120.
Loading