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

Commit bfa8c2ef authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Revert "Send early wakeup requests to SurfaceFlinger with token"" into main

parents 5ab2fd15 1ddee0f6
Loading
Loading
Loading
Loading
+6 −18
Original line number Original line Diff line number Diff line
@@ -50,7 +50,6 @@ import android.graphics.Region;
import android.gui.BorderSettings;
import android.gui.BorderSettings;
import android.gui.BoxShadowSettings;
import android.gui.BoxShadowSettings;
import android.gui.DropInputMode;
import android.gui.DropInputMode;
import android.gui.EarlyWakeupInfo;
import android.gui.StalledTransactionInfo;
import android.gui.StalledTransactionInfo;
import android.gui.TrustedOverlay;
import android.gui.TrustedOverlay;
import android.hardware.DataSpace;
import android.hardware.DataSpace;
@@ -70,7 +69,6 @@ import android.os.IBinder;
import android.os.Looper;
import android.os.Looper;
import android.os.Parcel;
import android.os.Parcel;
import android.os.Parcelable;
import android.os.Parcelable;
import android.os.Trace;
import android.util.ArrayMap;
import android.util.ArrayMap;
import android.util.Log;
import android.util.Log;
import android.util.Slog;
import android.util.Slog;
@@ -131,8 +129,8 @@ public final class SurfaceControl implements Parcelable {
            long otherTransactionObj);
            long otherTransactionObj);
    private static native void nativeClearTransaction(long transactionObj);
    private static native void nativeClearTransaction(long transactionObj);
    private static native void nativeSetAnimationTransaction(long transactionObj);
    private static native void nativeSetAnimationTransaction(long transactionObj);
    private static native void nativeSetEarlyWakeupStart(long transactionObj, Parcel request);
    private static native void nativeSetEarlyWakeupStart(long transactionObj);
    private static native void nativeSetEarlyWakeupEnd(long transactionObj, Parcel request);
    private static native void nativeSetEarlyWakeupEnd(long transactionObj);
    private static native long nativeGetTransactionId(long transactionObj);
    private static native long nativeGetTransactionId(long transactionObj);


    private static native void nativeSetLayer(long transactionObj, long nativeObject, int zorder);
    private static native void nativeSetLayer(long transactionObj, long nativeObject, int zorder);
@@ -4126,14 +4124,8 @@ public final class SurfaceControl implements Parcelable {
          * @hide
          * @hide
          */
          */
        @RequiresPermission(Manifest.permission.WAKEUP_SURFACE_FLINGER)
        @RequiresPermission(Manifest.permission.WAKEUP_SURFACE_FLINGER)
        public Transaction setEarlyWakeupStart(@NonNull EarlyWakeupInfo info) {
        public Transaction setEarlyWakeupStart() {
            Parcel infoParcel = Parcel.obtain();
            nativeSetEarlyWakeupStart(mNativeObject);
            info.writeToParcel(infoParcel, 0);
            infoParcel.setDataPosition(0);
            nativeSetEarlyWakeupStart(mNativeObject, infoParcel);
            Trace.asyncTraceForTrackBegin(Trace.TRACE_TAG_APP, "EarlyWakeup",
                    "setEarlyWakeupStart: called by " + info.trace + " with " + info.token,
                    0);
            return this;
            return this;
        }
        }


@@ -4143,12 +4135,8 @@ public final class SurfaceControl implements Parcelable {
         * @hide
         * @hide
         */
         */
        @RequiresPermission(Manifest.permission.WAKEUP_SURFACE_FLINGER)
        @RequiresPermission(Manifest.permission.WAKEUP_SURFACE_FLINGER)
        public Transaction setEarlyWakeupEnd(@NonNull EarlyWakeupInfo info) {
        public Transaction setEarlyWakeupEnd() {
            Parcel infoParcel = Parcel.obtain();
            nativeSetEarlyWakeupEnd(mNativeObject);
            info.writeToParcel(infoParcel, 0);
            infoParcel.setDataPosition(0);
            nativeSetEarlyWakeupEnd(mNativeObject, infoParcel);
            Trace.asyncTraceForTrackEnd(Trace.TRACE_TAG_APP, "EarlyWakeup", 0);
            return this;
            return this;
        }
        }


+7 −13
Original line number Original line Diff line number Diff line
@@ -19,7 +19,6 @@ package android.view;
import android.annotation.SuppressLint;
import android.annotation.SuppressLint;
import android.graphics.Matrix;
import android.graphics.Matrix;
import android.graphics.Rect;
import android.graphics.Rect;
import android.gui.EarlyWakeupInfo;
import android.view.SurfaceControl.Transaction;
import android.view.SurfaceControl.Transaction;


import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.annotations.VisibleForTesting;
@@ -140,10 +139,10 @@ public class SyncRtSurfaceTransactionApplier {
            }
            }
        }
        }
        if ((params.flags & FLAG_EARLY_WAKEUP_START) != 0) {
        if ((params.flags & FLAG_EARLY_WAKEUP_START) != 0) {
            t.setEarlyWakeupStart(params.earlyWakeupInfo);
            t.setEarlyWakeupStart();
        }
        }
        if ((params.flags & FLAG_EARLY_WAKEUP_END) != 0) {
        if ((params.flags & FLAG_EARLY_WAKEUP_END) != 0) {
            t.setEarlyWakeupEnd(params.earlyWakeupInfo);
            t.setEarlyWakeupEnd();
        }
        }
        if ((params.flags & FLAG_OPAQUE) != 0) {
        if ((params.flags & FLAG_OPAQUE) != 0) {
            t.setOpaque(params.surface, params.opaque);
            t.setOpaque(params.surface, params.opaque);
@@ -194,7 +193,6 @@ public class SyncRtSurfaceTransactionApplier {
            boolean visible;
            boolean visible;
            boolean opaque;
            boolean opaque;
            Transaction mergeTransaction;
            Transaction mergeTransaction;
            EarlyWakeupInfo earlyWakeupInfo;


            /**
            /**
             * @param surface The surface to modify.
             * @param surface The surface to modify.
@@ -299,8 +297,7 @@ public class SyncRtSurfaceTransactionApplier {
             * wakes up earlier to compose surfaces.
             * wakes up earlier to compose surfaces.
             * @return this Builder
             * @return this Builder
             */
             */
            public Builder withEarlyWakeupStart(EarlyWakeupInfo earlyWakeupInfo) {
            public Builder withEarlyWakeupStart() {
                this.earlyWakeupInfo = earlyWakeupInfo;
                flags |= FLAG_EARLY_WAKEUP_START;
                flags |= FLAG_EARLY_WAKEUP_START;
                return this;
                return this;
            }
            }
@@ -309,8 +306,7 @@ public class SyncRtSurfaceTransactionApplier {
             * Removes the early wake up hint set by earlyWakeupStart.
             * Removes the early wake up hint set by earlyWakeupStart.
             * @return this Builder
             * @return this Builder
             */
             */
            public Builder withEarlyWakeupEnd(EarlyWakeupInfo earlyWakeupInfo) {
            public Builder withEarlyWakeupEnd() {
                this.earlyWakeupInfo = earlyWakeupInfo;
                flags |= FLAG_EARLY_WAKEUP_END;
                flags |= FLAG_EARLY_WAKEUP_END;
                return this;
                return this;
            }
            }
@@ -331,14 +327,15 @@ public class SyncRtSurfaceTransactionApplier {
            public SurfaceParams build() {
            public SurfaceParams build() {
                return new SurfaceParams(surface, flags, alpha, matrix, windowCrop, layer,
                return new SurfaceParams(surface, flags, alpha, matrix, windowCrop, layer,
                        cornerRadius, backgroundBlurRadius, backgroundBlurScale, visible,
                        cornerRadius, backgroundBlurRadius, backgroundBlurScale, visible,
                        mergeTransaction, opaque, earlyWakeupInfo);
                        mergeTransaction, opaque);
            }
            }
        }
        }


        private SurfaceParams(SurfaceControl surface, int params, float alpha, Matrix matrix,
        private SurfaceParams(SurfaceControl surface, int params, float alpha, Matrix matrix,
                Rect windowCrop, int layer, float cornerRadius,
                Rect windowCrop, int layer, float cornerRadius,
                int backgroundBlurRadius, float backgroundBlurScale, boolean visible,
                int backgroundBlurRadius, float backgroundBlurScale, boolean visible,
                Transaction mergeTransaction, boolean opaque, EarlyWakeupInfo earlyWakeupInfo) {
                Transaction mergeTransaction, boolean opaque) {

            this.flags = params;
            this.flags = params;
            this.surface = surface;
            this.surface = surface;
            this.alpha = alpha;
            this.alpha = alpha;
@@ -351,7 +348,6 @@ public class SyncRtSurfaceTransactionApplier {
            this.visible = visible;
            this.visible = visible;
            this.mergeTransaction = mergeTransaction;
            this.mergeTransaction = mergeTransaction;
            this.opaque = opaque;
            this.opaque = opaque;
            this.earlyWakeupInfo = earlyWakeupInfo;
        }
        }


        private final int flags;
        private final int flags;
@@ -384,7 +380,5 @@ public class SyncRtSurfaceTransactionApplier {


        public final Transaction mergeTransaction;
        public final Transaction mergeTransaction;
        public final boolean opaque;
        public final boolean opaque;

        public final EarlyWakeupInfo earlyWakeupInfo;
    }
    }
}
}
+2 −9
Original line number Original line Diff line number Diff line
@@ -26,8 +26,6 @@ import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.Nullable;
import android.content.Context;
import android.content.Context;
import android.gui.EarlyWakeupInfo;
import android.os.Binder;
import android.os.PerformanceHintManager;
import android.os.PerformanceHintManager;
import android.os.Trace;
import android.os.Trace;
import android.util.Log;
import android.util.Log;
@@ -168,9 +166,6 @@ public class SystemPerformanceHinter {
    private @Nullable PerformanceHintManager.Session mAdpfSession;
    private @Nullable PerformanceHintManager.Session mAdpfSession;
    private @Nullable DisplayRootProvider mDisplayRootProvider;
    private @Nullable DisplayRootProvider mDisplayRootProvider;


    /** Token for early wakeup requests to SurfaceFlinger. */
    private EarlyWakeupInfo mEarlyWakeupInfo = new EarlyWakeupInfo();

    /**
    /**
     * Constructor for the hinter.
     * Constructor for the hinter.
     * @hide
     * @hide
@@ -191,8 +186,6 @@ public class SystemPerformanceHinter {
        mTransaction = transactionSupplier != null
        mTransaction = transactionSupplier != null
                ? transactionSupplier.get()
                ? transactionSupplier.get()
                : new SurfaceControl.Transaction();
                : new SurfaceControl.Transaction();
        mEarlyWakeupInfo.token = new Binder();
        mEarlyWakeupInfo.trace = SystemPerformanceHinter.class.getName();
    }
    }


    /**
    /**
@@ -272,7 +265,7 @@ public class SystemPerformanceHinter {


        // Global flags
        // Global flags
        if (nowEnabled(oldGlobalFlags, newGlobalFlags, HINT_SF_EARLY_WAKEUP)) {
        if (nowEnabled(oldGlobalFlags, newGlobalFlags, HINT_SF_EARLY_WAKEUP)) {
            mTransaction.setEarlyWakeupStart(mEarlyWakeupInfo);
            mTransaction.setEarlyWakeupStart();
            transactionChanged = true;
            transactionChanged = true;
            if (isTraceEnabled) {
            if (isTraceEnabled) {
                asyncTraceBegin(HINT_SF_EARLY_WAKEUP, Display.INVALID_DISPLAY);
                asyncTraceBegin(HINT_SF_EARLY_WAKEUP, Display.INVALID_DISPLAY);
@@ -322,7 +315,7 @@ public class SystemPerformanceHinter {


        // Global flags
        // Global flags
        if (nowDisabled(oldGlobalFlags, newGlobalFlags, HINT_SF_EARLY_WAKEUP)) {
        if (nowDisabled(oldGlobalFlags, newGlobalFlags, HINT_SF_EARLY_WAKEUP)) {
            mTransaction.setEarlyWakeupEnd(mEarlyWakeupInfo);
            mTransaction.setEarlyWakeupEnd();
            transactionChanged = true;
            transactionChanged = true;
            if (isTraceEnabled) {
            if (isTraceEnabled) {
                asyncTraceEnd(HINT_SF_EARLY_WAKEUP);
                asyncTraceEnd(HINT_SF_EARLY_WAKEUP);
+10 −38
Original line number Original line Diff line number Diff line
@@ -579,42 +579,14 @@ static void nativeSetAnimationTransaction(JNIEnv* env, jclass clazz, jlong trans
    transaction->setAnimationTransaction();
    transaction->setAnimationTransaction();
}
}


static void nativeSetEarlyWakeupStart(JNIEnv* env, jclass clazz, jlong transactionObj,
static void nativeSetEarlyWakeupStart(JNIEnv* env, jclass clazz, jlong transactionObj) {
                                      jobject infoObj) {
    Parcel* infoParcel = parcelForJavaObject(env, infoObj);
    if (infoParcel == NULL) {
        doThrowNPE(env);
        return;
    }
    gui::EarlyWakeupInfo earlyWakeupInfo;
    status_t err = earlyWakeupInfo.readFromParcel(infoParcel);
    if (err != NO_ERROR) {
        jniThrowException(env, "java/lang/IllegalArgumentException",
                          "EarlyWakeupInfo parcel has wrong format");
        return;
    }

    auto transaction = reinterpret_cast<SurfaceComposerClient::Transaction*>(transactionObj);
    auto transaction = reinterpret_cast<SurfaceComposerClient::Transaction*>(transactionObj);
    transaction->setEarlyWakeupStart(earlyWakeupInfo);
    transaction->setEarlyWakeupStart();
}

static void nativeSetEarlyWakeupEnd(JNIEnv* env, jclass clazz, jlong transactionObj,
                                    jobject infoObj) {
    Parcel* infoParcel = parcelForJavaObject(env, infoObj);
    if (infoParcel == NULL) {
        doThrowNPE(env);
        return;
    }
    gui::EarlyWakeupInfo earlyWakeupInfo;
    status_t err = earlyWakeupInfo.readFromParcel(infoParcel);
    if (err != NO_ERROR) {
        jniThrowException(env, "java/lang/IllegalArgumentException",
                          "EarlyWakeupInfo parcel has wrong format");
        return;
}
}


static void nativeSetEarlyWakeupEnd(JNIEnv* env, jclass clazz, jlong transactionObj) {
    auto transaction = reinterpret_cast<SurfaceComposerClient::Transaction*>(transactionObj);
    auto transaction = reinterpret_cast<SurfaceComposerClient::Transaction*>(transactionObj);
    transaction->setEarlyWakeupEnd(earlyWakeupInfo);
    transaction->setEarlyWakeupEnd();
}
}


static jlong nativeGetTransactionId(JNIEnv* env, jclass clazz, jlong transactionObj) {
static jlong nativeGetTransactionId(JNIEnv* env, jclass clazz, jlong transactionObj) {
@@ -1204,8 +1176,8 @@ static void nativeSetBoxShadowSettings(JNIEnv* env, jclass clazz, jlong transact
    transaction->setBoxShadowSettings(ctrl, settings);
    transaction->setBoxShadowSettings(ctrl, settings);
}
}


static void nativeSetBorderSettings(JNIEnv* env, jclass clazz,
static void nativeSetBorderSettings(JNIEnv* env, jclass clazz, jlong transactionObj,
        jlong transactionObj, jlong nativeObject, jobject settingsObj) {
                                    jlong nativeObject, jobject settingsObj) {
    Parcel* settingsParcel = parcelForJavaObject(env, settingsObj);
    Parcel* settingsParcel = parcelForJavaObject(env, settingsObj);
    if (settingsParcel == NULL) {
    if (settingsParcel == NULL) {
        doThrowNPE(env);
        doThrowNPE(env);
@@ -2599,9 +2571,9 @@ static const JNINativeMethod sSurfaceControlMethods[] = {
            (void*)nativeMergeTransaction },
            (void*)nativeMergeTransaction },
    {"nativeSetAnimationTransaction", "(J)V",
    {"nativeSetAnimationTransaction", "(J)V",
            (void*)nativeSetAnimationTransaction },
            (void*)nativeSetAnimationTransaction },
    {"nativeSetEarlyWakeupStart", "(JLandroid/os/Parcel;)V",
    {"nativeSetEarlyWakeupStart", "(J)V",
            (void*)nativeSetEarlyWakeupStart },
            (void*)nativeSetEarlyWakeupStart },
    {"nativeSetEarlyWakeupEnd", "(JLandroid/os/Parcel;)V",
    {"nativeSetEarlyWakeupEnd", "(J)V",
            (void*)nativeSetEarlyWakeupEnd },
            (void*)nativeSetEarlyWakeupEnd },
    {"nativeGetTransactionId", "(J)J",
    {"nativeGetTransactionId", "(J)J",
                (void*)nativeGetTransactionId },
                (void*)nativeGetTransactionId },
+13 −15
Original line number Original line Diff line number Diff line
@@ -37,8 +37,6 @@ import static org.mockito.Mockito.never;
import static org.mockito.Mockito.reset;
import static org.mockito.Mockito.reset;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verify;


import android.gui.EarlyWakeupInfo;
import android.os.Binder;
import android.os.PerformanceHintManager;
import android.os.PerformanceHintManager;
import android.platform.test.annotations.Presubmit;
import android.platform.test.annotations.Presubmit;
import android.view.SurfaceControl;
import android.view.SurfaceControl;
@@ -192,7 +190,7 @@ public class SystemPerformanceHinterTests {
        assertEquals(0, mRootProvider.getCount);
        assertEquals(0, mRootProvider.getCount);


        // Verify we call SF
        // Verify we call SF
        verify(mTransaction).setEarlyWakeupStart(any(EarlyWakeupInfo.class));
        verify(mTransaction).setEarlyWakeupStart();
        verify(mTransaction).applyAsyncUnsafe();
        verify(mTransaction).applyAsyncUnsafe();
    }
    }


@@ -204,7 +202,7 @@ public class SystemPerformanceHinterTests {
        session.close();
        session.close();


        // Verify we call SF
        // Verify we call SF
        verify(mTransaction).setEarlyWakeupEnd(any(EarlyWakeupInfo.class));
        verify(mTransaction).setEarlyWakeupEnd();
        verify(mTransaction).applyAsyncUnsafe();
        verify(mTransaction).applyAsyncUnsafe();
    }
    }


@@ -251,7 +249,7 @@ public class SystemPerformanceHinterTests {
                eq(mDefaultDisplayRoot),
                eq(mDefaultDisplayRoot),
                eq(FRAME_RATE_CATEGORY_HIGH),
                eq(FRAME_RATE_CATEGORY_HIGH),
                eq(false));
                eq(false));
        verify(mTransaction).setEarlyWakeupStart(any(EarlyWakeupInfo.class));
        verify(mTransaction).setEarlyWakeupStart();
        verify(mTransaction).applyAsyncUnsafe();
        verify(mTransaction).applyAsyncUnsafe();
        verify(mAdpfSession).sendHint(eq(CPU_LOAD_UP));
        verify(mAdpfSession).sendHint(eq(CPU_LOAD_UP));
    }
    }
@@ -272,7 +270,7 @@ public class SystemPerformanceHinterTests {
                eq(mDefaultDisplayRoot),
                eq(mDefaultDisplayRoot),
                eq(FRAME_RATE_CATEGORY_DEFAULT),
                eq(FRAME_RATE_CATEGORY_DEFAULT),
                eq(false));
                eq(false));
        verify(mTransaction).setEarlyWakeupEnd(any(EarlyWakeupInfo.class));
        verify(mTransaction).setEarlyWakeupEnd();
        verify(mTransaction).applyAsyncUnsafe();
        verify(mTransaction).applyAsyncUnsafe();
        verify(mAdpfSession).sendHint(eq(CPU_LOAD_RESET));
        verify(mAdpfSession).sendHint(eq(CPU_LOAD_RESET));
    }
    }
@@ -293,7 +291,7 @@ public class SystemPerformanceHinterTests {
                    eq(mDefaultDisplayRoot),
                    eq(mDefaultDisplayRoot),
                    eq(FRAME_RATE_CATEGORY_DEFAULT),
                    eq(FRAME_RATE_CATEGORY_DEFAULT),
                    eq(false));
                    eq(false));
            verify(mTransaction).setEarlyWakeupEnd(any(EarlyWakeupInfo.class));
            verify(mTransaction).setEarlyWakeupEnd();
            verify(mTransaction).applyAsyncUnsafe();
            verify(mTransaction).applyAsyncUnsafe();
            verify(mAdpfSession).sendHint(eq(CPU_LOAD_RESET));
            verify(mAdpfSession).sendHint(eq(CPU_LOAD_RESET));
        }
        }
@@ -312,7 +310,7 @@ public class SystemPerformanceHinterTests {
                eq(mDefaultDisplayRoot),
                eq(mDefaultDisplayRoot),
                eq(FRAME_RATE_CATEGORY_HIGH),
                eq(FRAME_RATE_CATEGORY_HIGH),
                eq(false));
                eq(false));
        verify(mTransaction).setEarlyWakeupStart(any(EarlyWakeupInfo.class));
        verify(mTransaction).setEarlyWakeupStart();
        verify(mTransaction).applyAsyncUnsafe();
        verify(mTransaction).applyAsyncUnsafe();
        verify(mAdpfSession).sendHint(eq(CPU_LOAD_UP));
        verify(mAdpfSession).sendHint(eq(CPU_LOAD_UP));
        reset(mTransaction);
        reset(mTransaction);
@@ -323,7 +321,7 @@ public class SystemPerformanceHinterTests {
        // Verify we never call SF and perf manager since session1 is already running
        // Verify we never call SF and perf manager since session1 is already running
        verify(mTransaction, never()).setFrameRateSelectionStrategy(any(), anyInt());
        verify(mTransaction, never()).setFrameRateSelectionStrategy(any(), anyInt());
        verify(mTransaction, never()).setFrameRateCategory(any(), anyInt(), anyBoolean());
        verify(mTransaction, never()).setFrameRateCategory(any(), anyInt(), anyBoolean());
        verify(mTransaction, never()).setEarlyWakeupEnd(any(EarlyWakeupInfo.class));
        verify(mTransaction, never()).setEarlyWakeupEnd();
        verify(mTransaction, never()).applyAsyncUnsafe();
        verify(mTransaction, never()).applyAsyncUnsafe();
        verify(mAdpfSession, never()).sendHint(anyInt());
        verify(mAdpfSession, never()).sendHint(anyInt());


@@ -331,7 +329,7 @@ public class SystemPerformanceHinterTests {
        // Verify we have not cleaned up because session1 is still running
        // Verify we have not cleaned up because session1 is still running
        verify(mTransaction, never()).setFrameRateSelectionStrategy(any(), anyInt());
        verify(mTransaction, never()).setFrameRateSelectionStrategy(any(), anyInt());
        verify(mTransaction, never()).setFrameRateCategory(any(), anyInt(), anyBoolean());
        verify(mTransaction, never()).setFrameRateCategory(any(), anyInt(), anyBoolean());
        verify(mTransaction, never()).setEarlyWakeupEnd(any(EarlyWakeupInfo.class));
        verify(mTransaction, never()).setEarlyWakeupEnd();
        verify(mTransaction, never()).applyAsyncUnsafe();
        verify(mTransaction, never()).applyAsyncUnsafe();
        verify(mAdpfSession, never()).sendHint(anyInt());
        verify(mAdpfSession, never()).sendHint(anyInt());


@@ -344,7 +342,7 @@ public class SystemPerformanceHinterTests {
                eq(mDefaultDisplayRoot),
                eq(mDefaultDisplayRoot),
                eq(FRAME_RATE_CATEGORY_DEFAULT),
                eq(FRAME_RATE_CATEGORY_DEFAULT),
                eq(false));
                eq(false));
        verify(mTransaction).setEarlyWakeupEnd(any(EarlyWakeupInfo.class));
        verify(mTransaction).setEarlyWakeupEnd();
        verify(mTransaction).applyAsyncUnsafe();
        verify(mTransaction).applyAsyncUnsafe();
        verify(mAdpfSession).sendHint(eq(CPU_LOAD_RESET));
        verify(mAdpfSession).sendHint(eq(CPU_LOAD_RESET));
    }
    }
@@ -363,7 +361,7 @@ public class SystemPerformanceHinterTests {
                eq(mDefaultDisplayRoot),
                eq(mDefaultDisplayRoot),
                eq(FRAME_RATE_CATEGORY_HIGH),
                eq(FRAME_RATE_CATEGORY_HIGH),
                eq(false));
                eq(false));
        verify(mTransaction).setEarlyWakeupStart(any(EarlyWakeupInfo.class));
        verify(mTransaction).setEarlyWakeupStart();
        verify(mTransaction).applyAsyncUnsafe();
        verify(mTransaction).applyAsyncUnsafe();
        verify(mAdpfSession).sendHint(eq(CPU_LOAD_UP));
        verify(mAdpfSession).sendHint(eq(CPU_LOAD_UP));
        reset(mTransaction);
        reset(mTransaction);
@@ -379,7 +377,7 @@ public class SystemPerformanceHinterTests {
                eq(mSecondaryDisplayRoot),
                eq(mSecondaryDisplayRoot),
                eq(FRAME_RATE_CATEGORY_HIGH),
                eq(FRAME_RATE_CATEGORY_HIGH),
                eq(false));
                eq(false));
        verify(mTransaction, never()).setEarlyWakeupStart(any(EarlyWakeupInfo.class));
        verify(mTransaction, never()).setEarlyWakeupStart();
        verify(mTransaction).applyAsyncUnsafe();
        verify(mTransaction).applyAsyncUnsafe();
        verify(mAdpfSession, never()).sendHint(anyInt());
        verify(mAdpfSession, never()).sendHint(anyInt());
        reset(mTransaction);
        reset(mTransaction);
@@ -402,7 +400,7 @@ public class SystemPerformanceHinterTests {
                eq(mSecondaryDisplayRoot),
                eq(mSecondaryDisplayRoot),
                anyInt(),
                anyInt(),
                eq(false));
                eq(false));
        verify(mTransaction, never()).setEarlyWakeupEnd(any(EarlyWakeupInfo.class));
        verify(mTransaction, never()).setEarlyWakeupEnd();
        verify(mTransaction).applyAsyncUnsafe();
        verify(mTransaction).applyAsyncUnsafe();
        verify(mAdpfSession, never()).sendHint(anyInt());
        verify(mAdpfSession, never()).sendHint(anyInt());
        reset(mTransaction);
        reset(mTransaction);
@@ -420,7 +418,7 @@ public class SystemPerformanceHinterTests {
                eq(mSecondaryDisplayRoot),
                eq(mSecondaryDisplayRoot),
                eq(FRAME_RATE_CATEGORY_DEFAULT),
                eq(FRAME_RATE_CATEGORY_DEFAULT),
                eq(false));
                eq(false));
        verify(mTransaction).setEarlyWakeupEnd(any(EarlyWakeupInfo.class));
        verify(mTransaction).setEarlyWakeupEnd();
        verify(mTransaction).applyAsyncUnsafe();
        verify(mTransaction).applyAsyncUnsafe();
        verify(mAdpfSession).sendHint(eq(CPU_LOAD_RESET));
        verify(mAdpfSession).sendHint(eq(CPU_LOAD_RESET));
    }
    }
Loading