Commit Graph

3573 Commits (106aa6237d36af1f824836b59ec63f3bbd1561ca)

Author SHA1 Message Date
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