Commit Graph

3632 Commits (84f4ff0d8652cd1ad0323c86de098f825d9c422e)

Author SHA1 Message Date
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
Mihai Adrian Carare 8993a0acb2
For #17655: Do not pass threshold if showTopFrecentSites is false. (#17657)
* For #17655: Do not pass threshold if showTopFrecentSites is false.

* For #17655: Add unit tests for getTopSitesConfig.
3 years ago
Christian Sadilek 45c0ac85ec Remove SessionManager from BrowserFragment/ToolbarGestureHandler 3 years ago
Roger Yang 124c2baf30
Closes #17531: Use top sites count fact for top sites telemetry (#17664) 3 years ago
Roger Yang eaef276345
Closes #17530: Update has open tabs metrics when tabs are opened or closed (#17557) 3 years ago
mcarare 780e3362a5 For #17464: Handle selected item background programmatically. 3 years ago
Gabriel Luong 171c466ada For #14302 - Skip one time pages visit from frecent top sites 3 years ago
mcarare 278ed658b6 For #17635: Check if id corresponds to a custom tab before removing it. 3 years ago
Christian Sadilek 87d6f32374 Refactor HomeFragment to use browser store 3 years ago
Elise Richards 39f79778a2
For #17084: Use in-app browser switching dialog (#17628)
Co-authored-by: hakkikaancaliskan <caliskanhkaan@gmail.com>
3 years ago
Elise Richards f7b7b25213
For #16485: Tabs tray grid view telemetry (#17442)
* Tabs tray CFR telemetry interactions

* Create CFR events and implementation

* Tests for tab tray controller
3 years ago
Sebastian Kaspari 023ddcc131 Refactor ExternalAppBrowserActivity and ExternalAppBrowserFragment to not use Session(Manager). 3 years ago
Arturo Mejia b419ff82af Remove external download manager FeatureFlags 3 years ago
Arturo Mejia f99c175ceb Remove autoplay indicator FeatureFlags 3 years ago
Jonathan Almeida 65c69c6b9f Fix breaking APIs in ActivityResultHandler 3 years ago
Christian Sadilek 7001fa1735 Closes #17473: Intermittent failues of PwaOnboardingObserver 3 years ago
Gabriel Luong 70dc975299
For #17304 - Implement top site search engine attribution (#17580) 3 years ago
Sebastian Kaspari 0c41316c31 Revert "For #17044: Explicitly set a new default engine when default is deleted."
This reverts commit 633bf384e2.
3 years ago
ekager 083fe26f57 For #17542 - Removes flash on renaming top site and fixes title not being updated 3 years ago
William Durand 0537594810 Add new BuildConfig variables to support AMO non-production envs 3 years ago
Jonathan Almeida d32b3015c4 Use a smaller request code for WebAuthnFeature
We can't see the private API that we interact with on the OS, but after
some internal investigation it appears that there might be an upper
limit to the request code we can use.

For now, let's try a value similar to that use in the GVE code to see
our requests are failing because of that.
3 years ago
Christian Sadilek c34d68d915 Closes #17548: Remove SessionManager reference from TabTrayDialogFragment 3 years ago
Christian Sadilek 0de948e8ae Issue #17548: Remove SessionManager reference from TabHistoryDialog 3 years ago
Christian Sadilek 7358a313bf Issue #17548: Remove SessionManager reference from FenixTabsAdapter 3 years ago
Codrut Topliceanu 928ad21c51
For #17481 - Remove unused long_press_tapped metric (#17544) 3 years ago
mcarare 633bf384e2 For #17044: Explicitly set a new default engine when default is deleted. 3 years ago
Codrut Topliceanu 20f2135578
For #17377 - Fix for empty awesomeBar on searchFragment open (#17435)
The awesomeBar was set to stay hidden for the first consumeFrom(store) if the SearchDialogFragment.kt. However, recent changes send an additional store update when the view is created. To work around it we can take a look at AwesomeBarView.update(), we see that the awesomeBar suggestions get provided only if the query != url. So we can use the same method to keep the awesomeBar hidden until the user changes anything in the url.
3 years ago
Kate Glazko ae528e5ab2 For #15181: Remove All Downloads From Settings 3 years ago
Christian Sadilek 54da078bd3 Refactor QuickSettingsDialog to use browser store 3 years ago
Arturo Mejia 570383a54d Add dot notification for autoplay blocked content 3 years ago
mcarare af1af358a3 For #14011: Remove new line character and spaces from string. 3 years ago
Jonathan Almeida 6dfd7ef757 Add experimental WebAuthn support for Nightly only
When testing out WebAuthn support with the privileged API,
we need our app to be signed by an allowed signing key.

We're seeing our tests fail with this error when testing locally:

```
  [FidoApiImpl] updateTransaction is called for stop
  [FidoApiImpl] finishSecurityKeyRequestController should not be called when SecurityKeyRequestController is null.
```

Our theory is that if we try this code on our signed APK, we should see
it work.
3 years ago
Christian Sadilek d8c5f8887a Refactor OpenSpecificTabIntentProcessor to use browser store 3 years ago
Christian Sadilek be9b478906 Remove SessionManager from TrackingProtectionPanelDialogFragment 3 years ago
Christian Sadilek f96fdc34eb Refactor CrashReporterFragment to use browser store 3 years ago
Christian Sadilek 810200f2ab Switch to use case when selecting tab for extensions 3 years ago
Christian Sadilek c03e6377ae Remove unused NotificationsIntentProcessor 3 years ago
Christian Sadilek eb4beb252f Remove unused SessionManager reference from RecentlyClosedController 3 years ago
Jonathan Almeida d3dcf69064 A-C 71.0.20210118134928: Fix breaking API in TabCounterToolbarButton 3 years ago
Sebastian Kaspari fb64c7c076 SearchDialogController: Pass tab ID instead of Session instance. 3 years ago
MickeyMoz d945cdc4c8 Update Android Components version to 71.0.20210117143132. 3 years ago
Michael Comella 093470a8b3 For #17447: add intentional delay to cold start up in debug and nightly.
I validated:
- that the log statement appeared in Nightly but not in Beta.
- that the local runtimes of our perftest increased (the median diff is 124ms)
3 years ago
Arturo Mejia b9bdc288cb For issue: #16846 Add ui for controlling exceptions for auto play 3 years ago
Sebastian Kaspari 0035417616 Add unit tests for FennecWebAppIntentProcessor. 3 years ago
Sebastian Kaspari 051988ecff Migrate some "selected tab" reads from SessionManager to BrowserStore. 3 years ago
Arturo Mejia a6495347fd For issue #17457: Prevent page refresh when tapping the security icon 3 years ago
codrut.topliceanu 90575e6dd7 For #16238 - Back button now dismisses Suggested Logins
By using PromptFeature's onBackPressed the user can now press back to dismiss the Suggested Logins prompt without inadvertently navigating back
3 years ago
mcarare edcee71287 For #17400: Select tab opened from collection. 3 years ago
Christian Sadilek 978b555387 Closes #17443: IllegalStateException in startPostponedEnterTransition on HomeFragment 3 years ago
Christian Sadilek 53f77e422b Closes #17441: NPE when invalidating toolbar in response to reader changes 3 years ago
jhugman 7a3524fae5
SDK-158 Use disabled/no-op version of Nimbus object to eliminate unnecessary Rust call (#17372) r=christian 3 years ago
Arturo Mejia 00d971e9d3 For #16847: Allow autoplay to controlled via the toolbar. 3 years ago
Sebastian Kaspari 0761f391fc Update to latest feature-intent and feature-recentlyclosed APIs (and update Android Components). 3 years ago
hakkikaancaliskan 542bc89284 For #12732: Match notification accent color with app theme 3 years ago
Mihai Adrian Carare 3bb074b133
For #13522: Also remove history entries from tab history. (#17392)
* For #13522: Also remove history entries from tab history.

* For #13522: Test that deleting history also removes it from tab history.
3 years ago
mcarare 4e736625bd For #8716: Authentication custom tab now considers browsing mode. 3 years ago
Christian Sadilek cef56bef17 Update Android Components version to 71.0.20210108190105 3 years ago
Mugurell 484f167714 For #16249 - ClipboardHandler cleans up returned text 3 years ago
mcarare d110464a91 For #17117: Use proper custom tab session for custom tab toolbar menu. 3 years ago
Arturo Mejia 0aa44c93cd Closes issue #16945 Refactor TrackingProtectionOverlay to observe session via store. 3 years ago
Christian Sadilek 9a53054b28 Use new RestoreUseCase in A-C to handle tab timeouts 3 years ago
Arturo Mejia 743ba6918f Closes issue #16944 Refactor TrackingProtectionPanelDialogFragment to observe session via store. 4 years ago
mcarare 156dee29d8 For #15464: Always dismiss search dialog on url committed. 4 years ago
Hakkı Kaan Çalışkan e41cc5a414 For #17303: Move ext fun runIfFragmentIsAttached to utils
move to ext
4 years ago
Gabriel Luong d0fc086fc4
For #16790 - Allow top sites to have an empty name when renamed (#17290) 4 years ago
Roger Yang afa0454f2b
Closes #16603: Disable pull down when in fullscreen (#17314) 4 years ago
Sebastian Kaspari 1b6cebf4d4 Switch to new SessionStorage / session restore API. 4 years ago
ekager d5f625c945 For #17177 - Do not show PBM CFR if entering search on home, make sure fragment attached before showing 4 years ago
Roger Yang 7527851cf0
Closes #17298: Turn on new MediaSession feature for all builds (#17302) 4 years ago
MarcLeclair 24bce64e0b
16373 Count the # of inflations done on startup (#16778)
* For #16373: Added performance Inflater to counter # of inflations

This class is quite straight forward. The only thing that I have to point out is the onCreateView method. It usually
calls its super if you don't override it. The problem with that is that the super.onCreateView actually uses
android.view. as a prefix for the XML element it tries to inflate. So if we have an element that isn't part
of that package, it'll crash. As I said in the code, a good example is ImageButton. Calling android.view.ImageButton
will make the app crash. The method is implemented the same way that PhoneLayoutInflater does (Another example
is the AsyncLayoutInflater)

* For #16373: Added test for PerformanceInflater

This test got quite awkward / complicated fast.  I wanted to test the  to make sure we don't break *any* of our layouts
and to do so, I decided to just retrieve all our XML in our /res/layout folder. However, this gets quite a bit outside of a unit test scope.
The point was to get every layouts and get their LayoutID through the resources using the testContext we have. It gets even weirder, since some
of the XML tags have special implementation in android. One of them is the <fragment> tag. That tag actually is inflated by the OS using the Factory2
that the Activity.java implements. In order to get around the fragment issue, we just return a basic FrameLayout since the system LayoutInflater doesn't deal
won't ever get a <fragment> tag to inflate. Another issue was the <merge> tag. In order to inflate those, you need 1) a root view and 2) attach your view to it.
In order to be able to test those layouts file, I had to create an empty FrameLayout and use it as the root view for testing. Again, I know this is beyond the spirit of a unit test but if we use this inflater, I think it should make sure that no layouts are broken by it.

* For #16373: Overrode getSystemService to return PerformanceInflater

This allows PerformanceInflater to be called in every inflation to keep track of the number of inflations we do.

* For #16373: Added UI test for # of inflations

* For #16373: Lint fix

* For #167373: Changed the LayoutInflater cloneInContext to take this instead of inflater

The inflater parameter is set on the first call from the OS from  the Window object. However, the activity itself sets multiple factories on the inflater
during its creation (usually through AppCompatDelegateImpl.java). This means that, once we initially set the inflater with a null check, we pass an inflater
that has no factory initially. However, since we keep a reference to it, when cloneInContext was called, it cloned the inflater with the original inflater
which didn't have any factories set up. This meant that the app would crash on either browserFragment creation or any thing that required appCompat (such as
ImageView and ImageButton). Now, passing itself with a cloneInContext means we keep all the factories initially set by the activity or the fragment.

* For #16373: Fixed code issues for PR. No behavior change

* For #16373: fixed some code nits
4 years ago
mcarare 2d1df018ff For #15061: Fix error text color in SyncedTabsFragment. 4 years ago
Codrut Topliceanu c0f0c401f3
For #11580 - Tracks text selection context menu usage (#16968)
* For #11580 - Tracks text selection context menu usage

Tracks Copy, Search, Select All and Share items from the text selection context menu. Uses AC's DefaultSelectionActionDelegate to achieve this.

Co-authored-by: Gabriel Luong <gabriel.luong@gmail.com>
4 years ago
Arturo Mejia 81f208bda1 For issue #13981 Use DEEP_LINK_SCHEME instead of hard-coded fenix 4 years ago
Elise Richards 6dadecacc2
For #15703 and #17133: allow ETP redirect trackers setting to be customized (#17137)
* Remove ETP redirect trackers feature flag. Add category to ETP panel view.

* Add redirect tracker category to ETP custom settings
4 years ago
ekager d3e1045ab9 For #17165 - Use application context to get notification localized strings 4 years ago
Christian Sadilek 36a6d364a7 For #17086 #17143: Temporarily turn off Nimbus 4 years ago
jhugman 4565d7381b
No bug- protect nimbus init from StrictMode (#17033) r=christian 4 years ago
Christian Sadilek 0b99669753 Closes #16949: Refactor OpenInAppOnboardingObserver to use browser store 4 years ago
Sebastian Kaspari d2b8decaeb Switch to new feature-tab-collections API. 4 years ago
ekager 30df43d057
For #13321 - Do not hide toolbar when opening multiple bookmarks (#17038) 4 years ago
mcarare 04bd9c61a6 For #16483: Rotate edit arrow when toolbar position is set to bottom. 4 years ago
mcarare e24ec1c941 For #16068: Update SUMO links. 4 years ago
mcarare e0c3193162 For #17061: Prevent appBarLayout from leaking. 4 years ago
Christian Sadilek 5157a3f50e Closes #17045: Crash caused by calling consumeFlow on wrong thread 4 years ago
ekager 419f895364 For #16973 - Use controller handled action instead of toolbar focus 4 years ago
Gabriel Luong 846d618c06
For #16941 - [Telemetry] Bookmark Counts (#16942) 4 years ago
Christian Sadilek d8f3127e08 Closes #16946: Refactor PwaOnboardingObserver to use browser store 4 years ago
Sebastian Kaspari 46813dd89c
Add search current/home region to debug screen. (#17015) 4 years ago
Codrut Topliceanu d0b09b7d69
For #15368 - Adds telemetry for fullscreen, pip (#16833) 4 years ago
mcarare 01db5160ee For #16827: Add copy url from long press metrics. 4 years ago
mcarare 93b13ac977 For #15369: Add synced tabs usage metrics. 4 years ago
mcarare d233229ce4 For #15366: Add recently closed tabs metrics from history fragment. 4 years ago
mcarare 2f360eb474 For #15366: Add recently closed tabs metrics. 4 years ago
mcarare a59195e2ee For #16422: Handle theme for tab history bottom sheet. 4 years ago
Mugurell 574eac4636
For #15367 - DownloadsFragment telemetry (#16728)
Adds a counter for how many times the user does the following action:
- opens the Downloads section inside the app
- tap to open an item from inside Downloads / from the download dialog
- tap to delete one or more downloads at once
4 years ago
Mugurell d5b33aec43
For #11578 - Add telemetry for how many times we download something (#16730) 4 years ago
Michael Debertol 95860eba49
For #4333: Open the keyboard when a search engine is selected (#14353)
Co-authored-by: Elise Richards <erichards@mozilla.com>
4 years ago
Arturo Mejia f263b7333a For issue #16847 Show the autoplay icon in the toolbar 4 years ago
ekager 3b0e70a856 For #16937 - Ensure FIP is removed on navigation 4 years ago
Jeff Boek cf61c10c39
For #15403 - Adds a secret debug info screen in settings (#15540)
Co-authored-by: Elise Richards <erichards@mozilla.com>
4 years ago
ekager 1ca34a2bc9 For #16807 - Make sure there's only one instance of search dialog 4 years ago
Elise Richards 813693f1d3
Remove hidden fab in tabs tray (#16972) 4 years ago
Codrut Topliceanu 556fea5591
For #15636 - Focus a11y collection on snackbar view tap (#16853)
With accessibility enabled, when adding a site to a collection and tapping "View" on the snackbar, we send a request for focus and an `AccessibilityEvent.TYPE_VIEW_FOCUSED` to the specified collection.
4 years ago
jhugman 9a984f10f1
Add withExperiment extension method to Nimbus (#16926) r=christian, sebastian
* Fixes #16925 Add withExperiment extension method to Nimbus
* Don't call Nimbus at all if not enabled by FeatureFlag
4 years ago
Roger Yang ca605d8a95
Closes #16075: Add distribution_id in telemetry startup metrics (#16821) 4 years ago
Christian Sadilek f0078097f8 Prepare for A-C Session[Manager] observable deprecation 4 years ago
ekager dd2615b554
For #16442 - Check if fragment is still attached before updating site permissions rules (#16954) 4 years ago
jhugman 459f1e970f
Fixes #16948: call nimbus.updateExperiments on startup (#16950) r=gl 4 years ago
mcarare a2ad9f7a27 For #16894: Handle adding voice search button depending on state. 4 years ago
mcarare 0a77f4bccf For #16775: Fallback to light mode drawable when ui mode is not resolved 4 years ago
mcarare b4a81c2219 For #15640: Remove private resources from RadioButtonPreference. 4 years ago
mcarare fa08afbc03 For #15640: Remove private resources from TextPercentageSeekBarPref. 4 years ago
ekager 2bb7bea258 For #16668 - Fix keyboard show/hide from search dialog fragment 4 years ago
Kate Glazko ef01cdcefe For #16541: Download UX Updates 4 years ago
Christian Sadilek faf765a57d Update IntentProcessors after breaking API change 4 years ago
Emilio Cobos Álvarez 9d5afd501e Add support for EME permission.
This accompanies the changes in mozilla-mobile/android-components#9121.

Closes #1175
4 years ago
Mugurell f2191bdbb5 For #13427 - Disable the "selected tab" decoration when in Multiselect
Selecting a tab while in Multiselect would add a different decoration to the one
already set for the last tab opened and this would confuse users.
Let's avoid this.
4 years ago
Christian Sadilek d1345e8f93 Closes #11290: Refactor ToolbarMenu to use browser store 4 years ago
Roger Yang 2ff7ba75c7
Closes #16896: Integrate new MediaSession API to nightly or debug builds (#16909) 4 years ago
Elise Richards 948db6f77b
Reload restored tabs from collection (#16865) 4 years ago
Sebastian Kaspari 2cada405d8 Update Android Components to 69.0.20201207103252. 4 years ago
ekager e428694a51 For #16397 - Fixes SignOutFragment crash and invisible button 4 years ago
Mugurell c89a7193f5
For #16248 - Cleanup error pages of inlined code (#16834)
Also streamlined the js code.
The errorPageScripts.js from AC had too much or too little of what we needed.
4 years ago
Roger Yang 3c3ddb4f44
For #16133: Simplify OpenInAppOnboardingObserver condition (#16851) 4 years ago
Philipp Klein 2be3fd05f2
For #15362: Remove swipe to delete for bookmarks (#16646)
Removed now obsolete feature flag and tests.
Removed obsolete swipe refresh state from BookmarkFragmentState
Also adapted tests and remove obsolete ones.
4 years ago
Elise Richards 77f061c362 Closes #8791: Use A-C tab counter and upgrades to A-C 69.0.20201203202830
Upgrades to A-C 69.0.20201203202830 and addresses breaking changes:
- Upgrades androidx workmanager to 2.4.0 in line with A-C.
- RecordingDevicesNotificationFeature was removed
- SearchUseCases accept parent session ID instead of session itself
4 years ago
Codrut Topliceanu 79d1c08402
For #16629 - Fix for collection snackbar View button (#16679) 4 years ago
Jonathan Almeida c99b2157fb Fix breaking changes from FCM SDK update 4 years ago
jhugman ea9f692007
Nimbus-SDK-119 Get Nimbus server endpoint at build time. (#16682)
This PR builds on [AC##9024][1], and implements setting the Nimbus endpoints from [a secret set at build time][2].

For production use, this requires a secret named `nimbus_url` to be put into CI.

Note: Nimbus is currently behind a feature flag.

If developers wish to use a Nimbus server for local development, you can set the url by adding an entry into local.properties, e.g.:

```
nimbus.remote-settings.url=https://settings.stage.moz4ws.net
```

Without setting server, Nimbus will be able to function, except no experimental definitions will be fetched, and features under experiment will be configured as if not enrolled in the experiment.

[1]: https://github.com/mozilla-mobile/android-components/pull/9024
[2]: https://groups.google.com/a/mozilla.com/g/android-components-team/c/lAGVKQy8aiA/m/rY3uGAwhBAAJ
4 years ago