Fixed
Status Update
Comments
ap...@google.com <ap...@google.com> #2
Project: platform/frameworks/support
Branch: androidx-main
commit 6856d4b8fe5fbd6d5d2926ca6ced38f286751505
Author: Ralston Da Silva <ralu@google.com>
Date: Wed Aug 17 12:53:32 2022
Renaming focusDirections In & Out to Enter & Exit
We want to add custom focus properties for In & Out,
but we can't do that since in is a reserved keyword in kotlin.
This CL renames the In and Out focus directions to Enter and Exit.
Bug: 183746982
Test: ./gradlew compose:ui:ui:cC -P android.testInstrumentationRunnerArguments.class=androidx.compose.ui.focus.TwoDimensionalFocusTraversalEnterTest
Test: ./gradlew compose:ui:ui:cC -P android.testInstrumentationRunnerArguments.class=androidx.compose.ui.focus.TwoDimensionalFocusTraversalEnterTest
Relnote: Renamed FocusDirection.In and FocusDirection.Out to FocusDirection.Enter and FocusDirection.Exit
Change-Id: Ia4262d2f8edc3ec36d2edc9ed2858895971ba33c
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/TwoDimensionalFocusTraversalExitTest.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/FocusSearchNonPlacedItemsTest.kt
M compose/ui/ui/api/restricted_current.ignore
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/FocusGroupTest.kt
M compose/ui/ui/api/current.txt
M compose/ui/ui/api/1.3.0-beta02.txt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/focus/FocusTraversal.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/TwoDimensionalFocusTraversalEnterTest.kt
M compose/ui/ui/api/current.ignore
M compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeView.android.kt
M compose/ui/ui/api/public_plus_experimental_1.3.0-beta02.txt
M compose/ui/ui/api/restricted_1.3.0-beta02.txt
M compose/ui/ui/api/restricted_current.txt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/KeyEventToFocusDirectionTest.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/focus/FocusOrderModifier.kt
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/list/LazyListFocusMoveTest.kt
M compose/ui/ui/api/public_plus_experimental_current.txt
https://android-review.googlesource.com/2189001
Branch: androidx-main
commit 6856d4b8fe5fbd6d5d2926ca6ced38f286751505
Author: Ralston Da Silva <ralu@google.com>
Date: Wed Aug 17 12:53:32 2022
Renaming focusDirections In & Out to Enter & Exit
We want to add custom focus properties for In & Out,
but we can't do that since in is a reserved keyword in kotlin.
This CL renames the In and Out focus directions to Enter and Exit.
Bug: 183746982
Test: ./gradlew compose:ui:ui:cC -P android.testInstrumentationRunnerArguments.class=androidx.compose.ui.focus.TwoDimensionalFocusTraversalEnterTest
Test: ./gradlew compose:ui:ui:cC -P android.testInstrumentationRunnerArguments.class=androidx.compose.ui.focus.TwoDimensionalFocusTraversalEnterTest
Relnote: Renamed FocusDirection.In and FocusDirection.Out to FocusDirection.Enter and FocusDirection.Exit
Change-Id: Ia4262d2f8edc3ec36d2edc9ed2858895971ba33c
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/TwoDimensionalFocusTraversalExitTest.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/FocusSearchNonPlacedItemsTest.kt
M compose/ui/ui/api/restricted_current.ignore
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/FocusGroupTest.kt
M compose/ui/ui/api/current.txt
M compose/ui/ui/api/1.3.0-beta02.txt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/focus/FocusTraversal.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/TwoDimensionalFocusTraversalEnterTest.kt
M compose/ui/ui/api/current.ignore
M compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeView.android.kt
M compose/ui/ui/api/public_plus_experimental_1.3.0-beta02.txt
M compose/ui/ui/api/restricted_1.3.0-beta02.txt
M compose/ui/ui/api/restricted_current.txt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/KeyEventToFocusDirectionTest.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/focus/FocusOrderModifier.kt
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/list/LazyListFocusMoveTest.kt
M compose/ui/ui/api/public_plus_experimental_current.txt
ra...@google.com <ra...@google.com>
ap...@google.com <ap...@google.com> #3
Project: platform/frameworks/support
Branch: androidx-main
commit 8bbfa2fd7f3cb0f386c186b5df840513d8246d6b
Author: Ralston Da Silva <ralu@google.com>
Date: Mon Aug 29 16:16:07 2022
Added custom focus properties for enter and exit
Added experimental API for users to specify a custom enter and exit
behavior when focus enters/exits a focus group.
Bug: 183746982
Relnote: "Added experimental API for users to specify a custom enter and exit behavior when focus enters/exits a focus group."
Test: ./gradlew compose:ui:ui:cC -P android.testInstrumentationRunnerArguments.class=androidx.compose.ui.focus.TwoDimensionalFocusTraversalEnterTest
Test: ./gradlew compose:ui:ui:cC -P android.testInstrumentationRunnerArguments.class=androidx.compose.ui.focus.TwoDimensionalFocusTraversalExitTest
Change-Id: I5f3f9e1c20494f3ee0d6484854c3d50485422ba3
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/TwoDimensionalFocusTraversalExitTest.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/TwoDimensionalFocusTraversalTest.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/focus/FocusTraversal.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/TwoDimensionalFocusTraversalInitialFocusTest.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/TwoDimensionalFocusTraversalEnterTest.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/focus/FocusProperties.kt
M compose/ui/ui/api/public_plus_experimental_1.3.0-beta02.txt
M compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/FocusSamples.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/focus/FocusOrderModifier.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/FocusTestUtils.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/focus/TwoDimensionalFocusSearch.kt
M compose/ui/ui/api/public_plus_experimental_current.txt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/CustomFocusTraversalTest.kt
https://android-review.googlesource.com/2201257
Branch: androidx-main
commit 8bbfa2fd7f3cb0f386c186b5df840513d8246d6b
Author: Ralston Da Silva <ralu@google.com>
Date: Mon Aug 29 16:16:07 2022
Added custom focus properties for enter and exit
Added experimental API for users to specify a custom enter and exit
behavior when focus enters/exits a focus group.
Bug: 183746982
Relnote: "Added experimental API for users to specify a custom enter and exit behavior when focus enters/exits a focus group."
Test: ./gradlew compose:ui:ui:cC -P android.testInstrumentationRunnerArguments.class=androidx.compose.ui.focus.TwoDimensionalFocusTraversalEnterTest
Test: ./gradlew compose:ui:ui:cC -P android.testInstrumentationRunnerArguments.class=androidx.compose.ui.focus.TwoDimensionalFocusTraversalExitTest
Change-Id: I5f3f9e1c20494f3ee0d6484854c3d50485422ba3
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/TwoDimensionalFocusTraversalExitTest.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/TwoDimensionalFocusTraversalTest.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/focus/FocusTraversal.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/TwoDimensionalFocusTraversalInitialFocusTest.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/TwoDimensionalFocusTraversalEnterTest.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/focus/FocusProperties.kt
M compose/ui/ui/api/public_plus_experimental_1.3.0-beta02.txt
M compose/ui/ui/samples/src/main/java/androidx/compose/ui/samples/FocusSamples.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/focus/FocusOrderModifier.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/FocusTestUtils.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/focus/TwoDimensionalFocusSearch.kt
M compose/ui/ui/api/public_plus_experimental_current.txt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/CustomFocusTraversalTest.kt
ap...@google.com <ap...@google.com> #4
Project: platform/frameworks/support
Branch: androidx-main
commit d496b3e091b18ddb0c179803ef1504ce5a715cc4
Author: Ralston Da Silva <ralu@google.com>
Date: Thu Sep 01 01:27:59 2022
Add support for implicit focus enter and exit
We perform an implicit Enter in the following cases:
1. The user calls requestFocus() on a focus group.
2. The user navigates to a focus group during focus search.
We perform an implicit Exit in the following case:
1. The user reaches the end of a focus group and
focus search takes the user outside the focus group.
Bug: 183746982
Fix: 183746982
Test: ./gradlew compose:ui:ui:cC -P android.testInstrumentationRunnerArguments.class=androidx.compose.ui.focus.TwoDimensionalFocusTraversalImplicitEnterTest
Test: ./gradlew compose:ui:ui:cC -P android.testInstrumentationRunnerArguments.class=androidx.compose.ui.focus.TwoDimensionalFocusTraversalImplicitExitTest
Change-Id: Ibd1b28c6e401490e72dc232f166449f0a6e34e10
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/TwoDimensionalFocusTraversalExitTest.kt
A compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/TwoDimensionalFocusTraversalImplicitExitTest.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/FocusRequesterTest.kt
A compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/TwoDimensionalFocusTraversalImplicitEnterTest.kt
M compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/UiDemos.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/TwoDimensionalFocusTraversalTest.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/focus/FocusRequester.kt
A compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/focus/ExplicitEnterExitWithCustomFocusEnterExitDemo.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/focus/FocusTransactions.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/focus/TwoDimensionalFocusSearch.kt
https://android-review.googlesource.com/2202586
Branch: androidx-main
commit d496b3e091b18ddb0c179803ef1504ce5a715cc4
Author: Ralston Da Silva <ralu@google.com>
Date: Thu Sep 01 01:27:59 2022
Add support for implicit focus enter and exit
We perform an implicit Enter in the following cases:
1. The user calls requestFocus() on a focus group.
2. The user navigates to a focus group during focus search.
We perform an implicit Exit in the following case:
1. The user reaches the end of a focus group and
focus search takes the user outside the focus group.
Bug: 183746982
Fix: 183746982
Test: ./gradlew compose:ui:ui:cC -P android.testInstrumentationRunnerArguments.class=androidx.compose.ui.focus.TwoDimensionalFocusTraversalImplicitEnterTest
Test: ./gradlew compose:ui:ui:cC -P android.testInstrumentationRunnerArguments.class=androidx.compose.ui.focus.TwoDimensionalFocusTraversalImplicitExitTest
Change-Id: Ibd1b28c6e401490e72dc232f166449f0a6e34e10
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/TwoDimensionalFocusTraversalExitTest.kt
A compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/TwoDimensionalFocusTraversalImplicitExitTest.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/FocusRequesterTest.kt
A compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/TwoDimensionalFocusTraversalImplicitEnterTest.kt
M compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/UiDemos.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/TwoDimensionalFocusTraversalTest.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/focus/FocusRequester.kt
A compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/focus/ExplicitEnterExitWithCustomFocusEnterExitDemo.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/focus/FocusTransactions.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/focus/TwoDimensionalFocusSearch.kt
na...@google.com <na...@google.com> #5
This bug was linked in a change in the following release(s):
androidx.compose.foundation:foundation:1.3.0-beta02
na...@google.com <na...@google.com> #6
This bug was linked in a change in the following release(s):
androidx.compose.ui:ui:1.3.0-beta03
[Deleted User] <[Deleted User]> #7
androidx.compose.ui:ui:1.3.0-beta03androidx.compose.foundation6856d4b8fe5fbd6d5d2926ca6ced38f286751505release(s):
androidx.compose.foundation:foundation:1.3.0-beta02elease(s):
androidx.compose.foundation:foundation:1.3.0-beta02
Description
We move focus to children by using the DPad center key, and move out of the children and back to the parent by using the Back key. Add API to Modifier.focusOrder to allow developers to specify a custom "In" and "Out" destinations.
Examples: Instead of going to the first child when we press the center key, the "In" destination can be set to a specific child. Instead of returning to the parent when the user presses the "Back" key, a developer could specify a grandparent that they want to bring into focus.