Change theme
Help
Press space for more information.
Show links for this issue (Shortcut: i, l)
Copy issue ID
Previous Issue (Shortcut: k)
Next Issue (Shortcut: j)
Sign in to use full features.
Vote: I am impacted
Notification menu
Refresh (Shortcut: Shift+r)
Go home (Shortcut: u)
Use Markdown for this comment
Set severity, which reflects how much the issue affects the use of the product
Change issue status back to 'Assigned'
Pending code changes (auto-populated)
[ID: 84651]
Story points rate the relative effort of work in a Fibonacci-like format: 0, 0.5, 1, 2, 3, 5, 8, 13, 20, 40, 100. Each team will estimate work on a slightly different scale, which means the values in this field are likely only meaningful to the team that owns the Buganizer component in which the issue resides.
See Atlassian's Agile Coach for more information on how to use story points for estimation: https://www.atlassian.com/agile/project-management/estimation [ID: 746686]
Set the version(s) of the product affected by this issue (comma-separated list)
Set the version(s) of the product in which the issue should be fixed (comma-separated list)
Set the version(s) of the product in which the issue fix was verified (comma-separated list)
Set if this issue occurs in production
[ID: 85206]
Set Reporter
Set Type
Set priority, which reflects how soon the issue should be fixed
Set Status
Set Assignee
Set Verifier
Remove item
View or edit staffing
View issue level access limits(Press Alt + Right arrow for more information)
Description
#1Component used: Navigation Version used: 2.4 Devices/Android versions reproduced on: all
AppCompatActivity::setupActionBarWithNavController
can be called to automatically update app bar content when navigation destination changes. In particular,setupActionBarWithNavController
promises to automatically hide the Up arrow for "top-level" destinations and show the Up arrow for all other destinations. To achieve this,setupActionBarWithNavController
needs to infer or be told which destinations are "top-level".When using a
BottomNavigationView
, I wantedI tried calling
setupActionBarWithNavController
and passing a customAppBarConfiguration
constructed using theMenu
instance from theBottomNavigationView
:Unfortunately, when passed a
Menu
whose entries correspond to navigation graph IDs,AppBarConfiguration::Builder
sets the graph IDs as top-level destination IDs, rather than the setting the graph start destination IDs as top-level destination IDs. The result is that theAbstractAppBarOnDestinationChangedListener
applied bysetupActionBarWithNavController
mistakenly classifies every destination as top-level and no screens have an Up arrow.This can be worked around by explicitly passing the IDs of the start destinations of each tab's graph when constructing the
AppBarConfiguration
builder:However, the behavior of
AppBarConfiguration.Builder(Menu)
remains surprising and it would be good to investigate whether that constructor could be made to behave as I anticipated!Android Study Group Slack thread:https://androidstudygroup.slack.com/archives/CAZCL8AVB/p1656470310000929?thread_ts=1655997032.467509&cid=CAZCL8AVB