Commit Graph

4060 Commits (8c43ccc0f6525e17cd036e4144af64c85e9d021a)

Author SHA1 Message Date
Arturo Mejia 251bfc7fe9 Improvements to site permissions 3 years ago
codrut.topliceanu 37e2c6ceeb For #19739 - Adds start tabsTray with multiSelect support 3 years ago
codrut.topliceanu 2c538dbb5d For #16330 - Replaces Sentry.capture with submitCaughtException 3 years ago
Mugurell b3a6dcccd7 For #19797 - Remove FenixAccountManager#authenticatedAccount
This api had a bug stemming from the property name - authenticatedAccount which
may return even an unauthenticated account.
After the recent refactorings it was left unused so best to remove it to
prevent from future misuses.
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 1fc3bb84ca For #19797 - Home menu: go to problems page if account exists but not signed in 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
Arturo Mejia c2439914fa For #19881 add telemetry for start on Home. 3 years ago
Mihai Adrian Carare 9c9e26953f
For #19813: Invalidate tab tray adapter structure on screen rotation. (#20044) 3 years ago
Christian Sadilek b123b50df7 HistoryMetadataMiddleware: Use state ext. functions from A-C 3 years ago
mcarare df2efcf310 For #20024: Visit FAB after synced tabs in a11y traversal.
This helps focus on FAB without going through whole tab lists.
3 years ago
Jonathan Almeida 5be35df969 Revert "For #19739 - Adds start tabsTray with multiSelect support"
This reverts commit d8288f5e89.
3 years ago
Jonathan Almeida aeb186f79c Revert "For #19739 - Moves argument to initial state init"
This reverts commit f198e110d7.
3 years ago
codrut.topliceanu f198e110d7 For #19739 - Moves argument to initial state init 3 years ago
codrut.topliceanu d8288f5e89 For #19739 - Adds start tabsTray with multiSelect support 3 years ago
Mihai Adrian Carare 83a5aa2838
For #20007: Multiselect title is important for a11y just in select mode. (#20008) 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 a1fa1a5df6 For #19135 - Offer more context for why STATE_HALF_EXPANDED is not used 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
Sammy Khamis 950e36c053 changes required for uniffi-ing logins component= 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
Jan-Erik Rediger d55f55d70c Suppress deprecation warnings for now-deprecated Glean APIs
Glean v39 allows to specify types for event extra keys.
The old API is therefore deprecated.
To avoid to much churn right now and keep the build going let's suppress
the deprecation warnings.
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
Sebastian Kaspari c0531ffa82
Update Android Components to 91.0.20210610143711. (#19946) 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 ace835d1e8 For #19876 - Part 3: Add a FeatureFlag to keep the Home screen button in Nightly 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
codrut.topliceanu 0572cab97c For #19738 - Secure mode enabled in private tabs tray
Prevents screenshots while tabs tray with private tabs page is open.
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
Christian Sadilek 68a761388a Suppress TooGenericExceptionCaught for NimbusApi.withExperiment 3 years ago
James Hugman 5981a92148 Re-instate catch-all to withExperiment 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
codrut.topliceanu 85c438798e For #19191 - Fixes missing multi-select checkmarks 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
Mugurell 0455cc3cd4
For #18877 - Support updated PromptRequest AC APIs (#19767)
* For #18877 - Support updated PromptRequest AC APIs

This issue stemming from a race condition is fully resolved in AC by adding
support for having multiple prompts at a time.
Fenix needs just a small change to support the AC refactoring.

* Update Android Components version to 91.0.20210603145049

Co-authored-by: Arturo Mejia <arturomejiamarmol@gmail.com>
3 years ago
Gabriel Luong a5110f8c0a
For #19746 - Remove FeatureFlags.nimbusExperiments (#19771) 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
codrut.topliceanu 13f9a35131 For #19571 - Adds gdprForgetMe when stopping Adjust 3 years ago
Gabriel Luong 33b2789270
For #19734 - Enable Credit cards autofill for Release (#19735) 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
Gabriel Luong d30ebf86f9
For #19693 - Display a biometric prompt when a credit card is selected to autofill (#19697)
Co-authored-by: Arturo Mejia <arturomejiamarmol@gmail.com>
3 years ago
Grisha Kruglov daba5595f6 Enable addresses sync for nightly/debug builds 3 years ago
Grisha Kruglov e891139db9 Minor cleanup of the account settings 3 years ago
Elise Richards e0b410efdf
For #18711: Telemetry for credit card autofill (#19548) 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 9d1e51dfff Fix breaking change in MetricController 3 years ago
Christian Sadilek 3a57188c35 Fix lint/detekt issues 3 years ago
James Hugman ab678a21ff Add an experiment to demontrate the Feature API
This is not visible in production, but only debug. It shows three variables
being used to change the settings screen (title, icon and title-punctuation).
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
Mugurell bd8facb025 For #18263 - Allow dynamically toggling credit cards autofill 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
Sebastian Kaspari 84f4ff0d86 Issue #17819: Update detekt to 1.17.1 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 0141d96465 For #19554: Add SyncEngine.CreditCards to sync supportedEngines. 3 years ago
mcarare 9400f58e2a For #17538: Perform autofill storage warm-up after visual completeness. 3 years ago
mcarare a862824697 For #19600: Change manage cards preference UI dynamically. 3 years ago
mcarare bcf6b901ee For #19600: Change manage cards preference UI dynamically. 3 years ago
Mugurell bbc25e430e
For #19590 - Enable credit card autofill in Debug and Nightly (#19601) 3 years ago
Sebastian Kaspari 761752e382 AutofillConfiguration: Correctly specify autofill confirm activity. 3 years ago
Mihai Adrian Carare d96415111b
For #19054 - Navigate to the Credit card screen when deleting last card. (#19451) 3 years ago
Mihai Adrian Carare 11efbaacc4
For #18507 - Prevent screenshots on credit card screens. (#19560) 3 years ago
mcarare 888b45b079 For #8370: Remove extra characters from name mapping. 3 years ago
Arturo Mejia 52587753a5 Remove feature flag for proton icons re-design #18132 3 years ago
Gabriel Luong 75fc116043
For #18287 - Display a credit card autofill prompt (#19477) 3 years ago
Arturo Mejia bf42a1786e For issue AC#10231 update proton icons third batch 3 years ago
Elise Richards 6459a859b9
For #17537: Add preferences for syncing credit cards and addresses (#19471)
* Add preferences for enable/disable sync for cc and addresses

* Set pref visibility based on feature flags

* Helper function for pin warning preferences and set default values for cc and addresses to false.

* Kdocs for relevant sync functions in account settings

* Default visibility to false for credit cards and addresses in account settings
3 years ago
Jonathan Almeida ede909e858
Issue #19176: Exit select mode when removing tab (#19486) 3 years ago
mcarare 4dd4e35982 For #19258: Replace default Android back button with a custom icon. 3 years ago
Codrut Topliceanu d08b00717a
For #19091 - Fix Undo of close multiple tabs (#19466)
Fixes the issue where closing multiple selected tabs and then pressing Undo would only restore one of the tabs.
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 78af3d80b3 Issue #19002: Remove unused TrayItem interface 3 years ago
Jonathan Almeida e66983d093 Issue #19002: Use AbstractBinding from lib-state 3 years ago
Mugurell 551031eee3 For #18672 - Renaming a TopSite changes just the title
Previously renaming a TopSite would bind that as a new item and in such update
the entire list. This could potentially leading changes in the list and then
it's ViewPager parent's layout.

This patch switches the code to use the existing TopSitePayload and so do a
partial update of an on-screen TopSite instead of rebind it as a new item.

If a layout is requested while showing <=4 TopSites on the second page, by
having "offscreenPageLimit = 1" the biggest height of ViewPager pages is used
preventing an edgecase where the ViewPager would hide half of the items from
the first page.
3 years ago
kanish671 9e30833506 For #18672 - Rename TopSites even on the second page
Index calculation for notifying changes while renaming a top site in the second
page was being wrongly calculated. Since it is page 2, we would need to take a
mod with the number of top sites per page to get the actual index of the top
site that was being renamed.
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
mcarare 93c6403882 For #19357: Remove bookmarks experiment and keep star-with-line icon. 3 years ago
Elise Richards cf9a84eed5
Move locale restoration on startup to the visual completeness queue to prevent perf impact (#19315) 3 years ago
Dharan Aditya 6cbc35b7d8
Fixed mozilla-mobile#18641: [Bug] Fill link from clipboard overlaps search engines (#18657) 3 years ago
Gabriel Luong d83c9d1e72
For #18993 - Nimbus: Allow internal tooling to opt into specific branches of an experiment (#19333) 3 years ago
Roger Yang a9e0557d83
Closes #3728: Add secret menu switch for allowing third party root certificates (#19398) 3 years ago
Arturo Mejia 9bfb31519a For issue #19290 update to proton icons second batch 3 years ago
mcarare 516d52997d For #18266: Validate credit card entry info. 3 years ago
mcarare 3428dd67ed For #18266: Refactor fragment and view to remove duplicate code. 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
codrut.topliceanu 0c74756d39 For #19132 - Fix navigation on disconnect started from tabsTray
- Added checks to popBackStack from the Disconnect Logged-in User Dialog, either back to settings, browserFragment or homeFragment.
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
Elise Richards 5b5e7ebf47
Turn on feature flag for three-dot menu redesign for beta. (#19111) 3 years ago
Sebastian Kaspari 5f4a590418 Issue #19040 - Update marketing data setting description 3 years ago
Roger Yang 59de530a9c
Closes #18253: Remove spaces from Addons telemetry comma-separated list (#19292) 3 years ago
Arturo Mejia 21cf0b31a4 For issue #18132 update to proton icons first batch 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
Grisha Kruglov 4e16c46b27 Fix breaking changes introduced by credit card encryption APIs 3 years ago
Sebastian Kaspari 6a1b5875b0 Use new SearchSuggestionProvider flag. 3 years ago
Mihai Adrian Carare e952513569
For #19065 - Add extension functions to be used with credit cards. (#19187) 3 years ago
Mugurell dc51cd47b5 For #18591 - Make the navbar sticky in the new menu 3 years ago
Roger Yang cd37f398f1
Closes #18816: Disable TabsTray FAB on accessibility enabled (#19170) 3 years ago
mcarare ded686d533 For #19125: Move top site pin net to title. 3 years ago
Sebastian Kaspari cf4847dc17 Remove browser-search references. 3 years ago
mcarare 00744fa9e5 For #18267: Updates preferences visibility depending on creditCardsStore 3 years ago
Elise Richards db76b8fe21
For #19114: check state of sync account when navigating from sync sign in menu item (#19118) 3 years ago
mcarare 8f1b3e03f1 For #18608: Also add default browser item in new menu. 3 years ago
Arturo Mejia acb24396e5 Address WebExtensionBrowserMenuBuilder breaking change 3 years ago
Sebastian Kaspari a126f0913a Update to Mozilla Android Components 90.0 3 years ago
mcarare 8b3a878062 No issue: Rename Event for naming consistency. 3 years ago
mcarare f693375270 For #18852: Add metrics for default browser settings experiment. 3 years ago
Elise Richards 59c94e447c
For #19005: new tab three-dot menu sync sign in (#19037)
* Show synced tabs or sync account in new tab menu

* Sync sign in item navigates to account settings

* Check account auth and get sync item title

* Look for sync sign in item on home menu for UI test

* Sync sign in menu item UI test
3 years ago
Jonathan Almeida 69efd3a089 Close #19094: Open sign-in flow if no account is created for tabs tray 3 years ago
Jonathan Almeida cfaaf82541 No issue: Allow tabstray rewrite to ride the trains 3 years ago
Jonathan Almeida 46cec3d658 No issue: Fix regression in last tab deleted
When we allow the homescreen to handle undo for the last tab, we no
longer need to handle this ourselves with our own binding.

In the future, we should re-think this logic to be more robust and less
spread out across multiple screens.
3 years ago
Jonathan Almeida 1e09d50fd7 No issue: Fix the initial select mode check 3 years ago
Jonathan Almeida ad483903ed No issue: Do not create a new instance of TabsTrayStore
We only need one. :)
3 years ago
Jonathan Almeida 053453cc7f No issue: Enable tabs tray re-write by default in nightly 3 years ago
mcarare f94f8531f6 For #18496: Set activity theme in onCreate before call to super. 3 years ago
Jonathan Almeida 8b6d06e551 Close #19064: Focus on tab page with the BrowsingModeManager 3 years ago
Roger Yang cba68faac6 Closes #18946: Add undo toast for tabstray 3 years ago
Michael Comella cbc5df3c63 For #18836: address onCreate method length detekt issue. 3 years ago
Michael Comella d6999234b0 For #18836: add & integrate StartupTypeTelemetry. 3 years ago
Michael Comella a64540bd06 For #18836: add StartupPathProvider + tests. 3 years ago
Michael Comella ec65737cbb For #18836: address lint errors for StartupStateProvider*. 3 years ago
Michael Comella ea1d569837 For #18836: add getStartupStateForStartedActivity method. 3 years ago
Michael Comella 18507ec24c For #18836: add isHotStartForStartedActivity and tests. 3 years ago
Michael Comella e803cc61a2 For #18836: add isWarmStartForStartedActivity, tests. 3 years ago
Michael Comella ed1f38611f For #18836: shorten isColdStart... and rm questionable test.
The test failed with the rewrite of the code because it violates
one of our assumptions that only one Activity will be started. However,
since it doesn't rely on observed behavior and we made up the events,
it's value is questionable so it seems okay to remove, especially for
the gain of conciseness in the code.
3 years ago
codrut.topliceanu 3b7ba340e1 For #19023 - Expands tabsTray when tabs over certain number
TabsTray should be collapsed when there are only a few tabs on screen, otherwise it should go straight to STATE_EXPANDED.
3 years ago
Mugurell abe3036065 For #18439 - Open link from QR code only if activity is not null 3 years ago
Kate Glazko ae157e5679 For #18520: Add Empty Tab State To Browser Tray List 3 years ago
Jonathan Almeida 71240a5e0f No issue: Set tray dismissal from background tap 3 years ago
Jonathan Almeida 6c8b1a7e8f Close #19045: Dismiss tabstray when last tab in a page is closed 3 years ago
Elise Richards 3d226429aa
For #18867: remove "signed in as" string in three-dot menu (#19035)
* Remove signed in as string from sync menu item

* Nav to sync account settings on click

For #18806: navigate to settings account page or sign in on clicking menu item.

* Confirm account exists and retrieve item title

* Remove string
3 years ago
Gabriel Luong 2e562579ed
For #18274 - [Edit card] Update a saved credit card information (#19032) 3 years ago
Gabriel Luong f7c56ee6fa
For #18273 - [Edit card] Delete a saved credit card (#19029) 3 years ago
Codrut Topliceanu d8660341a1
For #18521 - Added scroll to current tab (#19021)
* For #18521 - Added scroll to current tab

* For #18521 - Addressed comments
3 years ago
Arturo Mejia a3f4cee388 Telemetry for #18855, #18851 and #18857
For #18857 [Telemetry] Send a Glean event when users change their default browser

For #18855 [Telemetry] Send an event when users open the toolbar menu

For #18851 [Telemetry] Send an event when users click on the "set as default browser" entry in the toolbar menu
3 years ago
Roger Yang bde54dc30f
Closes #19003: Add account setting to tabstray synced tab menu (#19034) 3 years ago
Roger Yang 8246f81c97
Closes #18948: Update tabstray telemetry (#19004) 3 years ago
mcarare cea869c276 For #18854: Add metrics for home screen being displayed. 3 years ago
mcarare 0ac78665d5 No issue: Fix indenting in onViewCreated. 3 years ago
mcarare 80d2bec150 For #18376: Add experiment for set default browser settings card. 3 years ago
mcarare dbae5dd3c0 For #18853: Add metrics for default browser new tab experiment. 3 years ago
mcarare 920c1285e4 For #18856: Add metrics for opening settings screen from home menu. 3 years ago
mcarare 445091db14 For #18815: Expand app bar on onboarding dismissal and browsing start. 3 years ago
Jonathan Almeida b9881372ef Close #19011: Always have a click listener in TabTrayViewHolder 3 years ago
Jonathan Almeida 0a4927a495 Issue #18934: Do not nullify adapter on window detached
Previously, to fix a memory leak, we were removing the adapter reference
entirely in order to have the `onDetachedFromRecyclerView` callback
invoked. This causes a side-effect where we can no longer reference the
adapter any more when we re-attach.

The simpler solution is to just invoke the needed callback directly
instead.
3 years ago
Gabriel Luong 6eb528f912
For #18272 - [Edit card] Display a saved card information in the Edit card screen (#18884) 3 years ago
MarcLeclair 990bfa7e6d
16900 make navgraph inflation asynchronous (#18889)
* For #16900: implement async navgraph inflation

For #16900: removed nav graph from xml

For #16900: inflate navGraph programatically

For #16900: Made NavGraph inflation asynchronous

For #16900: Changed to block with runBlocking

For #16900: Refactored blocking call into a function

For 16900: NavGraph inflation is now async

We now attach the nav graph (or check if its attached) on every nav call ( an extension function for NavController).
This is done by checking the value of the job stored in PerfNavController.map which keeps track of the job with the NavController as a Key.
If the job hasn't been completed, it will block the main thread until the job is done. The job itself is responsible for attaching the navgraph
to the navcontroller (and the inflation of the latter too)

For 16900: rebased upstream master

For 16900: Rebase on master

For #16900: Fixed Async Navgraph navigation per review comments.

1)The Asynchronous method is now found in NavGraphProvider.kt. It creates a job on the IO dispatcher
2)The Job is tracked through a WeakHashMap from Controller --> NavGraph
3)The Coroutine scope doesn't use MainScope() anymore
4)The Coroutine is cancelled if the Activity is destroyed
5)The tests mockk the blockForNavGraphInflation method through the FenixReoboelectricTestApplication instead of calling the mock every setup()

For #16900: inflateNavGraphAsync now takes navController

For #16900: Pass lifecycleScope to NavGraphProvider

For #16900: removed unused mock

For #16900: Added linter rules for navigate calls

We need linting rules to make sure no one calls the NavController.navigate() methods

For #16900: Added TestRule to help abstract the mocks in the code

For 16900: Fix linting problems

For #16900: Cleaned duplicated code in tests

For #16900: cleaned up NavGraphTestRule for finished test

For #16900: had to revert an accidentally edited file

For #16900: rebased master

* For #16900: Review nits for async navgraph

This is composed of squash commits, the original messages can be found below:

-> DisableNavGraphProviderAssertionRule + kdoc.

Use test rule in RobolectricApplication.

Fix failing CrashReporterControllerTest

Fix blame by -> navigate in tests.

This commit was generated by the following commands only:
```
find app/src/test -type f -exec sed -i '' "/import org.mozilla.fenix.ext.navigateBlockingForAsyncNavGraph/d" {} \;
find app/src/test -type f -exec sed -i "" "s/navigateBlockingForAsyncNavGraph/navigate/g" {} \;
git checkout app/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker
```

Fix various blame

This is expected to be squashed into the first commit so, if so, it'd
fix the blame.

Move test rule to helpers pkg.

add missing license header

Add import change I missed

fix unused imports

Replace robolectricTestrunner with test rule.

Improve navGraphProvider docs

Remove unnecessary rule as defined by robolectric.

add clarifying comment to robolectric

remove unnecessary space

* For #16900: nit fixes for MozillaNavigateCheck and lint fixes

3 squash commits:
 *Changed violation message and fixed the lint rule for MozillaNavigateCheck
 *Added suppression to NavController.kt
 *Fixed detekt violations

* For 16900: Fixed failing tests

Co-authored-by: Michael Comella <michael.l.comella@gmail.com>
3 years ago
Michael Comella 5560d7de01 For #18836: rename CreatedActivityLogEntry -> LogEntry.ActivityCreated and similar.
It's too much work to squash "correctly".
3 years ago
Michael Comella 000bef020a For #18836: replace StartupActivityStateProvider with StartupStateProvider.
The StartupActivityStateProvider uses an imperative implementation,
driven by callbacks, to set the state of the application. This is hard
to follow as you need to understand which callbacks will be called in
which order. For example, to make sense of an implementation like this,
COLD, WARM, AND HOT would likely need to be implemented in separate
ActivityLifecycleCallbacks.

I feel the StartupStateProvider is an improvement because it leverages
the StartupActivityLog to query a linear state for a more understandable
implementation. Furthermore, it seems accessible to write COLD, WARM,
and HOT in the same class because they can all be approached the same
way.
3 years ago
Michael Comella 0cbedaadb1 For #18836: add StartupStateProvider. 3 years ago
Michael Comella e864e74960 For #18836: prevent StartupActivityLog from growing infinitely.
We do this is as a separate commit over the original implementation
because it's simpler to implement the class without this optimization.
3 years ago
Michael Comella cde954f3a7 For #18836: add StartupActivityLog, tests. 3 years ago
Jonathan Almeida d342aeae48 Close #18931: Implement add to collections in interactor
We moved the collection dialog code out from the old fragment, because it
had nothing to do with tabs tray, and into the collections package to be
re-usable in other parts of the app.

In addition, we also make use of it in the new tabs tray's
NavigationInteractor.
3 years ago
Jonathan Almeida 22e7410e4a Issue #18931: Move dialog adapter to collections package 3 years ago
Jonathan Almeida f1e7c1130b Issue #18931: Rename class to CollectionsListAdapter 3 years ago
Christian Sadilek 72230377f4 Upgrade to Android Components 75.0.20210413143139 3 years ago
Jonathan Almeida cb60461bdd Close #18934: Remove adapter when deataching from window 3 years ago
Jonathan Almeida 1944a5ef6b Issue #18885: Dismiss FAB icon when tabs tray is closed 3 years ago
mcarare ba218e638b For #18375: Add experiment for set default browser New Tab card. 3 years ago
Roger Yang bc90e193a2 Closes #18522: Re-add call to action in tabs tray 3 years ago
Elise Richards 761d6babb9
For #18806: Show sync tabs or sync account sign in based on feature flag (#18859)
* Show sync tabs or sync account sign in based on feature flag. Sign in navigates to account settings on click.

* lint and nits
3 years ago
Jonathan Almeida f3df2c73d9
Close #18862: Add multi-select banner to tabs tray (#18932)
* Issue #18862: Add new addBookmark BookmarksUseCase

* Issue #18862: Add class for state binding features

* Issue #18862: Add delete multiple tabs to tray interactor

* Issue #18862: Add new actions to navigation interactor

* Issue #18862: Enable select mode from main tray menu

* Issue #18862: Add menu when in select mode

* Close #18862: Add multi-select banner to tabs tray

* Close #18862: Add select support for handle UI

We apply various layout changes to the "handle" UI in the tabs tray when
switching modes. It isn't quite clear to my, why we do this, if it's
really needed to meet the end result, and if there is a better way.

For now, we're simplying moving over that logic that we can re-evaluate
at a later time.
3 years ago
Elise Richards 52209673fb
For #18960: Remove nav in homescreen three dot menu (#18962)
* Remove nav in homescreen three dot menu

* Remove back and forward items
3 years ago
Arturo Mejia fc1739624d For #18608 only show the experiment for set default browser MenuItem when Nightly, Beta, Release are not the default browser 3 years ago
Sören Hentzschel 51df37cde5
For #18898 - implement quit button in page menu (#18942) 3 years ago
Mugurell 660f0609cb For #18122 - Update browser layout for find in page bar with bottom toolbar
With a dynamic bottom toolbar the  browser extends all the way to the bottom of
the screen and so when the find in page bar is shown it will be so above the
bottom part of the browser which may contain exactly the searched for items.

To fix the browser must effectively be placed at the top of the newly shown
find in page bar.
3 years ago
Mugurell b36431a6df For #18616 - Update browser and toolbar layout when toolbar is at top
FindInPageIntegration which already updated the toolbar to make room for the
find in page bar now receives more data based on which it will be able to
better update the layout of BrowserFragment to to support showing the find in
page bar.
3 years ago
Sebastian Kaspari dfb3c4c9bf Introduce process lifecycle observer to collect metrics about tabs when app goes to foreground/background. 3 years ago
Sebastian Kaspari 54d46c7e94 Move TelemetryMiddleware to telemetry sub package. 3 years ago
mcarare c30d0f9240 For #18829: Adjust bookmark item color to UX specs. 3 years ago
Jonathan Almeida 9170ee3621 Update kdocs of navigation interactor 3 years ago
Jonathan Almeida e422016367 Call stop in deattach for feature binding 3 years ago
Jonathan Almeida 6d09a8757c Close #18845: Adds swipe-to-delete to tabs tray refactor
Copied the TabsTouchHelper from the `tabtray` package here so we don't
need to re-write our own because there's nothing more to add.

We can hook this up with our tabs tray here by putting it in the
`BaseBrowserTrayList` for our normal and private tabs list.
3 years ago
Arturo Mejia db9b3676d3 For #18608 Add experiment for set default browser MenuItem. 3 years ago
MarcLeclair 9d728ec168
For #17759: Added min SDK 23 to avoid crashes on android 5.0 and 5.1 (#18832)
* For #17759: Added min SDK 23 to avoid crashes on android 5.0 and 5.1

* For #17759: fixed Android code from INT to actual version name
3 years ago
Elise Richards 10f75a3606
For #17870 - Enable new three-dot menu redesign on nightly builds (#18883) 3 years ago
Elise Richards e5e9ceba5a
Settings menu item should be tinted if there is an account issue (#18849) 3 years ago
Elise Richards ba111dabaa
PWA install to homescreen is available in main menu (#18850) 3 years ago
Gabriel Luong 37b6079d83
For #18268, #18269 - [Saved cards] Display a list of Saved cards fetched from the credit card storage (#18808) 3 years ago
Gabriel Luong 15fc01c7f9 Update app/src/main/java/org/mozilla/fenix/ext/Activity.kt 3 years ago
Arturo Mejia be7318f608 For #18608 made set a default browser functionality publicly available. 3 years ago
rxu efdb30483a Add domestic China FxA service for Mozilla Online builds
China fxa related string

Add switch preference in settings to use local/global fxa server

inherit fennec FxA settings

Present or hide fxa switch according to isMozillaonline

Allow China fxa server auto login during migration
3 years ago
Jonathan Almeida 80a3475b30
No issue - Enable the tabs tray refactor in nightly (#18858) 3 years ago
codrut.topliceanu 9219a1b35b For #18515 - Added Icon and sync functionality
Co-authored-by: Jonathan Almeida <jalmeida@mozilla.com>
3 years ago
codrut.topliceanu d961d7ba38 For #18515 - Adds FAB to TabsTray rewrite 3 years ago
Roger Yang 10eace2f99
Closes #18068: Track custom fill link from clipboard clicked (#18827) 3 years ago
Jonathan Almeida b1727416f3 No issue: Move UseCase wrappers to the interactor; it's only usage 3 years ago
Jonathan Almeida 2e3086ac40 No issue: Move menu to separate integrations class 3 years ago
Jonathan Almeida 729acdba39 No issue: Observe only normal tabs when updating counter 3 years ago
Jonathan Almeida 09e9561600 Issue #18774: Fix long parameter warnings in detekt 3 years ago
Jonathan Almeida 9078139e40 Close #18774: Migrate mutli-selection to store
Removes the recyclerview-selection library and replaces it with the
SelectionHolder/SelectionInteractor with a Store.

This is an implementation that's similar to what we have in other UI
lists (library).
3 years ago
Jonathan Almeida 499aa858b2 Issue #18774: Move SelectionInteractor to new package
The interactor and holder are useful outside of the `library` package, so
let's move it up a package level for other components.
3 years ago
Arturo Mejia 8ca9f94abb For issue #16557 set autoplay block audio only
by default
3 years ago
Elise Richards 547a843c5c
For #18770 - Correct addons position in three dot menu based on toolbar position (#18828) 3 years ago
Roger Yang 01568d5859
Closes #18513: Re-add menu to tabs tray (#18756) 3 years ago
Jonathan Almeida a443509c8b Issue #18535: Set the span count for grid view 3 years ago
Jonathan Almeida 2c6395cafe Issue #18535: Do not animate first scroll to position
This looks less that ideal with a grid layout that swings by from the
normal tabs to private tabs.
3 years ago
Jonathan Almeida 8ccc4648a9 Issue #18535: Move list/grid viewholders to browser package 3 years ago
Kate Glazko 841dacb69e For 17798: Sync Menu Item 3 years ago
Jonathan Almeida 92a99542e6
Close #17821: Add TabsTrayStore with actions and reducer (#18773) 3 years ago
Jonathan Almeida af3a5b0a17
No issue - Make TabLayoutMediator lifecycle aware (#18779) 3 years ago
Travis Long c17594c745
[SDK-246] Change Nimbus `channel` input to use the same method as Glean (#18766)
* [SDK-246] Change Nimbus `channel` input to use the same method as Glean

* Update app/src/main/java/org/mozilla/fenix/experiments/NimbusSetup.kt

Co-authored-by: Gabriel Luong <gabriel.luong@gmail.com>
3 years ago
Gabriel Luong 1f320fd2ad
No issue - Remove generic strings for more specificity (#18769) 3 years ago
Mugurell 0f0c319896 For #17772 - Collapse browser menu to "Add to Home screen"
The menu will start as collapsed.
Users can then swipe up to expand it.
3 years ago
Gabriel Luong 1008ca2b4a
For #18265 - [Add card] Integrate the credit card storage and handle adding a new credit card (#18719) 3 years ago
Michael Comella 6e5b4b3ce6 For #18731: remove anonymous classes from StrictModeManager.
After this change, I took 3 profiles: the new code appeared in the profiler
only once and only for one sample (i.e. possibly just got unlucky). It
seems to be improved. Profiles:
- https://share.firefox.dev/3wifiV2 (captured it)
- https://share.firefox.dev/39xgdHz
- https://share.firefox.dev/2QMdlA0
3 years ago
Gabriel Luong 3f21a63c3c
For #18729 - Use consistent string naming for generic strings (#18730) 3 years ago
Elise Richards ca33aef036
For #17770: New tab three-dot menu reorder (#18427)
* Create new menu order for new tab

* Add new tab menu navigation. Dynamically update menu when sync auth is needed. Make new tab menu and browser menu consistent.

* Lint

Lint and refactoring tests

* Tests for default toolbar menu

* Feature flag for request desktop site

Add todos for UI test issue 17979

Add todos for UI tests
3 years ago
Mugurell 304e471801 For #18617 - Use the new EngineView#getInputResultDetail()
All functionality should remain the same.
3 years ago
mcarare 6f17e329c4 For #17797: Add bookmarks menu item. 3 years ago
Roger Yang c7cb0fd5a0
Closes #18706 - Remove unneeded add-on telemetry calls (#18707) 3 years ago
rxumoz 51c41f84d5
Closes #18386 - Change language display name to traditional/simplified Chinese for Chinese locale (#18387) 3 years ago
Mihai Adrian Carare ccfb275b03
For #17800 - Request desktop site from home screen. (#18653) 3 years ago
Roger Yang caf8ac8207
Closes #18514: Re-add tab counter in tabs tray (#18659) 3 years ago
Michael Comella ac34432176 For #18426: warn about flaw in `app_opened_all_startup` probe. 3 years ago
Michael Comella ade38246be For #18426: record cold start duration telemetry. 3 years ago
Michael Comella 2be9fb61d0 For #18426: add StartupActivityStateProvider.
This will be used to filter conditions for the start up telemetry we're
adding.
3 years ago
Michael Comella edd49b286d For #18426: add ApplicationStartReasonProvider.
We need to know this state to add a correct COLD MAIN probe.
3 years ago
Michael Comella 520634165e For #18426: add DefaultActivityLifecycleCallbacks.
We'll extend this in subsequent commits.
3 years ago
Jonathan Almeida d167bc7b67 Issue #14117: Add Synced Tabs as a page in the tabs tray 3 years ago
Gabriel Luong ae625e60cf For #18247 - [Add card] Populate the Credit card expiry year drop down 3 years ago
Gabriel Luong 4763d8c9e5 For #18246 - [Add card] Populate the Credit card expiry month drop down 3 years ago
Gabriel Luong 46a267a494 For #18243 - Add a credit card editor screen 3 years ago
Jonathan Almeida cb1fb95a3a Issue #18521: Focus on page corresponding to selected tab
This first part of #18521 is to focus on the correct pager item first
before we land a patch for `scrollToPosition` of the selected tab.
3 years ago
Jonathan Almeida e41344aa1f Close #18668: Add stable ID cache for TabAdapter.getItemId 3 years ago
Kershan 02d70d3837
For #18453 - Show SUMO for default browser deeplink on Android <N
Lower Android versions don't offer the possibility of opening system settings
at a specific preference. In this cases we already shown a sumo article
detailing the manual steps each user is expected to perform to change the
system set default browser.
3 years ago
Jonathan Almeida 26c176a75e Issue #18443: Move viewholders to separate files and package 3 years ago
Jonathan Almeida 917783a141 Issue #18443: Fix changes between grid/list viewholders 3 years ago
Jonathan Almeida 9ce4adaa32 Close #18443: Use recyclerview-selection for multi-select mode in tray
Add multi-select mode to the BrowserTabsAdapter. It has the
functionality to:
 - Enable multi-select mode on long-press.
 - Enable multi-select mode when changed by an external function.
 - Only works for normal tabs (as we currently have it).

Co-authored-by: "codrut.topliceanu" <codrut.topliceanu@softvision.ro>
3 years ago
Gabriel Luong 5d0af34537
For #17291 - Display a list of all active Nimbus experiments (#17515) 3 years ago
yichiehc dd09ba64c4
For #18594: Highlight the "Default browser" system setting on Android >= N
Although not public APIs we can use specific extras in the Intent used to open
system settings such that the "Default browser" setting is highlighted to
provide a better UX for users looking to set Fenix as default.
3 years ago
rxumoz 46af52d254
Update top sites to add PDD for MozillaOnline builds (#18615) 3 years ago
Mihai Adrian Carare a539f69cb2
For #18260 - Add pin to default sites. (#18618) 3 years ago
Roger Yang c21b44e0a3
Closes #18535: Re-add grid layout to tabs tray (#18638) 3 years ago
Arturo Mejia 869c99afaa For #15372 Optimize the order and messages of onboarding cards 3 years ago
Roger Yang 34a7bc0baa
For #17644: Record when user taps on a add-on's setting (#18504) 3 years ago
Jonathan Almeida 2c23941823 Issue #18538: Add BrowserTabsAdapter for tabs tray 3 years ago
Gabriel Luong 3b11b9a700
For #18242 - Wire up "Sync cards across devices" preference with SyncPreferenceView (#18605) 3 years ago
mcarare 90fea8ba5e For #17790: Remove app from recents screen on quit. 3 years ago
Elise Richards 559cf54798
For #17190: notifications are updated when locale is changed (#18179)
* Add intent processor for locale changes

* Recreate notification and notify in the service

* Use locale use cases to update notification

* Use notification id instead of tag

* Add locale use cases and restore locale in application

* Send locale to service instead of string

* Controller tests for locale

* Update Android Components version to 74.0.20210323143308

Co-authored-by: Arturo Mejia <arturomejiamarmol@gmail.com>
3 years ago
Gabriel Luong 578d6b5205
For #18240 - Add a Credit Card preference screen (#18410)
- Removes an unused preference key "pref_key_credit_cards_addresses"
3 years ago
Roger Yang a8c53c6bf1
Closes #17791: Use updated URL with custom tabs when copying to clipboard (#18590) 3 years ago
Vitaly V. Pinchuk 43c54b7006
For #18395: Dismiss contextual menu when entering/exiting Reader Mode 3 years ago
mcarare d0a45bab21 For #17799: Add extensions submenu item. 3 years ago
Arturo Mejia 54db8f3fde Revert "For #17805 - Fix adjustResize deprecation (#18252)"
This reverts commit 38f906a6
3 years ago
Michael Comella 62e2fb1aa6 For #18426: add measurement probes for long-running lifecycle methods.
In addition to the existing probes for onCreate, this should cover all
lifecycle methods that take a long time in our profiles.
3 years ago
Stefan Arentz b12222503b
[SDK-218] Nimbus updates to provide app_name and channel (#18559)
* [SDK-218] Nimbus updates to provide app_name and channel

Provides the `app_name` and `channel` info to Nimbus.

* Update to A-C Nightly 74.0.20210319190549

Co-authored-by: Travis Long <tlong@mozilla.com>
3 years ago
Michael Comella 9024eca01e For #18426: add telemetry for app.onCreate subsections.
Hopefully this will help us understand behavior of the
`application_on_create` probe, specifically that it seems to take longer
in telemetry than in does locally compared to `home_activity_on_create`
(comparing the medians to local runs)..
3 years ago
Michael Comella 5c0f30fd5c For #18426: add TimingDistributionMetricType.measureNoInline.
This addresses an issue I found in my follow-up PR.
3 years ago
Roger Yang d2ffaa85f9
Closes #17531: Use shared preference to store top sites count for telemetry (#18557) 3 years ago
Roger Yang 27e52b7e3d
Closes #17956: Add top site telemetry to available search engines (#18129) 3 years ago
Mihai Adrian Carare 79794962d0
Closes #12565: Clean up use of Context within ReviewPromptController. (#18537) 3 years ago
mcarare f9a52af98d No issue: Update Android Components version to 74.0.20210318143143
Replaces deprecated method setToolbarColor(Int) in CustomTabsIntent.Builder.
3 years ago
Stefan Arentz 6f7b911c11
Enable the Nimbus experiments library on all channels (#18526) 3 years ago
Roger Yang 8a7c50bbef
For #17644: Always update add-on's telemetry values before sending metric ping (#18529) 3 years ago
Jonathan Almeida e1bf8c75a0 Enable new tabs tray only for debug builds 3 years ago
Codrut Topliceanu 38f906a685
For #17805 - Fix adjustResize deprecation (#18252)
* For #17805 - Fix adjustResize deprecation

To handle the deprecation of `adjustResize` I've moved it from `styles.xml` and `AndroidManifest.xml` to `Activity.kt` as a fallback for devices with Android < 11. For Android 11 and up `setDecorFitsSystemWindows(false)` and `OnApplyWindowInsetsListener` will be used to handle app insets. Normal use activities should call `enableSystemInsetsHandling` in `onCreate` as to properly display system bars and for proper keyboard handling.
3 years ago
Jonathan Almeida 05aa948dc7 Issue #17822: Create a tabs tray layout and fragment
Co-authored-by: Kate Glazko <kglazko@Kates-MacBook-Pro.local>
3 years ago
Gabriel Luong 35bae17e86 For #18408 - Add a lazy getter for AutofillCreditCardsAddressStorage 3 years ago
Grisha Kruglov ff740337be Closes #18501: Enable Nimbus on Beta channel 3 years ago
Mugurell 1e30744c64 For #17869 - New AndroidKeystoreExperiment telemetry 3 years ago
Mugurell ec0176275b For #17869 - Start the Android Keystore experiment
Only on API 23+ (minimum Android version needed for SecureAbove22Preferences)
and only if enabled by a Nimbus experiment.

The Nimbus experiment will have the key `fenix-android-keystore` and use the
default branches - "control" and "treatment".
3 years ago
Gabriel Luong 3a056bf850
For #18036 - Add TrackKeyInfo to Ad Click Metrics (#18159) 3 years ago
Arturo Mejia 8f43acc903 Closes #18367 run SupportedAddonsChecker only for users with unsupported extensions 3 years ago
Arturo Mejia ec52c56ed9 For issue #18132 remove icons from Settings screen 3 years ago
Arturo Mejia 83b7d6f38d For issue #18132 create feature flag for refreshing icons 3 years ago
Jan-Erik Rediger c47f43608d Set `distributionId` right after initializing Glean
Previously setting it might have been arbitrarily delayed, resulting in
this metrics missing from pings that get submitted earlier.
Setting it early should prevent that.
The performance impact is negligible, Glean dispatches recording that
data off-main-thread anyway.
3 years ago
Sebastian Kaspari 8856a3c1d7 Integrate Android Autofill support into Nightly and debug builds. 3 years ago
mcarare 1f96887f96 For #12528: Provide fallback values for locale display name. 3 years ago
Elise Richards b15c3ff864
Add open in app to main three dot menu (#18462) 3 years ago
Elise Richards f5a1a01e06 Remove sync sign in and keep it as synced tabs 3 years ago
Elise Richards d34848a5d9 Add report site issue to new three dot menu 3 years ago
Elise Richards 4b84503813 Remove disabled color for icons 3 years ago
Gabriel Luong a31ce9bf67
For #18241 - Refactor SyncLoginsPreferenceView to SyncPreferenceView for reusability (#18383)
This refactors SyncLoginsPreferenceView to SyncPreferenceView so that it be can be used in the
Credit cards preference for the equivalent "Sync cards across devices" preference.
3 years ago
Jonathan Almeida fbe73cfc1d For #17804: Use enterToImmersiveMode from support-ktx component 3 years ago
Roger Yang 9049513017
Closes #18178: Rework History Telemetry (#18261) 3 years ago
Roger Yang 56b08abe0f
Closes #18173: Add Telemetry When User Opens a Bookmark (#18174) 3 years ago
Roger Yang 2322cbdd0e
Closes #18068: Use AwesomeBarFacts for AwesomeBar Telemetry (#18090) 3 years ago
Roger Yang aada459428
Closes #18163: Use SyncedTabsFacts for Synced Tab Telemetry (#18172) 3 years ago
Mihai Adrian Carare 5c7a01ba6f
For #17971: Add Reader view appearance controls in three-dot main menu. (#18340) 3 years ago
mcarare 8c519994f0 For #18312: Do not update secure flag on pausing logins fragments.
The flags are already properly set for activity and thus for other fragments.
3 years ago
Elise Richards 42cc4cb452
For #17802: Match the design for three-dot menu navigation (#17875)
* Feature flag for toolbar menu redesign. Add new items to menu and reorder.

* Handle toolbar items in menu controller

* Remove bookmark from toolbar nav

* Respect toolbar position

* Inline toolbar orientation checks

* Add Todos for bookmark UI tests

* Make variable names consistent
3 years ago
Jan-Erik Rediger 8b7279ebe4
Pass auto-generated build info (version code and name) to Glean (#18230)
This also re-generated the Glean docs due to an update of the bundled
glean-parser.
3 years ago
Mugurell cf483ef580 For #18034 - Don't animate the toolbar while the tab is loading
Use the new controller offered by AC to resolve some browser layout issues and
also offer an experience consistent with that of other browsers.
3 years ago
mcarare 62bd3b4f95 For #18009: Correctly report items in adapter for a11y services. 3 years ago
mcarare 05a14efda7 For #18228: Populate menu options in onResume along with toolbar init. 3 years ago
Vitaly V. Pinchuk 8f5244d528
Closes #18150: select tabs button not displayed (#18216)
For #18150: Improve showing/hiding of "Select tabs" button in tabs tray

Payload argument is unavailable after first call of notifyItemChanged() as the
whole View need to be updated.
Inject a "isPrivate" lambda in the adapter so it will always know what tabs are
currently showing and so always ensure the expected behavior.
3 years ago
mcarare f83ed13089 For #18227: Also update icon on search engine edit. 3 years ago
Sebastian Kaspari d8dd809ed4 Fix metric types of engine telemetry. 3 years ago
Gabriel Luong ccbca2cf78 For #18202 - Refactor BiometricPromptFeature out of logins into settings 3 years ago
Michael Comella f44611f632 For #18157: convert clock_ticks_per_second to quantity type.
While we could easily move this into the metrics ping, it's better to
leave it in the other ping because it's less work and because (I think)
we'll be better able to match `framework_secondary` values to the clock
ticks if we combine them in the same ping.
3 years ago
Gabriel Luong 968b7bfc78
For #18198 - Add a feature flag for Credit Cards and Addresses autofill feature (#18200) 3 years ago
Jonathan Almeida 607d6382f8 Close #17928: Add feature flag for tabs tray refactor 3 years ago
Gabriel Luong 9cca1b93b5 Replace TopSitesUseCases.renameTopSites with TopSitesUseCases.updateTopSites 3 years ago
Christian Sadilek dc002f0508 Remove Session[Manager] references from Fennec intent processors 3 years ago
Arturo Mejia 0e8dc6164d Target Android 11 3 years ago
mcarare 9e20de21a8 For #16044: Suggest search engines based on typed text. 3 years ago
Arturo Mejia a16f554799 For issue #10428 Improve download dialog error message. 3 years ago
Mugurell d0cb6c0c00 For #18027 - Document shouldUseFixedTopToolbar 3 years ago
Mugurell 0a0f75d2ab For #18027 - Also fix the bottom toolbar in place when a11y is enabled
We previously only set the top toolbar as fixed if an a11y service was running.
3 years ago
rxu c9ed8a5b92 Add MOZILLA_ONLINE_ADDON_EXCLUSIONS for Mozilla Online builds 3 years ago
mcarare cb246ed4bb For #18075: Add SaveVideoAudioCandidate for custom tabs context menu. 3 years ago
Jonathan Almeida 2f6fcbf196 Close #13892: Remove Synced Tabs appended to tabs tray 3 years ago
Michael Comella 359f27abc1 For #17972: split frameworkStart into two metrics.
We do this in order to make it easier to analyze in GLAM: see the metric
descriptions for more details.

Additionally, we change the time unit to milliseconds to make it easier
to analyze in GLAM.
3 years ago
Michael Comella 993428cd0f For #17969: add duration probes for App.onCreate and HomeActivity.onCreate. 3 years ago
Mugurell 6e0a64897b For #17899 - Expand toolbar when returning from fullscreen video
This was the previous behavior for both the top and bottom toolbars.
Regressed when changing to use a new custom behavior for the top toolbar.

When entering fullscreen we will now collapse and hide the toolbar, allow the
browser to expand to the entire screen estate and then, when exiting fullscreen
expand the toolbar.
Collapsing and then expanding the toolbar will trigger the
EngineViewBrowserToolbarBehavior to place the browser below the toolbar.
3 years ago
Roger Yang 64f32b9d95
Closes #17089: Add metric to track both normal and private URI opened (#17935) 3 years ago
Sebastian Kaspari a2566f9e9e Issue #12731: Collect telemetry about the content process of tabs getting killed. 3 years ago
Arturo Mejia 21d10aa931 Update toolbar autoplay strings 3 years ago
Christian Sadilek e07f4ac590 Deprecate SessionManager component 3 years ago
Christian Sadilek 2d87307144 Remove remaining usages of Session[Manager] in BrowserFragment 3 years ago
Christian Sadilek c9b8f57f96 Refactor BrowserToolbarMenuController to use browser store 3 years ago
Arturo Mejia b6ac5079b2 For issue #18049 Download complete dialog is not showing in custom tab. 3 years ago
Victor 2193be27b2 Solves Leaks on SavedLoginFragment
disables options menu to avoid leak
 removes on click listener to avoid leak
3 years ago
mcarare af9c32983f For #17807: Fix systemWindowInset deprecation. 3 years ago
Ryan Kelly 56914cd42d Reset experiment telemetry identifiers on data prefs change.
When the user opts out of telemetry, we need to reset the user identifiers
used by the experiment system, so that there's no risk of tracking the
user across the reset event if they later decide to re-enable telemetry.
3 years ago
Christian Sadilek 5a5cf9cd12 Refactor BrowserToolbarController to use browser store 3 years ago
Codrut Topliceanu ec54397637
For #17352 - Fixes deleted downloads reappearing (#17930)
* For #17352 - Fixes deleted downloads reappearing

The `getDeleteDownloadItemsOperation` job would check fragment context not null after the fragment was stopped. Removing that check and only passing the downloadUseCase as a parameter fixes the problem.
3 years ago
Mugurell 3311e68d14 For #17686 - Use a custom behavior to scroll InfoBanner with the top toolbar
Previously when the toolbar was on top the banner was inflated in the toolbar's parent - an AppBarLayout.
After migrating to use a custom behavior for scrolling the toolbar and not use
anymore the AppbarLayout for this we needed a new solution.
Using a new behavior to keep this banner in sync with the y translation of the
toolbar gives us most of the old behavior back.
3 years ago
Elise Richards d0fd3e82c5
For #17771: three-dot menu reorder (#17838)
* Feature flag for toolbar menu redesign. Add new items to menu and reorder.

* Handle toolbar items in menu controller

* Menu controller tests

* Make icons invisible

* Lint

* UI tests reflect design change

* Refactor test names

* Lint fixes

* UI tests
3 years ago
Michael Comella b41041c739 For #17920: move manufacturer StrictMode exception to ignores function.
I think this is more consistent and centralizes the violation ignores.
3 years ago
Michael Comella 5cb296b098 For #17920: use StrictMode penaltyDeathWithIgnores. 3 years ago
Michael Comella a86b4ef1bd For 17920: add ThreadPenaltyDeathWithIgnoresListener, tests, helpers. 3 years ago
Michael Comella e9e067615a For #17920: add ManufacturerCodes. 3 years ago
Michael Comella 2e45483eb0 For #17816: add ProfilerFactProcessor and register it, tests. 3 years ago
Mugurell 41f9388380 For #17803 - Use the main looper for Handler()s
This was already the one inferred.
Targeting Android 11 means we need to pass it explicitly.
3 years ago
Codrut Topliceanu d56b4a2b92
For #17418 - Added telemetry for Google Default Top Site (#17637)
* For #17418 - Adds channel "ts" to TrackKey

This is used to track if the `InContentTelemetry` is a result of the user using the Google Top Site. It looks for `&channel=ts` within the uri.

* For #17418 - Adds TopSite PerformedSearch back in

* For #17418 - Check now looks for equality with GOOGLE_URL

* For #17418 - Adds test for topSite changes
3 years ago
Sebastian Kaspari a3b556aa35 ToolbarIntegration: Use global public suffix list instance. 3 years ago
Sebastian Kaspari f4f5e4b663 Issue #17174: Remove usage of old media APIs. 3 years ago
Christian Sadilek 88facc4608 Closes #17889: Wrong tab selected/reloaded when restored from collection 3 years ago
Michael Comella b3ef8a11e8 For #17816: add profiler marker for onPreDraw via HomeActivity.onStart.
This may be useful for MAIN start up to determine when the user begins
seeing content.
3 years ago
Michael Comella 4de49c7585 For #17816: add profiler marker for 2x Activity.onCreate.
The IntentReceiverActivity one is particularly useful to quickly determine
when we can begin executing code in the WARM VIEW case (i.e. "Set selection
begin here").

The HomeActivity one is useful for COLD start up analysis in similar
ways and to see the Activity transitions in WARM VIEW.
3 years ago
ekager 5e9fb855f5 For #17915 - Do not launch system settings on Role Request Intent cancel 3 years ago
Arturo Mejia 3a1d56d7c8 For #17817 Change the feature prompt references from fragment to activity. 3 years ago
Abhinav Gupta 13f5df33a1 Hiding the usernameview if the data item.username is blank. 3 years ago
ekager f6455b0148
Closes #17871 - use viewLifecycleOwner for TopSitesFeature owner on HomeFragment (#17873) 3 years ago
Roger Yang 993cf74e72
Closes #17174: Remove the New Media Session API Feature Flag (#17863) 3 years ago
ekager f5b068a453 For #17785 - Use screenshots setting when adding secure flag 3 years ago
jhugman 1ef4102e13
Fixes #17738 - Early initialization of Nimbus (#17834) r=christian 3 years ago
Mugurell 8bf1cae2ca For #10686 - Use the AC custom behavior for both the top and bottom toolbars
This comes to unify the experience (with improvements but also specific issues)
for the url toolbar irrespective of it being placed at the bottom or at the top
Going further this will ease development and ensure the best UX for users.
3 years ago
Gabriel Luong a3d401a3b7
For #17418 - Add event ping telemetry for the Google Top Site click (#17862)
Co-authored-by: codrut.topliceanu <codrut.topliceanu@softvision.ro>
Co-authored-by: Gabriel Luong <gabriel.luong@gmail.com>
3 years ago
jhugman 0b764fd3e4
Fixes #17833 - increment A/A experiment id (#17835) r=christian 3 years ago
Christian Sadilek 50e66b469d Remove SessionManager reference from FenixApplication 3 years ago
MickeyMoz 378e68f3a6 Update Android Components version to 73.0.20210204143136. 3 years ago
hwinnemo c488bb0e11 For #17724: Wait for tab to be fully created before showing ETP Onboarding if ETP is active 3 years ago
Sebastian Kaspari f4a7b4c066 Remove TabsUseCases methods that take a Session object. 3 years ago
Grisha Kruglov 3ce9bf93bc Exclude separators from the bookmarks UI 3 years ago
Grisha Kruglov ebca575e26 Reuse helper functions in bookmark tests 3 years ago
Mugurell 40fc9c1085 For #12414 - Support sharing images through ShareDownloadFeature
Register a ViewBoundFeatureWrapper<ShareDownloadFeature> that will respond to
"Share image" from the browser contextual menu
3 years ago
mcarare 994ec4d55a For #17364: Make hint scrollable and do not overlap other elements. 3 years ago
mcarare d7ad203544 For #17364: Do not show search suggestion hint before starting to type. 3 years ago
Christian Sadilek e76445b299 Refactor WebAppSiteControlsBuilder to use browser store 3 years ago
Christian Sadilek 3dc638700f Refactor tryReloadTabBy to use browser store 3 years ago
Sebastian Kaspari 28c105dcb3 Remove SessionManager dependency from CustomTabsIntegration. 3 years ago
Jonathan Almeida 824f3fd821 Issue #1340: Forward Activity results to the fragment 3 years ago
jhugman 72f977771d
Re-enable Nimbus with Off the main thread I/O and non-blocking networking (#17684)
* Moved Nimbus setup from Analytics to its own file

* Change experiment identifiers to fit new run of the experiment

* Re-enable nimbus for debug and nightly builds

* ./gradlew ktlint && detekt
3 years ago
Christian Sadilek d8085480ad Increase AMO collection cache timeout to 2 days 3 years ago
mawen7 1df656cd0e
Include selected session in session suggestions if opened from home fragment (#17127) 3 years ago
MickeyMoz 4bc6b85237 Update Android Components version to 73.0.20210129195412. 3 years ago
Michael Comella d48bb2a4cc Revert "For #17447: add intentional delay to cold start up in debug and nightly."
This reverts commit 093470a8b3. This
intentional regression was only intended to be temporary so now we're
removing it.
3 years ago
Roger Yang d434ff13a5
For #17092: Dismiss toolbar menu when configuration change occurs (#17682) 3 years ago
Jonathan Almeida 66b94ced14 Close #1340: Add support for WebAuthnFeature 3 years ago
rxu be0382fca7 Pop out privacy notice in first launch in MozillaOnline builds
Add privacy notice related strings

Pop out privacy notice with onboarding

Using embeded geckoview to display details about privacy

Present or hide privacy pop window according to isMozillaOnline

Add activity_privacy_content_display.xml into layoutNotToTest due to EngineView
3 years ago
Codrut Topliceanu e188185b15
For #16828 - Adds telemetry for open in app banner (#17049)
* For #16828 - Adds telemetry for open in app banner

Specifically: Banner displayed, Dismiss action, Go to Settings action.
3 years ago
Elise Richards 43b0b27819
Update metrics when an addon is installed or enabled (#17669) 3 years ago