Files
APKDownloader/app/src/main/res/navigation/mobile_navigation.xml
Aayush Gupta 6bf75bb68a AccountFragment: Throw users on splashFragment on logout
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>
2024-06-01 13:42:40 +05:30

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>