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

Commit 2f8ce896 authored by Mady Mellor's avatar Mady Mellor
Browse files

Don't show user education if it's hiding

If we get an onWindowInsets change while the user education is
showing (and the user is interacting with it so it's 'going away')
we can end up in a state where we trigger the user education to
show again when it shouldn't.

I've found this pretty tough to repro, I think this is the issue
and should fix it.

Bug: 282618534
Test: manual - adb shell pm clear com.android.systemui
             - adb shell am restart
             - add a bubble, tap / drag slightly on it to show the
               user education
             - tap again, user education goes away
             - repeat this a whole bunch
Change-Id: I05dcfed7466527e26bdce6af5988f5c178203602
parent 32becff0
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1338,7 +1338,7 @@ public class BubbleStackView extends FrameLayout

    // Recreates & shows the education views. Call when a theme/config change happens.
    private void updateUserEdu() {
        if (isStackEduVisible()) {
        if (isStackEduVisible() && !mStackEduView.isHiding()) {
            removeView(mStackEduView);
            mStackEduView = new StackEducationView(mContext, mPositioner, mBubbleController);
            addView(mStackEduView);
+3 −3
Original line number Diff line number Diff line
@@ -37,8 +37,7 @@ class StackEducationView constructor(
    context: Context,
    positioner: BubblePositioner,
    controller: BubbleController
)
    : LinearLayout(context) {
) : LinearLayout(context) {

    private val TAG = if (BubbleDebugConfig.TAG_WITH_CLASS_NAME) "BubbleStackEducationView"
        else BubbleDebugConfig.TAG_BUBBLES
@@ -53,7 +52,8 @@ class StackEducationView constructor(
    private val titleTextView by lazy { findViewById<TextView>(R.id.stack_education_title) }
    private val descTextView by lazy { findViewById<TextView>(R.id.stack_education_description) }

    private var isHiding = false
    var isHiding = false
        private set

    init {
        LayoutInflater.from(context).inflate(R.layout.bubble_stack_user_education, this)