Status Update
Comments
sy...@google.com <sy...@google.com> #2
The issue turns out to be a problem with how the requestFocus()
was being called. in updateFocusRectInWindowSnapshot
, there is a check for isFocused
that should also consider hasFocus()
. The line should be changed from:
if (!view.isFocused) {
to
if (!view.isFocused && !view.hasFocus()) {
[Deleted User] <[Deleted User]> #3
Resolved the original issues by using the correct rect value. However the focus shouldn't skip focus even with incorrect value. re-open the issue for investigation purpose. Thank you!
sy...@google.com <sy...@google.com>
sy...@google.com <sy...@google.com> #4
Project: platform/frameworks/support
Branch: androidx-main
Author: George Mount <
Link:
Fix requestFocus with bad previous rectangle
Expand for full commit details
Fix requestFocus with bad previous rectangle
Fixes: 388590015
When requestFocus() is called on a ComposeView with a previousRect
set to something that doesn't make sense (empty rectangle from the
wrong direction, for example), the previous behavior would not
find a matching component in that direction. Instead, it would
find the next View to focus on and pass the focus on.
With this CL, if the ComposeView isn't currently focused and a
focusSearch fails to find something focusable in relation to the
previous rectangle, an attempt is made irrespective of the
previous rectangle.
Relnote: "Fixed focus issue where requestFocus() with a
nonsensical previouslyFocusedRect parameter (related to
the focus direction) would skip past a ComposeView."
Test: new test, manual testing
Change-Id: Ifdc2f17b23620d1ae14848624f447f84cc1b0b5d
Files:
- M
compose/ui/ui/src/androidInstrumentedTest/kotlin/androidx/compose/ui/focus/RequestFocusTest.kt
- M
compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeView.android.kt
Hash: 8501eec732d61bd71c385a90f58a194191816d57
Date: Fri Jan 10 11:04:59 2025
ca...@instantbits.com <ca...@instantbits.com> #5
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.compose.ui:ui-android:1.8.0-beta01
androidx.compose.ui:ui-jvmstubs:1.8.0-beta01
androidx.compose.ui:ui-linuxx64stubs:1.8.0-beta01
sy...@google.com <sy...@google.com> #6
sy...@google.com <sy...@google.com> #7
Release notes:
ca...@instantbits.com <ca...@instantbits.com> #8
Will be testing this on my next beta. What is the difference between com.google.android.gms:play-services-cast and com.google.android.gms:play-services-cast-framework? I don't see com.google.android.gms:play-services-cast-framework on this page
sy...@google.com <sy...@google.com> #9
We created a new internal bug to update
ca...@instantbits.com <ca...@instantbits.com> #10
sy...@google.com <sy...@google.com> #11
re...@gmail.com <re...@gmail.com> #12
bu...@gmail.com <bu...@gmail.com> #13
Sent from my Galaxy Tab® A
Description
Which version of the Cast SDK are you using? Cast SDK 3 - I'm targeting Google Play Services 15
Fatal Exception: java.lang.IllegalStateException: GoogleApiClient is not connected yet.
at com.google.android.gms.common.api.internal.zzaj.execute(Unknown Source)
at com.google.android.gms.common.api.internal.zzbd.execute(Unknown Source)
at com.google.android.gms.common.api.internal.zzav.execute(Unknown Source)
at com.google.android.gms.cast.Cast$CastApi$zza.sendMessage(Unknown Source)
at com.google.android.gms.cast.framework.media.RemoteMediaClient$zza.zza(Unknown Source)
at com.google.android.gms.internal.cast.zzcm.zza(Unknown Source)
at com.google.android.gms.internal.cast.zzdh.zza(Unknown Source)
at com.google.android.gms.internal.cast.zzdh.zzda(Unknown Source)
at com.google.android.gms.internal.cast.zzdh.zza(Unknown Source)
at com.google.android.gms.internal.cast.zzdi.zza(Unknown Source)
at com.google.android.gms.internal.cast.zzdn.zza(Unknown Source)
at com.google.android.gms.internal.cast.zzdn.zza(Unknown Source)
at com.google.android.gms.internal.cast.zzdn.zzdc(Unknown Source)
at com.google.android.gms.internal.cast.zzdo.run(Unknown Source)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:241)
at android.app.ActivityThread.main(ActivityThread.java:6274)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)