1
0
mirror of https://github.com/KokaKiwi/BarInsta synced 2024-12-23 13:26:59 +00:00

Move activity notification viewer to its own nav graph. Fixes https://github.com/austinhuang0131/barinsta/issues/247

This commit is contained in:
Ammar Githam 2020-11-11 20:04:38 +09:00
parent ebea1404c9
commit c1b5094dc7
8 changed files with 51 additions and 21 deletions

View File

@ -35,7 +35,6 @@ import androidx.lifecycle.LiveData;
import androidx.navigation.NavBackStackEntry; import androidx.navigation.NavBackStackEntry;
import androidx.navigation.NavController; import androidx.navigation.NavController;
import androidx.navigation.NavDestination; import androidx.navigation.NavDestination;
import androidx.navigation.NavDirections;
import androidx.navigation.ui.NavigationUI; import androidx.navigation.ui.NavigationUI;
import com.google.android.material.appbar.AppBarLayout; import com.google.android.material.appbar.AppBarLayout;
@ -58,7 +57,6 @@ import awais.instagrabber.customviews.helpers.CustomHideBottomViewOnScrollBehavi
import awais.instagrabber.databinding.ActivityMainBinding; import awais.instagrabber.databinding.ActivityMainBinding;
import awais.instagrabber.fragments.PostViewV2Fragment; import awais.instagrabber.fragments.PostViewV2Fragment;
import awais.instagrabber.fragments.main.FeedFragment; import awais.instagrabber.fragments.main.FeedFragment;
import awais.instagrabber.fragments.settings.MorePreferencesFragmentDirections;
import awais.instagrabber.interfaces.FetchListener; import awais.instagrabber.interfaces.FetchListener;
import awais.instagrabber.models.IntentModel; import awais.instagrabber.models.IntentModel;
import awais.instagrabber.models.SuggestionModel; import awais.instagrabber.models.SuggestionModel;
@ -634,14 +632,10 @@ public class MainActivity extends BaseLanguageActivity implements FragmentManage
} }
private void showActivityView() { private void showActivityView() {
binding.bottomNavView.setSelectedItemId(R.id.more_nav_graph);
binding.bottomNavView.post(() -> {
if (currentNavControllerLiveData == null) return; if (currentNavControllerLiveData == null) return;
final NavController navController = currentNavControllerLiveData.getValue(); final NavController navController = currentNavControllerLiveData.getValue();
if (navController == null) return; if (navController == null) return;
final NavDirections navDirections = MorePreferencesFragmentDirections.actionMorePreferencesFragmentToNotificationsViewer(); navController.navigate(R.id.action_global_notificationsViewerFragment);
navController.navigate(navDirections);
});
} }
private void bindActivityCheckerService() { private void bindActivityCheckerService() {

View File

@ -103,8 +103,7 @@ public class MorePreferencesFragment extends BasePreferencesFragment {
screen.addPreference(getDivider(context)); screen.addPreference(getDivider(context));
if (isLoggedIn) { if (isLoggedIn) {
screen.addPreference(getPreference(R.string.action_notif, R.drawable.ic_not_liked, preference -> { screen.addPreference(getPreference(R.string.action_notif, R.drawable.ic_not_liked, preference -> {
final NavDirections navDirections = MorePreferencesFragmentDirections.actionMorePreferencesFragmentToNotificationsViewer(); NavHostFragment.findNavController(this).navigate(R.id.action_global_notificationsViewerFragment);
NavHostFragment.findNavController(this).navigate(navDirections);
return true; return true;
})); }));
} }

View File

@ -38,6 +38,12 @@
app:nullable="false" /> app:nullable="false" />
</action> </action>
<include app:graph="@navigation/notification_viewer_nav_graph" />
<action
android:id="@+id/action_global_notificationsViewerFragment"
app:destination="@id/notification_viewer_nav_graph" />
<fragment <fragment
android:id="@+id/directMessagesInboxFragment" android:id="@+id/directMessagesInboxFragment"
android:name="awais.instagrabber.fragments.directmessages.DirectMessageInboxFragment" android:name="awais.instagrabber.fragments.directmessages.DirectMessageInboxFragment"

View File

@ -57,6 +57,12 @@
app:nullable="false" /> app:nullable="false" />
</action> </action>
<include app:graph="@navigation/notification_viewer_nav_graph" />
<action
android:id="@+id/action_global_notificationsViewerFragment"
app:destination="@id/notification_viewer_nav_graph" />
<fragment <fragment
android:id="@+id/discoverFragment" android:id="@+id/discoverFragment"
android:name="awais.instagrabber.fragments.main.DiscoverFragment" android:name="awais.instagrabber.fragments.main.DiscoverFragment"

View File

@ -57,6 +57,12 @@
app:nullable="false" /> app:nullable="false" />
</action> </action>
<include app:graph="@navigation/notification_viewer_nav_graph" />
<action
android:id="@+id/action_global_notificationsViewerFragment"
app:destination="@id/notification_viewer_nav_graph" />
<fragment <fragment
android:id="@+id/feedFragment" android:id="@+id/feedFragment"
android:name="awais.instagrabber.fragments.main.FeedFragment" android:name="awais.instagrabber.fragments.main.FeedFragment"

View File

@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<navigation xmlns:android="http://schemas.android.com/apk/res/android" <navigation xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/more_nav_graph" android:id="@+id/more_nav_graph"
app:startDestination="@id/morePreferencesFragment"> app:startDestination="@id/morePreferencesFragment">
@ -9,6 +8,7 @@
<include app:graph="@navigation/hashtag_nav_graph" /> <include app:graph="@navigation/hashtag_nav_graph" />
<include app:graph="@navigation/location_nav_graph" /> <include app:graph="@navigation/location_nav_graph" />
<include app:graph="@navigation/comments_nav_graph" /> <include app:graph="@navigation/comments_nav_graph" />
<include app:graph="@navigation/notification_viewer_nav_graph" />
<action <action
android:id="@+id/action_global_profileFragment" android:id="@+id/action_global_profileFragment"
@ -37,6 +37,10 @@
app:nullable="false" /> app:nullable="false" />
</action> </action>
<action
android:id="@+id/action_global_notificationsViewerFragment"
app:destination="@id/notification_viewer_nav_graph" />
<fragment <fragment
android:id="@+id/morePreferencesFragment" android:id="@+id/morePreferencesFragment"
android:name="awais.instagrabber.fragments.settings.MorePreferencesFragment" android:name="awais.instagrabber.fragments.settings.MorePreferencesFragment"
@ -47,9 +51,6 @@
<action <action
android:id="@+id/action_morePreferencesFragment_to_aboutFragment" android:id="@+id/action_morePreferencesFragment_to_aboutFragment"
app:destination="@id/aboutFragment" /> app:destination="@id/aboutFragment" />
<action
android:id="@+id/action_morePreferencesFragment_to_notificationsViewer"
app:destination="@id/notificationsViewer" />
<action <action
android:id="@+id/action_morePreferencesFragment_to_favoritesFragment" android:id="@+id/action_morePreferencesFragment_to_favoritesFragment"
app:destination="@id/favoritesFragment" /> app:destination="@id/favoritesFragment" />
@ -69,11 +70,6 @@
android:id="@+id/aboutFragment" android:id="@+id/aboutFragment"
android:name="awais.instagrabber.fragments.settings.AboutFragment" android:name="awais.instagrabber.fragments.settings.AboutFragment"
android:label="@string/action_about" /> android:label="@string/action_about" />
<fragment
android:id="@+id/notificationsViewer"
android:name="awais.instagrabber.fragments.NotificationsViewerFragment"
android:label="@string/title_notifications"
tools:layout="@layout/fragment_notifications_viewer" />
<fragment <fragment
android:id="@+id/themePreferencesFragment" android:id="@+id/themePreferencesFragment"
android:name="awais.instagrabber.fragments.settings.ThemePreferencesFragment" android:name="awais.instagrabber.fragments.settings.ThemePreferencesFragment"

View File

@ -0,0 +1,17 @@
<?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/notification_viewer_nav_graph"
app:startDestination="@id/notificationsViewer">
<fragment
android:id="@+id/notificationsViewer"
android:name="awais.instagrabber.fragments.NotificationsViewerFragment"
android:label="@string/title_notifications"
tools:layout="@layout/fragment_notifications_viewer" />
<action
android:id="@+id/action_global_notificationsViewerFragment"
app:destination="@id/notificationsViewer" />
</navigation>

View File

@ -58,6 +58,12 @@
app:nullable="false" /> app:nullable="false" />
</action> </action>
<include app:graph="@navigation/notification_viewer_nav_graph" />
<action
android:id="@+id/action_global_notificationsViewerFragment"
app:destination="@id/notification_viewer_nav_graph" />
<fragment <fragment
android:id="@+id/profileFragment" android:id="@+id/profileFragment"
android:name="awais.instagrabber.fragments.main.ProfileFragment" android:name="awais.instagrabber.fragments.main.ProfileFragment"