Commit Graph

1016 Commits (fd8e6a9c2786df9d26d13c7bb48a493249412d7d)

Author SHA1 Message Date
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 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
mcarare 1f96887f96 For #12528: Provide fallback values for locale display name. 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
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
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
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
mcarare 2ead66f5c2 For #18102: Temporary ignore failing test. 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
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
Sebastian Kaspari fc80dbfb57 Update Kotlin to 1.4.30 and Coroutines to 1.4.2. 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
Sebastian Kaspari 9b65e63422 Closes #18006: DefaultSessionControlControllerTest: Correctly unmock SearchStateKt class.
The test class left SearchStateKt mocked and caused other tests to fail intermittently when
running after it.
3 years ago
Christian Sadilek 5a5cf9cd12 Refactor BrowserToolbarController to use browser store 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 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
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
Roger Yang 8dfa4525ca
Fix OpenSpecificTabIntentProcessorTest to remove AbstractMediaService (#17955) 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
Roger Yang 993cf74e72
Closes #17174: Remove the New Media Session API Feature Flag (#17863) 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
hwinnemo c488bb0e11 For #17724: Wait for tab to be fully created before showing ETP Onboarding if ETP is active 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
Christian Sadilek 3dc638700f Refactor tryReloadTabBy to use browser store 3 years ago
Roger Yang d434ff13a5
For #17092: Dismiss toolbar menu when configuration change occurs (#17682) 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
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
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
Christian Sadilek 87d6f32374 Refactor HomeFragment to use browser store 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
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
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
mcarare 633bf384e2 For #17044: Explicitly set a new default engine when default is deleted. 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
Christian Sadilek d8c5f8887a Refactor OpenSpecificTabIntentProcessor to use browser store 4 years ago
Christian Sadilek f96fdc34eb Refactor CrashReporterFragment to use browser store 4 years ago
Christian Sadilek eb4beb252f Remove unused SessionManager reference from RecentlyClosedController 4 years ago
Sebastian Kaspari fb64c7c076 SearchDialogController: Pass tab ID instead of Session instance. 4 years ago
Arturo Mejia b9bdc288cb For issue: #16846 Add ui for controlling exceptions for auto play 4 years ago
Sebastian Kaspari 0035417616 Add unit tests for FennecWebAppIntentProcessor. 4 years ago
Arturo Mejia a6495347fd For issue #17457: Prevent page refresh when tapping the security icon 4 years ago
mcarare 8fa83a7bab For #10417: Improve reload collection tab testing. 4 years ago
mcarare edcee71287 For #17400: Select tab opened from collection. 4 years ago
Christian Sadilek 978b555387 Closes #17443: IllegalStateException in startPostponedEnterTransition on HomeFragment 4 years ago
Christian Sadilek 53f77e422b Closes #17441: NPE when invalidating toolbar in response to reader changes 4 years ago
Arturo Mejia 00d971e9d3 For #16847: Allow autoplay to controlled via the toolbar. 4 years ago
Sebastian Kaspari 0761f391fc Update to latest feature-intent and feature-recentlyclosed APIs (and update Android Components). 4 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.
4 years ago
Mugurell 484f167714 For #16249 - ClipboardHandler cleans up returned text 4 years ago
mcarare d110464a91 For #17117: Use proper custom tab session for custom tab toolbar menu. 4 years ago
Arturo Mejia 0aa44c93cd Closes issue #16945 Refactor TrackingProtectionOverlay to observe session via store. 4 years ago
Christian Sadilek 9a53054b28 Use new RestoreUseCase in A-C to handle tab timeouts 4 years ago
Arturo Mejia 743ba6918f Closes issue #16944 Refactor TrackingProtectionPanelDialogFragment to observe session via store. 4 years ago
Roger Yang afa0454f2b
Closes #16603: Disable pull down when in fullscreen (#17314) 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
Christian Sadilek 801ce85898 For #17073: Stop observers after test run 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
Christian Sadilek 7a01fcbfa9 Closes #17073: Fix intermittent failures in PwaOnboardingObserverTest 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
mcarare e24ec1c941 For #16068: Update SUMO links. 4 years ago
Christian Sadilek 5157a3f50e Closes #17045: Crash caused by calling consumeFlow on wrong thread 4 years ago
Christian Sadilek d8f3127e08 Closes #16946: Refactor PwaOnboardingObserver to use browser store 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
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
ekager 1ca34a2bc9 For #16807 - Make sure there's only one instance of search dialog 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
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
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
Christian Sadilek 3722033a5c For #16032: Support installing recommended add-ons from AMO 4 years ago
Roger Yang 26051f7c0e
Closes #16603: Disable pull down refresh when activity is in immersive mode (#16793) 4 years ago
Sebastian Kaspari 57ebc0cb99 ExternalAppBrowserActivity: Add additional test cases. 4 years ago
ekager d49d710343 For #16676 - Do not switch mode on last private tab via tab context menu 4 years ago
mcarare de1fa74ac1 For #16353: Add unit tests for onboarding finishing conditions. 4 years ago
Sebastian Kaspari 2b759e9d6f Integrate new search code from Android Components into Fenix. 4 years ago
ekager b7fe809ae4 For #16351 - Make homescreen interactive when search dialog is up 4 years ago
Jonathan Almeida cebab81e07
Update Android Components to 67.0.20201117165227 (#16619) 4 years ago
Mugurell ef5846dc3e
For #16614 - Ensure a stable order for the items in tabs tray. (#16618)
Items should follow the following ordering:
- current session open tabs
- collections options - currently the "Select tabs" button
- synced tabs items

This order should also be kept after returning from Multiselect mode.
4 years ago
Christian Sadilek 1d5f74d865 Closes #16153: Intermittent failures of ShareControllerTest.handleShareToApp 4 years ago
Christian Sadilek fbbc25b54e Closes #16053: Fix crash when closing private tabs via notification 4 years ago
Jonathan Almeida 78715c3020
For #13477 - Move BiometricPrompt to a separate feature (#16498)
Instead of simply fixing the memory leak for this issue by directly
removing references, it makes more sense to move the whole
BiometricPrompt out of the fragment and into it's own feature to be
re-usable.
4 years ago
Michael Comella 94bbf90f3c No issue: move TestStrictModeManager to perf sub package. 4 years ago
Michael Comella e8bf955893 No issue: move StrictModeManager to perf package.
While StrictMode is not exclusively used for performance purposes, it's
primarily used for perf purposes so let's move it to the perf package
and code owner it.
4 years ago
Mugurell c6de8632de
For #16461 - Ensure the proper items order after exiting Multiselect (#16482) 4 years ago
ekager 1ed9ebf622 For #16132 - Rename normal mode menu item, remove telemetry 4 years ago
Gabriel Luong ebadbdb352
For #14920 - Show a Tabs Tray CFR Banner for grid view tip (#16466) 4 years ago
Kate Glazko 6c68e79a22 For #14772: Crash in Downloads 4 years ago
ekager a8db85fc22 For #16132 - Revise multiselect mode UI 4 years ago
Christian Sadilek 0fbc8410a4 Closes #16430: ExternalAppBrowserActivity should not handle incoming intents 4 years ago
Christian Sadilek 4abd399002 Closes #16327: Refactor MenuPresenter to use browser store 4 years ago
Michael Comella afa080c956 For #15279 - review: set LazyMonitored to private. 4 years ago
Michael Comella f37ace0630 For #15279: add LazyMonitored and tests. 4 years ago
Kate Glazko 0ae268914b For #352: Delete a download 4 years ago
Mugurell 88bfaaabe7
For #6521 - Remove auto sigin onboarding card (#16315)
With the Fennec -> Fenix migration complete there is no other Mozilla
application that would serve as a custom account provider hence the automatic
signin would not be possible.
Make this more obvious by commenting out the code that would trigger an
onboarding banner for it but keep the code in the app for when #15694 would add
to Fenix the ability to serve as a custom account provider.
4 years ago
Michael Comella bff8a0d6a7 No issue: make StrictMode suppression count thread safe. 4 years ago
Christian Sadilek d7688c8427 For #12062: Switch to consumeFlow and add tests 4 years ago
MarcLeclair 7b1af41b40
15278 detekt rule runblocking (#15942)
* For #15278: added CoroutineManager to count runBlocking calls

* For #15278: Added actual detekt rule for runblocking and its config to the yaml

* For #15278: Added unit test for RunblockingCounter

* For #15278: renamed StrictModeStartupSuppressionCountTest.kt to PerformanceStartupTest.kt and added runBlockingCount test

* Lint fix

* For #15278: made runblocking a Long to prevent overflow

* For #15278: fixed MozRunblocking name, description and moved RunBlockingCounter to perf package

* For #15278:Renamed MozillaRunblockingCheck to MozillaRunBlockingCheck

* For #15278: Added setup for unit test, since it failed without restting counter

* For #15278: Fixed naming for RunBlocking lint check

* For #15278: removed changes made to test to use runBlockingIncrement

* For #15728: added test exclusion for runBlocking check

* For #15278: changed null check and added Synchronized to count setter

* For #15278: fix for nits

* For #15278: added StartupExcessiveResourceUseTest to CODEOWNERS

* For #15278: fixed for nits

* For #15278: Moved increment function to extension function and fixed indentation

* For #15278: Added tests for Atomic Integer extension and nit fix
4 years ago
Roger Yang b65c798450
For #16268 - Allowing multiple task while sharing (#16275) 4 years ago
Jocelyne Abi Haidar 1b204158e5
For #15931: Sort Downloads from newest to oldest (#15939) 4 years ago
ekager 9bb3440fce No issue: Make sure we are cleaning up test coroutines 4 years ago
Mihai Adrian Carare 0ee7e1c28d
For # 15929: Remove the search widget discoverability experiment. (#16081)
* For #15929: Remove SearchWidgetCFR telemetry.

* For #15929: Remove SearchWidgetCFR and search widget experiment.

* For #15929: Remove unit tests references to search widget experiment.
4 years ago
mcarare 9748c65c71 For #15413: Use proper url when bookmarking a page. 4 years ago
Christian Sadilek 601aa19176 Closes #11285: Replace Session[Manager] observers in BaseBrowserFragment 4 years ago
mcarare 21a67de947 For #15379: Use proper url when sharing. 4 years ago
ekager d5cb9c599c
For #15910 - Adds back automatic toggle, disables slider when enabled (#16070) 4 years ago
Arturo Mejia dbe6dbb18c
For #16019 - Fix intermittent test failure TrackingProtectionPolicyFactoryTest (#16056) 4 years ago
Elise Richards 7e3c26914c
For #15080: Handle default search engine when editing or removing (#15768) 4 years ago
mcarare 5f01583f25 For #15688: Update unit tests. 4 years ago
Christian Sadilek c852301c93 Closes #11286: Add TelemetryMiddleware to remove Session[Manager] observers 4 years ago
Gabriel Luong 412b412d5f
For #15796 - show device language under follow device language (#15966) 4 years ago
Michael Comella 439dfc5cb1 For #15644: add comment for why we set the app theme in test. 4 years ago
Michael Comella 690554b5c6 For #15644: mock package inspection dependencies in GleanMetricsService.
The new robolectric version changed the behavior such that the app ID
that was returned for our app was `org.mozilla.fenix.debug` instead of
(I guess) `org.mozilla.fenix`. In general, relying on robolectric can be
fragile, such as this case, so it's better to mock. Also, this test
behavior should theoretically have varied between build flavors so
mocking prevents the tests from breaking across flavors.
4 years ago
ekager 2c7789b1a8 Sets theme in FenixRobolectricTestApplication onCreate 4 years ago
ekager e56043c485 For #15265 - Save cached top sites for metrics ping 4 years ago
ekager cbe293d3e4 For #12062 - Launch back to browser if we previoulsy had tabs 4 years ago
Mihai Adrian Carare 0e2657e262
For #14735: Remove debug logs from release build. (#15747) 4 years ago
Michael Comella a1bbd2589e For #10069 - review: change extra name to firstFramePreDrawNanos. 4 years ago
sraturi 8f16f9cb37 for #10069 added AppLaunchTimeMeasurement.kt to handle logic of startup time for cold, warm, and hot startup types. 4 years ago
ekager 881e3d6ccd For #14923 - Removes auto size preference toggle 4 years ago
Jonathan Almeida 666781aa62 Fix lint warnings and test in site permissions 4 years ago
Gabriel Luong ed3986662f For #15115 - Part 1: Convert the CloseTabsSettingsFragment to a general TabsSettingsFragment
- Renames CloseTabsSettingsFragment.kt to TabsSettingsFragment.kt
- Renames close_tabs_preferences.xml to tabs_preferences.xml
- Adds preference options for the switching between the Grid and List tab views
4 years ago
Michael Comella 7c0d00c800 No issue: fix tests related to inline change.
The difficulty in mocking StrictMode.resetAfter is concerning.
I'm starting to second-guess whether or not making strict mode manager a class
was a good idea.
4 years ago
Jonathan Almeida 23d9951e78 Upgrade to Android Component 62.0.20201006190820 with breaking changes 4 years ago
Michael Comella 50959d997e For #13959: add marker when StrictMode is suppressed. 4 years ago
Michael Comella 4a4edeb184 For #13959: count StrictMode suppressions on startup. 4 years ago
Jeff Boek 41a92a8d8b For #15593 - Reverts back to simple UUID creation without Fenix side caching 4 years ago
Grisha Kruglov 51dab196c4 Closes #15443: Use fragment's lifecycleScope for AlertDialog actions 4 years ago
Christian Sadilek ced92d69d1 Issue #15555: Set channel to Nightly explicitly for SettingsFragmentTest 4 years ago
Christian Sadilek 4a06e40e70 Closes #15555: Intermittent failures in SettingsFragmentTest 4 years ago
Sebastian Kaspari 2fda22e857 Revert "For #12565: Pass metrics to share controller" for debug test failures.
This reverts commit bbaca06274.
4 years ago
Sebastian Kaspari 4de466883b Revert "For #12565: Pass bookmark storage to controller" for debug test failures.
This reverts commit 3c22100b84.
4 years ago
Tiger Oakes acbad66f45 Add test for initial logins list state 4 years ago
Tiger Oakes f2a6aa4f25 Add tests for initial collection creation state 4 years ago
Tiger Oakes 3c22100b84 For #12565: Pass bookmark storage to controller 4 years ago
Tiger Oakes bbaca06274 For #12565: Pass metrics to share controller 4 years ago
Michael Comella 42cca072e2 For #13959: remove resetAfter & port tests to StrictModeManager. 4 years ago
Michael Comella dd73cb628b For #13959: clean up existing StrictMode test names. 4 years ago
Michael Comella f19c9920f9 For #13959: move resetAfter into StrictModeManager.
In a followup PR, we need to add state to strictModeManager (the
number of suppressions). This is much simpler to do when this is defined
as a class rather than an object. However, when this is defined as a
class, `resetAfter` needs access to the strictModeManager. Instead of
passing it in as an argument, it made sense to move this function onto
the strictModeManager instead.

Since folks are used to calling:
```
StrictMode.ThreadPolicy.allowThreadDiskReads().resetAfter
```

We're going to have to add a lint check to prevent them from doing that.
4 years ago
Michael Comella 6abeb2d9e7 For #13959: change StrictModeManager to class from object.
I originally tried to create this PR leaving this as an object to keep
the change simple but it wasn't worth it - once the object started to
keep state, we'd need to manually reset the state between runs. Also,
the tests were already getting hacky with static mocking so it was
easier to address some of those issues this way too.
4 years ago
Christian Sadilek d4ab728cff For #14034: Add debug preference to override AMO collection in Nightly 4 years ago
Michael Comella 2c1befaa25 For #13959: rename to attachListenerToDisablePenaltyDeath for clarity. 4 years ago
mcarare daced89387 For #15310: Add test for ActivityNotFoundException when sharing to app. 4 years ago
ekager 7d5c199e51 For #12383 #15407 #12860 - Switch to using shared view model for session to delete on home 4 years ago
Kate Glazko e8855c09e6 For #15320: Ensure Mimetype Other PDF Shows PDF Icon 4 years ago
Elise Richards 1adf467248
For #14280, #14743: Remove old search fragment (#15169)
* Remove search fragment

* Use new folder to search dialog

* Rebase and lint

* Update tests with search dialog nav directions

* Rename interactor to match naming convention. Remove old controller and point everything to the dialog controller.
4 years ago
Grisha Kruglov f1b0827a0b For #15296: Allow excluding bookmark subtrees when editing parent folder
I'm really not a fan of how title overwriting and structure processing are mangled together,
but will leave clearing that up for another day.
4 years ago
Sawyer Blatz 0fa2509bef
For #14243: Pre-land visuals for Close Tabs CFR (#15171) 4 years ago
Grisha Kruglov 71b51146cb Update breaking changes in the FxA/Sync integration 4 years ago
ekager 24983af94e For #15291 - Limit current CFRs to show max one every 3 days 4 years ago
ekager 030d6a5b36 For #15121 - Ensure tabs removed while on browser select an available parent session 4 years ago
mcarare e3b5dcbfec For #15268: Update unit tests for safe navigation to details fragment. 4 years ago
Grisha Kruglov f51b570654 For #15284: Process root titles when creating new folders
This also simplifies how we do this. We're no longer creating instances of `DesktopFolder` class
nor creating copies of BookmarkNodes just to display root titles correctly for the 'edit folder' UI.
4 years ago
ekager 9a2103a9a7 For #13934 - Make TabHistory work on PWA/Custom Tabs 4 years ago
Tiger Oakes b563576335
Closes #14131: Move constants to dimens.xml (#14135)
Co-authored-by: Elise Richards <erichards@mozilla.com>
4 years ago
Elise Richards a4ff782565
For #13812: add ETP category for redirect trackers (#15139)
* Feature flag for ETP cookie purging

* Strings for new ETP description

* Remove icons from ETP info screeen and add category for redirect trackers

* ETP policy factory tests

* Remove icons from ETP panel and add cross tracking allowed field.

* Remove icons on ETP panel. Add blocked category for redirect trackers to panel.

* Add margins to tracking protection settings
4 years ago
Tiger Oakes b927b688c9 Merge bookmark item and folder view holders 4 years ago
Elise Richards 9afe9679d8
For #15079: handle QR permissions when changed in Android settings (#15097)
* Define intent data for activity

* Search dialog shows permissions for allow and deny camera

* Check camera permissions for fxa pairing

* Check camera permissions for old search

* Tests for pairing sync interactor and controller.

* Cleanup

* Use bool pref for setting. Use interfaces and default implementations for the sync interactor and controller.

* Lint
4 years ago
Sawyer Blatz 1f17371df6 For #14565: Add telemetry for top sites 4 years ago
Sebastian Kaspari ee3384ac52 Issue #14225: Remove task when finishing ExternalAppBrowserActivity. 4 years ago
Hakkı Kaan Çalışkan f87ca730a9 For #11245: Integrate Synced Tabs AwesomeBar suggestions
fix pr
4 years ago
Mugurell 75aa2d413a For #14974 - Ensure website bottom elements stay at bottom
engineView.setDynamicToolbarMaxHeight(0) vs
engineView.setDynamicToolbarMaxHeight(toolbarHeight)
ensures webpage's bottom elements are aligned to the bottom of the browser.

We also need to make sure that when the toolbar is static it does not cover the
bottom of the page - something desired when the toolbar was dynamic.
For this the engineView will have a toolbarHeight bottom margin.
4 years ago
ekager 09fbb43f80 For #2486 - Adds Recently Closed Tabs 4 years ago
ekager b986730031 No issue - Updates AC to 58.0.20200910190642 and fixes imports 4 years ago
Elise Richards 87bd44145f
For #14239: Notification for QR scan when permissions have been denied (#14553)
* Show dialog when permissions are denied

* Add qr permissions dialog to search dialog fragment

* Add qr permissions dialog to the pairing screen

* Show dialog after permissions have been denied

* Reset focus after denying permissions

* Show dialog after permissions denied in search frag and par frag

* Use shared preferences to store camera permission state

* Move dialog creation into the search controller and add tests

* Dialog controller implementation and test

* Route to intent with correct activity. Set focus when dismissing dialog

* Get preferences in old search
4 years ago
ekager 82d7313add For #13467 For #14910 - Dismiss dialog on blank URL commit 4 years ago
ekager 806f74abe7 For #14680 - Revert ObserverRegistry changes to WifiConnectionMonitor 4 years ago
Gabriel Luong 6d133c8d0c For #14529 - Show a dialog when the top sites limit has been reached 4 years ago
Tiger Oakes 043e061087
For #14376: Reverse items with bottom toolbar (#14451) 4 years ago
Tiger Oakes 113241e8ce
Enforce IO thread inside of components (#14704)
* Automatically run PermissionStorage on IO thread

* Run TabCollectionStorage on dedicated scope + IO

* Update findSitePermissionsBy calls
4 years ago
Sören Hentzschel 81dd1a9192
For #8343, #9709 - replace "phone" with "device" in translations (#14083) 4 years ago
ekager 2d67e4b748 For #4118 - Creates setting for auto closing tabs 4 years ago
Tiger Oakes e93a8b7d34
For #14376: Use concept-menu with tab counter menu (#14374) 4 years ago
Tiger Oakes ace6b99c89
Split toolbar controller into two classes (#13854) 4 years ago
Tiger Oakes 75e7cd3c64
FNX-14583 ⁃ Extract and test preference helpers for Settings (#13402) 4 years ago
Mugurell acdef76b71 For #12980 - Clear icons when deleting browsing data 4 years ago
Tiger Oakes 50ac4fe17d
Use shared list widget in tab history (#13884) 4 years ago
Tiger Oakes 0102e03d75
Add tests for collection creation (#13909) 4 years ago
Tiger Oakes e067ad5363
For #8157: Redirect about:addons search (#13990) 4 years ago
Sachin 316b70940f
for #12573, added startup type and hasSavedInstance keys to app_startup_type telemetry (#13494) 4 years ago
Jeff Boek c73870b794 For #13507 - Performance fixes for the ReviewPromptController 4 years ago
Jeff Boek c6687d976e For #13507 - Adds tests for ReviewPromptController 4 years ago
Christian Sadilek 8b9c3e0108 Fixes for A-C 57.0.20200826190111: Move EngineSession to BrowserState 4 years ago
Gabriel Luong 0cc1d32e56 For #10342 - Part 7: Fix TopSiteViewHolderTest and TopSiteItemViewHolderTest 4 years ago
Gabriel Luong 40120ac98f For #10342 - Part 5: Fix DefaultSessionControlControllerTest and DefaultBrowserToolbarControllerTest 4 years ago
Grisha Kruglov f694861f1f Pass along crash reporter instance to PlacesHistoryStorage 4 years ago
Mugurell 75c496f237 For #13037 - Cleanup - have the camera check in just one place
This patch reverts a previous commit for the issue which added the camera check
in two places.
With a new solution to check if the device has camera only in
TurnOnSyncFragment we need to cleanup the previous checks.
4 years ago
Tiger Oakes bb3fd4eb16
For #8765: Use shared list widget in exceptions (#14113)
* For #8765: Add resource for shared list widget

* For #8765: Use shared list widget in exceptions
4 years ago
Gilbert Gilb's 9430546d12 for #7584 - fix about libraries toolbar theme
fixes #7584 #13970
4 years ago
ekager 655d2b8a88 For #12377 - Choice to hide no collections placeholder from homescreen 4 years ago
Kate Glazko ffb794751e No Issue: Fix DownloadItemKtTest 4 years ago
kglazko 5ecab0f48a
For #13935: Enhanced File Type List Icons (#14036)
* For #13935: Enhanced File Type List Icons

* For #13935 - Pulls out and tests logic for getting the icon for a DownloadItem

Co-authored-by: Kate Glazko <kglazko@Kates-MacBook-Pro.local>
Co-authored-by: Jeff Boek <jeff@jeffboek.com>
4 years ago
Kate Glazko 3370762248 For #13983: Show Only Completed Downloads in List 4 years ago
Kate Glazko 7f9e2255f7 For #13979: Deleted Download Files Shouldnt Show 4 years ago
Mihai Branescu 6a6e9bc9cd For #11051 - added/fixed unit tests for voice search
Allow package manager to resolve voice intent
4 years ago
Elise Richards feae7fff2f
FNX-14498 ⁃ For #9487: improve fxa onboarding manual sign in card (#13317)
* Replace strings, add learn more, hook up button

* Constrain learn more and icon to the text

* View holder tests

* Lint

* Update homescreen ui test
4 years ago
Jonathan Almeida 99fab556f4 For #12287: Address review comments 4 years ago
Jonathan Almeida b54b743d83 For #12287: Show devices with no tabs in Synced Tabs list 4 years ago
Jonathan Almeida f614c0b18d For #12287: Add Synced Tabs to Tabs Tray 4 years ago
Kate Glazko f83372b67c For #349: View Downloads 4 years ago
Gilbert Gilb's 2743c37b40 Add custom Activity to show libraries licenses.
As Google's library for showing licences isn't open-source, this commit
reimplements its main Activity. This is in prevision to having an OSS
flavor of fenix.

We chose to not introduce dependencies to third-party libraries
such as AboutLibraries for now, and we'll stick to using Google's gradle
plugin for the dependencies extraction.

Fixes #7584

See also #162
4 years ago
Arturo Mejia 5d14688448 For issue #12796: Ensure Cookie purging is only active in nightly or debug. 4 years ago
Tiger Oakes a04b91ee3c
FNX-14513 ⁃ For #12862: Use concept-menu in library (#13332) 4 years ago
Tiger Oakes 57e557fd18
Use AC version of PrivateNotificationService (#12459) 4 years ago
Kainalu Hagiwara 1ad9da09b0 Remove selection holder from bookmark viewholder constructors.
Now that we're passing the mode to the viewholders in their bind
methods, there's no real need to pass them into their constructors. This
also allows us to remove the indirection of having the adapter implement
the SelectionHolder interface and have the mode implement it directly.
4 years ago
Kainalu Hagiwara b1db1cf976 Add tests for Bookmarks DiffUtil and ViewHolders. 4 years ago
Tiger Oakes 0aab7a806a Add test for createInitialSearchFragmentState 4 years ago
Tiger Oakes 3086d8a694 Add test for search dialog controller 4 years ago
Kainalu Hagiwara d9ffac0c89 For #13405 - Use toolbar location relative to the whole screen instead of window. 4 years ago
codrut.topliceanu f0a045f9b9 For #13390 - Fix for stuck readerMode appearance controls 4 years ago
Mugurell b993b94be1 For #12857 - Use Collection title when sharing tabs collection
Avoided passing the subject for sharing a collection of tabs in the ShareData
object since ShareData is part of a web standard.
4 years ago
Kainalu Hagiwara 09473b991d For #12926 - Add back button to menu. 4 years ago
Arturo Mejia 841d19e8be Fix breaking behaviour on BrowsersCacheTest from AC 54.0.20200810074539 4 years ago
Sebastian Kaspari 77263aad70 Validate deep links. 4 years ago
Jonathan Almeida 9568bdaed8 Update Android Components and fix breaking tests 4 years ago
Sebastian Kaspari c93a29f89a Simplify build variants to just: debug, nightly, beta and release.
Co-authored-by: Johan Lorenzo <jlorenzo@mozilla.com>
4 years ago
Tiger Oakes d45af2a717
For #11903: Fix private custom tabs (#13327) 4 years ago
Kainalu Hagiwara 30c7b5ea5e For #12831 - Disable SwipeRefreshLayout while swiping a bookmark. 4 years ago
Kainalu Hagiwara 5318d64911 For #12906 - Fix swipe-to-delete bookmark folder. 4 years ago
ekager a1a839f237 For #13221 - Update global ETP to include PBM 4 years ago
Tiger Oakes c9f8986d2b
Don't init glean in unit tests (#13100) 4 years ago
Jeff Boek ef7cf4fdcf For #13229 - Cache deviceId for reuse 4 years ago
Tiger Oakes f3f470a977
For #13140: Use concept-menu for saved logins menu (#13143) 4 years ago
Michael Comella 5d8c900391 For #12802: add StorageStats glean metrics. 4 years ago
Tiger Oakes 1d28f63737
Closes #12522: Reuse exceptions code (#13047) 4 years ago
Kainalu Hagiwara 52e19ec743 For #12888 - Add highlight to current page in tab history. 4 years ago
Mihai Branescu 64072a1256 For #11498/#11499 - added/fixed unit tests 4 years ago
Kadeem 78126122ad For #12769: Refactored Background Service Test into multiple test cases. 4 years ago
Mugurell ab2ea8e682 For #13037 - Use email to sign in to fxa if device has no camera
App can be installed on devices with no camera modules. Like Android TV boxes.
Will skip presenting the option to sign in by scanning a qr code in this case
and default to login with email and password.
4 years ago
Mihai Eduard Badea 58e24b81aa For issue #12400 - Refresh swiped collection tab view
Item is now refreshed by calling notifyDataSetChanged on the adapter when the last tab from the collection has been swiped away and the user cancels the deletion by pressing the cancel button from the dialog.
Also added a "wasSwiped" flag to onCollectionRemoveTab in order to check if the tab was deleted from a swipe action and not by pressing the "X" button.
4 years ago
Tiger Oakes 5ddf8beea7 Fix suggestions, extract layout for tab history 4 years ago
Tiger Oakes 6152469ffd Add tests for tab history 4 years ago
mcarare ed8a9bd1a0 For #12565: Remove activity from DefaultTabTrayController constructor. 4 years ago
Tiger Oakes 1a51b7f874 For #13084 - Use runBlockingTest 4 years ago
Tiger Oakes 0e3acfcd94 Move config to robolectric.properties 4 years ago
Tiger Oakes f75be41d3a Add metric tests 4 years ago
Kainalu Hagiwara 57c7955637 For #12865, #12990 - Disable swipe to switch tabs gesture when the keyboard is visible. 4 years ago
ekager 1497e4886e For #13084 - Update SavedLoginsStorageControllerTest 4 years ago
mcarare 048f6a49fe For #12565: Pass passwordsStorage instead of context in constructor. 4 years ago
mcarare 4b74ff186b For #12565: Remove context from DeleteBrowsingDataController constructor 4 years ago
sraturi 537d95c04d for #11830 created class containing the logic for sending AllStartup telemetry logic
lint check

renamed the intentReceived telemetry to appOpenedAllSource

added comments

removed unused code

moved lifecycle process to AppAllSourceStartTelemetry

moved tracking event out of init function

lint fix

moved appAllStartTelemetry to components

added bit more info about the metrics

added the  onReceivedIntent metric back

minor fix

change discriptions based on the comments frm MR

wrote test cases for AppAllSourceStartTelemetry.kt

lint fix

test case to mock application going background

post rebase:

post rebase:

fixed nit from comments

fixed nit from comments

fixed nit from comments

lint fix

lint fix
4 years ago
Tiger Oakes 8d1bd10e6b Test paged history provider 4 years ago
Jonathan Almeida 239e3de5e9 For #12856: Add save to collections button to Tabs Tray
Using the ConcatAdapter, we're now able to insert multiple data sources
of information into one RecyclerView and preserve layout/scrolling in
addition to adding the 'Save to Collection' button.
4 years ago
Jeff Boek 46f010f247 For #2681 - Adds ability to bypass cache when reloading 4 years ago
Tiger Oakes d640f58316 For #12565 - Clean up controller and add tests 4 years ago
ekager e5e62fa79a For #6846: Added quick actions for nav bar in home 4 years ago
ekager 46511d6f8e For #10163 - Adds tab multiselect mode 4 years ago
Jonathan Almeida d15b8381a6 For #10925: Fix breaking APIs in tabs tray 4 years ago
Sawyer Blatz 9c56e1905b For #12793: Improve snackbars for tabs tray 4 years ago
Tiger Oakes d3a07e95c9 For #12565: Don't pass contest to SortingStrategy 4 years ago
Tiger Oakes 652af79e95
Migrate from Session.toTab to BrowserStore (#12221) 4 years ago
Tiger Oakes 9af167ba0a
Add tests for some classes in home/browser (#12837) 4 years ago
Tiger Oakes 0d77f761e9
Test sync adapter (#12810) 4 years ago
Arturo Mejia 6530a45eb9
For issue #11676: Features phone that doesn't a site permission exception shouldn't be shown (#12855)
exception shouldn't be shown
4 years ago
Tiger Oakes 8f5a37733d
Create ToolbarPosition enum (#12747) 4 years ago
Kainalu Hagiwara 921b16233b For #1048 - Add ability to view tab history by long-pressing the back or forward button. 4 years ago
Tiger Oakes d9357f1e32 For #12801 - Extra debug menu trigger, disable if already triggered 4 years ago
Jeff Boek 11e2137fab
For #12806 - Adds unit tests to cover `ToolbarView.update()` (#12807) 4 years ago
Tiger Oakes c08d375c18
Move settings in components (#12675) 4 years ago
Tiger Oakes 0abb2c4f8b Add tests for web push integration 4 years ago