Fixed
Status Update
Comments
il...@google.com <il...@google.com>
il...@google.com <il...@google.com>
ap...@google.com <ap...@google.com> #2
Some things to work out before making the annotations type-use:
- Determine guidelines for type nullability in public API
- Determine rules for when type nullability can change in public API
- Confirm that intellij nullability lint works as expected for type-use nullability annotations
- Test what the impact would be on existing arrays (due to ambiguities of type-use annotations on arrays)
- Confirm usage of type-use
androidx.annotation.NonNull/Nullable
in metalava won't break anything for platform
Description
Version used: 1.0.0-alpha01
When using a global action (an action attached to a <navigation> element), all of the destinations under that <navigation> element should extend the <navigation> element's Directions class. This ensures that the final Directions object contains all of the valid actions from that destination on all levels of the navigation graph.
For example:
<navigation
xmlns:android="
xmlns:app="
app:startDestination="@id/main_fragment">
<fragment
android:id="@+id/main_fragment"
android:name=".MainFragment">
<action
android:id="@+id/start_login"
app:destination="@id/login"/>
</fragment>
<navigation
android:id="@+id/login"
app:startDestination="@id/login_fragment">
<action
android:id="@+id/action_done"
app:popUpTo="@id/main_fragment"/>
<fragment
android:id="@+id/login_fragment"
android:name=".LoginFragment">
<action
android:id="@+id/register"
app:destination="@id/register_fragment"/>
</fragment>
<fragment
android:id="@+id/register_fragment"
android:name=".RegisterFragment">
</fragment>
</navigation>
</navigation>
There should be
- A LoginDirections class that has an action_done() method (this works right now).
- A LoginFragmentDirections class that extends LoginDirections (currently it does not extend anything)
- An empty RegisterFragmentDirections class that extends LoginDirections (currently it does not exist)