Fixed
Status Update
Comments
cl...@google.com <cl...@google.com>
ap...@google.com <ap...@google.com> #2
Thank you for reporting this issue.
Please provide the below details to investigate this issue further.
1. Please attach your sample android project which reproduces the issue, zip it and share
2. Explain the steps to reproduce the issue with your apk. Provide all necessary information to reproduce the issue.
Please provide the below details to investigate this issue further.
1. Please attach your sample android project which reproduces the issue, zip it and share
2. Explain the steps to reproduce the issue with your apk. Provide all necessary information to reproduce the issue.
cl...@google.com <cl...@google.com> #3
It happens due to a name clash in the layout files. I have had a res/layout/tooltip.xml for years and the constructor of TooltipPopup inflates that one instead of its own.
na...@google.com <na...@google.com> #4
Maybe the one in appcompat should have been prefixed with "abc_" like to others. Now I have renamed mine, but others might get the same issue.
Description
Component used: Navigation
Version used: 2.8.5
The attempts to fill in the
NavDestination.fillInLabel
methodlabel
of theNavDestination
with arguments. However, it does this by (in every case butNavType.ReferenceType
) by just callingargs[argName].toString()
- e.g., just directly callingtoString()
on the object in theSavedState
bundle.While this approach works for simple types, a custom
NavType
might not store their class directly in the Bundle - for example, if using the@Serializable
support, it would be stored as aBundle
, which means thetoString()
is unlikely to actually be what is needed.Instead,
fillInLabel
should take into account theNavType
and use itsget
method to give theNavType
control over exactly the object that is synthesized from the arguments. That way, developers could implement a customtoString()
implementation on their object to control how it is displayed in the label.