Commit Graph

5973 Commits (bb632c7b3bce2c6311b20f588644db9cc7df6bcc)

Author SHA1 Message Date
Arturo Mejia ce0fc5b1af For #20871 mark strings for removal 3 years ago
Elise Richards 41825022e7
For #19931: Add telemetry probes for recent bookmarks on home screen (#20316)
* Add telemetry probes for recent bookmarks on home screen. Tests for controller.

* Make the events into counters in the metrics ping

Update tests to reflect new metrics

Add data review link for new metrics

Mock new settings for startup metrics tests

Update metrics

Add test for recent bookmark glean events

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

For tracking when an inactive tab is opened / closed I've repurposed the
existing tabs tray telemetry (since the functionality uses the same code)
- tabs_tray.opened_existing_tab
- tabs_tray.closed_existing_tab
to support an extra "source" key indicating the feature from which a tab was
opened or closed. The current values for this new key are:
- "Tabs tray" for when a tab was opened/closed from tabs tray
- "Inactive tabs" for when a tab was openes/closed from the Inactive tabs
section of the tabs tray.
3 years ago
Mugurell 0fa9363f99 For #17917 - Remove the Kotlin synthetics Lint detector
Since all usages of Kotlin synthetics are removed and no such code is generated
anymore there is no need to keep around this Detector anymore.
3 years ago
Mugurell cb32b1437e For #17917 - Remove the `kotlin-android-extensions` plugin
This means no code will be generated by Kotlin Android Extensions for caching
views and also for @Parcelize annotated classes.

As recommended in the official documentation
https://developer.android.com/topic/libraries/view-binding/migration#gradle
we need to switch on using `kotlinx.parcelize.Parcelize` instead of
`import kotlinx.android.parcel.Parcelize`

For #17917 - Remove the `kotlin-android-extensions` plugin

This means no code will be generated by Kotlin Android Extensions for caching
views and also for @Parcelize annotated classes.

As recommended in the official documentation
https://developer.android.com/topic/libraries/view-binding/migration#gradle
we need to switch on using `kotlinx.parcelize.Parcelize` instead of
`import kotlinx.android.parcel.Parcelize`
3 years ago
Mugurell 621c388c12 For #17917 - Finish migrating all synthetics usages 3 years ago
codrut.topliceanu 5e13ead750 For #20328 - Adds telemetry for recentlyClosed button
...from tabsTray, inactiveTabs section.
3 years ago
Oana Horvath 84767f84ea For #20716: re-enables mainMenuInstallPWATest UI test 3 years ago
Oana Horvath 9920cbeb1d For #20868, #18764: Update Tracking Protection UI tests 3 years ago
Grisha Kruglov 6161dc6e8d Closes 20975: Run metadata cleanup after Megazord.init()
This ensures that we do not attempt places initialization before
Megazord.init() finishes, and that touching BrowserStore does not
kick-off places initialization (due to the `cleanup` call being a
side-effect of creating metadata middleware, used as part of the
BrowserStore).

Glean initialization happens before initialize megazord, and it touches
core.store BrowserStore instance, kicking-off places initialization on
an IO thread (due to the cleanup call), which raced megazord
initialization on the main thread.

App init sequence is a bit of a mine-field, so this patch takes the easy
way out and doesn't attempt to re-order initialization sequence. Also,
initializing places as a side-effect of touching BrowserStore was also,
clearly, a bug.
3 years ago
codrut.topliceanu 7070bb5607 For #17917: Use View binding in add-ons 3 years ago
Mugurell 05f74eb620 For #20586 - Put everything behing a secret setting
Not ready for prime-time. Lot of work still to be done.
3 years ago
Mugurell 6ae8c90f41 For #20586 - Basic Jetpack Compose implementation.
This is just the basic skeleton for the feature.
3 years ago
Arturo Mejia 4f163e18e7 For #20892 update connection icons in quick settings 3 years ago
mcarare 83b752afef For #20927: Replace icons with AC icons. 3 years ago
rxu f88be38796 Use armeabi-v7a version code for MozillaOnline builds 3 years ago
Arturo Mejia ffad73d646 For #20919 quite the app when turning on/off experiments 3 years ago
Rohan Maity 707918cdc1 For #20596 remove startup timeline probes 3 years ago
Jonathan Almeida 7915ef8f3f Close #20945: Fix failing test in AccountSettingsInteractorTest 3 years ago
Jonathan Almeida 693fbef88d Speculative fixes intermittent test in DeleteAndQuitTest 3 years ago
Arturo Mejia d3019986a4 For #20919 quit the after removing a study. 3 years ago
codrut.topliceanu bf5b4a5655 For #17917: Use View binding in tabs tray 3 years ago
Mugurell 69fa9abdd2 For #17917 - Migrate `home` from Kotlin synthetics to View Binding. 3 years ago
Mugurell ff4669a759 For #17917 - Migrate `browser` from Kotlin synthetics to View Binding. 3 years ago
codrut.topliceanu 34e063669a For #17917: Use View binding in Login Exceptions 3 years ago
rxu c82af0a97a Add event ping telemetry for the Baidu top site click 3 years ago
Grisha Kruglov fc7a92bf10 Enable recording of history metadata for all builds
This allows recording part of history metadata to ride the trains.
The UI features are still guarded by the secret settings flag (or,
enabled on debug builds).
3 years ago
Arturo Mejia 8b4190a429 For #20890 when TP is off globally hide TP section on quick settings. 3 years ago
Roger Yang 6855295b61 Restore unused string tab_collection_dialog_negative 3 years ago
Grisha Kruglov 4b01846ab0 Closes #20901: Do not record viewTime observations when we do not have a set lastAccess
The bug here was that we'd try to record `now - 0` as a viewTime delta.
This isn't just an obviously wrong value to record, but it will also
overflow our storage - we'll end up with a value on disk that doesn't
fit into an i32, but HistoryMetadata.total_view_time is i32 in our Rust
struct. Once that happens, reads that touch this bad row will result in
an overflow and a crash.
3 years ago
Roger Yang c9b2f9e866 Issue #2783: Add snackbar to collection deletion 3 years ago
codrut.topliceanu 77e12f9014 For #20716 - Disables Intermittent failing UI test 3 years ago
Sebastian Kaspari 8be900392b metrics.yaml: Add data review URL for Android Autofill metrics 3 years ago
Roger Yang 64cd72871f Update Android Components version 3 years ago
Jonathan Almeida ef036f3ca9 Issue #20864: Speculative fix for HomeFragmentTest failures 3 years ago
codrut.topliceanu 20c9a247f5 For #17917: Use View binding in tracking protection(2) 3 years ago
Michael Comella f74e63ceae For #20824: use fast service loader for MainDispatcherFactory.
For details on the root cause, see the commit. We replaced the similar
proguard rules because:
- the key line was returning false instead of true
- the other line had the same outcome as the written code. I believe it
  was a micro-optimization. Since perf seems fine without it, let's
  remove it

I benchmarked this change on COLD MAIN first frame. We see an
improvement of 89ms:
- before: 1346ms
- after: 1257ms
3 years ago
codrut.topliceanu c52b6615e5 For #17917: Use View binding in Share views 3 years ago
codrut.topliceanu 7acd6997f6 For #17917: Use View binding in Onboarding Tests 3 years ago
Arturo Mejia 215ef9d46b For #19886 use block color on disabled permissions 3 years ago
Mozilla L10n Automation Bot 45daeb128a Import l10n. 3 years ago
Jonathan Almeida 0090381663 Close #20796: Additional fixes for intermittent failing test
Fixes for TrackingProtectionExceptionsInteractorTest to remove the lamba
mocking and test actual BrowserState changes instead (where possible).
3 years ago
Arturo Mejia 512475df9e For #19886 integrate view binding. 3 years ago
Arturo Mejia fd8e6a9c27 For #19886 fix ui tests 3 years ago
Gabriel Luong d1b9744069 For #19886 - Add a back navigation to the Global Quick Settings from the Tracking Protection dialog 3 years ago
Arturo Mejia 34d99f89ac For #19886 - Improve quick setting dialogs navigation 3 years ago
Gabriel Luong 4b2b058b4e For #19886 - Remove tracking protection overlay CFR 3 years ago
Gabriel Luong dbb6819e7d For #19886 - Use the new "Details" text for navigating to ETP details 3 years ago
Arturo Mejia 07bb1113f8 For #19886 - Add connection sub-menu. 3 years ago
Gabriel Luong 63368779df For #19886 - Add favicon to website info view
Co-authored-by: Arturo Mejia <arturomejiamarmol@gmail.com>
3 years ago
Gabriel Luong a535a8d031 For #19886 - Add right arrowheader to tracking protection navigators 3 years ago
Gabriel Luong 61dfb40339 For #19886 - Handle toggling tracking protection in quick settings 3 years ago
Gabriel Luong cad0e110dd For #19886 - Add navigation from quick settings to tracking protection panel 3 years ago
Gabriel Luong 465f553ea8 For #19886 - Remove the tracking protection indicator 3 years ago
Mozilla L10n Automation Bot fd1890090c Import l10n. 3 years ago
Jonathan Almeida bd665e2f7e Close #20853: Fix intermittent failing test in HomeFragmentStoreTest 3 years ago
Jonathan Almeida 29b6bab435 Update TabSessionState.createdAt for inactive tabs debugging 3 years ago
Arturo Mejia 22e9e067a1 For #20764 separate learn more string 3 years ago
Sebastian Kaspari b4bcaa0bd3 Android Autofill: Use AppCompat theme for UnlockActivity. 3 years ago
Arturo Mejia eb490a898c Remove duplicated line in TabsSettingsFragment 3 years ago
Sebastian Kaspari 2b53df2ed4 Use theming in debug screen. 3 years ago
Jonathan Almeida 5c328f9616 Close #15168: Remove intermittent failing test in ToolbarViewTest
This test seems to be hacking at the binding between Fenix and the
BrowserToolbar to simulate toolbar events passing to the Fenix
interactor.

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

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

So therefore.. 🔥
3 years ago
Jonathan Almeida 708f024d07 Close #20796: Fix intermittent test failure in TrackingProtectionExceptionsInteractorTest 3 years ago
Jonathan Almeida 0f35700e00 Close #20795: Speculative fix for intermittent test failures in HomeFragmentTest
The expectation is that replacing `return` with `answers` will compute
the return value for the extension function again in order to avoid the
error, "no answer found for: Settings".
3 years ago
Jonathan Almeida 0556e6b1c4 Close #20797: Fix intermittent test failures in ShortcutsSuggestionProviderTest 3 years ago
Jonathan Almeida 545a59ac97 Close #20792: Fix intermittent test failures in QuickSettingsFragmentReducerTest 3 years ago
Aaron Train 5ff2c21849
Filter out test target packages in Flank-x86 (#20841)
* Filter out test target packages in Flank-x86
* Ignore verifyRunBlockingAndStrictModeSuppresionCount
3 years ago
Michael Comella 667ef89220 No issue: move kotlin-allopen outside appVariants loop.
The kotlin-allopen plugin could be getting applied for each variant we
have in the app. With the changed code, it will only get applied once.
3 years ago
Elise Richards ea56dd216b
Use header20 style on collections to match other home items. Add margin above collections. (#20633) 3 years ago
Jonathan Almeida 2426384a2e Update the description for an inactive tabs string 3 years ago
Steven Knipe 1f9b1fa0d5 For #4134 Add Forward Back Reload to Toolbar on Tablets 3 years ago
codrut.topliceanu f2862eef6a For #20098: Allow PB PiP video screenshots
...when `Allow screenshots in private browsing` is enabled
3 years ago
Rohan Maity c45703db07 For #20596 remove perf.startup probes 3 years ago
Arturo Mejia 463728e007 For #20764 add screen for opting out of experiments 3 years ago
Arturo Mejia 71f1f6b88b Disable intermittent tests. 3 years ago
Arturo Mejia 823c89f4ff For #20672 crash when attempting to disconnect from Mozilla account 3 years ago
codrut.topliceanu 94cf03a1ca For #17917: Use View binding in history screens 3 years ago
codrut.topliceanu 6a1efacf3a For #17917: Use View binding in collections 3 years ago
Vitaly V. Pinchuk 5093e7a5d6 Dismisses search dialog if active in (RecentTabsHeaderViewHolder, RecentBookmarksViewHolderTest) and adapts test for the changes. 3 years ago
Michael Comella cc380695b8 No issue: remove unnecessary robolectric annotations.
Theoretically, this should marginally decrease the duration of our unit
test suite. In my testing, for 1 iteration each (i.e. noise is very
possible), the duration changed from 9m 32s to 8m 21s – a 71s
improvement.

---

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

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

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

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

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

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

Jump back in show all button is clickable behind search dialog

Recently saved bookmarks show all button is clickable behind search dialog

* Add feature flag

* Past explorations show all button is clickable behind search dialog

Handle keyboard in controllers instead of viewholders. Update tests.

Allow collections to be visible behind search dialog

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

Verify navigateUp in tests

Adding ignore for flaky UI test

Only resize home behind search dialog

Add ignore for collection intermittent test

Cleanup
3 years ago
codrut.topliceanu 003a2ce81a For #17917: Use View binding in downloads screen 3 years ago
mcarare 55ccfda759 For #20425: Re-add tests for class BookmarksUseCaseTest. 3 years ago
AndiAJ 7a02db22c3 Start on home UI tests 3 years ago
Mozilla L10n Automation Bot 1c9af7c24a Import l10n. 3 years ago
Mozilla L10n Automation Bot 642dd517f9 Import l10n. 3 years ago
Jonathan Almeida 8c975c6646 Close #20726: Fix intermittent failure in AddonsManagementViewTest 3 years ago
Jonathan Almeida 5442798b38 Issue #20718: Show url if title is missing for inactive tabs 3 years ago
Elise Richards 70068ee39b Correct search_count telemetry after revert 3 years ago
Roger Yang 3becd30139 Closes #20723: Fix credit card management fragment binding 3 years ago
Michael Comella 4c6566a0d2 Closes #20697: replace mockked lambda in DownloadControllerTest.
This is expected to fix the intermittent failure in this test.
3 years ago
Michael Comella 3994747be9 Closes #20679: revert allowaccessmodification proguard disabling.
We disabled the allowaccessmodification proguard option because it broke
functionality or crashed the app (I can't rememeber). As far as we know,
the R8 bug was fixed in the R8 bundled with the Android Gradle Plugin
v4.1. We're now on AGP v7.0.0-rc1 so we should be able to revert this
now.

This commit reverts the following commits:

Revert "Proguard/r8: Do not allow access modification."
This reverts commit 98bf27fdd4.

Revert "Dump `proguard-android-optimize.txt` into local configuration for later modification"
This reverts commit 88fe3fbf82.
3 years ago
Jonathan Almeida 31081073e9 Issue #19956: Add telemetry for tab view setting changes
This differs from `tab_view_setting` which tells us what the user's tab
setting is at startup. It does not tell us if the user explicitly
changed it instead of just using the default (which was recently
changed in #19809).
3 years ago
Christian Sadilek 01555c2bea
Update Android Components version to 92.0.20210806164329 (#20722)
Addresses breaking change in ShortcutsSuggestionProvider
3 years ago
codrut.topliceanu f9d6380ab3 For #17917: Use View binding in bookmarks screen 3 years ago
Jonathan Almeida d6bc93981d Issue #20663: Make inactive card collapsible
We use make the inactive tabs section of the tabstray collapsible in
this change, with a technical quirk: we want to make the "isExpanded"
state of the tabs stay for the lifetime of the app and not the tabs
tray, but this functionality does not exist.

In this patch, we're storing the UI state in a singleton class that
exists for the lifetime of the app, but a more concrete solution is to
use an AppStore that holds content like this, which we can land in a
future patch.
3 years ago
Mugurell 0bc64e8ca8 For #17917 - Add a Kotlin synthetics Lint detector
This would help ease the current refactoring effort by ensuring no new
synthetics usages.
3 years ago
codrut.topliceanu 4b21f52db4 For #20310 - Adds Recently Closed button to tabsTray 3 years ago
Grisha Kruglov ec98db4e54 External source support
Adds handling of information about external referrer (package, category)
when dealing with external intents.
3 years ago
Roger Yang 2ac5a38120 Revert "For #18711: Telemetry for credit card autofill (#19548)"
This reverts commit e0b410efdf.
3 years ago
Roger Yang 2ed4115a6c Revert "For #18711 - Refactor credit card telemetry under the Metrics ping (#19733)"
This reverts commit 172a118a51.
3 years ago
Mozilla L10n Automation Bot 691c751db8 Import l10n. 3 years ago
Mugurell 3a33f65bc0 For #20584 - Speculative fix for ToolbarViewTest failing in CI
There was an `java.lang.InstantiationError: kotlin.jvm.functions.Function1`
stemming from line 75. See if avoiding nullability helps.
3 years ago
Mugurell 27d3a3f0dd For #20584 - Use CombinedHistorySuggestionProvider for history suggestions
This should ensure user is always presented with history results for his
searches.
3 years ago
Mozilla L10n Automation Bot 356fd2e029 Import l10n. 3 years ago
Jonathan Almeida ca51ac6168 Issue #20664: Do not consider newly created tabs as inactive 3 years ago
Jonathan Almeida dcd7deffc4 Close #20674: Remove elevation from inactive tabs card 3 years ago
Sebastian Kaspari 145f1898f1 Enable Android Autofill in Beta builds. 3 years ago
mcarare 066f9d7f5d For #20601: Use View binding in quick settings. 3 years ago
Mozilla L10n Automation Bot fb7af3cdb6 Import l10n. 3 years ago
Arturo Mejia 0b43eb879e For #19970 [Crash] IllegalStateException when navigating to TP panel 3 years ago
Christian Sadilek 56d4e7a72d Fix intermittent test failures in ToolbarViewTest 3 years ago
Roger Yang c55c252f9a Closes #20650: Revert to manually close tab as default setting 3 years ago
Arturo Mejia 525e5e7c25 For #20601: Undo Use View binding in quick Settings. 3 years ago
Michael Comella 1963d502c7 Closes #20461: remove app_received_intent probe. 3 years ago
Sebastian Kaspari 1cc4ae9ab2 Fix UI tests: SettingsPrivacyTest, DeepLinkTest. 3 years ago
Sebastian Kaspari 7fed8b4ab5 Add preference for enabling/disabling Android Autofill from within the app. 3 years ago
Sebastian Kaspari 4774f8396b Add dialog-like theme for AutofillSearchActivity 3 years ago
Michael Comella 9889f478ef Closes #20631: remove @Ignore on StorageStats tests.
The errors that caused this to be @Ignored were addressed by a recent PR
landing on master (i.e. the one that renewed the probes this test is
testing).
3 years ago
Sebastian Kaspari 8857a79ca8 Fix intermittent test failures in TabsTouchHelperTest 3 years ago
Mozilla L10n Automation Bot bc220ec85f Import l10n. 3 years ago
Sebastian Kaspari d0a63754c2 Fix intermittent test failures in DefaultBrowserToolbarControllerTest 3 years ago
Sebastian Kaspari ef3ef87ce2 Fix intermittent test failures in DefaultSessionControlControllerTest. 3 years ago
Michael Comella c6a4d0afed Closes #20627: replace mocked lambda in HistoryItemMenuTest.
This will prevent intermittent failures with Java 11.
3 years ago
Michael Comella 700033ee76 For #20518: disable metrics we don't want to renew. 3 years ago
Michael Comella 296dc9c116 For #20518: link to data renewal request. 3 years ago
Michael Comella bbd80b98ea For #20518: renew perf telemetry probes (August expiry).
I used eliserichards' PR https://github.com/mozilla-mobile/fenix/pull/20519 to
renew more easily.
3 years ago
Elise Richards 7fdade49ec
No issue: fix glean metrics tests for expired metrics (#20621)
* Remove references to preferences.open_links_in_private and preferences.private_search_suggestions in tests. These metrics have been expired and may be removed.

* Add ignores for performance metrics that have expired.

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

* Remove metrics controller from signature and remove in tests
3 years ago
fevziomurtekin a80b7fa329 For issue: #16396 Fix text contrast ratio on "recently closed tabs" 3 years ago
Jonathan Almeida 69d630f46c Issue #20349: Add inactive tab grouping to tabs tray 3 years ago
Jonathan Almeida f8945b3720 Issue #20590: 'Jump back in' should obey feature flags 3 years ago
Christian Sadilek 6f3d21b48d Issue #20533: Fix intermittent test failures of DefaultCollectionCreationControllerTest 3 years ago
Rohan Maity 150a5a739e #7346 update lint-baseline.xml and remove activity_addons.xml as unused resource 3 years ago
Gabriel Luong 0f861236c1 Add history metadata feature to the settings menu 3 years ago
Christian Sadilek 1de7e22080 Issue #20533: Fix intermittent failures of DefaultSessionControlControllerTest 3 years ago
Gabriel Luong cbe79d78cc Add more context for the Past Exploration localization comment 3 years ago
Christian Sadilek 27a7396a42 Keep history metadata for 14 days 3 years ago
Sebastian Kaspari 51cec928b2 Fix intermittent test failures of ModeTest 3 years ago
Sebastian Kaspari 971b419d77 Run ktlintFormat to adapt to latest formatting rules. 3 years ago
Sebastian Kaspari 24e9f64cff Add telemetry for Android Autofill feature. 3 years ago
Christian Sadilek 8fd409b721 Fix intermittent test failures of LoginExceptionFragmentStoreTest 3 years ago
Christian Sadilek 0cd08dc9b1 Issue #20533: Fix intermittent test failures of ExceptionsListItemViewHolderTest 3 years ago
Christian Sadilek 9d92e61ff4 Issue #20533: Fix intermittent test failures in SearchDialogControllerTest 3 years ago
Christian Sadilek 58e8cdfedb Issue #20533: Fix intermittent failures of DefaultTabsTrayControllerTest 3 years ago
mcarare cca7892e91 For #17917: Use View binding in settings screens. 3 years ago
Mozilla L10n Automation Bot 84d9f272af Import l10n. 3 years ago
Elise Richards a901341259
For #20516: Renew product telemetry probes expiring in August (#20517)
* Renew product telemetry probes expiring in august 2021

* Add placeholder for data reviews

* Allow unneeded metrics to expire in August. To be re-evaluated later.

* Add link to data review

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
3 years ago
mcarare 26e41be02e For #19955 #20393: Add telemetry for home screen recent tabs. 3 years ago
Christian Sadilek fbd9221c0c Fix intermittent test failures in WebPushEngineIntegrationTest 3 years ago
Christian Sadilek b3f5c87585 Fix intermittent test failures in FenixSnackbarKtTest 3 years ago