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

Commit 2bf37288 authored by Jeff Brown's avatar Jeff Brown Committed by Android (Google) Code Review
Browse files

Merge "Mark input and sensor messages as asynchronous."

parents aa917f85 e0dbd002
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -616,6 +616,7 @@ public class SensorManager
            Message msg = Message.obtain();
            msg.what = 0;
            msg.obj = t;
            msg.setAsynchronous(true);
            mHandler.sendMessage(msg);
        }
    }
+9 −4
Original line number Diff line number Diff line
@@ -235,8 +235,9 @@ public final class Choreographer {
                if (isRunningOnLooperThreadLocked()) {
                    doScheduleVsyncLocked();
                } else {
                    mHandler.sendMessageAtFrontOfQueue(
                            mHandler.obtainMessage(MSG_DO_SCHEDULE_VSYNC));
                    Message msg = mHandler.obtainMessage(MSG_DO_SCHEDULE_VSYNC);
                    msg.setAsynchronous(true);
                    mHandler.sendMessageAtFrontOfQueue(msg);
                }
            } else {
                final long now = SystemClock.uptimeMillis();
@@ -244,7 +245,9 @@ public final class Choreographer {
                if (DEBUG) {
                    Log.d(TAG, "Scheduling animation in " + (nextAnimationTime - now) + " ms.");
                }
                mHandler.sendEmptyMessageAtTime(MSG_DO_ANIMATION, nextAnimationTime);
                Message msg = mHandler.obtainMessage(MSG_DO_ANIMATION);
                msg.setAsynchronous(true);
                mHandler.sendMessageAtTime(msg, nextAnimationTime);
            }
        }
    }
@@ -258,7 +261,9 @@ public final class Choreographer {
                if (DEBUG) {
                    Log.d(TAG, "Scheduling draw immediately.");
                }
                mHandler.sendEmptyMessage(MSG_DO_DRAW);
                Message msg = mHandler.obtainMessage(MSG_DO_DRAW);
                msg.setAsynchronous(true);
                mHandler.sendMessage(msg);
            }
        }
    }
+12 −2
Original line number Diff line number Diff line
@@ -213,6 +213,7 @@ public final class ViewRootImpl implements ViewParent,
    final Rect mVisRect; // used to retrieve visible rect of focused view.

    boolean mTraversalScheduled;
    int mTraversalBarrier;
    long mLastTraversalFinishedTimeNanos;
    long mLastDrawFinishedTimeNanos;
    boolean mWillDrawSoon;
@@ -839,22 +840,28 @@ public final class ViewRootImpl implements ViewParent,
    public void scheduleTraversals() {
        if (!mTraversalScheduled) {
            mTraversalScheduled = true;
            mTraversalBarrier = mHandler.getLooper().postSyncBarrier();
            scheduleFrame();
        }
    }

    public void unscheduleTraversals() {
        if (mTraversalScheduled) {
            mTraversalScheduled = false;
            mHandler.getLooper().removeSyncBarrier(mTraversalBarrier);
        }
    }

    void scheduleFrame() {
        if (!mFrameScheduled) {
            mChoreographer.postDrawCallback(mFrameRunnable);
            mFrameScheduled = true;
            mChoreographer.postDrawCallback(mFrameRunnable);
        }
    }

    void unscheduleFrame() {
        unscheduleTraversals();

        if (mFrameScheduled) {
            mFrameScheduled = false;
            mChoreographer.removeDrawCallback(mFrameRunnable);
@@ -869,6 +876,7 @@ public final class ViewRootImpl implements ViewParent,

        if (mTraversalScheduled) {
            mTraversalScheduled = false;
            mHandler.getLooper().removeSyncBarrier(mTraversalBarrier);
            doTraversal();
        }
    }
@@ -3989,11 +3997,13 @@ public final class ViewRootImpl implements ViewParent,

    public void dispatchKey(KeyEvent event) {
        Message msg = mHandler.obtainMessage(MSG_DISPATCH_KEY, event);
        msg.setAsynchronous(true);
        mHandler.sendMessage(msg);
    }

    public void dispatchKeyFromIme(KeyEvent event) {
        Message msg = mHandler.obtainMessage(MSG_DISPATCH_KEY_FROM_IME, event);
        msg.setAsynchronous(true);
        mHandler.sendMessage(msg);
    }

+0 −1
Original line number Diff line number Diff line
@@ -19,7 +19,6 @@ package android.view.inputmethod;
import android.content.Context;
import android.content.res.TypedArray;
import android.os.Bundle;
import android.os.Handler;
import android.os.SystemClock;
import android.text.Editable;
import android.text.NoCopySpan;