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

Commit c1f9e4c0 authored by Chavi Weingarten's avatar Chavi Weingarten Committed by Android (Google) Code Review
Browse files

Merge "Add call to disable RT Animations" into tm-dev

parents 7ca26cc4 01053d43
Loading
Loading
Loading
Loading
+14 −5
Original line number Diff line number Diff line
@@ -984,12 +984,12 @@ public class HardwareRenderer {
    }

    /**
     * b/68769804: For low FPS experiments.
     * b/68769804, b/66945974: For low FPS experiments.
     *
     * @hide
     */
    public static void setFPSDivisor(int divisor) {
        nHackySetRTAnimationsEnabled(divisor <= 1);
        nSetRtAnimationsEnabled(divisor <= 1);
    }

    /**
@@ -1153,6 +1153,16 @@ public class HardwareRenderer {
        nSetDrawingEnabled(drawingEnabled);
    }

    /**
     * Disable RenderThread animations that schedule draws directly from RenderThread. This is used
     * when we don't want to de-schedule draw requests that come from the UI thread.
     *
     * @hide
     */
    public static void setRtAnimationsEnabled(boolean enabled) {
        nSetRtAnimationsEnabled(enabled);
    }

    private static final class DestroyContextRunnable implements Runnable {
        private final long mNativeInstance;

@@ -1461,9 +1471,6 @@ public class HardwareRenderer {

    private static native void nSetHighContrastText(boolean enabled);

    // For temporary experimentation b/66945974
    private static native void nHackySetRTAnimationsEnabled(boolean enabled);

    private static native void nSetDebuggingEnabled(boolean enabled);

    private static native void nSetIsolatedProcess(boolean enabled);
@@ -1482,4 +1489,6 @@ public class HardwareRenderer {
    private static native void nSetDrawingEnabled(boolean drawingEnabled);

    private static native boolean nIsDrawingEnabled();

    private static native void nSetRtAnimationsEnabled(boolean rtAnimationsEnabled);
}
+7 −7
Original line number Diff line number Diff line
@@ -777,11 +777,6 @@ static void android_view_ThreadedRenderer_setHighContrastText(JNIEnv*, jclass, j
    Properties::enableHighContrastText = enable;
}

static void android_view_ThreadedRenderer_hackySetRTAnimationsEnabled(JNIEnv*, jclass,
        jboolean enable) {
    Properties::enableRTAnimations = enable;
}

static void android_view_ThreadedRenderer_setDebuggingEnabled(JNIEnv*, jclass, jboolean enable) {
    Properties::debuggingEnabled = enable;
}
@@ -811,6 +806,11 @@ static void android_view_ThreadedRenderer_preload(JNIEnv*, jclass) {
    RenderProxy::preload();
}

static void android_view_ThreadedRenderer_setRtAnimationsEnabled(JNIEnv* env, jobject clazz,
                                                                 jboolean enabled) {
    RenderProxy::setRtAnimationsEnabled(enabled);
}

// Plumbs the display density down to DeviceInfo.
static void android_view_ThreadedRenderer_setDisplayDensityDpi(JNIEnv*, jclass, jint densityDpi) {
    // Convert from dpi to density-independent pixels.
@@ -967,8 +967,6 @@ static const JNINativeMethod gMethods[] = {
         (void*)android_view_ThreadedRenderer_createHardwareBitmapFromRenderNode},
        {"disableVsync", "()V", (void*)android_view_ThreadedRenderer_disableVsync},
        {"nSetHighContrastText", "(Z)V", (void*)android_view_ThreadedRenderer_setHighContrastText},
        {"nHackySetRTAnimationsEnabled", "(Z)V",
         (void*)android_view_ThreadedRenderer_hackySetRTAnimationsEnabled},
        {"nSetDebuggingEnabled", "(Z)V", (void*)android_view_ThreadedRenderer_setDebuggingEnabled},
        {"nSetIsolatedProcess", "(Z)V", (void*)android_view_ThreadedRenderer_setIsolatedProcess},
        {"nSetContextPriority", "(I)V", (void*)android_view_ThreadedRenderer_setContextPriority},
@@ -982,6 +980,8 @@ static const JNINativeMethod gMethods[] = {
         (void*)android_view_ThreadedRenderer_isWebViewOverlaysEnabled},
        {"nSetDrawingEnabled", "(Z)V", (void*)android_view_ThreadedRenderer_setDrawingEnabled},
        {"nIsDrawingEnabled", "()Z", (void*)android_view_ThreadedRenderer_isDrawingEnabled},
        {"nSetRtAnimationsEnabled", "(Z)V",
         (void*)android_view_ThreadedRenderer_setRtAnimationsEnabled},
};

static JavaVM* mJvm = nullptr;
+9 −0
Original line number Diff line number Diff line
@@ -428,6 +428,15 @@ void RenderProxy::preload() {
    thread.queue().post([&thread]() { thread.preload(); });
}

void RenderProxy::setRtAnimationsEnabled(bool enabled) {
    if (RenderThread::hasInstance()) {
        RenderThread::getInstance().queue().post(
                [enabled]() { Properties::enableRTAnimations = enabled; });
    } else {
        Properties::enableRTAnimations = enabled;
    }
}

} /* namespace renderthread */
} /* namespace uirenderer */
} /* namespace android */
+2 −0
Original line number Diff line number Diff line
@@ -144,6 +144,8 @@ public:

    static void preload();

    static void setRtAnimationsEnabled(bool enabled);

private:
    RenderThread& mRenderThread;
    CanvasContext* mContext;