Commit Graph

838 Commits (5ddce84b81a529e874db7ac64a2a1c43e9e31b93)

Author SHA1 Message Date
Sawyer Blatz b87c40d42f
For #10426: Sends GAID to Installation instead of Activation ping. (#10529) 4 years ago
Sawyer Blatz 02f6e6868e
For #10426: Adds identifier to Glean for 24 hours (#10446) 4 years ago
mcarare 9177871edc For #10408: Check current destination before navigating. 4 years ago
Jeff Boek d72e455c0d No Issue - Update to AC 41.0.20200505190119 4 years ago
Mihai Adrian 5106134786
For #10408: Dismiss menu when navigating away. (#10415)
The menu is dismissed when toolbar view is detached from window.
4 years ago
Jeff Boek a8a90bd4d6
For #1063: Put tab tray behind a feature flag and hidden pref (#10313)
* For #1063 - Adds feature flag and pref for new tab tray

* For #1063 - Swaps add tab to tab tray button when newTabTray is enabled

* For #1063 - Creates hidden preference to use new tab tray

* For #1063 - Hides tabs on home screen when setting is enabled

* For #1063 - Navigate to new tab tray from browser with setting enabled

* For #1063 - Fixes regression where we dont show the new tab message with no tabs and no collections

* For #1063 - Fixes crash when toggling to private mode on the home screen

* For #1063 - combines both settings. Cleans up lint errors
4 years ago
Jonathan Almeida 76002c5987 Fix breaking API changes in CrashReporter 4 years ago
Mihai Branescu 0c2d22f595 For #6557 - add in_content telemetry class 4 years ago
Mihai Branescu f09bc4566c For #6557 - added metric for in_content 4 years ago
Mihai Branescu c4d76dce5a For #6558 - cleanup + added unit tests 4 years ago
Mihai Branescu 93ca1f6d9f For #6558 - added handling of web extension + sending metric for has_ads 4 years ago
Vlad Filippov e51e1c878b Add 'useEmail' and 'useEmailProblem' metrics event
Fixes #9834
4 years ago
mcarare e11f1b62dc For #10027: Make toolbar context menu popup dismissible on SDK<23 4 years ago
ekager c4e83367f6 For #6832 - Fix various fragment not attached to a context crashes 4 years ago
Sawyer Blatz dce16964c0
For #9208: Adds in-product prompt to homescreen (#9836) 4 years ago
Arturo Mejia 0a23d66756 For issue #7566 Handle deny & don't ask again for site permissions 4 years ago
Grisha Kruglov 853a0acab4 Closes #4046: Always display 'Desktop' bookmarks folder
See https://github.com/mozilla-mobile/fenix/issues/4046 for a detailed discussion of this.

In short, this patch removes code that would conditionally hide desktop bookmarks depending
on the signed-in state of the browser.
4 years ago
Sawyer Blatz a8e624959e
For #6940: Fixes top dynamic toolbar behavior (#9900) 4 years ago
mcarare 83d2208c6b For #9536: Open report issue tab depending on current browsing mode.
Checking if session is private uses the new browser state API.
4 years ago
ekager 4a06a228f3 For #9981 - Make Bookmark Menu UI respond to session selection 4 years ago
Jonathan Almeida e97904662c Remove duplicate FirebasePushService
When we moved push to it's own component the class was supposed to have
been moved but git might have only picked it up as an addition.
4 years ago
ekager 9c56a8b387 For #204 - Remove PWA Feature Flag 4 years ago
Jeff Boek 4cbb9aebaf
Cleans up nav_graph.xml (#9829)
* For #9751 - Cleans up homeFragment directions

* For #9751 - Uses global actions for fragments not owned by homeFragment

* For #9751 - Cleans up SearchFragment directions

* For #9751 - Removes settings action from DeleteBrowsingDataFragment

* For #9751 - Removes browser action from SettingsFragment

* For #9751 - Adds ManagePhoneFeature global action

* For #9751 - Clean up unused deletebrowsingfragment actions

* For #9751 - Cleans Up HistoryFragment actions

* For #9751 - Removes Home -> Search action

* For #9751 - Removes the Bookmark -> Browser action

* For #9751 - Cleans up bookmark fragment actions

* For #9751 - Cleans up actions from ShareController

* For #9751 - Removes defaultBrowserFragment to browserFragment action

* For #9751 - Removes about -> browser action

* For #9751 - Adds global action to TrackingProtectionFragment

* For #9751 - Removes exception -> browser action

* For #9751 - Removes login -> browser action

* For #9751 - Fixes LoginFragment directions

* For #9751 - Removes ExternalAppBrowser directions

* for #9751 - Cleans up actions

* For #9751 - Fixes unit tests

* For #9751 - Addresses nits in PR
4 years ago
ekager b8fba63be4 For #9890 - Do not display full screen snackbar with toolbar padding 4 years ago
ekager 8c238402e2 For #9692 - Fix "Install" PWA menu item labeling 4 years ago
ekager 5039546dc5 For #7208 For #7212 - Update parameterized strings 4 years ago
Christian Sadilek 7f1ef17d8b No issue: Re-use existing usecases for addons 4 years ago
Michael Comella 4437ddd536 No issue: Move Do and OpenClass to utils pkg.
They were both in their packages by themselves, which feels unnecessary.
Unfortunately, a utils pkg is discouraged by kotlin but we don't have a
better place for them right now. Maybe an annotations/ pkg for the
latter?
4 years ago
Christian Sadilek 0f1bff7402 No issue: Refactor readerview to use browser-state 4 years ago
Michael Droettboom 3789f50423 Fix errors in top_sites_count metric
We discovered in the Fenix metrics errors query [1] that
top_sites_count had a spike in the number of errors. It
seems to be recording a count of 0, which is an invalid value.

[1] https://sql.telemetry.mozilla.org/queries/67107/source#169983
4 years ago
Sawyer Blatz e3ed7ed268
Issue #9128 & #9222 & #9499: Refactors snackbar creation and fixes placement (#9628) 4 years ago
Gabriel Luong dc6d479da3
For #6174 - Add telemetry for WebExtensions (#8318) 4 years ago
ekager fd60270da8 For #9533 - Switch to using enum for Library Item Selected Telemetry 4 years ago
ekager 96c6401457 For #8125 - Send top sites count with metrics ping 4 years ago
Sawyer Blatz 208a58bc58
Issue #9598 & #8697: Fixes force expand crash (#9599) 4 years ago
Mihai Branescu 24596fd3cd For #9109 - remove the sync error highlight from three-dot menu 4 years ago
Sawyer Blatz 1a2b65d854
Issue #9472: ForceExpand browser toolbar when navigating (#9552) 4 years ago
Grisha Kruglov 0677fc35de Part 1: Add 'accountManagerReady' queue to BackgroundServices
This gives us an ability to perform tasks against 'accountManager' without
causing its immediate initialization.
4 years ago
Grisha Kruglov be1fa8df7d Pre: introduce a RunWhenReadyQueue
This replaces the StartupTaskManager we had with a more general class.
New implementation is a thread-safe "gated task executor", which either
runs the task right away if it's marked as 'ready', or queries it to be
executed later on.

This ability to either execute or queue a task will be useful later on in the
commit series.
4 years ago
Sawyer Blatz 4ac29530cd
Issue #9132: Update to search animation for top toolbar (#9524)
* let animation in top toolbar mode play nicely.

* remove duplicate methods, make code readable.

* migrate getToolbarNavOptions method to BrowserAnimator, one method to rule them all.

* Update linting

Co-authored-by: ahmedmamdouh13 <ahmedmamdouh13196@gmail.com>
4 years ago
mcarare f52fa44207 For #9498: Replace navargs with viewModel to remember if scroll to tab 4 years ago
Sebastian Kaspari 02aabea14a Update to new feature-media API. 4 years ago
Edouard Oger 394f386ac3 Add secret debug menu to override FxA servers 4 years ago
Arturo Mejia f9cc2ccfe2 For issue #8017 enable SitePermissionsWifiIntegration 4 years ago
mcarare e8ad2389ac For #7356: Scroll to selected tab when pressing tab overview 4 years ago
Christian Sadilek 5e9d5dd545 Closes #9414: Make AMO collection configurable 4 years ago
Grisha Kruglov 9e324fa02a Perform storage warm-up after visual completeness 4 years ago
ekager 16b40992d2 For #9351 - Show snackbars with toolbar padding to work with dynamic toolbar 4 years ago
Arturo Mejia 5e75140b3d For issue #8809 Notification permissions can't be disabled/re-enabled
unless you restart the browser
4 years ago
Sawyer Blatz 9feb44852b
For #9256: Attempts to fix installation ping not being sent (#9331) 4 years ago
Kate Glazko 47b2f6a070 For 7077 Simplify Display Url 4 years ago
Mihai Branescu ab04155222 For #8653 - changed menu strings 4 years ago
mcarare 14338a3b13 For #8899: Set viable anchor for snackbars in both custom and normal tab 4 years ago
Severin Rudie 35a132d7ff
8017 advanced autoplay controls. (#8978)
* For #8017: add advanced autoplay controls
4 years ago
Sawyer Blatz a356b4b2c4
For #9136: Send all adjust properties to glean (#9253) 4 years ago
Sawyer Blatz b9059c8208
For #9256: Attempts to fix installation ping not being sent (#9254) 4 years ago
Grisha Kruglov eb14532c3c Closes #7450: Lazy storage initialization
Make sure that we actually lazily initialize our storage layers.

With this patch applied, storage layers (history, logins, bookmarks) will be initialized when first
accessed. We will no longer block GeckoEngine init, for example, on waiting for the logins storage
to initialize (which needs to access the costly securePrefStorage).
Similarly, BackgroundServices init will no longer require initialized instances of the storage
components - references to their "lazy wrappers" will suffice.

In practice, this change changes when our storage layers are initialized in the following ways.
Currently, we will initialize everything on startup. This includes loading our megazord, as well.

With this change, init path depends on if the user is signed-into FxA or not.

If user is not an FxA user:
- on startup, none of the storage layers are initialized
- history storage will be initialized once, whenever:
  - first non-customTab page is loaded (access to the HistoryDelegate)
  - first interaction with the awesomebar
  - history UI is accessed
- bookmarks storage will be initialized once, whenever:
  - something is bookmarked, or we need to figure out if something's bookmarked
  - bookmarks UI is accessed
- logins storage will be initialized once, whenever:
  - first page is loaded with a login/password fields that can be autofilled
  - (or some other interaction by GV with the autofill/loginStorage delegates)
  - logins UI is accessed
- all of these storages will be initialized if the user logs into FxA and starts syncing data
  - except, if a storage is not chosen to be synced, it will not be initialized

If user is an FxA user:
- on startup, none of the storage layers are initialized
- sometime shortly after startup is complete, when a sync worker runs in the background, all storage
layers that are enabled to sync will be initialized.

This change also means that we delay loading the megazord until first access (as described above).
4 years ago
Arturo Mejia 823eea44ed No issue: Add serverConfig param to FxaWebChannelFeature 4 years ago
mcarare 4425e7139e For #9200: Remove star icon from empty state icon in toolbar 4 years ago
mcarare 772c7062fd For #8814: Change icon asset for top sites menu option 4 years ago
Edouard Oger a1ea94fe76 Prepare for a-c a-s upgrade 4 years ago
Sebastian Kaspari 34144fd254 Use pinned Android Components Nightly version instead of snapshots. 4 years ago
Sawyer Blatz cc8f34b68b
For #8773: Fixes issue with snackbar placement on ContextMenu (#8942) 4 years ago
Roger Yang 9a582a6983
Closes #9104: Pass release channel information to Socorro service (#9130) 4 years ago
Mihai Branescu 485efacd33 For #8800 - dismiss all highlights when menu is closed 4 years ago
Severin Rudie 1381444a52 For #8800: clear menu highlights on use 4 years ago
mcarare 2ffbecaefa For #8474 Reorganize browser menu items 4 years ago
Arturo Mejia ce4293c8c8 For issue #8908 Notify users when previously unsupported add-ons
become available
4 years ago
Sawyer Blatz 3548e58c00
For #7158: Improves browser to search animation (#8961) 4 years ago
Jim Porter ec98fd948b For #7847: Improve startup performance of the Fenix wrapper around Glean 4 years ago
Jonathan Almeida 4ccda4d495 Log push crashes to CrashReporter 4 years ago
Jonathan Almeida 4bbf87d272 Closes #6730: Lazily initialize account manager on new push message 4 years ago
Grisha Kruglov e6e2dd94c7 Closes #7344: Login storage refactor
The a-c side of this work is in https://github.com/mozilla-mobile/android-components/pull/6128

This switches Fenix to use `SyncableLoginsStorage`, which caches a connection internally
on first access, and doesn't expose any lock/unlock APIs at the public boundary.
4 years ago
Christian Sadilek 20387401b1 Issue #7863: Ensure parent process triggers speculative connect 4 years ago
Sawyer Blatz f20fb50481 For #5346 & For #8859: Fixes textSize & animation on TabCounter 4 years ago
Andrew Gaul 4ab4733f34 Do not scroll menu when toolbar is on top
Fixes #8838.
4 years ago
Harshal Lele e318cd7d15 fix #8135 - remove getColorFromAttr 4 years ago
Sawyer Blatz 8e06933e8d For #167: Adds browser -> home animation 4 years ago
Mihai Adrian e3d34edfc7
For #8873 - Update snackbar padding for adding top sites 4 years ago
Sawyer Blatz e96732604b For #167: Improves home to browser animation 4 years ago
ekager a6b07afa95 No issue: Fix LeakCanary detected memory leaks
Co-authored-by: Emily Kager <emilykager@gmail.com>
Co-authored-by: Pierre-Yves Ricau <py@squareup.com>
4 years ago
Sebastian Kaspari 83f94cacb5 FennecWebAppIntentProcessor: Handle manifest file not existing. 4 years ago
mcarare 5a6fc02976 For #8773: Set proper anchor and padding for Snackbars on browser screen 4 years ago
David Walsh 0187669790 Match account problem styling between HomeMenu and BrowserMenu 4 years ago
Sebastian Kaspari d89fbd7af8 FenixSearchEngineProvider: Use dummy location service in debug builds.
Workaround for issue described in:
https://github.com/mozilla-mobile/android-components/issues/5989

For debug builds it is unnecessary to use the actual location provider since those builds
do not have an API key configured. With that patch we replace the location provider with
a dummy implementation in debug builds.
4 years ago
Will Hawkins f9b716286a For #8034: Create a post-visual completeness executor
Create an object that will execute its enqued tasks
when Fenix is visually complete.
4 years ago
Mihai Adrian 9612c3f16d
For #8540: Fix ETP options not being correctly applied (#8688) 4 years ago
David Walsh e2b72a9c01 For #8505 - Update tab icon 4 years ago
ekager 7f34204188 For #5843 - Ensure tabs pending deletion are removed 4 years ago
MarcLeclair 41f9311e20
For #7448: Move LP to IO dispatcher (#8558) 4 years ago
Arturo Mejia 959e438ff3
Initializes GlobalAddonDependencyProvider 4 years ago
Severin Rudie 69c6de7cd4
For #8411: integrate AC permissions changes (#8618) 4 years ago
Jeff Boek 541bcf072a Reverts all BrowsingModeManager changes 4 years ago
Sawyer Blatz d918cfdf38 For #1901: Screenshot engineView to remove GV flash
Co-authored-by: ekager <ekager@mozilla.com>
4 years ago
Dennis Schubert be06450dd9 Bug 1613416 - Hide "Report site issue" button in Fenix Production. 4 years ago
Jeff Boek f050db517c For #8552 - Fixes bug where "installing/uninstalling" was using the old pref key 4 years ago
Sebastian Kaspari d7e1259e7b
Use Mozilla Android Components 34.0.0-SNAPSHOT. (#8527) 4 years ago
Jeff Boek 020608275d For #6981 - Fixes tests to support locale aware changes 4 years ago
Jeff Boek 1ba64f9559 For #6981 #6907 - Properly reloads search engines when locale changes 4 years ago
Mihai Adrian e8913474a0
For #8268 - Update added to top sites snackbar text (#8435) 4 years ago
ekager f52f87f6a4 For #8324 - Only use encrypted storage for Nightly/Debug populations 4 years ago
Jeff Boek a8746320d7 For #3869 - Uses RegionSearchLocalizationProvider in the search engine provider 4 years ago
mcarare bba563b5f9 For #6479: Add granular ETP settings 4 years ago
Jeff Boek 7aeb5f072d For #7295 - Adds more documentation for the installation metrics 4 years ago
codrut.topliceanu d6ae3d4abe For #7295 - Adds new custom ping: 'installation' 4 years ago
ekager b72550c28a For #8126 - Adds default top sites 4 years ago
mcarare 3b5eadcc70 For #8372: Set toolbar position relative anchor for url copied snackbar 4 years ago
Mugurell ad1144c722 For #6577 - Remove the `total_uri_count` Glean StringMetricType
This was added as a duplicate to an already existing `total_uri_count`
CounterMetricType in #4456.
4 years ago
Jeff Boek 127169f5ff For mozilla-mobile#8172: Add a new 'E_Fennec_To_Fenix_Migrated' Leanplum event
This new event will be sent when the user has successfully migrated from Fennec
to Fenix.
This event will only be sent to Leanplum and not to the other telemetry
services like Glean or Adjust.

Co-authored-by: ValentinTimisica <valentin.timisica@softvision.ro>
4 years ago
ValentinTimisica 33616e0042 For #8172: Add a new "Fenix" Leanplum attribute 4 years ago
Simon Chae 2c01022c4b For #8153: Allow web-ext to open new tabs in correct browsing mode 4 years ago
Emily Kager 316215ca54 For #7999 - for Leanplum fxaHasSyncedItems use SyncEnginesStorage 4 years ago
David Walsh f51069cd82 For #8016 - Prevent duplicate domains from displaying inthe collection description on the home screen 4 years ago
Jeff Boek 952c48c8ce For #4674 - Adds ability to toggle metric services by type 4 years ago
Jeff Boek 9f3faa43fe For #4674 - Adds marketing data as a collection choice 4 years ago
Grisha Kruglov 7a272a4564 Enable fennec Pinned Sites migration 4 years ago
Emily Kager 9e4e23eceb
Closes #8176 - Adds new string for add to top sites (#8209) 4 years ago
David Walsh 4b9f07c511 For #7965 - Remove CDATA strings 4 years ago
Sebastian Kaspari 5515f1ba5e Closes #4979 - Support Fennec web apps (PWAs). 4 years ago
Emily Kager eec8ea980b For #8128 - Do not use activity root view for fragment snackbars 4 years ago
Tiger Oakes 383a70482c Clean up toolbar menu class 4 years ago
Emily Kager 46fd1a04f1 For #7456 - For top toolbar set correct progress gravity and background 4 years ago
Christian Sadilek d10a30e356 Closes #4983: Fennec migration: Keep installed add-ons 4 years ago
Gabriel Luong 64a4a7f422
Provide add-on support (#8064)
Closes #5630, #6069, #6092, #6091, #6124, and #6147.

Co-authored-by: Simon Chae <chaesmn@gmail.com>
Co-authored-by: Arturo Mejia <arturomejiamarmol@gmail.com>
Co-authored-by: Christian Sadilek <christian.sadilek@gmail.com>
Co-authored-by: Gabriel Luong <gabriel.luong@gmail.com>
4 years ago
Jonathan Almeida cbcc56bbba For #373: Implement LeanPlum push messaging
Also closes #6250, since we rely solely on the SDK itself to consume the
messages straight from FCM.
4 years ago
ValentinTimisica 0a76fdaa58 For #7289: Adds telemetry for selecting dark theme 4 years ago
ValentinTimisica 2026c60136 For #6834: Adds telemetry for About page items
Didn't change the existing probe for 'whats new' item because we're already
collecting that info.
4 years ago
Sawyer Blatz 1372ed5837 For #7970: Updates snackbars for accessibility 4 years ago
Sawyer Blatz 94447657c4 No issue: Fixes strings for data migration 4 years ago
Sören Hentzschel 8a7c7fd06f For #7730 - always show "Add private browsing shortcut" in sett… (#7943) 4 years ago
Gabriel Luong f93e141d52 For #7525 - Add telemetry for opening a top site in normal and private mode and removing a top site 4 years ago
Gabriel Luong e1863dd3c2 For #6758 - Part 4: Implement "Add to Firefox Home" browser menu item
- The "Add to Firefox Home" browser menu item adds a top site to the top site storage.
- Refactors the FenixSnackbar from BaseBrowserFragment into BrowserToolbarController
since there are multiple menu items that need to show a FenixSnackbar.
- Adds metrics for the new browser menu item.
4 years ago
Gabriel Luong 9ddf93eb7d For #6758 - Part 3: Add TopSiteStorage wrapper around AC's TopSiteStorage
This follows the existing pattern around TabCollectionStorage.
4 years ago
ekager c556e819bd For #5586 - Add telemetry for save logins setting 4 years ago
Mihai Adrian 355cb35cb6 For #7574: Send toolbar position metrics in English. (#7712) 4 years ago
Sawyer Blatz 509fa112d0 For #6308: Remove unecessary telemetry & bump expiry date (#7793)
* For #6308: Remove unecessary telemetry

* For #6308: Bump expiry date on telemetry
4 years ago
Jeff Boek ea22f6d69b For #1607 - Fixes SearchShortcutSelected to not leak any custom identifiers 4 years ago
ValentinTimisica c106d89285 For #7751: Remove 'SearchWithCustomEngine' telemetry event 4 years ago
ValentinTimisica 981d19de13 For #6556: Adds Telemetry counts for Search Access Points
Added two new sources to be counted ('widget' and 'shortcut') besides 'action' and
'suggestion'. Also modified/fixed some tests.
4 years ago
Jonathan Almeida 261a6162af Review comments, fix build failure and targetActivity 4 years ago
Jonathan Almeida b89afe7b7c For #7092: Add initial Migration UI 4 years ago
Sebastian Kaspari 29d9ba472c Always initialize glean. Set upload flag after migration. (#7717) 4 years ago
ekager 0777fb3bbe For #5545 For #5542 Closes #6696 Integrate logins API, adds Settings for Autofilling/Saving Logins 4 years ago
Alessio Placitelli f93437c509 Fix GleanMetricsService to use the new Glean APIs 4 years ago
Jonathan Almeida 61570b5238 Closes #7645: Disable push service when migrating 4 years ago
ValentinTimisica a952d0858c For #5884: Fixed Unit tests. 4 years ago
ValentinTimisica 7c5c9355ce For #5884: Adds user-specified search engines telemetry
Created events for adding and deleting a custom search engine and for searches
performed with a custom search engine.
4 years ago
Colin Lee 7baf54f566
For #5182: Loading experiments on startup is slow, remove Fretboard (#7510)
This removes Fretboard. The goal is to reduce cold startup costs associated with loading the experiments on the main thread. We currently have two experiments frameworks in use and should only require one.
4 years ago
Sebastian Kaspari 1f5bfff025 Issue #6898: Allow empty adjust token for fennecNightly builds. 4 years ago
Mihai Adrian 0a412a1a6a For #6992 Always hide toolbar when showing find in page bar (#7567) 4 years ago
Mugurell 6d44ceceda For #6836 - Limit Leanplum depending on current locale. 4 years ago
Sebastian Kaspari e3408b12b4 Update Mozilla Android Components to 28.0.0-SNAPSHOT. 4 years ago
mcarare b115a00589 For #7155 Align custom tabs overflow menu to original mocks
Reverse menu items order when toolbar position is top
4 years ago
Will Hawkins 9c28cb632c Issue #7425 (et al): Cache the list of installed browsers
Cache the list of installed browsers. Calling `Browsers.all`
the application directly redundantly recalculates the list.
Accessing the list of installed browsers through this cache
will reduce that overhead.
4 years ago
Mugurell 8454f208af For #4977: Migrate fennec shortcuts (#7251)
* For #4977 - Support opening Fennec pinned website shortcuts in Fenix

Fennec's pinned website shortcuts are set to open the BrowserApp activity.
So we need a new activity alias to actually catch such Intents. Otherwise they
would open "org.mozilla.firefox/.App" without any way to inform that this is
the result of the user clicking on a pinned shortcut.
For actually checking if the newly received Intent is of a Fennec pinned
shortcut we introduce a new FennecBookmarkShortcutsIntentProcessor which will
prepare the Intent to open the shortcut's URL in a new tab.

* For #4977 - Don't keep IntentReceiverActivity on the back stack

For successive Fennec pinned shortcuts to create a new IntentReceiverActivity
and be processed as normal we need to not keep this as our task root.

* For #4977 - Test the FennecBookmarkShortcutsIntentProcessor
4 years ago
Jeff Boek fdb1f505cc For #5552 - Reverts temporary fix for #5552 4 years ago
Jonathan Almeida 0768fde945 No issue: Use SendTabFeature and FxaPushSupportFeature 4 years ago
Sawyer Blatz c7c4ad051a
For #6413: Adds more snackbar positioning logic (#7444)
* For #6413: Adds more snackbar positioning logic

* Refactor
4 years ago
Roger Yang f6e286fd9c
Closes #7346: Enable dynamic app links in Fenix (#7361) 4 years ago
Sawyer Blatz 3fb060f682
For #6413: Fixes snackbar positionining for bottom toolbar (#7415)
* For #6413: Fixes snackbar positionining for bottom toolbar

* For #6413: Cleans up snackbar usage
4 years ago
Severin Rudie 26b7909214
For #7352: integrate highlightable browser menu changes (#7353)
* For #7352: integrate highlightable browser menu changes

* For 7352: invalidate menu when reader mode availability changes

* For 7352: removed highlight from reader mode appearance per UX
4 years ago
Roger Yang dd1433733a
Closes #7156: Update app links feature usage to include app links interceptor (#7275) 5 years ago
Tiger Oakes 7c9a5c1f14
For #768 - Add PWA install option to menu (#6882) 5 years ago
Rushab Kumar 562eb89356 For #7250 - Replace anko.dimen 5 years ago
Roger Yang 1a739db5b1 Closes #7260: Pass in GeckoView version information to MozillaSocorroservice 5 years ago
Tiger Oakes ea486d7c66
Split out CustomTabToolbarIntegration (#7107) 5 years ago
Jeff Boek 49f07554e7 No Issue - Removes some search engines 5 years ago
Vlad Filippov a3f2f55548 Closes #5913: Add new sessionToken scope (#6155) 5 years ago
Tiger Oakes 3f7205e3cb
Extract IntentProcessorType to its own file and add tests (#7012) 5 years ago
Grisha Kruglov 42d6915699 Fennec migration: enable logins migration 5 years ago
Jeff Boek 45c6e3a784 For #1607 - Passes "custom" as the search engine identifier for custom engines 5 years ago
Severin Rudie dfea877fb7 No issue: small installedSearchEngineIdentifiers readability refactor 5 years ago
Severin Rudie 2aa80eff95 No issue: tests installedSearchEngineIdentifiers 5 years ago
Severin Rudie d3ff98816d No issue: begin moving FenixSearchEngineProvider into a testing harness 5 years ago
Severin Rudie 5f393bd5d4
For #5334: added private custom tab processor (#6845)
* For #5334: added private custom tab processor

* For #5334 - Fixes up IntentReceiverActivity for handling intents

* For 5334: update styling for private custom tabbs

* For 5334: update tests to account for new processors

Note that two are still failing. These appear to be true failures, and will be corrected in a later commit.

* For 5334: fixes bug introduced by changes to IntentReceiverActivity

RCA: intent className and extra were previously set based on which processors matched, not which successfully processed. This patch reintroduces that behavior.

* For 5334: add tests for custom tabs processing
5 years ago
kglazko 300d8317e1
Issue 5366 Vector Drawable Compat (#6904) 5 years ago
Jeff Boek d4e3a2037f For #6855 - Filter out duplicated bundled search engines
Co-authored-by: Severin Rudie <Baron-Severin@users.noreply.github.com>
5 years ago
mcarare c3389dcdb5 For #6070 Adds telemetry for enabling search suggestions in private 5 years ago
Jeff Boek 781b141bc7 For #6849 - Properly select a new default search engine when you delete the current one
Co-authored-by: Severin Rudie <Baron-Severin@users.noreply.github.com>
5 years ago
Emily Kager d1b134c2ff For #6908 - Set null anchors for snackbars with top toolbar (#6911) 5 years ago
Jeff Boek e8972bb47d For #6795 - Auto shows toolbar when loading a new URL (#6955)
Co-authored-by: Severin <Baron-Severin@users.noreply.github.com>
5 years ago
Tiger Oakes d5e01384d8
Suppress upcoming deprecation (#6765) 5 years ago
Gabriel Luong 85111f538a For #6857 - Replace BackHandler with UserInteractionHandler in InflationAwareFeature and InflationAwareFeatureTest 5 years ago
Jeff Boek 1b1f9348dc No Issue - Fixes warnings / compiler errors with A-C update 5 years ago
Mihai Branescu 7cf71c8ef3
For #6396 - Added metrics for tracking history/bookmarks account sync toggles (#6601) 5 years ago
Sawyer Blatz 769c1e422d For #5694 & #6054: Allows users to change toolbar position (#6608)
* For #5694 & #6054: Adds preference screen for toolbar

* For #5694: Adds changing toolbar position functionality

* No issue: Updates telemetry links to actually work lol 😬

* For #6054: Adds toolbar position to core ping
5 years ago
Tiger Oakes 7e8f079269
Use ShareData with ShareFragment (#6698) 5 years ago
Grisha Kruglov f099552ae3 Enable encryption of persisted FxA account state 5 years ago
Jeff Boek 54773afb68
For #2477 - Removes the feature flag for Force Enable Zoom (#6646)
* For #2477 - Removes the feature flag for Force Enable Zoom

* For #2477 - Fixes bug where zoom preference doesnt persist between launches
5 years ago
Jeff Boek 607c3d4c87
Adds custom search engines (#6551)
* For #5577 - Adds button to add a new search engine

* For #5577 - Adds custom engine store

* For #5577 - Creates a custom SearchEngineProvider

* For #5577 - Gives the ability to delete search engines

* For #5577 - Adds the UI to add a custom search engine

* For #5577 - Adds form to create a custom search engine

* For #5577 - Adds the ability to add a custom search engine

*  For #5577 - Adds the ability to delete custom search engines

* For #5577 - Selects the first element on the add custom search engine screen

* For #5577 - Prevents adding a search engine that already exists

* For #5577 - Styles the add search engine preference

* For #5577 - Makes the name check case-insensitive

* For #5577 - Fix bug where home screen doesnt see new search engines

* For #5577 - Moves Search URL validation to its own type

* For #5577 - Fixes linting errors

* For #5577 - Adds the ability to edit a custom search engine

* For #5577 - Allows the user to edit a serach engine even when it is the last item in the list

* For #5577 - Adds an undo snackbar when deleting a search engine

* For #5577 - Moves all of the strings to be translated

* For #5577 - Fixes bug when deleting your default search engine

* For #5577 - Puts adding search engines behind a feature flag

* For #5577 - Navigate to custom search engine SUMO article when tapping learn more

* For #5577 - Fixes nits

* For #5577 - Uses concept-fetch to validate search string

* For #5577 - Adds string resources for the cannot reach error state
5 years ago
Roger Yang f3fc532e0e Closes #6440 Integrate Web Notifications Feature 5 years ago
Severin Rudie 8d68317388
4844 fix url elision (#6588)
* For #4844: add test cases for url elision

* For 4844: implement toShortUrl to pass test cases

* For 4844: update plumbing to use toShortUrl

* For 4844: adds/handles suggested url elision test case
5 years ago
Gabriel Luong c6562bff98 For #5583 - Adds telemetry for download notification (#6554) 5 years ago
Will Hawkins 7173bdf0b1 Issue #6196: Make initialization of Glean metrics faster
setStartupMetrics is very expensive and does not need to be
done synchronously at the time the Glean Metrics Service is
initialized.
5 years ago
ekager d85ed27a3d Add override for Core val in test 5 years ago
Emily Kager c43f96096e For #5074 - Sync Logins, Uses KeySharedPreferences for Passwords Encryption Key 5 years ago
Gabriel ebdfe8184e For #5705 - Adds telemetry for media state (#6463) 5 years ago
Emily Kager cc318021cc For #5586 - Adds Logins Telemetry (#6352)
* For #5586 - Adds Logins Telemetry

* Adds Logins Sync Telemetry to PreferenceToggled event
5 years ago
Severin Rudie 6909a76bcb
4281 remove qab (#6310)
* For #4281: small ToolbarMenu refactor

This makes it easier to see how items are ordered in the menuItems list

* For 4281: add QAB buttons to menu

* For 4281: removed menu back button per mocks

I double checked with UX, and we'll be relying on the hardware back button for its functionality

* For 4281: add content descriptions for bookmarking

* For 4281: updated BrowserToolbarController for new functionality

* For 4281: provided simple dependencies to browser controller

More complex changes will be in a following commit, for review readability

* For 4281: move toolbar controller dependencies up to BaseBrowserFragment

The functionality they control is being moved into the toolbar menu, which is shared by both normal tabs and custom ones

* For 4281: removed (now unused) code related to QAB

* For 4281: fix test compilation after QAB removal

Tests still need to be expanded to include added functionality

* For 4281: updated menu to show if url is bookmarked

This sloppy workaround is required because TwoStateButton requires that `isInPrimaryState` be a synchronous call, and checking whether or not the current site is bookmarked is quite slow (10-50 MS, in my tests).  After days of work and many attempted solutions, this was the least abhorrent among them.

https://github.com/mozilla-mobile/android-components/issues/4915 was opened against AC to evaluate potentially supporting async `isInPrimaryState` functions.
https://github.com/mozilla-mobile/fenix/issues/6370 was opened against Fenix to investigate the unexpectedly slow call to `BookmarkStorage`.

* For 4281: update reader mode switch

* For 4281: selectively show/hide menu items

* For 4281: add reader mode appearance

* For 4281: update bookmark button when it is clicked

* For 4281: removed unused QAB code

* For 4281: removed QAB robot, updated UI tests

* For 4281: removed QuickActionSheet metrics

Since this behavior now lives in the toolbar, it is tracked via Event.BrowserMenuItemTapped

* For 4281: fixed lint errors

* For 4281: add new strings for buttons added to menu

This is necessary because the location change (from QAB to toolbar menu) could affect the grammar in some languages

* For 4281: remove outdated TODOs

* For 4281: removed QAB container

* For 4281: removed back button reference from UI test

This button no longer exists

* For 4821: Fixes a visual defect (extra padding on top of toolbar)

* For 4281: update copy on reader mode

* For 4281: fixed review nits
5 years ago
mcarare 11ad1010a9 For #6323 Creating 1st collection from tab shows Name collection screen
Added a check for existence of at least a collection to select from.
5 years ago
Emily Kager d9615108ee For #6354 - Removes ETP Experiment, Removes Feature Flags, Sets Strict Default 5 years ago
Grisha Kruglov 40047315c2 For #6490 - track abnormal FxA behaviour via Sentry 5 years ago
Tiger Oakes afda836f1f Use ManifestUpdateFeature 5 years ago
Sawyer Blatz 284f3cf0f5 For #4456: Updates total_uri_count upload (#6482) 5 years ago
ValentinTimisica 1e13e70cd0 Fixes #5917: Show snackbar when URL is copied (#6210)
Show a snackbar to the user for him to know that the URL was copied to
clipboard.
5 years ago
Sawyer Blatz 8549b80272 For #4456: Adds total_uri_count to metrics core ping (#6003) 5 years ago
Sawyer Blatz fd22c43f9d
Fixes #6344: Adds null check for adjust campaign (#6348) 5 years ago
Sawyer Blatz 2a358db561
For #1298: Fixes issue with Adjust campaign not sending through Glean (#5896) 5 years ago
Jonathan Almeida 59c0fb504e Revert "For #373 - Integrate leanplum-fcm"
This reverts commit ed239ec250.

We're choosing to revert LeanPlum push messaging integration since we believe
that this has introduced a crash in Firebase push messaging. To verify
this assumption we're reverting this change, and when confirmed, we can
re-introduce Leamplum in a safer manner.

See #6250 and #6251 for related info.
5 years ago
Sawyer Blatz 4359c215e6 For #5737: Adds telemetry for open links in a private tab (#5975) 5 years ago
ekager f49331de55 For #5544: Bare Minimum Logins UI 5 years ago
Sebastian Kaspari b3ce0b421b Update to Mozilla Android Components 19.0.0-SNAPSHOT. 5 years ago
Sebastian Kaspari 9543f38978 Use new toolbar API of AC 18.0.0. 5 years ago
Sawyer Blatz 2cba624609
No issue: Fixes string issues for l10n (#6158)
Issues found here: https://github.com/mozilla-l10n/android-l10n/pull/89
5 years ago
Severin Rudie aa8642f534
#4596 migrate collections (#5911)
* For #4596: move code from CollectionCreationComponent to CollectionCreationStore

Other than adding comments, no changes were made. The code will be updated in a following commit. This is in order to make the commit diff more readable.

* For 4596: update CollectionCreateStore to libstate

* For 4596: copied CollectionCreationUIView into CollectionCreationView

Otherwise, no code was changed. The next commit will update this code. This is in order to make the commit diff more readable.

* For 4596: update CollectionCreationView to LibState

Note that the minimal changes possible to enable migration were made.  Refactoring will happen in a later commit.

* For 4596: updated CollectionCreationTabListAdapter to work with the new View

* For 4596: updated SaveCollectionListAdapter to work with the new View

* For 4596: implemented CollectionCreationController

For now, it has an identical interface to the interactor. In a later commit several of its responsibilities will be moved around, some to the interactor and some to the reducer

* For 4596: copied over previous reducer code

No other changes were made. The code will be updated in the following commit. This is done to make changes more readable for the reviewer

* For 4596: update reducer code param names

Otherwise, no changes at this time

* For 4596: add arguments to CreateCollectionFragment in nav_graph

These will be used to replace the current CreateCollectionViewModel, which shares data between fragments in a way that doesn't fit within our architecture.

* For 4596: pass arguments to collection via transaction instead of VM

The VM will be removed in a later commit

* For 4596: update BrowserToolbarController to share state to collection via its Direction

* For 4596: removed CreateCollectionViewModel

* For 4596: test tab retrieval in CreateCollectionFragment

* For 4596: fix crashing CreateCollectionFragmentTest

* For 4596: removed classes create collection classes used by old architecture

* For 4596: collection interactor rename + kdoc

* For 4596: moved collection interactor interface

* For 4596: renamed CreateCollectionFragment

All related classes followed the pattern of CollectionCreationX

* For 4596: kdoc CollectionCreationController

There's no effective difference between these calls and their interactor equivalent, so I linked to them

* For 4596: fix bug that caused rename to not work

* For 4596: removed unused collection actions

These were unused before the LibState refactor

* For 4596: kdoc StepChanged

* For 4596: removed todos about moving logic to the reducer

saveTabsToCollection: this could be moved, but that would involve creating a new action. SaveCollectionStep should probably be refactored out, so adding this layer of indirection seemed counterproductive

handleBackPress: needs to be able to call dismiss(). The reducer doesn't (and shouldn't) be able to do that, so this needs to live here

stepBack: called by handleBackPress. See above

* For 4596: wrote tests for CollectionCreationController#stepback

* For 4596: fixed tests broken by changes to collections

* For 4596: small readability refactor for CollectionController#stepBack

No change to functionality (see tests)

* For 4596: broke apart CollectionView#update

There's probably a lot more that could be done here, but smaller changes were made to reduce scope

* For 4596: remove unnecessary todos

It looks like we don't follow the suggested pattern in this project

* For 4596: test CollectionCreationController#normalSessionSize

* For 4596: updated naming in CollectionCreationController per review
5 years ago
Tiger Oakes cbc449d3b6 Refactor asCamelCase to use string builder (#6141) 5 years ago
ValentinTimisica 485ccba189 Fixes #5323: Show a snackbar while browsing data is deleting. (#6105) 5 years ago
Tiger Oakes a598148b29 Fixes #5225 - Hide AuthCustomTabActivity 5 years ago
Grisha Kruglov 031f923273 Revert sessionScopeToken to fix broken QR pairing flow 5 years ago
MozLando 9d3dc2b6dc Merge #5775
5775: Closes #5233, don't display private-browsing-shortcut creation items if shortcut already exists r=NotWoods a=bswe

Closes issue #5233:

Added doesPrivateBrowsingPinnedShortcutExist() method to the PrivateShortcutCreateManager class to check for the existence of the shortcut.  Code only works on devices with API 25 or higher, so a check for that condition was also included in the new method.

Calls to the new method were added to the SettingsFragment and HomeFragment classes to determine whether the settings menu item and the recommendation dialog should be displayed.

**Quality**: The pre-push test failed to start on my windows 10 OS, but this code has been thoroughly tested manually on simulators and physical devices.

**Tests**: This code only effects UI appearance so not sure how to test for that and no tests were written.

**Screenshots**: This code does not add anything new to the UI, it only controls whether to display existing items.

Co-authored-by: bswe <bbollenbacher@mindspring.com>
5 years ago
ekager 663126f696 No issue: Remove black flash workaround 5 years ago
bswe a570b910c2 Reformatting to simplify use of .any construct as suggested in review 5 years ago
bswe 6bc5d96f92 Reformatting to use .any construct as suggested in review 5 years ago
bswe 052695ffa1 Issue #5233: Minor modifications suggested in code review. 5 years ago
bswe dcebd83e9f Issue #5233: Added doesPrivateBrowsingPinnedShortcutExist function to determine whether a shortcut already exists (only available in API >=25). 5 years ago
MozLando 8e4d7248ac Merge #5908
5908: Closes #5876: Removed @ObsoleteCoroutinesApi in tests r=sblatz a=shldhll


### Pull Request checklist
<!-- Before submitting the PR, please address each item -->
- [x] **Quality**: This PR builds and passes detekt/ktlint checks (A pre-push hook is recommended)
- [ ] **Tests**: This PR includes thorough tests or an explanation of why it does not
- [ ] **Screenshots**: This PR includes screenshots or GIFs of the changes made or an explanation of why it does not
- [ ] **Accessibility**: The code in this PR follows [accessibility best practices](https://github.com/mozilla-mobile/shared-docs/blob/master/android/accessibility_guide.md) or does not include any user facing features

### After merge
- [ ] **Milestone**: Make sure issues finished by this pull request are added to the [milestone](https://github.com/mozilla-mobile/fenix/milestones) of the version currently in development.

### To download an APK when reviewing a PR:
1. click on Show All Checks,
2. click Details next to "Taskcluster (pull_request)" after it appears and then finishes with a green checkmark,
3. click on the "Fenix - assemble" task, then click "Run Artifacts".
4. the APK links should be on the left side of the screen, named for each CPU architecture

Co-authored-by: shldhll <iam.shldhll@gmail.com>
5 years ago
MozLando f66b9f3e8f Merge #5633
5633: Add fxa/sync integration tests r=csadilek a=isabelrios

 Pull Request checklist
<!-- Before submitting the PR, please address each item -->
- [x] **Quality**: This PR builds and passes detekt/ktlint checks (A pre-push hook is recommended)
- [x] **Tests**: This PR includes thorough tests or an explanation of why it does not
- [-] **Screenshots**: This PR includes screenshots or GIFs of the changes made or an explanation of why it does not
- [-] **Accessibility**: The code in this PR follows [accessibility best practices](https://github.com/mozilla-mobile/shared-docs/blob/master/android/accessibility_guide.md) or does not include any user facing features

This PR tries to add new tests, sync integration tests, to check the sync process Desktop<->Fenix, first for Bookmarks and in the future for more.

Co-authored-by: Isabel Rios <isabelrios@mackbookirios.home>
Co-authored-by: isabelrios <isabelrios@gmail.com>
5 years ago
Sawyer Blatz 980b11610b For #5094: Adds telemetry for show search shortcuts 5 years ago
Grisha Kruglov 17d183ea0b Closes #5913: Add new sessionToken scope 5 years ago
shldhll 8e17ac05b1 Optimized imports. Closes #5876 5 years ago
shldhll f907ec52f0 Removed ObsoleteCoroutinesApi in tests. Closes #5876 5 years ago
Jeff Boek ed239ec250 For #373 - Integrate leanplum-fcm 5 years ago
Christian Sadilek 7552bacb32 For #778: Follow-up to fix find in page 5 years ago
Emily Kager f9afd97a68 For #1901 - Get rid of black flash when leaving GV Engine 5 years ago
Tiger Oakes 6ec0d46f6b Closes #394 - Trusted Web Activities (#5391) 5 years ago
Tiger Oakes 78bc829735 Closes #778 - Progressive Web Apps! (#4914) 5 years ago
isabelrios 0e3148f0da fixing more reviewers comments 5 years ago
Isabel Rios 44f4cedefd Add fxa/sync integration tests
fixing Jenkins path to tests and clean tests

commenting future tests and adding doc with info about the tests
5 years ago
Colin Lee b7647a454f
For #5599: Remove dependency on fetch_httpurlconnection (#5716)
* For #5599: Remove dependency on fetch_httpurlconnection

* For #5599: Switch Glean to GeckoViewFetchClient

* Use existing Gecko client for Glean
5 years ago
Sawyer Blatz e8216e3079
For #5094: Adds telemetry for suggestion toggles (#5704) 5 years ago
Sawyer Blatz 785b8b9519
For #5567: Removes search shortcuts button (#5739)
* For #5567: Removes search shortcut button

* No issue: Simplifies logic for displaying shortcuts
5 years ago
Michael Droettboom a250241523 1585250: Initialize metrics off of the main thread 5 years ago
Grisha Kruglov a4097cd380 FxA WebChannels integration
This patch includes:
- WebChannels support enabled by default, with ability to disable it via remote flag
- expanded FxA telemetry (closes #4971)

Co-authored-by: Arturo Mejia <arturomejiamarmol@gmail.com>
5 years ago
Chenxia Liu 8f97d247a6 For #235 - Add Glean crash count + docs. 5 years ago
Sawyer Blatz a38b73f19e Fixes #5653: Removes crash with null campaign 5 years ago
mcarare 64923978e6 For #1071 Added Desktop Mode icon 5 years ago
Sawyer Blatz 7f328a6dc4
For #1298: Adds adjustCampaignId to core ping (#5579) 5 years ago
Sawyer Blatz 6babf72352
For #5197: Adds telemetry for media notification (#5520) 5 years ago
Sawyer Blatz 11baabb63a No issue: Updates fact mapping to use enums 5 years ago
Christian Sadilek ac2611d744 Upgrade to A-C 15.0.0-SNAPSHOT (incl. required changes) (#5578)
* Upgrade to Mozilla Android components 15.0.0-SNAPSHOT

* Update findinpage integration to use browser-state

* Use new UseCases APIs after download migration.
5 years ago