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

Commit 075f9ce0 authored by John Reck's avatar John Reck Committed by Android (Google) Code Review
Browse files

Merge "Fix a few view ctors to not call Looper.myLooper"

parents 461d444b d0374c6b
Loading
Loading
Loading
Loading
+149 −140
Original line number Diff line number Diff line
@@ -253,28 +253,7 @@ public class KeyboardView extends View implements View.OnClickListener {
    /** Whether the requirement of a headset to hear passwords if accessibility is enabled is announced. */
    private boolean mHeadsetRequiredToHearPasswordsAnnounced;

    Handler mHandler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            switch (msg.what) {
                case MSG_SHOW_PREVIEW:
                    showKey(msg.arg1);
                    break;
                case MSG_REMOVE_PREVIEW:
                    mPreviewText.setVisibility(INVISIBLE);
                    break;
                case MSG_REPEAT:
                    if (repeatKey()) {
                        Message repeat = Message.obtain(this, MSG_REPEAT);
                        sendMessageDelayed(repeat, REPEAT_INTERVAL);                        
                    }
                    break;
                case MSG_LONGPRESS:
                    openPopupIfRequired((MotionEvent) msg.obj);
                    break;
            }
        }
    };
    Handler mHandler;

    public KeyboardView(Context context, AttributeSet attrs) {
        this(context, attrs, com.android.internal.R.attr.keyboardViewStyle);
@@ -380,11 +359,40 @@ public class KeyboardView extends View implements View.OnClickListener {
        mAudioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);

        resetMultiTap();
        initGestureDetector();
    }

    @Override
    protected void onAttachedToWindow() {
        super.onAttachedToWindow();
        initGestureDetector();
        if (mHandler == null) {
            mHandler = new Handler() {
                @Override
                public void handleMessage(Message msg) {
                    switch (msg.what) {
                        case MSG_SHOW_PREVIEW:
                            showKey(msg.arg1);
                            break;
                        case MSG_REMOVE_PREVIEW:
                            mPreviewText.setVisibility(INVISIBLE);
                            break;
                        case MSG_REPEAT:
                            if (repeatKey()) {
                                Message repeat = Message.obtain(this, MSG_REPEAT);
                                sendMessageDelayed(repeat, REPEAT_INTERVAL);
                            }
                            break;
                        case MSG_LONGPRESS:
                            openPopupIfRequired((MotionEvent) msg.obj);
                            break;
                    }
                }
            };
        }
    }

    private void initGestureDetector() {
        if (mGestureDetector == null) {
            mGestureDetector = new GestureDetector(getContext(), new GestureDetector.SimpleOnGestureListener() {
                @Override
                public boolean onFling(MotionEvent me1, MotionEvent me2,
@@ -439,6 +447,7 @@ public class KeyboardView extends View implements View.OnClickListener {

            mGestureDetector.setIsLongpressEnabled(false);
        }
    }

    public void setOnKeyboardActionListener(OnKeyboardActionListener listener) {
        mKeyboardActionListener = listener;
+11 −19
Original line number Diff line number Diff line
@@ -21,7 +21,6 @@ import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.res.TypedArray;
import android.os.Handler;
import android.os.Message;
import android.util.AttributeSet;
import android.util.Log;
@@ -112,7 +111,7 @@ public class AdapterViewFlipper extends AdapterViewAnimator {
        // home screen. Therefore, we register the receiver as the current
        // user not the one the context is for.
        getContext().registerReceiverAsUser(mReceiver, android.os.Process.myUserHandle(),
                filter, null, mHandler);
                filter, null, getHandler());


        if (mAutoStart) {
@@ -194,9 +193,8 @@ public class AdapterViewFlipper extends AdapterViewAnimator {
       // if the flipper is currently flipping automatically, and showNext() is called
       // we should we should make sure to reset the timer
       if (mRunning) {
           mHandler.removeMessages(FLIP_MSG);
           Message msg = mHandler.obtainMessage(FLIP_MSG);
           mHandler.sendMessageDelayed(msg, mFlipInterval);
           removeCallbacks(mFlipRunnable);
           postDelayed(mFlipRunnable, mFlipInterval);
       }
       super.showNext();
   }
@@ -210,9 +208,8 @@ public class AdapterViewFlipper extends AdapterViewAnimator {
       // if the flipper is currently flipping automatically, and showPrevious() is called
       // we should we should make sure to reset the timer
       if (mRunning) {
           mHandler.removeMessages(FLIP_MSG);
           Message msg = mHandler.obtainMessage(FLIP_MSG);
           mHandler.sendMessageDelayed(msg, mFlipInterval);
           removeCallbacks(mFlipRunnable);
           postDelayed(mFlipRunnable, mFlipInterval);
       }
       super.showPrevious();
   }
@@ -241,10 +238,9 @@ public class AdapterViewFlipper extends AdapterViewAnimator {
        if (running != mRunning) {
            if (running) {
                showOnly(mWhichChild, flipNow);
                Message msg = mHandler.obtainMessage(FLIP_MSG);
                mHandler.sendMessageDelayed(msg, mFlipInterval);
                postDelayed(mFlipRunnable, mFlipInterval);
            } else {
                mHandler.removeMessages(FLIP_MSG);
                removeCallbacks(mFlipRunnable);
            }
            mRunning = running;
        }
@@ -277,17 +273,13 @@ public class AdapterViewFlipper extends AdapterViewAnimator {
        return mAutoStart;
    }

    private final int FLIP_MSG = 1;

    private final Handler mHandler = new Handler() {
    private final Runnable mFlipRunnable = new Runnable() {
        @Override
        public void handleMessage(Message msg) {
            if (msg.what == FLIP_MSG) {
        public void run() {
            if (mRunning) {
                showNext();
            }
        }
        }
    };

    /**
+1 −2
Original line number Diff line number Diff line
@@ -56,7 +56,6 @@ public class AnalogClock extends View {

    private boolean mAttached;

    private final Handler mHandler = new Handler();
    private float mMinutes;
    private float mHour;
    private boolean mChanged;
@@ -121,7 +120,7 @@ public class AnalogClock extends View {
            // home screen. Therefore, we register the receiver as the current
            // user not the one the context is for.
            getContext().registerReceiverAsUser(mIntentReceiver,
                    android.os.Process.myUserHandle(), filter, null, mHandler);
                    android.os.Process.myUserHandle(), filter, null, getHandler());
        }

        // NOTE: It's safe to do these after registering the receiver since the receiver always runs
+7 −8
Original line number Diff line number Diff line
@@ -73,8 +73,6 @@ public class Chronometer extends TextView {
    private OnChronometerTickListener mOnChronometerTickListener;
    private StringBuilder mRecycle = new StringBuilder(8);
    
    private static final int TICK_WHAT = 2;
    
    /**
     * Initialize this Chronometer object.
     * Sets the base to the current time.
@@ -259,20 +257,21 @@ public class Chronometer extends TextView {
            if (running) {
                updateText(SystemClock.elapsedRealtime());
                dispatchChronometerTick();
                mHandler.sendMessageDelayed(Message.obtain(mHandler, TICK_WHAT), 1000);
                postDelayed(mTickRunnable, 1000);
            } else {
                mHandler.removeMessages(TICK_WHAT);
                removeCallbacks(mTickRunnable);
            }
            mRunning = running;
        }
    }

    private Handler mHandler = new Handler() {
        public void handleMessage(Message m) {
    private final Runnable mTickRunnable = new Runnable() {
        @Override
        public void run() {
            if (mRunning) {
                updateText(SystemClock.elapsedRealtime());
                dispatchChronometerTick();
                sendMessageDelayed(Message.obtain(this, TICK_WHAT), 1000);
                postDelayed(mTickRunnable, 1000);
            }
        }
    };
+8 −6
Original line number Diff line number Diff line
@@ -60,18 +60,18 @@ public class DigitalClock extends TextView {
        if (mCalendar == null) {
            mCalendar = Calendar.getInstance();
        }

        mFormatChangeObserver = new FormatChangeObserver();
        getContext().getContentResolver().registerContentObserver(
                Settings.System.CONTENT_URI, true, mFormatChangeObserver);

        setFormat();
    }

    @Override
    protected void onAttachedToWindow() {
        mTickerStopped = false;
        super.onAttachedToWindow();

        mFormatChangeObserver = new FormatChangeObserver();
        getContext().getContentResolver().registerContentObserver(
                Settings.System.CONTENT_URI, true, mFormatChangeObserver);
        setFormat();

        mHandler = new Handler();

        /**
@@ -95,6 +95,8 @@ public class DigitalClock extends TextView {
    protected void onDetachedFromWindow() {
        super.onDetachedFromWindow();
        mTickerStopped = true;
        getContext().getContentResolver().unregisterContentObserver(
                mFormatChangeObserver);
    }

    private void setFormat() {
Loading