* For #11660:added prefetch for topsites
TopSites will be prefetched with observerOnce (wrapper around observerForever).
Also, the SessionControlView.update() is called right away instead of waiting from consumeFrom
in the HomeFragment.onCreateView() which will allow the UI to render all at once on its first
perform traversal
* Removed the submitList(null) since it retriggered a drawing on lower end device
for #7225, refactored and cleanup the branch.
for #7225, change strict mode policy only on main process.
for #7225, setting thread policy inside a seperate thread to keep it from getting overridden in activities.
for #7225 removed Handler().postAtFrontOfQueue as a solution due to unknown side effects. moved the enableStrictMode function to be static so we can reuse it.
for #7225 lint check
for #7225 created strict mode manager and moved enabledStrictMode function inside it.
for #7225 removed penalty death on network
for #7225 added allow disk access on thread for already existing violation
strict mode running in main process to see if it passes the gitlab check, will revert it if it doesnt
allowed diskread for super.onCreate for home activity
added comments for disk violation oncreate homeactivity
added fragment manager inside strictmode manager
allowed disk read for onboarding
allowed disk read for cachedTopSites
* For #11171 - Removes feature flag for the new tab tray
* For #11171 - Removes all tab references from homeFragment
* For #11171 - Fixes unit tests
* For #11171 - Gets UI tests to compile and HomeScreenTest to pass
* For #11171 - Fixes `deleteMultipleSelectionTest`
* For #11171 - Fixes `openHistoryItemInNewPrivateTabTest`
* For #11171 - Fixes `openHistoryInPrivateTabTest`
* For #11171 - Fixes `openHistoryInNewTabTest`
* For #11171 - Fixes `openNewPrivateTabTest`
* For #11171 - Fixes tabbedBrowsingTests
* For #11171 - Fixes SettingsPrivacyTest
* For #11171 - Fixes TopSitesTest
* For #11171 - Fixes lint errors
* Ignore
* For #11056 - Removes unused argument when navigating to the collection creation fragment
* For #11056 - Moved the collection creation navigation logic to the TabTrayDialogFragment
* For #11056 - Moves navigating to the share screen from home/browser to the TabTrayDialogFragment
* For #11056 - We moved tab selection logic from home/browser to the tab tray dialog
* For #11056 - Moved new tab tapped logic to the tab tray dialog fragment
* For #11056 - Removes all interactor logic for the TabTrayDialogFragment
* For #11056 - Migrates the presentation / navigation around the TabTrayDialog to the androidx navigation library
* For #10505 - Adjusts wordmark margins
* For #10505 - Removes topsite header, fixes collections header size and removes divider
* For #10505 - Restyle the top site items on the homescreen
Problem was that we were trying to process menu changes (in response to account manager events) on some background thread as that's what account manager emits them on, so some code internally in PopupWindow's dismiss handling (i think, didn't dig very deeply here) was silently giving up and we'd get into a bad state.
The reason this seemingly only happened if you quickly opened a menu on startup is because account manager isn't initialized until sometime after the startup finished. So the trick was to open the menu (and register account manager state callbacks) before it got initialized, so that the callbacks are invoked.
This should also reproduce in other, much more obscure ways, e.g. if you open the menu right before sync is scheduled to run in the background, change FxA password on another connected client, and then eventually receive a onAuthenticationProblem callback.
- Renamed DownloadNotification and removed DownloadState.dismissed dependency
- Improved DynamicDownloadDialog behaviour when scrolling
- DynamicDownloadDialog remains attached to tab until dismissed
- Fixed onTryAgain not working for resumed DownloadDialogs
* For #1063 - Adds feature flag and pref for new tab tray
* For #1063 - Swaps add tab to tab tray button when newTabTray is enabled
* For #1063 - Creates hidden preference to use new tab tray
* For #1063 - Hides tabs on home screen when setting is enabled
* For #1063 - Navigate to new tab tray from browser with setting enabled
* For #1063 - Fixes regression where we dont show the new tab message with no tabs and no collections
* For #1063 - Fixes crash when toggling to private mode on the home screen
* For #1063 - combines both settings. Cleans up lint errors
If we just use the HomeFragment itself, we end up with a memory leak since the lifecycle events
that would clean up the registry (e.g. destroy) won't run (if the fragment is retained in the backstack, for example).
* For #9751 - Cleans up homeFragment directions
* For #9751 - Uses global actions for fragments not owned by homeFragment
* For #9751 - Cleans up SearchFragment directions
* For #9751 - Removes settings action from DeleteBrowsingDataFragment
* For #9751 - Removes browser action from SettingsFragment
* For #9751 - Adds ManagePhoneFeature global action
* For #9751 - Clean up unused deletebrowsingfragment actions
* For #9751 - Cleans Up HistoryFragment actions
* For #9751 - Removes Home -> Search action
* For #9751 - Removes the Bookmark -> Browser action
* For #9751 - Cleans up bookmark fragment actions
* For #9751 - Cleans up actions from ShareController
* For #9751 - Removes defaultBrowserFragment to browserFragment action
* For #9751 - Removes about -> browser action
* For #9751 - Adds global action to TrackingProtectionFragment
* For #9751 - Removes exception -> browser action
* For #9751 - Removes login -> browser action
* For #9751 - Fixes LoginFragment directions
* For #9751 - Removes ExternalAppBrowser directions
* for #9751 - Cleans up actions
* For #9751 - Fixes unit tests
* For #9751 - Addresses nits in PR
This is triggered on collection expanding or shrinking that is animated.
The animation has android:fillEnabled="true" android:fillAfter="true".
This interferes with set visibility to gone and the click still triggers.
Disabling button avoids changing animation or force clearing it.
AccountObserver listeners were being triggered correctly, however, during every time
we open HomeFragment, home menu gets re-created, which causes us to re-run the initialization
block. Before this patch, the init block would never touch the account manager.
After this patch, it will query it if account manager has already been initialized.
`init` blocks are executed before `val` initialization which is declared afterwards
in the class. In this case, we had `quitItem` and `reconnectToSyncItem` as lazy,
but declared after the `init` block which may need them. And so, while this compiles
just fine, in practice we run into an NPE as the `init` block tries to get the lazy's value.
Simply re-ordering initialization fixes the problem.
This refactor "reverses" relationship between these two classes, allowing
HomeMenu to inform its parent, HomeFragment, of any changes to the menu.
Once that's in place, we start observing account manager changes (once its ready)
for account problems.
This solves two problems:
- initialization of the account manager is no longer necessary to build a home menu
- home menu now starts observing changes to the account manager's state (before it was static)
* let animation in top toolbar mode play nicely.
* remove duplicate methods, make code readable.
* migrate getToolbarNavOptions method to BrowserAnimator, one method to rule them all.
* Update linting
Co-authored-by: ahmedmamdouh13 <ahmedmamdouh13196@gmail.com>
In order to target specific variants of Fenix, we're adding schemas that
are specific that app in order to avoid collisions with the other
variants and with other forks of fenix that may have the same schemas.
The current schema for variants:
- Fenix Nightly: `fenix-nightly://`
- Fenix Beta: `fenix-beta://`
- Everything else: `fenix://`