AccessibilityTest.kt has Blocked Non-SDK Interfaces New in SDK 31 (getVirtualDescendantId)
Categories
(GeckoView :: General, task, P2)
Tracking
(firefox143 fixed)
| Tracking | Status | |
|---|---|---|
| firefox143 | --- | fixed |
People
(Reporter: olivia, Assigned: olivia)
References
Details
(Whiteboard: [fxdroid] [geckoview][gv-grab-bag])
Attachments
(1 file)
AccessibilityTest.kt has new blocked Non-SDK Interfaces in SDK 31. Some started in SDK 28 - see bug 1527022.
Aggregating the different SDK test results here and possible related bugs. This bug would become especially relevant if updating mozemulator (device SDK 24). Some ideas from bug 1527022 were to use @SdkSuppress, specifically allowing this test to use blocked APIs, and finding alternates around the blocked APIs.
Test Results:
./mach geckoview-junit org.mozilla.geckoview.test.AccessibilityTest- Used the current compile/target SDK 31 with different device API levels.
Emulated Pixel 4 XL API 27 - Expected
~~~~~~~
Ran 40 checks (40 tests)
Expected results: 39
Skipped: 1 tests
Unexpected results: 0
Emulated Pixel 4 XL API 28 - bug 1527022
~~~~~~~
Ran 40 checks (40 tests)
Expected results: 31
Skipped: 1 tests
Unexpected results: 8
test: 8 (8 fail)
Unexpected Results
------------------
FAIL org.mozilla.geckoview.test.AccessibilityTest#testLocalIframeTree - java.lang.NoSuchMethodException: getChildId [int]
FAIL org.mozilla.geckoview.test.AccessibilityTest#testRange - java.lang.NoSuchMethodException: getChildId [int]
FAIL org.mozilla.geckoview.test.AccessibilityTest#testTree - java.lang.NoSuchMethodException: getChildId [int]
FAIL org.mozilla.geckoview.test.AccessibilityTest#autoFill_navigation - java.lang.NoSuchMethodException: getChildId [int]
FAIL org.mozilla.geckoview.test.AccessibilityTest#testRemoteIframeTree - java.lang.NoSuchMethodException: getChildId [int]
FAIL org.mozilla.geckoview.test.AccessibilityTest#autoFill - java.lang.NoSuchMethodException: getChildId [int]
FAIL org.mozilla.geckoview.test.AccessibilityTest#testMutation - java.lang.NoSuchMethodException: getChildId [int]
FAIL org.mozilla.geckoview.test.AccessibilityTest#testCollection - java.lang.NoSuchMethodException: getChildId [int]
Emulated Pixel 4 XL API 29 - could be part of bug 1535197 intermittent, bug 1625596
new testClipboard (unclear in logs, could be bug 1535197 intermittent - shows up as a blocked SDK issue in later devices)
suite 1
~~~~~~~
Ran 40 checks (40 tests)
Expected results: 30
Skipped: 1 tests
Unexpected results: 9
test: 9 (9 fail)
Unexpected Results
------------------
FAIL org.mozilla.geckoview.test.AccessibilityTest#testLocalIframeTree - java.lang.NoSuchMethodException: android.view.accessibility.AccessibilityNodeInfo.getChildId [int]
FAIL org.mozilla.geckoview.test.AccessibilityTest#testRange - java.lang.NoSuchMethodException: android.view.accessibility.AccessibilityNodeInfo.getChildId [int]
FAIL org.mozilla.geckoview.test.AccessibilityTest#testTree - java.lang.NoSuchMethodException: android.view.accessibility.AccessibilityNodeInfo.getChildId [int]
FAIL org.mozilla.geckoview.test.AccessibilityTest#testClipboard - org.mozilla.geckoview.test.util.UiThreadUtils$TimeoutException: Timed out after 30000ms
FAIL org.mozilla.geckoview.test.AccessibilityTest#autoFill_navigation - java.lang.NoSuchMethodException: android.view.accessibility.AccessibilityNodeInfo.getChildId [int]
FAIL org.mozilla.geckoview.test.AccessibilityTest#testRemoteIframeTree - java.lang.NoSuchMethodException: android.view.accessibility.AccessibilityNodeInfo.getChildId [int]
FAIL org.mozilla.geckoview.test.AccessibilityTest#autoFill - java.lang.NoSuchMethodException: android.view.accessibility.AccessibilityNodeInfo.getChildId [int]
FAIL org.mozilla.geckoview.test.AccessibilityTest#testMutation - java.lang.NoSuchMethodException: android.view.accessibility.AccessibilityNodeInfo.getChildId [int]
FAIL org.mozilla.geckoview.test.AccessibilityTest#testCollection - java.lang.NoSuchMethodException: android.view.accessibility.AccessibilityNodeInfo.getChildId [int]
Emulated Pixel 4 XL API 30
- Results the same as Emulated Pixel 4 XL API 29
Emulated Pixel 4a API 31 - this bug
Non-SDK interfaces that are now blocked in Android 12 -> getVirtualDescendantId
.geckoview.tes: Accessing hidden method Landroid/view/accessibility/AccessibilityNodeInfo;->getVirtualDescendantId(J)I (max-target-r, reflection, denied)
suite 1
~~~~~~~
Ran 40 checks (40 tests)
Expected results: 9
Skipped: 1 tests
Unexpected results: 30
test: 30 (30 fail)
Unexpected Results
------------------
FAIL org.mozilla.geckoview.test.AccessibilityTest#testCheckbox - java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference
FAIL org.mozilla.geckoview.test.AccessibilityTest#testLocalIframeTree - java.lang.NoSuchMethodException: android.view.accessibility.AccessibilityNodeInfo.getChildId [int]
FAIL org.mozilla.geckoview.test.AccessibilityTest#testAccessibilityFocusBoundaries - java.lang.NullPointerException: null cannot be cast to non-null type kotlin.String
FAIL org.mozilla.geckoview.test.AccessibilityTest#testLinksMovingByDefault - java.lang.NullPointerException: null cannot be cast to non-null type kotlin.String
FAIL org.mozilla.geckoview.test.AccessibilityTest#testMoveByWordAtEdges - java.lang.NullPointerException: null cannot be cast to non-null type kotlin.String
FAIL org.mozilla.geckoview.test.AccessibilityTest#testRange - java.lang.NoSuchMethodException: android.view.accessibility.AccessibilityNodeInfo.getChildId [int]
FAIL org.mozilla.geckoview.test.AccessibilityTest#testTree - java.lang.NoSuchMethodException: android.view.accessibility.AccessibilityNodeInfo.getChildId [int]
FAIL org.mozilla.geckoview.test.AccessibilityTest#testMoveAtEndOfTextTrailingWhitespace - java.lang.NullPointerException: null cannot be cast to non-null type kotlin.String
FAIL org.mozilla.geckoview.test.AccessibilityTest#testClipboard - java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference
FAIL org.mozilla.geckoview.test.AccessibilityTest#testMoveByCharacter - java.lang.NullPointerException: null cannot be cast to non-null type kotlin.String
FAIL org.mozilla.geckoview.test.AccessibilityTest#testAccessibilityFocusAboutMozilla - java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference
FAIL org.mozilla.geckoview.test.AccessibilityTest#testLinksMovingByLink - java.lang.NullPointerException: null cannot be cast to non-null type kotlin.String
FAIL org.mozilla.geckoview.test.AccessibilityTest#testAccessibilityFocus - java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference
FAIL org.mozilla.geckoview.test.AccessibilityTest#testLocalAccessibilityFocusIframe - java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference
FAIL org.mozilla.geckoview.test.AccessibilityTest#autoFill_navigation - java.lang.NoSuchMethodException: android.view.accessibility.AccessibilityNodeInfo.getChildId [int]
FAIL org.mozilla.geckoview.test.AccessibilityTest#testHeadings - java.lang.NullPointerException: null cannot be cast to non-null type kotlin.String
FAIL org.mozilla.geckoview.test.AccessibilityTest#testMoveByCharacterAtEdges - java.lang.NullPointerException: null cannot be cast to non-null type kotlin.String
FAIL org.mozilla.geckoview.test.AccessibilityTest#testExpandable - org.mozilla.geckoview.test.util.UiThreadUtils$TimeoutException: Timed out after 30000ms
FAIL org.mozilla.geckoview.test.AccessibilityTest#testRemoteAccessibilityFocusIframe - java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference
FAIL org.mozilla.geckoview.test.AccessibilityTest#testMoveCaretAccessibilityFocus - java.lang.NullPointerException: null cannot be cast to non-null type kotlin.String
FAIL org.mozilla.geckoview.test.AccessibilityTest#testAriaComboBoxesMovingByControl - java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference
FAIL org.mozilla.geckoview.test.AccessibilityTest#testRemoteIframeTree - java.lang.NoSuchMethodException: android.view.accessibility.AccessibilityNodeInfo.getChildId [int]
FAIL org.mozilla.geckoview.test.AccessibilityTest#autoFill - java.lang.NoSuchMethodException: android.view.accessibility.AccessibilityNodeInfo.getChildId [int]
FAIL org.mozilla.geckoview.test.AccessibilityTest#testMoveByLine - java.lang.NullPointerException: null cannot be cast to non-null type kotlin.String
FAIL org.mozilla.geckoview.test.AccessibilityTest#testMoveByWord - java.lang.NullPointerException: null cannot be cast to non-null type kotlin.String
FAIL org.mozilla.geckoview.test.AccessibilityTest#testMutation - java.lang.NoSuchMethodException: android.view.accessibility.AccessibilityNodeInfo.getChildId [int]
FAIL org.mozilla.geckoview.test.AccessibilityTest#testAriaComboBoxesMovingByDefault - java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference
FAIL org.mozilla.geckoview.test.AccessibilityTest#testTextEntryNode - java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference
FAIL org.mozilla.geckoview.test.AccessibilityTest#testCollection - java.lang.NoSuchMethodException: android.view.accessibility.AccessibilityNodeInfo.getChildId [int]
FAIL org.mozilla.geckoview.test.AccessibilityTest#testSelectable - java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference
Pixel 4a API 33
- Same results as Emulated Pixel 4a API 31
- Also ran with a compile/target of SDK 33 with same results
| Assignee | ||
Updated•3 years ago
|
| Assignee | ||
Comment 1•3 years ago
|
||
Changing this test to an espresso test was also mentioned as a possible long-term solution in bug 1527022.
Updated•3 years ago
|
Updated•3 years ago
|
| Assignee | ||
Updated•1 year ago
|
Updated•1 year ago
|
| Assignee | ||
Comment 2•1 year ago
|
||
- Beginning in Android 12
getVirtualDescendantIdwas blocked https://developer.android.com/about/versions/12/non-sdk-12#new-blocked. - This patch copies the
getVirtualDescendantIdfunction into the test class instead of using reflection.
Updated•1 year ago
|
Comment 4•11 months ago
|
||
| bugherder | ||
Description
•