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 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));
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
Reference in New Issue
Block a user