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

Commit a10a9db7 authored by Matthew Ng's avatar Matthew Ng
Browse files

DividerView choreographer set earlier to avoid null exception

DividerView sometimes gets attached (after created) after minimized mode
has triggered and therefore causes choreographer to trigger a null
exception. So put it in the constructor to avoid this issue.

Change-Id: Iad32fa42ab2bc60bde4ac0be8f8eac8b55de40ae
Fixes: 38017227
Test: manual - hard to repro, keep rotating screen while minimized
parent bc13f717
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -160,7 +160,7 @@ public class DividerView extends FrameLayout implements OnTouchListener,
    private boolean mHomeStackResizable;
    private boolean mAdjustedForIme;
    private DividerState mState;
    private SurfaceFlingerVsyncChoreographer mSfChoreographer;
    private final SurfaceFlingerVsyncChoreographer mSfChoreographer;

    private final Handler mHandler = new Handler() {
        @Override
@@ -250,20 +250,22 @@ public class DividerView extends FrameLayout implements OnTouchListener,
    };

    public DividerView(Context context) {
        super(context);
        this(context, null);
    }

    public DividerView(Context context, @Nullable AttributeSet attrs) {
        super(context, attrs);
        this(context, attrs, 0);
    }

    public DividerView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        this(context, attrs, defStyleAttr, 0);
    }

    public DividerView(Context context, @Nullable AttributeSet attrs, int defStyleAttr,
            int defStyleRes) {
        super(context, attrs, defStyleAttr, defStyleRes);
        mSfChoreographer = new SurfaceFlingerVsyncChoreographer(mHandler, context.getDisplay(),
                Choreographer.getInstance());
    }

    @Override
@@ -313,8 +315,6 @@ public class DividerView extends FrameLayout implements OnTouchListener,
    protected void onAttachedToWindow() {
        super.onAttachedToWindow();
        EventBus.getDefault().register(this);
        mSfChoreographer = new SurfaceFlingerVsyncChoreographer(mHandler, getDisplay(),
                Choreographer.getInstance());
    }

    @Override