Commit Graph

1295 Commits (1f633edd7d4436f20ead4ba657b1284b94cca0c6)

Author SHA1 Message Date
Christian Sadilek fafa72c0ff Allow opening pocket stories when search dialog is active 3 years ago
Roger Yang 1092383231 No issue: Make sure jump back in group always have more than one tab 3 years ago
Gabriel Luong 15d1a0aa17 For #21551 - Add delete history metadata in the History view
Co-authored-by: Christian Sadilek <christian.sadilek@gmail.com>
3 years ago
Elise Richards c60de0bc6c For #21287: long press menu on recently visited homescreen groups 3 years ago
Grisha Kruglov 0d9e2b3a36 Do not show home screen behind search if we have search terms
Home screen isn't actually visible in case we're displaying awesomebar
search results. The navigation is thus unnecessary and actually causes visual
jankiness as we display home for a moment before covering it up with
search results.
3 years ago
Noah Bond 25d0696101
Inactive tabs changes (#21524)
* Issue mozilla-mobile#21319 - Moved inactive tabs to the top of the normal tabs tray.

* Issue mozilla-mobile#21319 - Added a delete icon to delete ALL inactive tabs.

* Issue mozilla-mobile#21319 - Changed default inactive time period to 14 days

* Issue mozilla-mobile#21319 - Hooked inactive tabs setting to UI code

Inactive tabs setting is also disabled when the user has selected the one day or week auto-close tab setting.

* Issue mozilla-mobile#21319 - File and Lint cleanup

* PR: Fixed bug causing grouped tabs to also show in "Other" when marked as inactive but inactive is OFF in Settings

* PR: Fixed lint warnings

* PR: Removed redundant feature check

* PR - Ignore test until search term tab groups switch is done
3 years ago
Mugurell 53d4336939 For #21592 - Don't topup with general stories 3 years ago
Michael Comella 4c33b1b75c For #21294: add partial test for existing factToEvent code.
When we refactor, this will help ensure we've done it correctly.
3 years ago
Mugurell e72b7f7cc8 For #21561 - Enable/Disable the feature from the customization menu 3 years ago
Mugurell 0c632dbbdb For #21391 - Final design composables
Fonts are not exactly following the Figma design but do better suit the overall
design since the other fonts are also not respecting the latest specs.
3 years ago
Mugurell c1f0e5a611 For #21275 - Sort items by how many times they were actually shown 3 years ago
Christian Sadilek 4596d4f905
Do not capture search terms when user navigates away via app (#21527)
Co-authored-by: Grisha Kruglov <gkruglov@mozilla.com>

Co-authored-by: Grisha Kruglov <gkruglov@mozilla.com>
3 years ago
Roger Yang 8a15e8a681 Close #21451: Add active search term tab groups on home 3 years ago
Arturo Mejia f15291757b For #21493 show onboarding dialog for home sections 3 years ago
Mugurell ba4c44afcf For #21045: Add categories support 3 years ago
codrut.topliceanu e8c332964d For #21087: Updates Recently Saved design 3 years ago
Christian Sadilek 54549c49ec Fix mapping between history visits and groups to use createdAt
We currently have a 15s buffer to match metadata to its corresponding
visit. However, a existing metadata record can be updated more than
15s after it was created e.g. when closing the tab and updating
the view time.
3 years ago
Jonathan Almeida 26dc3ea47e Issue #21366: Speculative fix for failing test in TitleHeaderBindingTest 3 years ago
Christian Sadilek d830006984 For #20893: Dedupe urls/site in history groups 3 years ago
Gabriel Luong 90d7927b2f Issue #21117 - Modify layout for items displayed under "Recently Visited" in the HomeScreen to follow latest UX designs 3 years ago
Gabriel Luong 98b218d964 For #21413 - Remove unused OnboardingPrivateBrowsingViewHolder and OnboardingWhatsNewViewHolder 3 years ago
Gabriel Luong d9847f9525 For #21408 - Pass the corresponding HistoryMetadataKey to openToBrowserAndLoad and addTab use case 3 years ago
Gabriel Luong 2ae7d5d593 For #20893 - Search term groups in history 3 years ago
Arturo Mejia 3272de1364 For #21239 add telemetry for Allow users to customize their home screen 3 years ago
Christian Sadilek 6f7f284b55 Make sure to only record view time once for a given tab access
Co-authored-by: Grisha Kruglov <gkruglov@mozilla.com>
3 years ago
Grisha Kruglov b7b8de1c2f Use UpdateUrlAction to record viewTime observations
We discovered that in a tab restore scenario we were recording view time
observations that were wrong - we'd record time deltas as-if user was
looking at the page while the browser wasn't running.

This happens because when we record a viewTime observation, we compare
current time with lastAccess time of the tab. In a restore scenario,
that lastAccess time happens to be from when the browser was last
running - which could be days ago.

The simplest solution was to not record a viewTime observation if the
url for a tab didn't change during a load event. To achieve this, we
needed to change which action we were using as a proxy for "navigation
events" - UpdateUrlAction contains the new url, allowing us to compare
against the current tab url.

Alternative solutions would be to keep using loading actions, but
dispatch a lastAccess event before performing a metadata update. This
would have worked, but would result in two lastAccess events being
dispatched for each navigation event instead of just one.
3 years ago
Elise Richards b56d8ff545 For #21337: rename recently saved section on home 3 years ago
Jonathan Almeida e9434a5b11 Close #21366: Fix intermittent test failure in TitleHeaderBindingTest 3 years ago
Michael Comella a3d3519e68 Closes #21335: return self instead of mock in FenixSnackbarKtTest.
This is a speculative fix for the intermittent issue. Typically, these
intermittents are caused by mocked lambdas but there is no mocked lambda
here. If this doesn't work, one `any()` argument fills in for a lambda:
it's possible that's causing the failure.

Unfortunately, I can't verify this fix easily because the "run test until
failure" option was removed from Android Studio.

See b3f5c87585 for a prior attempt to
address the intermittents in this class.
3 years ago
Jonathan Almeida bc7f5d80df Issue #21236: Fixes empty tray visibility logic
This is a bug we noticed after landing search term grouping.

An adapter can submit an empty list of items to the `ConcatAdapter`
early. This has the side-effect of triggering our `observeFirstInsert`
too soon and therefore updating the visibility to show the empty tray
placeholder and never switches back.

Our solution is to keep a constant observer on the adapter so we can
perform the visibility check on every insert/remove.

Co-authored-by: Roger Yang <royang@mozilla.com>
3 years ago
Sebastian Kaspari 6ac10d5209 Issue #21291: SearchDialogFragment: Get URL from clipboard once and not for every state update 3 years ago
Roger Yang fc18fd2520
For #21236: Separate tabs with the same search term into a different section (#21177)
* For #21236: Separate tabs with the same search term into a different section in tabs tray

* Issue #21236: Scroll to selected tab + various tab fixes for groupings

* Issue #21236: Fix failing test

Co-authored-by: Jonathan Almeida <jalmeida@mozilla.com>
3 years ago
Michael Comella 83bd2f2254 Closes #18102: remove intermittent failing App onCreate duration measurement test.
The test as it exists relies on the robolectric lifecycle, which is hard
to predict, so it doesn't seem worth fixing the test. Writing the test
any other way would require excessive mocking, which also seems
impractical.
3 years ago
Arturo Mejia 4e846b3cb6 For #21095 add customize home button on the home screen. 3 years ago
Gabriel Luong 66a31ddbfc Issue #21099 - Update items under "Jump back in" section to the latest designs 3 years ago
Christian Sadilek 2a92bd5942 Sort history metadata on home and allow limiting results 3 years ago
Elise Richards 52975b4f05 For #20654: Handle private mode switching from home behind search dialog.
Add tests for controller and interactor to handle private mode switches
3 years ago
Christian Sadilek c1289f657d Fix history metadata API breakage in unit tests 3 years ago
Arturo Mejia cbb8f808c1 For #18629: add support for SmartBlock exceptions 3 years ago
Arturo Mejia fe914dc964 For #21226 only show the "Customize Home" menu on home screen. 3 years ago
bendk 5ba47a90db
Handle breaking changes from a-s 83.0.0 (#21215) 3 years ago
Arturo Mejia d4a212f235 For #21095 allow users to configure their home screen. 3 years ago
Elise Richards 7d481a7836
For #19947: manually add login (#21199)
* [WIP] New Layout for adding login and 'add login' button in 'SavedLoginsListView' to launch it.
Fixed bindings.

* [WIP] Removed "reveal password" button

* [WIP] Added interactor for the add login screen

* [WIP] Trying to check for duplicates

* [WIP] Renaming "addNew..." with "add..."

* [WIP] Check for duplicates

* [WIP] Fixes after merge

* Cleaning up the layout and making edit text for hostname selectable

* Error handling on add login screen. Tests for interactors and controllers

Co-authored-by: Vitaly V. Pinchuk <vetal.978@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
3 years ago
Michael Comella 4fe6a4506d For #21183: remove lazyMonitored wrapper functionality.
We're not using the functionality so there's no sense in doing the work.
However, we keep the wrapper: see the code comments for details.
3 years ago
Arturo Mejia d288502840 For #20892 update connection panel strings 3 years ago
Noah Bond 28b07e7c8b
Issue mozilla-mobile#21140 - Updated recent tab logic to show media tab and second-to-last tab, if the media tab was the last active tab. (#21141)
* Issue mozilla-mobile#21140 - Updated recent tab logic to show media tab and second-to-last tab, if the media tab was the last active tab.

* Fixed RecentTabsListFeatureTest unit test

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
3 years ago
Roger Yang 5d22bb4707 Issue #18711: Telemetry for credit card autofill 3 years ago
Christian Sadilek 5cc5a3438c Remove mocked lambdas from AccountSettingsInteractorTest 3 years ago
Mickey Moz 4c30483c57
Update Android Components version (#21109)
* Update Android Components version to 93.0.20210901143120.

* For #21043 - Integrate AC changes

* Fix breaking API changes of RestoreAction

Co-authored-by: Mugurell <Mugurell@users.noreply.github.com>
Co-authored-by: Christian Sadilek <christian.sadilek@gmail.com>
3 years ago
Elise Richards 6cb872cd98 Remove banner open in app telemetry 3 years ago
Elise Richards 7653691d30 Remove private browsing shortcut telemetry 3 years ago
Elise Richards d137becd48 Remove tip telemetry 3 years ago
Elise Richards f1cf6f4651 Remove find in page telemetry 3 years ago
Elise Richards 1f94dfa59b Remove total uri count telemetry 3 years ago
Elise Richards 8455886ca8 Remove downloads misc telemetry. 3 years ago
Gabriel Luong e4a25f4123 For #21035 - Refactor HistoryViewInteractor from HistoryView into HistoryInteractor 3 years ago
Christian Sadilek 597b73c732 Dedupe history metadata in groups based on url 3 years ago
Elise Richards 41825022e7
For #19931: Add telemetry probes for recent bookmarks on home screen (#20316)
* Add telemetry probes for recent bookmarks on home screen. Tests for controller.

* Make the events into counters in the metrics ping

Update tests to reflect new metrics

Add data review link for new metrics

Mock new settings for startup metrics tests

Update metrics

Add test for recent bookmark glean events

* Recent bookmarks controller tests
3 years ago
Mugurell 09e8d34c26 For #20507 - Inactive tabs telemetry
Two new events are added:
- "inactive_tabs_expanded" for when the inactive tabs section is expanded
- "inactive_tabs_collapsed" for when the inactive tabs section is collapsed

For tracking when an inactive tab is opened / closed I've repurposed the
existing tabs tray telemetry (since the functionality uses the same code)
- tabs_tray.opened_existing_tab
- tabs_tray.closed_existing_tab
to support an extra "source" key indicating the feature from which a tab was
opened or closed. The current values for this new key are:
- "Tabs tray" for when a tab was opened/closed from tabs tray
- "Inactive tabs" for when a tab was openes/closed from the Inactive tabs
section of the tabs tray.
3 years ago
Mugurell 621c388c12 For #17917 - Finish migrating all synthetics usages 3 years ago
codrut.topliceanu 5e13ead750 For #20328 - Adds telemetry for recentlyClosed button
...from tabsTray, inactiveTabs section.
3 years ago
codrut.topliceanu 7070bb5607 For #17917: Use View binding in add-ons 3 years ago
mcarare 83b752afef For #20927: Replace icons with AC icons. 3 years ago
Rohan Maity 707918cdc1 For #20596 remove startup timeline probes 3 years ago
Jonathan Almeida 7915ef8f3f Close #20945: Fix failing test in AccountSettingsInteractorTest 3 years ago
Jonathan Almeida 693fbef88d Speculative fixes intermittent test in DeleteAndQuitTest 3 years ago
Arturo Mejia d3019986a4 For #20919 quit the after removing a study. 3 years ago
codrut.topliceanu bf5b4a5655 For #17917: Use View binding in tabs tray 3 years ago
Mugurell 69fa9abdd2 For #17917 - Migrate `home` from Kotlin synthetics to View Binding. 3 years ago
Mugurell ff4669a759 For #17917 - Migrate `browser` from Kotlin synthetics to View Binding. 3 years ago
codrut.topliceanu 34e063669a For #17917: Use View binding in Login Exceptions 3 years ago
Arturo Mejia 8b4190a429 For #20890 when TP is off globally hide TP section on quick settings. 3 years ago
Roger Yang c9b2f9e866 Issue #2783: Add snackbar to collection deletion 3 years ago
Jonathan Almeida ef036f3ca9 Issue #20864: Speculative fix for HomeFragmentTest failures 3 years ago
codrut.topliceanu 20c9a247f5 For #17917: Use View binding in tracking protection(2) 3 years ago
codrut.topliceanu c52b6615e5 For #17917: Use View binding in Share views 3 years ago
codrut.topliceanu 7acd6997f6 For #17917: Use View binding in Onboarding Tests 3 years ago
Jonathan Almeida 0090381663 Close #20796: Additional fixes for intermittent failing test
Fixes for TrackingProtectionExceptionsInteractorTest to remove the lamba
mocking and test actual BrowserState changes instead (where possible).
3 years ago
Arturo Mejia 512475df9e For #19886 integrate view binding. 3 years ago
Gabriel Luong d1b9744069 For #19886 - Add a back navigation to the Global Quick Settings from the Tracking Protection dialog 3 years ago
Arturo Mejia 34d99f89ac For #19886 - Improve quick setting dialogs navigation 3 years ago
Gabriel Luong 4b2b058b4e For #19886 - Remove tracking protection overlay CFR 3 years ago
Arturo Mejia 07bb1113f8 For #19886 - Add connection sub-menu. 3 years ago
Gabriel Luong 63368779df For #19886 - Add favicon to website info view
Co-authored-by: Arturo Mejia <arturomejiamarmol@gmail.com>
3 years ago
Gabriel Luong 61dfb40339 For #19886 - Handle toggling tracking protection in quick settings 3 years ago
Gabriel Luong 465f553ea8 For #19886 - Remove the tracking protection indicator 3 years ago
Jonathan Almeida bd665e2f7e Close #20853: Fix intermittent failing test in HomeFragmentStoreTest 3 years ago
Jonathan Almeida 5c328f9616 Close #15168: Remove intermittent failing test in ToolbarViewTest
This test seems to be hacking at the binding between Fenix and the
BrowserToolbar to simulate toolbar events passing to the Fenix
interactor.

This is rather clumsy test that relies on the magic working of mockk
instead of following a general unit testing strategy that would commonly
require the class to be re-written to allow for better testing instead.

It is far safer to remove this test since we are not guaranteeing
anything in it and instead we see intermittent failures that make us
lose more time.

So therefore.. 🔥
3 years ago
Jonathan Almeida 708f024d07 Close #20796: Fix intermittent test failure in TrackingProtectionExceptionsInteractorTest 3 years ago
Jonathan Almeida 0f35700e00 Close #20795: Speculative fix for intermittent test failures in HomeFragmentTest
The expectation is that replacing `return` with `answers` will compute
the return value for the extension function again in order to avoid the
error, "no answer found for: Settings".
3 years ago
Jonathan Almeida 0556e6b1c4 Close #20797: Fix intermittent test failures in ShortcutsSuggestionProviderTest 3 years ago
Jonathan Almeida 545a59ac97 Close #20792: Fix intermittent test failures in QuickSettingsFragmentReducerTest 3 years ago
Rohan Maity c45703db07 For #20596 remove perf.startup probes 3 years ago
Arturo Mejia 463728e007 For #20764 add screen for opting out of experiments 3 years ago
Arturo Mejia 71f1f6b88b Disable intermittent tests. 3 years ago
Vitaly V. Pinchuk 5093e7a5d6 Dismisses search dialog if active in (RecentTabsHeaderViewHolder, RecentBookmarksViewHolderTest) and adapts test for the changes. 3 years ago
Michael Comella cc380695b8 No issue: remove unnecessary robolectric annotations.
Theoretically, this should marginally decrease the duration of our unit
test suite. In my testing, for 1 iteration each (i.e. noise is very
possible), the duration changed from 9m 32s to 8m 21s – a 71s
improvement.

---

To identify tests that were running with robolectric that didn't need to
be, I removed the @RunWith(FenixRobo... from all relevant files:
    sed -i '' "/@RunWith(FenixRobolectric/d" app/src/test/**/*.kt

I ran the tests and discovered which ones failed from the Classes tab of
the index.html test result file. Something like:
    tests = document.querySelectorAll('table')[3].querySelectorAll('tr');
    failureElements = tests.querySelectorAll('.failures');
    // TODO: extract the test names

Then I copied these results to a text file and compared them to all the
files that had robolectric test runners to figure out which ones still
pass:
    comm -1 -2 failures.txt changed_files.txt > robolectric_not_needed.txt

And undid the changes to the failing files:
    for i in $(cat robolectric_not_needed.txt); do git checkout $i; done

Then I removed the import statements on those files:
    for i in $(cut changed_files.txt); do sed -i '' "/import.*RunWith/d" $i; done
    for i in $(cat changed_files.txt); do sed -i '' "/import.*RobolectricTestRunner/d" $i; done
3 years ago
Elise Richards 7fdad978a3
For FNXV2-17067: always show home in background behind search dialog (#20573)
* Navigate to home on toolbar click. Handle back press from search dialog

Update tests to show home behind search dialog. Remove unused test.

Jump back in show all button is clickable behind search dialog

Recently saved bookmarks show all button is clickable behind search dialog

* Add feature flag

* Past explorations show all button is clickable behind search dialog

Handle keyboard in controllers instead of viewholders. Update tests.

Allow collections to be visible behind search dialog

Dismiss keyboard and search dialog with navigateUp instead of just dismissing the keyboard

Verify navigateUp in tests

Adding ignore for flaky UI test

Only resize home behind search dialog

Add ignore for collection intermittent test

Cleanup
3 years ago
mcarare 55ccfda759 For #20425: Re-add tests for class BookmarksUseCaseTest. 3 years ago
Jonathan Almeida 8c975c6646 Close #20726: Fix intermittent failure in AddonsManagementViewTest 3 years ago
Michael Comella 4c6566a0d2 Closes #20697: replace mockked lambda in DownloadControllerTest.
This is expected to fix the intermittent failure in this test.
3 years ago
Christian Sadilek 01555c2bea
Update Android Components version to 92.0.20210806164329 (#20722)
Addresses breaking change in ShortcutsSuggestionProvider
3 years ago
Jonathan Almeida d6bc93981d Issue #20663: Make inactive card collapsible
We use make the inactive tabs section of the tabstray collapsible in
this change, with a technical quirk: we want to make the "isExpanded"
state of the tabs stay for the lifetime of the app and not the tabs
tray, but this functionality does not exist.

In this patch, we're storing the UI state in a singleton class that
exists for the lifetime of the app, but a more concrete solution is to
use an AppStore that holds content like this, which we can land in a
future patch.
3 years ago
Grisha Kruglov ec98db4e54 External source support
Adds handling of information about external referrer (package, category)
when dealing with external intents.
3 years ago
Roger Yang 2ac5a38120 Revert "For #18711: Telemetry for credit card autofill (#19548)"
This reverts commit e0b410efdf.
3 years ago
Roger Yang 2ed4115a6c Revert "For #18711 - Refactor credit card telemetry under the Metrics ping (#19733)"
This reverts commit 172a118a51.
3 years ago
Mugurell 3a33f65bc0 For #20584 - Speculative fix for ToolbarViewTest failing in CI
There was an `java.lang.InstantiationError: kotlin.jvm.functions.Function1`
stemming from line 75. See if avoiding nullability helps.
3 years ago
Jonathan Almeida ca51ac6168 Issue #20664: Do not consider newly created tabs as inactive 3 years ago
mcarare 066f9d7f5d For #20601: Use View binding in quick settings. 3 years ago
Christian Sadilek 56d4e7a72d Fix intermittent test failures in ToolbarViewTest 3 years ago
Roger Yang c55c252f9a Closes #20650: Revert to manually close tab as default setting 3 years ago
Arturo Mejia 525e5e7c25 For #20601: Undo Use View binding in quick Settings. 3 years ago
Michael Comella 9889f478ef Closes #20631: remove @Ignore on StorageStats tests.
The errors that caused this to be @Ignored were addressed by a recent PR
landing on master (i.e. the one that renewed the probes this test is
testing).
3 years ago
Sebastian Kaspari 8857a79ca8 Fix intermittent test failures in TabsTouchHelperTest 3 years ago
Sebastian Kaspari d0a63754c2 Fix intermittent test failures in DefaultBrowserToolbarControllerTest 3 years ago
Sebastian Kaspari ef3ef87ce2 Fix intermittent test failures in DefaultSessionControlControllerTest. 3 years ago
Michael Comella c6a4d0afed Closes #20627: replace mocked lambda in HistoryItemMenuTest.
This will prevent intermittent failures with Java 11.
3 years ago
Elise Richards 7fdade49ec
No issue: fix glean metrics tests for expired metrics (#20621)
* Remove references to preferences.open_links_in_private and preferences.private_search_suggestions in tests. These metrics have been expired and may be removed.

* Add ignores for performance metrics that have expired.

* Remove tabs_tray.cfr.dismiss and tabs_tray.cfr.go_to_settings telemetry probes.

* Remove metrics controller from signature and remove in tests
3 years ago
Jonathan Almeida 69d630f46c Issue #20349: Add inactive tab grouping to tabs tray 3 years ago
Christian Sadilek 6f3d21b48d Issue #20533: Fix intermittent test failures of DefaultCollectionCreationControllerTest 3 years ago
Christian Sadilek 1de7e22080 Issue #20533: Fix intermittent failures of DefaultSessionControlControllerTest 3 years ago
Sebastian Kaspari 51cec928b2 Fix intermittent test failures of ModeTest 3 years ago
Sebastian Kaspari 971b419d77 Run ktlintFormat to adapt to latest formatting rules. 3 years ago
Christian Sadilek 8fd409b721 Fix intermittent test failures of LoginExceptionFragmentStoreTest 3 years ago
Christian Sadilek 0cd08dc9b1 Issue #20533: Fix intermittent test failures of ExceptionsListItemViewHolderTest 3 years ago
Christian Sadilek 9d92e61ff4 Issue #20533: Fix intermittent test failures in SearchDialogControllerTest 3 years ago
Christian Sadilek 58e8cdfedb Issue #20533: Fix intermittent failures of DefaultTabsTrayControllerTest 3 years ago
mcarare cca7892e91 For #17917: Use View binding in settings screens. 3 years ago
mcarare 26e41be02e For #19955 #20393: Add telemetry for home screen recent tabs. 3 years ago
Christian Sadilek fbd9221c0c Fix intermittent test failures in WebPushEngineIntegrationTest 3 years ago
Christian Sadilek b3f5c87585 Fix intermittent test failures in FenixSnackbarKtTest 3 years ago
Christian Sadilek 30c890c457 Issue #20531: Fix intermittent test failures in DefaultQuickSettingsControllerTest 3 years ago
Christian Sadilek 2dde8c2388 Fix intermittent test failures in NavigationInteractorTest 3 years ago
Christian Sadilek 458e8b3cd7 Fix intermittent test failures in PagedHistoryProviderTest 3 years ago
Christian Sadilek b3895e5fde Fix intermittent test failures in TrackingProtectionExceptionsInteractorTest 3 years ago
Christian Sadilek d0c75740b7 Fix intermittent test failures in BookmarkControllerTest 3 years ago
Christian Sadilek f03f7c6071 Closes #20533: Fix intermittent failures of HistoryControllerTest 3 years ago
Sebastian Kaspari 41f21fc0f8 RemoveTabUseCaseWrapperTest: Do not mock lambdas. 3 years ago
Sebastian Kaspari 7859d4d681 DefaultRecentlyClosedControllerTest: Do not mock functions 3 years ago
Sebastian Kaspari 9ffd53ee04 Do not mock lambdas in TrackingProtectionPanelInteractorTest. 3 years ago
Christian Sadilek 2f27797530 Closes #20531: Fix intermittent failures of DefaultBrowserToolbarMenuControllerTest 3 years ago
codrut.topliceanu e2af42a497 For #20440 - Forces TopSitePager bind if no. of pages changed 3 years ago
Christian Sadilek 84fdf62240 Fix init order in TrackingProtectionExceptionsViewTest 3 years ago
Christian Sadilek 00d0ed53e0 Fix race condition in ShareViewModelTest 3 years ago
Christian Sadilek 9320700fd7 Remove unused imports in PwaOnboardingObserverTest.kt 3 years ago
Christian Sadilek 4d8d1b4ea2 Use MainCoroutineRule in PwaOnboardingObserverTest 3 years ago
Sebastian Kaspari 7840aac3ba Update Robolectric and mockk. 3 years ago
Sebastian Kaspari 8d8b6e6d36 Issue #19662: Use Java 11. 3 years ago
mcarare a5a4a7f6d9 For #20425: Update AC version 3 years ago
Mugurell 2c8c6d29ea For #20402 - Re-enable "in progress media tab"
The crash for when media starts playing in a custom tab is now resolved in AC.
3 years ago
Gabriel Luong 9b22b2baa4 For #20438 - Display a list of history metadata groups 3 years ago
Christian Sadilek 589f166b29 Issue #16330: Remove remaining usages of Sentry.capture 3 years ago
codrut.topliceanu 2040af6a5d For #20367 - Fixes removeAllTabs adding to recently closed
`removeAllTabs` will now no longer allow `UndoMiddleware` from recovering the tabs.
3 years ago
codrut.topliceanu bc723e0a9b For #15499 - Smoothly updates topSites list on remove
To remove the flash on refresh of the topsites list we have to use submitList, however using this too high up in the hierarchy of our listAdapters within listAdapters will cause children to refresh at once. The solution to this is to use submitList lower. Using it in TopSitesPagerAdapter.kt to update the TopSitesAdapter is the way to go. I've also had to use a dummy item for the "removed" Topsite ( with id = -1) so I can manually diff that before using submitList.
3 years ago
Sebastian Kaspari 8b5aef7def Update Kotlin to 1.5.10 (and Coroutines to 1.5.0). 3 years ago
Jonathan Almeida 41ba94b951 Issue #20402: Disable LastMediaAccessMiddleware temporarily
The reducer in this middleware assumes the SessionState is always a
TabSessionState which holds the lastMediaAccess. This is true for the
lastAccess long which is a persistent state.

The list of MediaSessionActions however can also come from Custom Tabs
which relies on a CustomTabSessionState.

For now, the temporary fix is to disable this feature by removing the
middleware and no longer adding the last accessed media to the
recent tabs list ("Jump back in") to avoid crashing users while we think
of a real fix.
3 years ago
Roger Yang c4347a9492 Closes #19847: Add telemetry for the default browser notification 3 years ago
Mugurell 1251894933 For #19933 - Show a media tab item on homescreen for the last tab with media 3 years ago
Mugurell f95567912f For #20229 - Use the AC common implementation for ads/search telemetry
Everything should work exactly as before.
3 years ago
Rohan Maity f8599860dd For #1268 Add Unit test for PrivateShortcutCreateManager 3 years ago
Jonathan Almeida 4b4c86551d Close #20320: Use scope from testDispatcher in RecentBookmarksFeatureTest 3 years ago
Jonathan Almeida b877430bad Close #20267: Filter out network errors from Nimbus 3 years ago
Marc Leclair 298ec5cce1 For #19804: Restore logic to original behavior 3 years ago
Michael Comella be64ee4159 For #20127: remove app_opened_all_startup integration. 3 years ago
Elise Richards 9bfe9b0787
For FNX-22339: Recently saved bookmarks (#19835)
* Title and button for home screen recently saved bookmarks section

Create bookmark item view with favicon and title

* View holders and interactors for recently saved bookmarks

Recent bookmark item view holder binding

Create adapter for recent bookmarks. Implement controller methods. Implement view holder bindings for items

Top level adapter for recent bookmarks section

Retrieve list of recent bookmarks on home

View holders and interactors for recently saved bookmarks

Recent bookmark item view holder binding

Create adapter for recent bookmarks. Implement controller methods. Implement view holder bindings for items

Top level adapter for recent bookmarks section

Retrieve list of recent bookmarks on home

Update list on app start and when bookmarks are added

View holders and interactors for recently saved bookmarks

Recent bookmark item view holder binding

Create adapter for recent bookmarks. Implement controller methods. Implement view holder bindings for items

Top level adapter for recent bookmarks section

Retrieve list of recent bookmarks on home

Update list on app start and when bookmarks are added

Make a use case for retrieving and updating the list of recently saved bookmarks

Add adapter items and define header viewholder binding

Use session interactor for header button clicks. Bind in the adapter

* Retrieve list of bookmarks asynchronously on home

Interactor and controller tests

Address review comments

Split up tests for recent bookmarks

Update to new interactors

Dark mode and light mode styles

Refactor bookmarks home stuff

* Add RecentBookmarksFeature to home

Move interactor to SessionControlInteractor

Clean up lint, styles, and dimens.

* Bookmarks use case tests for retrieving recently saved bookmarks. Linting.

* View holder tests

* Match ux to designs for colors, margins, and scrolling

* Clean up clean up

* Tests for the view bound feature

* Controller test

* Clean up: check state of store in feature tests; ellipsize textviews for bookmark item; remove unused attr; format

Co-authored-by: Jonathan Almeida <jalmeida@mozilla.com>
3 years ago
Roger Yang 0133f42a15 Closes #19846: Show Default Browser Notification if browser is not default 3 years ago
codrut.topliceanu 3ae6472e16 For #20257 - Sets min no. of grid columns to 2 in TabsTray 3 years ago
codrut.topliceanu 083d50aafd For #20250 - Adds FLAG_SECURE to TabsTray dialog 3 years ago
Grisha Kruglov 946fda55aa Closes #20276: Fall-back to URL parsing for tabs with parents to obtain search terms 3 years ago
mcarare b43db5f2b6 For #20029: Remove animations when recreating activity on locale change. 3 years ago
codrut.topliceanu a7f3d34538 For #19131 - Fixes top sites refresh and interactability 3 years ago
Roger Yang e69f3dfbbb Closes #19090: Show snackbar on adding to bookmarks from tabs tray 3 years ago
Christian Sadilek 7c57898c76 Closes #20123: PlacesException when recording history metadata 3 years ago
Codrut Topliceanu af1c00a645
For #20195 - Adds tabsTray allowScreenshotsInPrivateMode check (#20203)
* For #20195 - Adds tabsTray allowScreenshotsInPrivateMode check
3 years ago
Arturo Mejia 29f5567869 For #19922 Fix the default autoplay setting to be block audio only 3 years ago
Mugurell 5d62fe11a6 For #20046 - Show the last accessed tab in Jump back in 3 years ago
Roger Yang 74c1cc82fb Closes #19921: Update appcompat and fragment dependencies to 1.3.x 3 years ago
Arturo Mejia 1d76bc7ca2 For #19922 Update the default autoplay setting to be block audio only 3 years ago
Jonathan Almeida 15df06b294 Issue #20054: Update recent tab on title or icon changes 3 years ago
Arturo Mejia 251bfc7fe9 Improvements to site permissions 3 years ago
Mugurell ce64c2439d For #19797 - Use the FXA email only if the account is authenticated
An account may exist but it may need to be re-authenticated.
In this case also the email should not be exposed to the app.
3 years ago
Mugurell 19af5e9b15 For #19797 - Remove FenixAccountManager#signedInToFxa
After the changes from this patch this api is not used anymore so to prevent
future misuses of it this is removed in favor of the new "accountState".
3 years ago
Mugurell 3d071dd049 For #19797 - Browser menu: go to problems page if account exists but not signed in 3 years ago
Mugurell d663383cf7 For #19797 - New FenixAccountManager#getAccountState()
This new method allows a single source of truth for getting the up-to-date
account status without clients interesting in this needing to know what to
check for.
3 years ago
Grisha Kruglov 2198298df5 Obtain searchTerms from previous page in tab's history
Co-authored-by: Christian Sadilek <christian.sadilek@gmail.com>
3 years ago
Jonathan Almeida aee14d8c19 Close #19950: Fix intermittent failure in SearchDialogControllerTest 3 years ago
Mihai Adrian Carare 9c9e26953f
For #19813: Invalidate tab tray adapter structure on screen rotation. (#20044) 3 years ago
Gabriel Luong c0329f3c26 For #19988 - Part 2: Load tab icon from BrowserIcons cache if needed for the recent tab
Co-authored-by: Jonathan Almeida <jalmeida@mozilla.com>
3 years ago
Gabriel Luong ad91f91eb6 For #19988 - Part 1: Move RecentTabsListFeature into recenttabs package
Co-authored-by: Jonathan Almeida <jalmeida@mozilla.com>
3 years ago
Mugurell abeb8b5576 For #19135 - Set different offsets for expanded trays
As in the previous version of tabs tray when tray is expanded while in portrait
it should have a 40dp offset and when the tray is expanded while in landscape
it should have a 0dp offset - effectively making it fullscreen.

These values were set in code, always overriding the xml set value so I
removed that xml declaration.
3 years ago
Mugurell 3cbb67da5c For #19135 - Expand the tabs tray in landscape
Track the current orientation and collapse / expand it the tabs tray depending
on the orientation and the number of opened tabs.
3 years ago
Mugurell d7544337b8 For #19135 - Refactor the behavior code to support more functionality later
Setup a new TabSheetBehaviorManager with all the dependencies it needs to
set the initial tray's behavior.
This same manager will later be called to update behavior's properties.
3 years ago
Christian Sadilek ba19960b7e Issue FNX-22435: Introduce History metadata
Co-authored-by: Grisha Kruglov <gkruglov@mozilla.com>
3 years ago
mcarare d43acbd03d For #19938: Remove a11y workaround for tab tray new tab button.
Historically, button was introduced in a3dc565c10,
because FAB was not selectable by a11y in previous implementation of tab tray.
3 years ago
mcarare 2d2be26fbc For #19915: Add telemetry for the toolbar Home screen button. 3 years ago
Gabriel Luong 9d3cf79051 For #19916 - Add last viewed tab to home screen
Co-authored-by: Jonathan Almeida <jalmeida@mozilla.com>
3 years ago
Christian Sadilek 0c1e712ca8 Issue #17800: Cleanup and fix request desktop site from home 3 years ago
Arturo Mejia 2f879f8e9d Fix site permissions breaking changes 3 years ago
Sebastian Kaspari 4753a1d494 Complete browser-state migration and remove browser-session dependency.
Co-authored-by: Christian Sadilek <christian.sadilek@gmail.com>
3 years ago
Gabriel Luong 044c9a5b40 For #19876 - Part 2: Add a Home screen button to the browser toolbar 3 years ago
Gabriel Luong 86a9c56782 For #19876 - Part 1: Refactor BrowserToolbarInteractor
- Renames `BrowserInteractor` to `DefaultBrowserTolbarInteractor`
- Renames `BrowserTooolbarViewInteractor` to `BrowserToolbarInteractor`
- Refactors `BrowserToolbarViewInteractor` interface from `BrowserToolbarView.kt` to  `BrowserToolbarInteractor` as `BrowserToolbarInteractor`
3 years ago
rxumoz 3a4f73be19
For #10300 - Fix Baidu search telemetry (#19127) 3 years ago
Jonathan Almeida f06e3a6493 Issue #19178: Apply new styling to Synced Tabs list 3 years ago
codrut.topliceanu 5729137ddb For #19738 - Adds tests for SecureTabsTrayBinding.kt 3 years ago
Arturo Mejia f0bb70e354 For #19789 Start on Home after some amount of time 3 years ago
Gabriel Luong 74a96905a3
For #19495 - Add validation for the name on card (#19836)
- We want to ensure that name on card in the credit card is not empty when submitted. Display an appropriate error when the field is invalid.
3 years ago
Jonathan Almeida a64cac6c7f Issue #19792: Add content description for tab tray action button 3 years ago
Roger Yang 2e4635334a
Closes #19090: Show snackbar on adding to bookmarks from tabs tray (#19807) 3 years ago
Jonathan Almeida 811dd3e618 Issue #19809: Change default tab tray view to grid layout 3 years ago
Jonathan Almeida 27280e6683 Issue #19809: Remove Grid layout info banner in tabs tray 3 years ago
Jonathan Almeida bf3f81d271 Issue #19112: Remove old Synced Tabs code 3 years ago
Jonathan Almeida dc11c334b6 Issue #19112: Remove old tab tray code 3 years ago
ZianeA e4fa71fde7 For #[15083]: Add multi select to recently closed tabs 3 years ago
Elise Richards 6dbe5acc5b
For #19746 - Remove feature flag for the three-dot menu redesign (#19750)
* Remove feature flag for the three-dot menu redesign

* Remove menu feature flag from unit tests
3 years ago
Gabriel Luong 172a118a51
For #18711 - Refactor credit card telemetry under the Metrics ping (#19733) 3 years ago
Jonathan Almeida fc46ab2804 Close #19731: Track metrics before we dismiss the tabs tray 3 years ago
Mihai Adrian Carare e69bf4e26a
For #19564: Explicitly update switch state for a11y event announcements. (#19589) 3 years ago
Elise Richards e0b410efdf
For #18711: Telemetry for credit card autofill (#19548) 3 years ago
Jonathan Almeida c50ed5684c
Close #19459: Use Store.waitUntilIdle in intermittent failing test (#19683) 3 years ago
Gabriel Luong 89a1b0016c
For #19492 - Provide the correct CreditCardNumber type to UpdatableCreditCardFields when updating a credit card (#19692)
We were crashing because we were specifying the wrong `CreditCardNumber` type when constructing the `UpdatableCreditCardFields`.
We only had the plaintext card number from the user input, but was placing it off as an encrypted card number, which resulted in the crash.
3 years ago
Christian Sadilek 965a211fc3 Migrate test code to no longer use Nimbus FeatureConfig 3 years ago
Elise Richards 279d59897c
For #18264 - Add biometric prompt to credit card settings (#19505) 3 years ago
Jonathan Almeida 758700cbb0 Issue #19647: Navigate to browser from home via Synced Tabs page 3 years ago
Gabriel Luong 338c488fae
For #19680 - Show the card number when editing a credit card (#19681) 3 years ago
Gabriel Luong c11335fafc
For #18271 - [Saved cards] Display the credit card provider icon and report the correct card type (#19652) 3 years ago
Ionut Cristian Bedregeanu ac71b47c61 For #19653 - Address 19643 PR comments
Rename handleAddCreditCard to handleAddCreditCardClicked
Rename onClickAddCreditCard to onAddCreditCardClick
Format layout_add_credit_card.xml
3 years ago
Mugurell 3fb40e1f40 For #19475 - Introduce a DefaultTabsTrayInteractor
Refactored the TabsTrayFragment to not implement the TabsTrayInteractor which
among other advantages allowed for easier testing.
3 years ago
Mugurell dc26272381 For #19475 - Cleanup - respect naming scheme in TabsTrayController
In our current MVI implementation the View Interactors are first called in
response to a direct user action and contain methods following the
"onXXHappened" naming scheme and then delegate other Interactors / Controllers
for specific actions.

Controllers contain the business logic for actually updating the app's state
and offer methods following the "handleXXAction" naming scheme.
3 years ago
Ionut Cristian Bedregeanu 0a226962bb For #18881 - Create a new layout for 'Add credit card' button
Add functionality for 'Add credit card' button

Add unit tests for 'Add credit card' functionality
3 years ago
Codrut Topliceanu 5f2b3fec38
For #18270 - Adds ellipses+last 4 digits to CC display (#19420)
* For #18270 - Adds ellipses+last 4 digits to CC display
3 years ago
mcarare bcf6b901ee For #19600: Change manage cards preference UI dynamically. 3 years ago
Jonathan Almeida ede909e858
Issue #19176: Exit select mode when removing tab (#19486) 3 years ago
Roger Yang f13560ae52 Issue #19147: Move set startup metrics off main thread 3 years ago
Jonathan Almeida f0d352f47e Issue #19002: Correct naming of pager viewholders 3 years ago
Jonathan Almeida a95a26b2c6 Issue #19002: Use a single BrowserTrayList for normal/private list
We now have a BrowserTrayList.
 - Renamed from `BaseBrowserTrayList`.
 - Removed the abstract `configuration` and used a `lateinit var`
 instead.
 - Removed `NormalBrowserTrayList` and `PrivateBrowserTrayList`.
3 years ago
Jonathan Almeida bd753d3f94 Issue #19002: Correct browser viewholder naming 3 years ago
Jonathan Almeida 809c82a9f9 Issue #19002: Move TabsTrayViewHolder to browser package 3 years ago
Jonathan Almeida e66983d093 Issue #19002: Use AbstractBinding from lib-state 3 years ago
Jonathan Almeida 392ace67d6 Issue #19175: Fix SyncTabs list not updating on changes
The main cause for this is that the `LifecycleProvider` needs to be set
to `State.RESUMED` to avoid the account manager's internal
`ObserverRegistry` from putting the UI observers into the paused state.

The rest of the changes is to rely the internal (safe) logic to
correctly sync and then update the tabs list.
3 years ago
Gabriel Luong d83c9d1e72
For #18993 - Nimbus: Allow internal tooling to opt into specific branches of an experiment (#19333) 3 years ago
mcarare 516d52997d For #18266: Validate credit card entry info. 3 years ago
Codrut Topliceanu 277034546f
For #18262 - [Credit cards] Turn the "Sync cards across devices" button into a "Sync cards" toggle (#19207)
* For #18262 - Turns "Sync cards/logins" into toggle
3 years ago
Roger Yang 74047cdceb
Closes #19147: Move startup metrics to right after Glean initialization (#19252) 3 years ago
Jonathan Almeida f421f82f2c Close #19259: Pass CoroutineContext to nav interactor constructor 3 years ago
Roger Yang 79cf3fc765
Closes #18253: Bookmark and History open new tabs in the background (#19275) 3 years ago
Roger Yang 59de530a9c
Closes #18253: Remove spaces from Addons telemetry comma-separated list (#19292) 3 years ago
mcarare 8c0f86bd96 For #19213: Adjust synced tabs to properly show in RTL. 3 years ago
Mugurell d495d84208 For #11819 - Show the mic in widget only if setting is enabled
If "Show voice search" is disabled under Settings, the mic icon should not be
shown in the search widget.
3 years ago
Arturo Mejia c725493bea Fix openFile breaking changes 3 years ago
Sebastian Kaspari 7d690219ea Issue #19040: Remove Leanplum (Nightly) 3 years ago