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

Commit fc5c5e9a authored by Menghan Li's avatar Menghan Li Committed by Android (Google) Code Review
Browse files

Merge "Check target is empty before showing it in AccessibilityFloatingMenu" into tm-dev

parents f24ce1ca 8c09ef0f
Loading
Loading
Loading
Loading
+8 −1
Original line number Original line Diff line number Diff line
@@ -39,10 +39,13 @@ import android.text.TextUtils;


import androidx.annotation.NonNull;
import androidx.annotation.NonNull;


import com.android.internal.accessibility.dialog.AccessibilityTarget;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.annotations.VisibleForTesting;
import com.android.systemui.Prefs;
import com.android.systemui.Prefs;
import com.android.systemui.shared.system.SysUiStatsLog;
import com.android.systemui.shared.system.SysUiStatsLog;


import java.util.List;

/**
/**
 * Contains logic for an accessibility floating menu view.
 * Contains logic for an accessibility floating menu view.
 */
 */
@@ -120,9 +123,13 @@ public class AccessibilityFloatingMenu implements IAccessibilityFloatingMenu {
        if (isShowing()) {
        if (isShowing()) {
            return;
            return;
        }
        }
        final List<AccessibilityTarget> targetList = getTargets(mContext, ACCESSIBILITY_BUTTON);
        if (targetList.isEmpty()) {
            return;
        }


        mMenuView.show();
        mMenuView.show();
        mMenuView.onTargetsChanged(getTargets(mContext, ACCESSIBILITY_BUTTON));
        mMenuView.onTargetsChanged(targetList);
        mMenuView.updateOpacityWith(isFadeEffectEnabled(mContext),
        mMenuView.updateOpacityWith(isFadeEffectEnabled(mContext),
                getOpacityValue(mContext));
                getOpacityValue(mContext));
        mMenuView.setSizeType(getSizeType(mContext));
        mMenuView.setSizeType(getSizeType(mContext));
+11 −0
Original line number Original line Diff line number Diff line
@@ -87,6 +87,17 @@ public class AccessibilityFloatingMenuTest extends SysuiTestCase {
        assertThat(mMenuView.isShowing()).isFalse();
        assertThat(mMenuView.isShowing()).isFalse();
    }
    }


    @Test
    public void showMenuView_emptyTarget_notShow() {
        final List<String> emptyTargets = new ArrayList<>();
        doReturn(emptyTargets).when(mAccessibilityManager).getAccessibilityShortcutTargets(
                anyInt());

        mMenu.show();

        assertThat(mMenuView.isShowing()).isFalse();
    }

    @After
    @After
    public void tearDown() {
    public void tearDown() {
        mMenu.hide();
        mMenu.hide();