We have multiple checks implemented at this point in splashFragment to ensure proper validation and navigation. If a user logs out and hits back button, he still gets to browse Aurora Store which is an unintended behaviour. Instead of handling same logic twice everywhere, make AccountFragment minimal and only handle logging out here. Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
496 lines
20 KiB
XML
496 lines
20 KiB
XML
<?xml version="1.0" encoding="utf-8"?><!--
|
|
~ Aurora Store
|
|
~ Copyright (C) 2021, Rahul Kumar Patel <whyorean@gmail.com>
|
|
~
|
|
~ Aurora Store is free software: you can redistribute it and/or modify
|
|
~ it under the terms of the GNU General Public License as published by
|
|
~ the Free Software Foundation, either version 2 of the License, or
|
|
~ (at your option) any later version.
|
|
~
|
|
~ Aurora Store is distributed in the hope that it will be useful,
|
|
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
~ GNU General Public License for more details.
|
|
~
|
|
~ You should have received a copy of the GNU General Public License
|
|
~ along with Aurora Store. If not, see <http://www.gnu.org/licenses/>.
|
|
~
|
|
-->
|
|
|
|
<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/mobile_navigation"
|
|
app:startDestination="@id/splashFragment">
|
|
|
|
<action
|
|
android:id="@+id/action_global_appDetailsFragment"
|
|
app:destination="@id/appDetailsFragment" />
|
|
<action
|
|
android:id="@+id/action_global_categoryBrowseFragment"
|
|
app:destination="@id/categoryBrowseFragment" />
|
|
<action
|
|
android:id="@+id/action_global_editorStreamBrowseFragment"
|
|
app:destination="@id/editorStreamBrowseFragment" />
|
|
<action
|
|
android:id="@+id/action_global_expandedStreamBrowseFragment"
|
|
app:destination="@id/expandedStreamBrowseFragment" />
|
|
<action
|
|
android:id="@+id/action_global_screenshotFragment"
|
|
app:destination="@id/screenshotFragment" />
|
|
<action
|
|
android:id="@+id/action_global_devProfileFragment"
|
|
app:destination="@id/devProfileFragment" />
|
|
<action
|
|
android:id="@+id/action_global_streamBrowseFragment"
|
|
app:destination="@id/streamBrowseFragment" />
|
|
<action
|
|
android:id="@+id/action_global_appMenuSheet"
|
|
app:destination="@id/appMenuSheet" />
|
|
<action
|
|
android:id="@+id/action_global_dozeWarningSheet"
|
|
app:destination="@id/dozeWarningSheet" />
|
|
<action
|
|
android:id="@+id/action_global_moreDialogFragment"
|
|
app:destination="@id/moreDialogFragment" />
|
|
<fragment
|
|
android:id="@+id/appsContainerFragment"
|
|
android:name="com.aurora.store.view.ui.apps.AppsContainerFragment"
|
|
android:label="@string/title_apps"
|
|
tools:layout="@layout/fragment_apps_games" />
|
|
<fragment
|
|
android:id="@+id/gamesContainerFragment"
|
|
android:name="com.aurora.store.view.ui.games.GamesContainerFragment"
|
|
android:label="@string/title_games"
|
|
tools:layout="@layout/fragment_apps_games" />
|
|
<fragment
|
|
android:id="@+id/updatesFragment"
|
|
android:name="com.aurora.store.view.ui.updates.UpdatesFragment"
|
|
android:label="@string/title_updates"
|
|
tools:layout="@layout/fragment_updates" />
|
|
<fragment
|
|
android:id="@+id/aboutFragment"
|
|
android:name="com.aurora.store.view.ui.about.AboutFragment"
|
|
android:label="@string/title_about"
|
|
tools:layout="@layout/fragment_about" />
|
|
<fragment
|
|
android:id="@+id/appsGamesFragment"
|
|
android:name="com.aurora.store.view.ui.all.AppsGamesFragment"
|
|
android:label="@string/title_apps_games"
|
|
tools:layout="@layout/activity_generic_pager" />
|
|
<fragment
|
|
android:id="@+id/appSalesFragment"
|
|
android:name="com.aurora.store.view.ui.sale.AppSalesFragment"
|
|
android:label="@string/title_apps_sale"
|
|
tools:layout="@layout/activity_generic_recycler" />
|
|
<fragment
|
|
android:id="@+id/spoofFragment"
|
|
android:name="com.aurora.store.view.ui.spoof.SpoofFragment"
|
|
android:label="@string/title_spoof_manager"
|
|
tools:layout="@layout/activity_generic_pager" />
|
|
<fragment
|
|
android:id="@+id/blacklistFragment"
|
|
android:name="com.aurora.store.view.ui.commons.BlacklistFragment"
|
|
android:label="@string/title_blacklist_manager"
|
|
tools:layout="@layout/activity_generic_recycler" />
|
|
<fragment
|
|
android:id="@+id/accountFragment"
|
|
android:name="com.aurora.store.view.ui.account.AccountFragment"
|
|
android:label="@string/title_account_manager"
|
|
tools:layout="@layout/fragment_account" >
|
|
<action
|
|
android:id="@+id/action_accountFragment_to_splashFragment"
|
|
app:destination="@id/splashFragment"
|
|
app:launchSingleTop="true"
|
|
app:popUpTo="@id/mobile_navigation"
|
|
app:popUpToInclusive="true" />
|
|
</fragment>
|
|
<fragment
|
|
android:id="@+id/settingsFragment"
|
|
android:name="com.aurora.store.view.ui.preferences.SettingsFragment"
|
|
android:label="@string/title_settings"
|
|
tools:layout="@layout/fragment_setting" />
|
|
<fragment
|
|
android:id="@+id/downloadPreference"
|
|
android:name="com.aurora.store.view.ui.preferences.DownloadPreference"
|
|
android:label="DownloadPreference"
|
|
tools:layout="@layout/fragment_setting" />
|
|
<fragment
|
|
android:id="@+id/filterPreference"
|
|
android:name="com.aurora.store.view.ui.preferences.FilterPreference"
|
|
android:label="FilterPreference"
|
|
tools:layout="@layout/fragment_setting" />
|
|
<fragment
|
|
android:id="@+id/installationPreference"
|
|
android:name="com.aurora.store.view.ui.preferences.InstallationPreference"
|
|
android:label="InstallationPreference"
|
|
tools:layout="@layout/fragment_setting" />
|
|
<fragment
|
|
android:id="@+id/networkPreference"
|
|
android:name="com.aurora.store.view.ui.preferences.NetworkPreference"
|
|
android:label="NetworkPreference"
|
|
tools:layout="@layout/fragment_setting" />
|
|
<fragment
|
|
android:id="@+id/UIPreference"
|
|
android:name="com.aurora.store.view.ui.preferences.UIPreference"
|
|
android:label="UIPreference"
|
|
tools:layout="@layout/fragment_setting" />
|
|
<fragment
|
|
android:id="@+id/updatesPreference"
|
|
android:name="com.aurora.store.view.ui.preferences.UpdatesPreference"
|
|
android:label="UpdatesPreference"
|
|
tools:layout="@layout/fragment_setting" />
|
|
<fragment
|
|
android:id="@+id/searchSuggestionFragment"
|
|
android:name="com.aurora.store.view.ui.search.SearchSuggestionFragment"
|
|
android:label="@string/title_search_suggestion"
|
|
tools:layout="@layout/fragment_search_suggestion">
|
|
<action
|
|
android:id="@+id/action_searchSuggestionFragment_to_searchResultsFragment"
|
|
app:destination="@id/searchResultsFragment" />
|
|
</fragment>
|
|
<fragment
|
|
android:id="@+id/searchResultsFragment"
|
|
android:name="com.aurora.store.view.ui.search.SearchResultsFragment"
|
|
android:label="@string/title_search_results"
|
|
tools:layout="@layout/fragment_search_result">
|
|
<argument
|
|
android:name="query"
|
|
app:argType="string" />
|
|
</fragment>
|
|
<fragment
|
|
android:id="@+id/downloadFragment"
|
|
android:name="com.aurora.store.view.ui.downloads.DownloadFragment"
|
|
android:label="@string/title_download_manager"
|
|
tools:layout="@layout/fragment_download" >
|
|
<action
|
|
android:id="@+id/action_downloadFragment_to_downloadMenuSheet"
|
|
app:destination="@id/downloadMenuSheet" />
|
|
</fragment>
|
|
<fragment
|
|
android:id="@+id/appDetailsFragment"
|
|
android:name="com.aurora.store.view.ui.details.AppDetailsFragment"
|
|
tools:layout="@layout/fragment_details">
|
|
<argument
|
|
android:name="packageName"
|
|
app:argType="string" />
|
|
<action
|
|
android:id="@+id/action_appDetailsFragment_to_devAppsFragment"
|
|
app:destination="@id/devAppsFragment" />
|
|
<action
|
|
android:id="@+id/action_appDetailsFragment_to_detailsMoreFragment"
|
|
app:destination="@id/detailsMoreFragment" />
|
|
<action
|
|
android:id="@+id/action_appDetailsFragment_to_detailsReviewFragment"
|
|
app:destination="@id/detailsReviewFragment" />
|
|
<action
|
|
android:id="@+id/action_appDetailsFragment_to_detailsExodusFragment"
|
|
app:destination="@id/detailsExodusFragment" />
|
|
<argument
|
|
android:name="app"
|
|
app:argType="com.aurora.gplayapi.data.models.App"
|
|
app:nullable="true"
|
|
android:defaultValue="@null" />
|
|
<action
|
|
android:id="@+id/action_appDetailsFragment_to_manualDownloadSheet"
|
|
app:destination="@id/manualDownloadSheet" />
|
|
<action
|
|
android:id="@+id/action_appDetailsFragment_to_permissionBottomSheet"
|
|
app:destination="@id/permissionBottomSheet" />
|
|
<action
|
|
android:id="@+id/action_appDetailsFragment_to_installErrorDialogSheet"
|
|
app:destination="@id/installErrorDialogSheet" />
|
|
</fragment>
|
|
<fragment
|
|
android:id="@+id/categoryBrowseFragment"
|
|
android:name="com.aurora.store.view.ui.commons.CategoryBrowseFragment"
|
|
tools:layout="@layout/activity_generic_recycler" >
|
|
<argument
|
|
android:name="title"
|
|
app:argType="string" />
|
|
<argument
|
|
android:name="browseUrl"
|
|
app:argType="string" />
|
|
<action
|
|
android:id="@+id/action_categoryBrowseFragment_to_appPeekDialogSheet"
|
|
app:destination="@id/appPeekDialogSheet" />
|
|
</fragment>
|
|
<fragment
|
|
android:id="@+id/editorStreamBrowseFragment"
|
|
android:name="com.aurora.store.view.ui.commons.EditorStreamBrowseFragment"
|
|
tools:layout="@layout/activity_generic_recycler" >
|
|
<argument android:name="title"
|
|
app:argType="string" />
|
|
<argument
|
|
android:name="browseUrl"
|
|
app:argType="string" />
|
|
</fragment>
|
|
<fragment
|
|
android:id="@+id/expandedStreamBrowseFragment"
|
|
android:name="com.aurora.store.view.ui.commons.ExpandedStreamBrowseFragment"
|
|
tools:layout="@layout/activity_generic_recycler" >
|
|
<argument android:name="title"
|
|
app:argType="string" />
|
|
<argument
|
|
android:name="expandedStreamUrl"
|
|
app:argType="string" />
|
|
</fragment>
|
|
<fragment
|
|
android:id="@+id/screenshotFragment"
|
|
android:name="com.aurora.store.view.ui.details.ScreenshotFragment"
|
|
tools:layout="@layout/fragment_screenshot" >
|
|
<argument
|
|
android:name="position"
|
|
app:argType="integer" />
|
|
<argument
|
|
android:name="arrayOfArtwork"
|
|
app:argType="com.aurora.gplayapi.data.models.Artwork[]" />
|
|
</fragment>
|
|
<fragment
|
|
android:id="@+id/devProfileFragment"
|
|
android:name="com.aurora.store.view.ui.details.DevProfileFragment"
|
|
android:label="fragment_dev_profile"
|
|
tools:layout="@layout/fragment_dev_profile" >
|
|
<argument
|
|
android:name="devId"
|
|
app:argType="string" />
|
|
<argument
|
|
android:name="title"
|
|
android:defaultValue=""
|
|
app:argType="string"
|
|
app:nullable="true" />
|
|
<deepLink
|
|
app:action="android.intent.action.VIEW"
|
|
app:uri="play.google.com/store/apps/dev?id={devId}" />
|
|
</fragment>
|
|
<fragment
|
|
android:id="@+id/streamBrowseFragment"
|
|
android:name="com.aurora.store.view.ui.commons.StreamBrowseFragment"
|
|
tools:layout="@layout/activity_generic_recycler" >
|
|
<argument
|
|
android:name="browseUrl"
|
|
app:argType="string" />
|
|
<argument
|
|
android:name="title"
|
|
app:argType="string" />
|
|
</fragment>
|
|
<fragment
|
|
android:id="@+id/devAppsFragment"
|
|
android:name="com.aurora.store.view.ui.details.DevAppsFragment"
|
|
tools:layout="@layout/activity_generic_recycler" >
|
|
<argument
|
|
android:name="developerName"
|
|
app:argType="string" />
|
|
</fragment>
|
|
<fragment
|
|
android:id="@+id/detailsMoreFragment"
|
|
android:name="com.aurora.store.view.ui.details.DetailsMoreFragment"
|
|
tools:layout="@layout/fragment_details_more" >
|
|
<argument
|
|
android:name="app"
|
|
app:argType="com.aurora.gplayapi.data.models.App" />
|
|
</fragment>
|
|
<fragment
|
|
android:id="@+id/detailsReviewFragment"
|
|
android:name="com.aurora.store.view.ui.details.DetailsReviewFragment"
|
|
tools:layout="@layout/fragment_details_review" >
|
|
<argument
|
|
android:name="displayName"
|
|
app:argType="string" />
|
|
<argument android:name="packageName"
|
|
app:argType="string" />
|
|
</fragment>
|
|
<fragment
|
|
android:id="@+id/detailsExodusFragment"
|
|
android:name="com.aurora.store.view.ui.details.DetailsExodusFragment"
|
|
tools:layout="@layout/activity_generic_recycler" >
|
|
<argument
|
|
android:name="displayName"
|
|
app:argType="string" />
|
|
<argument
|
|
android:name="report"
|
|
app:argType="com.aurora.store.data.model.Report" />
|
|
</fragment>
|
|
<fragment
|
|
android:id="@+id/splashFragment"
|
|
android:name="com.aurora.store.view.ui.splash.SplashFragment"
|
|
tools:layout="@layout/fragment_splash" >
|
|
<argument
|
|
android:name="packageName"
|
|
android:defaultValue=""
|
|
app:argType="string" />
|
|
<!-- Android Market (deprecated) -->
|
|
<deepLink
|
|
app:action="android.intent.action.VIEW"
|
|
app:uri="market:///details?id={packageName}" />
|
|
<deepLink
|
|
app:action="android.intent.action.VIEW"
|
|
app:uri="market.android.com/details?id={packageName}" />
|
|
<!-- Google Play (formerly Android Market) -->
|
|
<deepLink
|
|
app:action="android.intent.action.VIEW"
|
|
app:uri="play.google.com/store/apps/details?id={packageName}" />
|
|
<action
|
|
android:id="@+id/action_splashFragment_to_navigation_apps"
|
|
app:destination="@id/appsContainerFragment"
|
|
app:launchSingleTop="true"
|
|
app:popUpTo="@id/mobile_navigation"
|
|
app:popUpToInclusive="true" />
|
|
<action
|
|
android:id="@+id/action_splashFragment_to_gamesContainerFragment"
|
|
app:destination="@id/gamesContainerFragment"
|
|
app:launchSingleTop="true"
|
|
app:popUpTo="@id/mobile_navigation"
|
|
app:popUpToInclusive="true" />
|
|
<action
|
|
android:id="@+id/action_splashFragment_to_updatesFragment"
|
|
app:destination="@id/updatesFragment"
|
|
app:launchSingleTop="true"
|
|
app:popUpTo="@id/mobile_navigation"
|
|
app:popUpToInclusive="true" />
|
|
<action
|
|
android:id="@+id/action_splashFragment_to_onboardingFragment"
|
|
app:destination="@id/onboardingFragment"
|
|
app:launchSingleTop="true"
|
|
app:popUpTo="@id/mobile_navigation"
|
|
app:popUpToInclusive="true" />
|
|
<action
|
|
android:id="@+id/action_splashFragment_to_appDetailsFragment"
|
|
app:destination="@id/appDetailsFragment"
|
|
app:launchSingleTop="true"
|
|
app:popUpTo="@id/mobile_navigation"
|
|
app:popUpToInclusive="true" />
|
|
</fragment>
|
|
<fragment
|
|
android:id="@+id/googleFragment"
|
|
android:name="com.aurora.store.view.ui.account.GoogleFragment"
|
|
tools:layout="@layout/fragment_google" >
|
|
<action
|
|
android:id="@+id/action_googleFragment_to_splashFragment"
|
|
app:destination="@id/splashFragment"
|
|
app:popUpTo="@id/splashFragment"
|
|
app:popUpToInclusive="true" />
|
|
</fragment>
|
|
<fragment
|
|
android:id="@+id/onboardingFragment"
|
|
android:name="com.aurora.store.view.ui.onboarding.OnboardingFragment"
|
|
tools:layout="@layout/fragment_onboarding" >
|
|
<action
|
|
android:id="@+id/action_onboardingFragment_to_splashFragment"
|
|
app:destination="@id/splashFragment"
|
|
app:launchSingleTop="true"
|
|
app:popUpTo="@id/mobile_navigation"
|
|
app:popUpToInclusive="true" />
|
|
</fragment>
|
|
<fragment
|
|
android:id="@+id/installerFragment"
|
|
android:name="com.aurora.store.view.ui.preferences.InstallerFragment"
|
|
android:label="InstallerFragment"
|
|
tools:layout="@layout/fragment_installer"/>
|
|
<fragment
|
|
android:id="@+id/dispenserFragment"
|
|
android:name="com.aurora.store.view.ui.dispenser.DispenserFragment"
|
|
android:label="DispenserFragment"
|
|
tools:layout="@layout/fragment_dispenser" >
|
|
<action
|
|
android:id="@+id/action_dispenserFragment_to_removeDispenserDialog"
|
|
app:destination="@id/removeDispenserDialog" />
|
|
</fragment>
|
|
<dialog
|
|
android:id="@+id/appMenuSheet"
|
|
android:name="com.aurora.store.view.ui.sheets.AppMenuSheet"
|
|
android:label="AppMenuSheet"
|
|
tools:layout="@layout/sheet_app_menu" >
|
|
<argument
|
|
android:name="app"
|
|
app:argType="com.aurora.gplayapi.data.models.App" />
|
|
</dialog>
|
|
<dialog
|
|
android:id="@+id/appPeekDialogSheet"
|
|
android:name="com.aurora.store.view.ui.sheets.AppPeekDialogSheet"
|
|
android:label="AppPeekDialogSheet" >
|
|
<argument
|
|
android:name="app"
|
|
app:argType="com.aurora.gplayapi.data.models.App" />
|
|
</dialog>
|
|
<dialog
|
|
android:id="@+id/filterSheet"
|
|
android:name="com.aurora.store.view.ui.sheets.FilterSheet"
|
|
android:label="FilterSheet"
|
|
tools:layout="@layout/sheet_filter" />
|
|
<dialog
|
|
android:id="@+id/manualDownloadSheet"
|
|
android:name="com.aurora.store.view.ui.sheets.ManualDownloadSheet"
|
|
android:label="ManualDownloadSheet"
|
|
tools:layout="@layout/sheet_manual_download">
|
|
<argument
|
|
android:name="app"
|
|
app:argType="com.aurora.gplayapi.data.models.App" />
|
|
</dialog>
|
|
<dialog
|
|
android:id="@+id/permissionBottomSheet"
|
|
android:name="com.aurora.store.view.ui.sheets.PermissionBottomSheet"
|
|
tools:layout="@layout/sheet_permissions">
|
|
<argument
|
|
android:name="app"
|
|
app:argType="com.aurora.gplayapi.data.models.App" />
|
|
</dialog>
|
|
<dialog
|
|
android:id="@+id/downloadMenuSheet"
|
|
android:name="com.aurora.store.view.ui.sheets.DownloadMenuSheet"
|
|
android:label="DownloadMenuSheet"
|
|
tools:layout="@layout/sheet_download_menu">
|
|
<argument
|
|
android:name="download"
|
|
app:argType="com.aurora.store.data.room.download.Download" />
|
|
</dialog>
|
|
<dialog
|
|
android:id="@+id/deviceMiuiSheet"
|
|
android:name="com.aurora.store.view.ui.sheets.DeviceMiuiSheet"
|
|
android:label="DeviceMiuiSheet"
|
|
tools:layout="@layout/sheet_device_miui" />
|
|
<dialog
|
|
android:id="@+id/installErrorDialogSheet"
|
|
android:name="com.aurora.store.view.ui.sheets.InstallErrorDialogSheet"
|
|
android:label="InstallErrorDialogSheet"
|
|
tools:layout="@layout/sheet_install_error">
|
|
<argument
|
|
android:name="app"
|
|
app:argType="com.aurora.gplayapi.data.models.App" />
|
|
<argument
|
|
android:name="title"
|
|
app:argType="string" />
|
|
<argument
|
|
android:name="error"
|
|
app:argType="string" />
|
|
<argument
|
|
android:name="extra"
|
|
app:argType="string" />
|
|
</dialog>
|
|
<dialog
|
|
android:id="@+id/dozeWarningSheet"
|
|
android:name="com.aurora.store.view.ui.sheets.DozeWarningSheet"
|
|
android:label="DozeWarningSheet"
|
|
tools:layout="@layout/sheet_doze_warning">
|
|
<argument
|
|
android:name="enableAutoUpdate"
|
|
app:argType="boolean"
|
|
android:defaultValue="false" />
|
|
</dialog>
|
|
<dialog
|
|
android:id="@+id/moreDialogFragment"
|
|
android:name="com.aurora.store.view.ui.commons.MoreDialogFragment"
|
|
android:label="MoreDialogFragment" />
|
|
<dialog
|
|
android:id="@+id/inputDispenserDialog"
|
|
android:name="com.aurora.store.view.ui.dispenser.InputDispenserDialog"
|
|
android:label="@string/add_dispenser_title" />
|
|
<dialog
|
|
android:id="@+id/removeDispenserDialog"
|
|
android:name="com.aurora.store.view.ui.dispenser.RemoveDispenserDialog"
|
|
android:label="@string/remove_dispenser_title" >
|
|
<argument android:name="url"
|
|
app:argType="string" />
|
|
</dialog>
|
|
</navigation>
|