Handle window removed event properly am: d5a4811bee
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Car/RotaryController/+/13114369
Change-Id: Iaead40480f71eaf16c1ffa3a945a5dbd0d56c1fa
diff --git a/tests/robotests/Android.bp b/tests/robotests/Android.bp
index 8ef9a27..cd7e866 100644
--- a/tests/robotests/Android.bp
+++ b/tests/robotests/Android.bp
@@ -11,6 +11,7 @@
// Include the testing libraries
libs: [
"android.car",
+ "android.test.base.impl",
],
static_libs: [
"car-ui-lib",
diff --git a/tests/robotests/src/com/android/car/rotary/NavigatorTest.java b/tests/robotests/src/com/android/car/rotary/NavigatorTest.java
index ee79412..83e06a2 100644
--- a/tests/robotests/src/com/android/car/rotary/NavigatorTest.java
+++ b/tests/robotests/src/com/android/car/rotary/NavigatorTest.java
@@ -60,7 +60,7 @@
AccessibilityNodeInfo root = mNodeBuilder.build();
setRootNodeForWindow(root, window);
- assertThat(window.getRoot()).isSameAs(root);
+ assertThat(window.getRoot()).isSameInstanceAs(root);
}
/**
@@ -90,17 +90,17 @@
// Rotate once, the focus should move from button1 to button2.
FindRotateTargetResult target = mNavigator.findRotateTarget(button1, direction, 1);
- assertThat(target.node).isSameAs(button2);
+ assertThat(target.node).isSameInstanceAs(button2);
assertThat(target.advancedCount).isEqualTo(1);
// Rotate twice, the focus should move from button1 to button3.
target = mNavigator.findRotateTarget(button1, direction, 2);
- assertThat(target.node).isSameAs(button3);
+ assertThat(target.node).isSameInstanceAs(button3);
assertThat(target.advancedCount).isEqualTo(2);
// Rotate 3 times and exceed the boundary, the focus should stay at the boundary.
target = mNavigator.findRotateTarget(button1, direction, 3);
- assertThat(target.node).isSameAs(button3);
+ assertThat(target.node).isSameInstanceAs(button3);
assertThat(target.advancedCount).isEqualTo(2);
}
@@ -249,7 +249,7 @@
// Rotate from button1, it shouldn't skip the invisible view.
FindRotateTargetResult target = mNavigator.findRotateTarget(button1, direction, 1);
- assertThat(target.node).isSameAs(invisible);
+ assertThat(target.node).isSameInstanceAs(invisible);
}
/**
@@ -278,7 +278,7 @@
// Rotate from button1, it should skip the empty view.
FindRotateTargetResult target = mNavigator.findRotateTarget(button1, direction, 1);
- assertThat(target.node).isSameAs(button2);
+ assertThat(target.node).isSameInstanceAs(button2);
}
/**
@@ -314,7 +314,7 @@
when(recyclerView.focusSearch(direction)).thenReturn(button2);
FindRotateTargetResult target = mNavigator.findRotateTarget(button1, direction, 1);
- assertThat(target.node).isSameAs(recyclerView);
+ assertThat(target.node).isSameInstanceAs(recyclerView);
}
/**
@@ -344,7 +344,7 @@
when(recyclerView.focusSearch(direction)).thenReturn(button2);
FindRotateTargetResult target = mNavigator.findRotateTarget(button1, direction, 1);
- assertThat(target.node).isSameAs(button2);
+ assertThat(target.node).isSameInstanceAs(button2);
}
/**
@@ -378,7 +378,7 @@
when(recyclerView.focusSearch(direction)).thenReturn(focusParkingView);
FindRotateTargetResult target = mNavigator.findRotateTarget(focusable2, direction, 2);
- assertThat(target.node).isSameAs(focusable1);
+ assertThat(target.node).isSameInstanceAs(focusable1);
assertThat(target.advancedCount).isEqualTo(1);
}
@@ -458,18 +458,18 @@
// Rotate once, the focus should move from button1 to button2.
FindRotateTargetResult target = mNavigator.findRotateTarget(button1, direction, 1);
- assertThat(target.node).isSameAs(button2);
+ assertThat(target.node).isSameInstanceAs(button2);
assertThat(target.advancedCount).isEqualTo(1);
// Rotate twice, the focus should move from button1 to button2 since button3 is not a
// descendant of the scrollable container.
target = mNavigator.findRotateTarget(button1, direction, 2);
- assertThat(target.node).isSameAs(button2);
+ assertThat(target.node).isSameInstanceAs(button2);
assertThat(target.advancedCount).isEqualTo(1);
// Rotate three times should do the same.
target = mNavigator.findRotateTarget(button1, direction, 3);
- assertThat(target.node).isSameAs(button2);
+ assertThat(target.node).isSameInstanceAs(button2);
assertThat(target.advancedCount).isEqualTo(1);
}
@@ -533,18 +533,18 @@
// Rotate once, the focus should move from button1 to button2.
FindRotateTargetResult target = mNavigator.findRotateTarget(button1, direction, 1);
- assertThat(target.node).isSameAs(button2);
+ assertThat(target.node).isSameInstanceAs(button2);
assertThat(target.advancedCount).isEqualTo(1);
// Rotate twice, the focus should move from button1 to button2 since button3 is off the
// screen.
target = mNavigator.findRotateTarget(button1, direction, 2);
- assertThat(target.node).isSameAs(button2);
+ assertThat(target.node).isSameInstanceAs(button2);
assertThat(target.advancedCount).isEqualTo(1);
// Rotate three times should do the same.
target = mNavigator.findRotateTarget(button1, direction, 3);
- assertThat(target.node).isSameAs(button2);
+ assertThat(target.node).isSameInstanceAs(button2);
assertThat(target.advancedCount).isEqualTo(1);
}
@@ -580,7 +580,7 @@
AccessibilityNodeInfo button2 = mNodeBuilder.setParent(focusArea).build();
AccessibilityNodeInfo target = mNavigator.findScrollableContainer(button1);
- assertThat(target).isSameAs(scrollableContainer);
+ assertThat(target).isSameInstanceAs(scrollableContainer);
target = mNavigator.findScrollableContainer(button2);
assertThat(target).isNull();
}
@@ -616,13 +616,13 @@
AccessibilityNodeInfo target = mNavigator.findFocusableDescendantInDirection(
container2, button4, View.FOCUS_BACKWARD);
- assertThat(target).isSameAs(button3);
+ assertThat(target).isSameInstanceAs(button3);
target = mNavigator.findFocusableDescendantInDirection(container2, button3,
View.FOCUS_BACKWARD);
assertThat(target).isNull();
target = mNavigator.findFocusableDescendantInDirection(container1, button2,
View.FOCUS_BACKWARD);
- assertThat(target).isSameAs(button1);
+ assertThat(target).isSameInstanceAs(button1);
target = mNavigator.findFocusableDescendantInDirection(container1, button1,
View.FOCUS_BACKWARD);
assertThat(target).isNull();
@@ -659,13 +659,13 @@
AccessibilityNodeInfo target = mNavigator.findFocusableDescendantInDirection(
container1, button1, View.FOCUS_FORWARD);
- assertThat(target).isSameAs(button2);
+ assertThat(target).isSameInstanceAs(button2);
target = mNavigator.findFocusableDescendantInDirection(container1, button2,
View.FOCUS_FORWARD);
assertThat(target).isNull();
target = mNavigator.findFocusableDescendantInDirection(container2, button3,
View.FOCUS_FORWARD);
- assertThat(target).isSameAs(button4);
+ assertThat(target).isSameInstanceAs(button4);
target = mNavigator.findFocusableDescendantInDirection(container2, button4,
View.FOCUS_FORWARD);
assertThat(target).isNull();
@@ -703,16 +703,16 @@
AccessibilityNodeInfo target = mNavigator.findFocusableDescendantInDirection(container,
button1, View.FOCUS_FORWARD);
- assertThat(target).isSameAs(button2);
+ assertThat(target).isSameInstanceAs(button2);
target = mNavigator.findFocusableDescendantInDirection(container, button2,
View.FOCUS_FORWARD);
- assertThat(target).isSameAs(button1);
+ assertThat(target).isSameInstanceAs(button1);
target = mNavigator.findFocusableDescendantInDirection(container, button3,
View.FOCUS_FORWARD);
- assertThat(target).isSameAs(button1);
+ assertThat(target).isSameInstanceAs(button1);
target = mNavigator.findFocusableDescendantInDirection(container, button4,
View.FOCUS_FORWARD);
- assertThat(target).isSameAs(button1);
+ assertThat(target).isSameInstanceAs(button1);
}
/**
@@ -751,7 +751,7 @@
AccessibilityNodeInfo button4 = mNodeBuilder.setParent(container2).build();
AccessibilityNodeInfo target = mNavigator.findFirstFocusableDescendant(root);
- assertThat(target).isSameAs(button3);
+ assertThat(target).isSameInstanceAs(button3);
}
/**
@@ -790,7 +790,7 @@
.build();
AccessibilityNodeInfo target = mNavigator.findLastFocusableDescendant(root);
- assertThat(target).isSameAs(button2);
+ assertThat(target).isSameInstanceAs(button2);
}
/** Sets the {@code root} node in the {@code window}'s hierarchy. */
diff --git a/tests/robotests/src/com/android/car/rotary/NodeBuilderTest.java b/tests/robotests/src/com/android/car/rotary/NodeBuilderTest.java
index ed8dfad..75bcb2b 100644
--- a/tests/robotests/src/com/android/car/rotary/NodeBuilderTest.java
+++ b/tests/robotests/src/com/android/car/rotary/NodeBuilderTest.java
@@ -104,7 +104,7 @@
public void testSetWindow() {
AccessibilityWindowInfo window = new WindowBuilder().build();
AccessibilityNodeInfo node = mNodeBuilder.setWindow(window).build();
- assertThat(node.getWindow()).isSameAs(window);
+ assertThat(node.getWindow()).isSameInstanceAs(window);
}
@Test
@@ -144,10 +144,10 @@
AccessibilityNodeInfo child1 = mNodeBuilder.setParent(parent).build();
AccessibilityNodeInfo child2 = mNodeBuilder.setParent(parent).build();
- assertThat(child1.getParent()).isSameAs(parent);
+ assertThat(child1.getParent()).isSameInstanceAs(parent);
assertThat(parent.getChildCount()).isEqualTo(2);
- assertThat(parent.getChild(0)).isSameAs(child1);
- assertThat(parent.getChild(1)).isSameAs(child2);
+ assertThat(parent.getChild(0)).isSameInstanceAs(child1);
+ assertThat(parent.getChild(1)).isSameInstanceAs(child2);
assertThat(parent.getChild(2)).isNull();
}
diff --git a/tests/robotests/src/com/android/car/rotary/TreeTraverserTest.java b/tests/robotests/src/com/android/car/rotary/TreeTraverserTest.java
index ba6e0ba..d7700b4 100644
--- a/tests/robotests/src/com/android/car/rotary/TreeTraverserTest.java
+++ b/tests/robotests/src/com/android/car/rotary/TreeTraverserTest.java
@@ -67,17 +67,17 @@
// Should check the node itself.
AccessibilityNodeInfo result = mTreeTraverser.findNodeOrAncestor(node0,
/* stopPredicate= */ null, /* targetPredicate= */ node -> node == node0);
- assertThat(result).isSameAs(node0);
+ assertThat(result).isSameInstanceAs(node0);
// Parent.
result = mTreeTraverser.findNodeOrAncestor(node1, /* stopPredicate= */ null,
/* targetPredicate= */ node -> node == node0);
- assertThat(result).isSameAs(node0);
+ assertThat(result).isSameInstanceAs(node0);
// Grandparent.
result = mTreeTraverser.findNodeOrAncestor(node2, /* stopPredicate= */ null,
/* targetPredicate= */ node -> node == node0);
- assertThat(result).isSameAs(node0);
+ assertThat(result).isSameInstanceAs(node0);
// No ancestor found.
result = mTreeTraverser.findNodeOrAncestor(node2, /* stopPredicate= */ null,
@@ -137,17 +137,17 @@
// Find root.
result = mTreeTraverser.depthFirstSearch(node0, /* skipPredicate= */ null,
/* targetPredicate= */ node -> node == node0);
- assertThat(result).isSameAs(node0);
+ assertThat(result).isSameInstanceAs(node0);
// Find child.
result = mTreeTraverser.depthFirstSearch(node0, /* skipPredicate= */ null,
/* targetPredicate= */ node -> node == node4);
- assertThat(result).isSameAs(node4);
+ assertThat(result).isSameInstanceAs(node4);
// Find grandchild.
result = mTreeTraverser.depthFirstSearch(node0, /* skipPredicate= */ null,
/* targetPredicate= */ node -> node == node6);
- assertThat(result).isSameAs(node6);
+ assertThat(result).isSameInstanceAs(node6);
// Iterate in depth-first order, skipping a subtree containing the target
List<AccessibilityNodeInfo> skipPredicateCalledWithNodes = new ArrayList<>();
@@ -208,15 +208,15 @@
// Find root.
result = mTreeTraverser.reverseDepthFirstSearch(node0, node -> node == node0);
- assertThat(result).isSameAs(node0);
+ assertThat(result).isSameInstanceAs(node0);
// Find child.
result = mTreeTraverser.reverseDepthFirstSearch(node0, node -> node == node1);
- assertThat(result).isSameAs(node1);
+ assertThat(result).isSameInstanceAs(node1);
// Find grandchild.
result = mTreeTraverser.reverseDepthFirstSearch(node0, node -> node == node2);
- assertThat(result).isSameAs(node2);
+ assertThat(result).isSameInstanceAs(node2);
}
/**
diff --git a/tests/robotests/src/com/android/car/rotary/WindowBuilderTest.java b/tests/robotests/src/com/android/car/rotary/WindowBuilderTest.java
index 7b2d9ce..01c0768 100644
--- a/tests/robotests/src/com/android/car/rotary/WindowBuilderTest.java
+++ b/tests/robotests/src/com/android/car/rotary/WindowBuilderTest.java
@@ -42,7 +42,7 @@
public void testSetRoot() {
AccessibilityNodeInfo root = new NodeBuilder(new ArrayList<>()).build();
AccessibilityWindowInfo window = new WindowBuilder().setRoot(root).build();
- assertThat(window.getRoot()).isSameAs(root);
+ assertThat(window.getRoot()).isSameInstanceAs(root);
}
@Test