Move downloads screen and menu item from app to downloads module#8043
Draft
GerardPaligot wants to merge 8 commits intodevelopfrom
Draft
Move downloads screen and menu item from app to downloads module#8043GerardPaligot wants to merge 8 commits intodevelopfrom
GerardPaligot wants to merge 8 commits intodevelopfrom
Conversation
Move DownloadsScreenNoParams ActivityParams from app to downloads-api and add DownloadsMenuPlugin interface for browser menu integration.
Move DownloadsActivity, DownloadsViewModel, DownloadsAdapter, and supporting classes from app to downloads-impl/ui package. Move layout resources, menu, drawables, and string resources. Move test file. Add DownloadsMenuPlugin implementation and plugin point.
…odule - Move DownloadMenuStateProvider interface to downloads-api - Move RealDownloadMenuStateProvider and DownloadBadgePlugin to downloads-impl - Integrate DownloadsMenuPlugin into browser menu via PluginPoint - Replace MenuItemView with FrameLayout container in browser menu layouts - Remove showDownloadDot from BrowserMenuViewState - Update BrowserTabFragment to use DownloadsMenuPlugin for menu setup - Update BrowserActivity and TabSwitcherActivity to use DownloadsScreenNoParams - Remove DownloadsActivity registration from app AndroidManifest - Delete all downloads UI files, resources, and tests from app module - Add navigation-api, new-tab-page-api, feature-toggles-api deps to downloads-impl
This was referenced Mar 23, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Task/Issue URL: https://app.asana.com/1/137249556945/project/1202552961248957/task/1213721069856764
Description
Moves the downloads screen, menu item, and download badge/state management from the
appmodule into thedownloads-apianddownloads-implmodules, following the standard-api/-implmodule architecture.What moved:
DownloadsScreenNoParamsapp/.../DownloadsScreens.ktdownloads-apiDownloadsMenuPlugininterfacedownloads-apiDownloadMenuStateProviderinterfaceapp/.../menu/DownloadMenuStateProvider.ktdownloads-apiDownloadsActivity+ ViewModel + Adapter + ViewItemsapp/.../downloads/downloads-implRealDownloadsMenuPlugindownloads-implRealDownloadMenuStateProviderapp/.../menu/DownloadMenuStateProvider.ktdownloads-implDownloadBadgePluginapp/.../menu/DownloadBadgePlugin.ktdownloads-implDownloadsNewTabShortcutPluginapp/.../downloads/downloads-implapp/src/main/res/downloads-impl/src/main/res/Browser menu integration:
MenuItemViewwith aFrameLayoutcontainer in all 3 browser menu layoutsBrowserTabFragmentnow usesPluginPoint<DownloadsMenuPlugin>to populate the containerDownloadMenuStateProvidershowDownloadDotremoved fromBrowserMenuViewStateNavigation:
BrowserActivityandTabSwitcherActivityuseGlobalActivityStarter+DownloadsScreenNoParamsinstead of directDownloadsActivity.intent()callsSteps to test this PR
Downloads screen
Download badge (dot indicator)
New Tab shortcut
Tab switcher
Browser menu variants
UI changes
No visual changes — this is a pure refactor moving code between modules.