Status Update
Comments
ya...@gmail.com <ya...@gmail.com> #2
Branch: androidx-master-dev
commit b90079595f33f58fece04026a97faa0d243acdb1
Author: Yuichi Araki <yaraki@google.com>
Date: Wed Sep 18 16:55:49 2019
Change the way to detect mismatch between POJO and query
This fixes cursor mismatch warnings with expandProjection.
Bug: 140759491
Test: QueryMethodProcessorTest
Change-Id: I7659002e5e0d1ef60fc1af2a625c0c36da0664d8
M room/compiler/src/main/kotlin/androidx/room/processor/QueryMethodProcessor.kt
M room/compiler/src/main/kotlin/androidx/room/solver/TypeAdapterStore.kt
M room/compiler/src/main/kotlin/androidx/room/solver/query/result/PojoRowAdapter.kt
M room/compiler/src/test/kotlin/androidx/room/processor/QueryMethodProcessorTest.kt
M room/compiler/src/test/kotlin/androidx/room/testing/TestProcessor.kt
an...@google.com <an...@google.com>
so...@google.com <so...@google.com> #3
ha...@google.com <ha...@google.com> #4
Branch: androidx-master-dev
commit bdde5a1a970ddc9007b28de4aa29d60ffa588f08
Author: Yigit Boyar <yboyar@google.com>
Date: Thu Apr 16 16:47:05 2020
Re-factor how errors are dismissed when query is re-written
This CL changes how we handle errors/warnings if query is
re-written.
There was a bug in expandProjection where we would report warnings
for things that Room already fixes automatically (
The solution to that problem (I7659002e5e0d1ef60fc1af2a625c0c36da0664d8)
solved it by deferring validating of columns until after re-write
decision is made. Unfortunately, this required changing PojoRowAdapter
to have a dummy mapping until it is validating, make it hard to use
as it does have a non-null mapping which is not useful.
This CL partially reverts that change and instead rely on the log
deferring logic we have in Context. This way, we don't need to break
the stability of PojoRowAdapter while still having the ability to
drop warnings that room fixes. This will also play nicer when we
have different query re-writing options that can use more information
about the query results.
Bug: 153387066
Bug: 140759491
Test: existing tests pass
Change-Id: I2ec967c763d33d7a3ff02c1a13c6953b460d1e5f
M room/compiler/src/main/kotlin/androidx/room/log/RLog.kt
M room/compiler/src/main/kotlin/androidx/room/processor/QueryMethodProcessor.kt
M room/compiler/src/main/kotlin/androidx/room/solver/TypeAdapterStore.kt
M room/compiler/src/main/kotlin/androidx/room/solver/query/result/PojoRowAdapter.kt
ya...@gmail.com <ya...@gmail.com> #5
so...@google.com <so...@google.com> #6
Haoyu, I could reproduce it in our demo app on tip of the branch.
Kill the demo app -> open demo app -> Text -> Input fields -> Keyboard Types -> Focus the last visible text field
You will see that keyboard is shown but text field is not scrolled up to be visible. If you close keyboard and focus on the same text field again, it will be scrolled to become fully visible.
ya...@gmail.com <ya...@gmail.com> #7
ha...@google.com <ha...@google.com> #8
Thank you for the updates Anastasia! I'll take a look and check exactly what happens.
ha...@google.com <ha...@google.com>
ap...@google.com <ap...@google.com> #9
Branch: androidx-main
commit 9287a219bf946223ad4119723db9eb2c891aecab
Author: Haoyu Zhang <haoyuchang@google.com>
Date: Fri Jun 11 22:34:05 2021
Fix: TextField not always properly visible after keyboard opens
requestRectangleOnScreen may modify the input Rect. When it's called
repeatedly, we may encounter some unexpected issues. This can be one
of the reasons that TextInputService.notifyFocusedRect sometimes doesn't
work.
Before this change,it's very likely that notifyFocusedRect doesn't work
when the keyboard is opened for the first time. After the fix, it no
longer happens in the demo APP.
Bug: 190539358
Test: ./gradlew test
Test: ./gradlew compose:ui:ui-text:connectedAndroidTest
Test: manually tested in demo app
Change-Id: I859a4ab7be2fb0b4bda808646027cf3934af2196
M compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/text/input/TextInputServiceAndroid.android.kt
ha...@google.com <ha...@google.com>
ya...@gmail.com <ya...@gmail.com> #10
ya...@gmail.com <ya...@gmail.com> #11
I just checked again on beta09 and it's still here. I couldn't reproduce it on an emulator but it happens on my real device only the first time the keyboard opens (app must be force closed).
Also when the keyboard does not fully cover the TextField, it still has inconsistent placement as I just reported on issue #191286850 before knowing the main bug is still here. (The attached files show the issue)
so...@google.com <so...@google.com>
si...@google.com <si...@google.com> #12
soboleva@
Did you try this on the latest build? Haoyu merged the change in Jun 15, we reopened in Jun17 based on beta09. Is the change in beta09?
ha...@google.com <ha...@google.com> #13
Hi, thanks for the updates!
IIRC the change is after beta-09 cut and will come with beta-10.
Meanwhile, the consistency issue mentioned may not be fixed by the CL above.
The possible course of the
so...@google.com <so...@google.com> #14
Not sure what is consistency issue. But I tested today on tip of androidx-main
branch and the issue described in the ticket is still reproduced 100% times.
Tested on device with API 30.
ya...@gmail.com <ya...@gmail.com> #15
I just updated my app to 1.0.0-rc1 and the issue is still happening. The input field isn't visible sometimes.
ha...@google.com <ha...@google.com>
se...@google.com <se...@google.com>
se...@google.com <se...@google.com>
ya...@gmail.com <ya...@gmail.com> #16
kl...@google.com <kl...@google.com> #17
I can reproduce using the demo app on the latest main branch, but as mentioned above it only happens the first time a text field is focused after launching the app, subsequent focuses move the text field into view as expected, and only on some API versions (24, not 30).
kl...@google.com <kl...@google.com> #18
If you're still seeing this bug, is your window's soft input mode ADJUST_RESIZE
or ADJUST_PAN
?
co...@protonmail.com <co...@protonmail.com> #19
I have activity soft input mode set to adjustResize as per accompanist insets lib:
ap...@google.com <ap...@google.com> #20
Branch: androidx-main
commit 22f05f8acfc4a9dfd93a00c537708f26ae8dbe4e
Author: Zach Klippenstein <klippenstein@google.com>
Date: Tue Feb 01 12:27:01 2022
Set focused child before granting it focus.
Fixes a bug where if an onFocusEvent searched for the active FocusModifier
it would crash because the newly-focused child hadn't been set on the
parent modifier yet.
Also cleaned up some code comments in related files – scout rule!
Bug:
Bug:
Test: ./gradlew :compose:ui:ui:cDAT
Change-Id: I1ba0a3411cb3793099b12913a25a8b0d92f74c40
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/FindFocusableChildrenTest.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/FocusTransactions.kt
ap...@google.com <ap...@google.com> #21
Branch: androidx-main
commit 314a8bd718c5c905444bc538c6d04e3a4805d848
Author: Zach Klippenstein <klippenstein@google.com>
Date: Wed Feb 02 09:54:40 2022
Fix a bunch of flaky tests caused by performing focus operations off the UI thread.
Bug:
Bug:
Test: Tests are fixed.
Change-Id: I15ee7001a1128486939c273434ef28a41d84ed79
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/TwoDimensionalFocusTraversalThreeItemsTest.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/TwoDimensionalFocusTraversalTwoItemsTest.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/CustomFocusTraversalTest.kt
ap...@google.com <ap...@google.com> #22
Branch: androidx-main
commit 1237c1570308c6a5ad043702f5e9051c1c874602
Author: Zach Klippenstein <klippenstein@google.com>
Date: Thu Jan 27 19:41:29 2022
Report AndroidComposeView's focus rect to the view system.
ViewRootImpl controls panning when the keyboard is shown and the window
is configured to pan instead of resize. When it does this, it finds the
focused view and calls getFocusedRect to find the area to keep above the
keyboard. Because Compose has its own internal focus, it needs to report
that to the view system by overriding getFocusedRect in order to be
moved when the keyboard is shown.
I also factored out the keyboard helper methods from
CoreTextFieldSoftKeyboardTest so I could use them for the scrollable
tests.
Bug:
Bug:
Test: ./gradlew :compose:f:f:cDAT
Relnote: "TextFields will now be kept above the keyboard when they are
focused and the keyboard is shown, when the soft input mode is
`ADJUST_RESIZE`."
Change-Id: I8eaebb684b7828dcf92b0678a86d796b49b349c8
M compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/CoreTextFieldSoftKeyboardTest.kt
M compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeView.android.kt
A compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/CoreTextFieldKeyboardScrollableInteractionTest.kt
A compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/TextFieldsInScrollableDemo.kt
A compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/focus/FocusViewInteropTest.kt
M compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/TextDemos.kt
A compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/KeyboardHelper.kt
ap...@google.com <ap...@google.com> #23
Branch: androidx-main
commit 0de2359ab6335c7680e54cdd7b7bae046df9cdae
Author: Zach Klippenstein <klippenstein@google.com>
Date: Tue Feb 22 18:59:29 2022
Update TextFieldsInScrollableDemo to enable toggling setDecorFitsSystemWindows.
Bug:
Bug:
Bug:
Test: manual, since this is just a demo change.
Change-Id: I94deb16188232d8fe2d87b97b27dd3b7f2d36f68
M compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/TextFieldsInScrollableDemo.kt
ap...@google.com <ap...@google.com> #24
Branch: androidx-main
commit 30ab5ff0d1840570f5628d9489b47ce118caa4a3
Author: Zach Klippenstein <klippenstein@google.com>
Date: Sat Jan 29 09:36:44 2022
Introduce onFocusBoundsChanged.
Design doc:
Note that this feature does not currently work with AndroidView (
that needs to be wired up in the ui module but this API is needed to fix
an issue in foundation, and I want to leave it as Experimental for now,
and we don't allow cross-module experimental access. When this modifier
is stabilized, it should be moved to UI, and that bug resolved.
Bug:
Bug:
Bug:
Test: Manual via FocusedChildDemo
Test: ./gradlew :compose:f:f:cDAT
Relnote: "Introduced experimental `Modifier.onFocusedBoundsChanged` to allow
observing the bounds of child focusables."
Change-Id: I14283393b5273527ab65f4aa1a2d4383321b0d95
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/Focusable.kt
M compose/foundation/foundation/api/public_plus_experimental_current.txt
M compose/foundation/foundation/api/current.txt
M compose/foundation/foundation/api/restricted_current.txt
A compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/FocusedBounds.kt
A compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/FocusedBoundsDemo.kt
A compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/FocusableBoundsTest.kt
M compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/FoundationDemos.kt
ap...@google.com <ap...@google.com> #25
Branch: androidx-main
commit d9c6260e0ecaab7b33ecda95611d60e3184a0fa4
Author: Zach Klippenstein <klippenstein@google.com>
Date: Mon Jan 31 09:46:32 2022
Make scrollable keep focused view in view when resized.
This is part of the fix for these bugs, another other part is aosp/1964580.
This behavior still doesn't work as expected for lazy lists because the
focused item can be removed due to the resize before it has a chance to
be scrolled into view. Ralston's working on the necessary functionality
to fix this.
Design doc:
Bug:
Bug:
Fixes:
Test: ./gradlew :compose:f:f:cDAT
Relnote: "Scroll modifiers (`Modifier.verticalScroll()`,
`Modifier.horizontalScroll()`, and `Modifier.scrollable()`)
will now scroll to keep the focused composable visible if
the scroll area is resized and the focused composable was
previously visible."
Relnote: "TextFields will now be kept above the keyboard when they are
focused and the keyboard is shown, when inside a non-lazy
scrollable and the soft input mode is `ADJUST_RESIZE`."
Change-Id: I4a485a1c80aa2d500dcd55e916006903ff45da95
A compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/ScrollableFocusableInteractionTest.kt
M compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/FoundationDemos.kt
A compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/ScrollableFocusedChildDemo.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/Scrollable.kt
kl...@google.com <kl...@google.com> #26
This is close enough to
Description
Android Studio Build:
Steps to Reproduce:
1. Put a TextField on the bottom of the screen
2. Tap on the TextField to open the keyboard
3. The keyboard will probably cover up the TextField and you won't be able to see it when typing
This bugged behavior is a little bit random but it mainly happens the FIRST time only. I have attached a gif of the bug happening on my app.
I have to also note that currently, I focus on the TextField automatically but this bug also happens when focusing on a TextField manually.