Fixed
Status Update
Comments
ch...@google.com <ch...@google.com> #3
This is repo with very basic project
https://github.com/ThinkDeeper/leanback_crash_test
which contains our extension of GuidedStepSupportFragment and two more dummy fragments as its extension.
Steps to reproduce is pretty simple:
from fragment1 navigate to fragment2 (sometimes back to fragment1) using buttons on right pane and then hit hardware back which results in crash mentioned above.
which contains our extension of GuidedStepSupportFragment and two more dummy fragments as its extension.
Steps to reproduce is pretty simple:
from fragment1 navigate to fragment2 (sometimes back to fragment1) using buttons on right pane and then hit hardware back which results in crash mentioned above.
wu...@google.com <wu...@google.com> #4
I ran the project in android studio with 28 and 29 TV emulator, cannot reproduce it.
va...@gmail.com <va...@gmail.com> #5
Yes, that is our experience as well.
We were not able to reproduce on emulator.
Only NVIDIA SHILED (android 9) & Xiaomi MiBOX (android 9).
ch...@google.com <ch...@google.com> #6
Okay, I can reproduce it on a physical device.
It's a bit hard to reproduce.
It's a bit hard to reproduce.
va...@gmail.com <va...@gmail.com> #7
+ilake
er...@google.com <er...@google.com>
ap...@google.com <ap...@google.com> #8
I captured in debugger and found that in the crash stack when returning from fragment 2 to fragment 1.
FragmentStatementManager is calling fragment1.getFocusedView().requestFocus() when returning to fragment 1.
The "focusedView" is retained in Fragment.AnimationInfo but it belongs to the previous view tree that is supposed to be destroyed when navigate from fragment 1 to fragment 2.
focusedView.isAttachedToWindow is false as shown in the screenshot.
FragmentStatementManager is calling fragment1.getFocusedView().requestFocus() when returning to fragment 1.
The "focusedView" is retained in Fragment.AnimationInfo but it belongs to the previous view tree that is supposed to be destroyed when navigate from fragment 1 to fragment 2.
focusedView.isAttachedToWindow is false as shown in the screenshot.
ap...@google.com <ap...@google.com> #9
While leanback can add check in onFocusChangeListener whether the view belongs to the fragment's current view tree.
Is it a race condition in fragment library that calling requestFocus on a detached child?
Is it a race condition in fragment library that calling requestFocus on a detached child?
[Deleted User] <[Deleted User]> #10
Project: platform/frameworks/support
Branch: androidx-master-dev
commit 031d8dc8c746ca0840630cb6d641e91405362b6f
Author: Dake Gu <dake@google.com>
Date: Mon Nov 09 11:52:57 2020
leanback: fix wrong RecyclerView in GuidedActionAdapter
GuidedActionStylist has the same lifecycle as fragment that it can
be bound to different RecyclerViews in onCreateView/onDestroyView.
GuidedActionAdapter has the same lifecycle as the current fragment's
view. It adds onFocusChange listener to child views of RecyclerView.
Using GuidedActionStylist.getRecyclerView() may get the wrong one.
The fix is adding a final field mRecylerView in GuidedActionAdapter,
The adapter is created in fragment onCreateView and released in
fragment onDestroyView.
Bug: 172000115
Test: The bug is hard to reproduce, verified with existing Test and
verified demo app is still working.
Change-Id: Ic829f9256c1bd825a04bdeb81e673aa2a75527db
M leanback/leanback/src/main/java/androidx/leanback/widget/GuidedActionAdapter.java
https://android-review.googlesource.com/1493237
Branch: androidx-master-dev
commit 031d8dc8c746ca0840630cb6d641e91405362b6f
Author: Dake Gu <dake@google.com>
Date: Mon Nov 09 11:52:57 2020
leanback: fix wrong RecyclerView in GuidedActionAdapter
GuidedActionStylist has the same lifecycle as fragment that it can
be bound to different RecyclerViews in onCreateView/onDestroyView.
GuidedActionAdapter has the same lifecycle as the current fragment's
view. It adds onFocusChange listener to child views of RecyclerView.
Using GuidedActionStylist.getRecyclerView() may get the wrong one.
The fix is adding a final field mRecylerView in GuidedActionAdapter,
The adapter is created in fragment onCreateView and released in
fragment onDestroyView.
Bug: 172000115
Test: The bug is hard to reproduce, verified with existing Test and
verified demo app is still working.
Change-Id: Ic829f9256c1bd825a04bdeb81e673aa2a75527db
M leanback/leanback/src/main/java/androidx/leanback/widget/GuidedActionAdapter.java
ap...@google.com <ap...@google.com> #11
projected to be in leanback:1.1.0-alpha06 at release of early December
[Deleted User] <[Deleted User]> #12
Kudos and Thank you for quick fix.
ch...@google.com <ch...@google.com> #13
Hi,
Yes, the issue has been fixed in version 1.1.0-alpha03
.
Description
Please note: This component is for the CameraX API used in Jetpack. Please DO NOT file Pixel Camera issues here.
Please describe your issue and include details such as the version of CameraX you are using and any relevant logs related to your issue.
// If at all possible, capture an Android logcat (https://developer.android.com/studio/command-line/logcat ) when you're experiencing the issue, preferably while the camera is still active.
I use CameraController that worked well in RC02. But if I upgrade to RC03 I get "androidx.camera.core.initializationexception: java.lang.runtimeexception: error retrieving camcorder profile params" when I create the CameraController. Simply when I attach the listener I get this exception:
cameraController = new LifecycleCameraController(context); Futures.addCallback(cameraController.getInitializationFuture(), new FutureCallback<Void>() { @Override public void onFailure(Throwable t) { is called instead of onSuccess.
CAMERAX VERSION (ex - 1.0.0-alpha07)
CAMERA APPLICATION NAME AND VERSION: (Settings > Apps > (app name) > version)
ANDROID OS BUILD NUMBER: (Settings > About > Build number)
DEVICE NAME: (Nexus 5X, Samsung S6, etc) Samsung Note 10+
DESCRIPTION:
LIST ANY EXPERIMENTAL FEATURES: (As an example - @ExperimentalCamera2Interop)
STEPS TO REPRODUCE: 1. 2. 3.
OBSERVED RESULTS:
EXPECTED RESULTS:
REPRODUCIBILITY: (5 of 5, 1 of 100, etc)
ADDITIONAL INFORMATION:
CODE FRAGMENTS (this will help us troubleshoot your issues):