Merge "Check target is empty before showing it in AccessibilityFloatingMenu" into tm-dev
This commit is contained in:
@@ -39,10 +39,13 @@ import android.text.TextUtils;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.android.internal.accessibility.dialog.AccessibilityTarget;
|
||||
import com.android.internal.annotations.VisibleForTesting;
|
||||
import com.android.systemui.Prefs;
|
||||
import com.android.systemui.shared.system.SysUiStatsLog;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Contains logic for an accessibility floating menu view.
|
||||
*/
|
||||
@@ -120,9 +123,13 @@ public class AccessibilityFloatingMenu implements IAccessibilityFloatingMenu {
|
||||
if (isShowing()) {
|
||||
return;
|
||||
}
|
||||
final List<AccessibilityTarget> targetList = getTargets(mContext, ACCESSIBILITY_BUTTON);
|
||||
if (targetList.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
|
||||
mMenuView.show();
|
||||
mMenuView.onTargetsChanged(getTargets(mContext, ACCESSIBILITY_BUTTON));
|
||||
mMenuView.onTargetsChanged(targetList);
|
||||
mMenuView.updateOpacityWith(isFadeEffectEnabled(mContext),
|
||||
getOpacityValue(mContext));
|
||||
mMenuView.setSizeType(getSizeType(mContext));
|
||||
|
||||
@@ -87,6 +87,17 @@ public class AccessibilityFloatingMenuTest extends SysuiTestCase {
|
||||
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
|
||||
public void tearDown() {
|
||||
mMenu.hide();
|
||||
|
||||
Reference in New Issue
Block a user