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

Commit fea73575 authored by Fabian Kozynski's avatar Fabian Kozynski
Browse files

No clicks on QSSecurityFooter if gone

Test: atest QSSecurityFooterTest
Fixes: 145263509
Change-Id: Ib2109126539c2936155ef5753a1b4229d940804c
parent c5f436ec
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -116,6 +116,7 @@ public class QSSecurityFooter implements OnClickListener, DialogInterface.OnClic

    @Override
    public void onClick(View v) {
        if (!hasFooter()) return;
        mHandler.sendEmptyMessage(H.CLICK);
    }

+18 −0
Original line number Diff line number Diff line
@@ -16,8 +16,11 @@ package com.android.systemui.qs;

import static junit.framework.Assert.assertEquals;

import static org.junit.Assert.assertFalse;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;

import android.content.Context;
@@ -447,6 +450,21 @@ public class QSSecurityFooterTest extends SysuiTestCase {
                view.findViewById(R.id.vpn_subtitle).getVisibility());
    }

    @Test
    public void testNoClickWhenGone() {
        QSTileHost mockHost = mock(QSTileHost.class);
        mFooter.setHostEnvironment(mockHost);
        mFooter.refreshState();

        TestableLooper.get(this).processAllMessages();

        assertFalse(mFooter.hasFooter());
        mFooter.onClick(mFooter.getView());

        // Proxy for dialog being created
        verify(mockHost, never()).collapsePanels();
    }

    private CharSequence addLink(CharSequence description) {
        final SpannableStringBuilder message = new SpannableStringBuilder();
        message.append(description);