mirror of
https://github.com/KokaKiwi/BarInsta
synced 2026-03-05 12:01:35 +00:00
Nested navigation using global actions
Using a workaround for including global actions. This may change in the future releases of Navigation lib
This commit is contained in:
parent
649115a665
commit
8f1a158b92
8 changed files with 159 additions and 98 deletions
|
|
@ -5,6 +5,17 @@
|
|||
android:id="@+id/direct_messages_nav_graph"
|
||||
app:startDestination="@id/directMessagesInboxFragment">
|
||||
|
||||
<include app:graph="@navigation/profile_nav_graph" />
|
||||
|
||||
<action
|
||||
android:id="@+id/action_global_profileFragment"
|
||||
app:destination="@id/profile_nav_graph">
|
||||
<argument
|
||||
android:name="username"
|
||||
app:argType="string"
|
||||
app:nullable="false" />
|
||||
</action>
|
||||
|
||||
<fragment
|
||||
android:id="@+id/directMessagesInboxFragment"
|
||||
android:name="awais.instagrabber.fragments.directmessages.DirectMessageInboxFragment"
|
||||
|
|
@ -28,9 +39,6 @@
|
|||
<action
|
||||
android:id="@+id/action_dMThreadFragment_to_dMSettingsFragment"
|
||||
app:destination="@id/directMessagesSettingsFragment" />
|
||||
<action
|
||||
android:id="@+id/action_directMessagesThreadFragment_to_profileFragment"
|
||||
app:destination="@id/profileFragment" />
|
||||
</fragment>
|
||||
<fragment
|
||||
android:id="@+id/directMessagesSettingsFragment"
|
||||
|
|
@ -44,14 +52,4 @@
|
|||
android:name="title"
|
||||
app:argType="string" />
|
||||
</fragment>
|
||||
<fragment
|
||||
android:id="@+id/profileFragment"
|
||||
android:name="awais.instagrabber.fragments.main.ProfileFragment"
|
||||
android:label="ProfileFragment"
|
||||
tools:layout="@layout/fragment_profile">
|
||||
<argument
|
||||
android:name="username"
|
||||
app:argType="string"
|
||||
app:nullable="false" />
|
||||
</fragment>
|
||||
</navigation>
|
||||
|
|
@ -5,6 +5,28 @@
|
|||
android:id="@+id/feed_nav_graph"
|
||||
app:startDestination="@id/feedFragment">
|
||||
|
||||
<include app:graph="@navigation/hashtag_nav_graph" />
|
||||
|
||||
<action
|
||||
android:id="@+id/action_global_hashTagFragment"
|
||||
app:destination="@id/hashtag_nav_graph">
|
||||
<argument
|
||||
android:name="hashtag"
|
||||
app:argType="string"
|
||||
app:nullable="false" />
|
||||
</action>
|
||||
|
||||
<include app:graph="@navigation/profile_nav_graph" />
|
||||
|
||||
<action
|
||||
android:id="@+id/action_global_profileFragment"
|
||||
app:destination="@id/profile_nav_graph">
|
||||
<argument
|
||||
android:name="username"
|
||||
app:argType="string"
|
||||
app:nullable="false" />
|
||||
</action>
|
||||
|
||||
<fragment
|
||||
android:id="@+id/feedFragment"
|
||||
android:name="awais.instagrabber.fragments.main.FeedFragment"
|
||||
|
|
@ -13,12 +35,6 @@
|
|||
<action
|
||||
android:id="@+id/action_feedFragment_to_storyViewerFragment"
|
||||
app:destination="@id/storyViewerFragment" />
|
||||
<action
|
||||
android:id="@+id/action_feedFragment_to_profileFragment"
|
||||
app:destination="@id/profileFragment" />
|
||||
<action
|
||||
android:id="@+id/action_feedFragment_to_hashTagFragment"
|
||||
app:destination="@id/hashTagFragment" />
|
||||
<action
|
||||
android:id="@+id/action_feedFragment_to_locationFragment"
|
||||
app:destination="@id/locationFragment" />
|
||||
|
|
@ -40,31 +56,11 @@
|
|||
android:name="isHashtag"
|
||||
app:argType="boolean" />
|
||||
</fragment>
|
||||
<fragment
|
||||
android:id="@+id/profileFragment"
|
||||
android:name="awais.instagrabber.fragments.main.ProfileFragment"
|
||||
android:label="ProfileFragment"
|
||||
tools:layout="@layout/fragment_profile">
|
||||
<argument
|
||||
android:name="username"
|
||||
app:argType="string"
|
||||
app:nullable="false" />
|
||||
</fragment>
|
||||
<fragment
|
||||
android:id="@+id/hashTagFragment"
|
||||
android:name="awais.instagrabber.fragments.HashTagFragment"
|
||||
android:label=""
|
||||
tools:layout="@layout/fragment_hashtag">
|
||||
<argument
|
||||
android:name="hashtag"
|
||||
app:argType="string"
|
||||
app:nullable="false" />
|
||||
</fragment>
|
||||
<fragment
|
||||
android:id="@+id/locationFragment"
|
||||
android:name="awais.instagrabber.fragments.LocationFragment"
|
||||
android:label=""
|
||||
tools:layout="@layout/fragment_location" >
|
||||
tools:layout="@layout/fragment_location">
|
||||
<argument
|
||||
android:name="location"
|
||||
app:argType="string"
|
||||
|
|
|
|||
25
app/src/main/res/navigation/hashtag_nav_graph.xml
Normal file
25
app/src/main/res/navigation/hashtag_nav_graph.xml
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<navigation xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/hashtag_nav_graph"
|
||||
app:startDestination="@id/hashTagFragment">
|
||||
<fragment
|
||||
android:id="@+id/hashTagFragment"
|
||||
android:name="awais.instagrabber.fragments.HashTagFragment"
|
||||
android:label=""
|
||||
tools:layout="@layout/fragment_hashtag">
|
||||
<argument
|
||||
android:name="hashtag"
|
||||
app:argType="string"
|
||||
app:nullable="false" />
|
||||
</fragment>
|
||||
<action
|
||||
android:id="@+id/action_global_hashTagFragment"
|
||||
app:destination="@id/hashTagFragment">
|
||||
<argument
|
||||
android:name="hashtag"
|
||||
app:argType="string"
|
||||
app:nullable="false" />
|
||||
</action>
|
||||
</navigation>
|
||||
|
|
@ -4,9 +4,38 @@
|
|||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/profile_nav_graph"
|
||||
app:startDestination="@id/profileFragment">
|
||||
|
||||
<include app:graph="@navigation/hashtag_nav_graph" />
|
||||
|
||||
<action
|
||||
android:id="@+id/action_global_hashTagFragment"
|
||||
app:destination="@id/hashtag_nav_graph">
|
||||
<argument
|
||||
android:name="hashtag"
|
||||
app:argType="string"
|
||||
app:nullable="false" />
|
||||
</action>
|
||||
|
||||
<action
|
||||
android:id="@+id/action_global_profileFragment"
|
||||
app:destination="@id/profileFragment">
|
||||
<argument
|
||||
android:name="username"
|
||||
app:argType="string"
|
||||
app:nullable="false" />
|
||||
</action>
|
||||
|
||||
<fragment
|
||||
android:id="@+id/profileFragment"
|
||||
android:name="awais.instagrabber.fragments.main.ProfileFragment"
|
||||
android:label="@string/profile"
|
||||
tools:layout="@layout/fragment_profile" />
|
||||
tools:layout="@layout/fragment_profile" >
|
||||
<argument
|
||||
android:name="username"
|
||||
app:argType="string"
|
||||
app:nullable="false" />
|
||||
<!--<action-->
|
||||
<!-- android:id="@+id/action_profileFragment_self"-->
|
||||
<!-- app:destination="@id/profileFragment" />-->
|
||||
</fragment>
|
||||
</navigation>
|
||||
Loading…
Add table
Add a link
Reference in a new issue