1
0
Fork 0
Commit Graph

225 Commits (4da22c605aff8e3fc5e964d48120002257e553e7)

Author SHA1 Message Date
Vishwa Patel 4da22c605a For #10834 - Adding Sync Tabs Feature in Fenix 2020-06-01 16:52:40 -04:00
Gabriel Luong 63e529ac2b Added BrowserThumbnails dependencies 2020-05-29 18:19:06 -04:00
Jan-Erik Rediger 88fe3fbf82 Dump `proguard-android-optimize.txt` into local configuration for later modification
This was achived by:

* Adding `-printconfiguration r8.txt` to `proguard-rules.pro`
* Copying the part from start of `r8.txt` to before the `-printconfiguration` line into its own file.

This gets us exactly what was used in the bundled version.
2020-05-29 10:25:27 -07:00
Grisha Kruglov 0e47f55c24 Only set real BUILD_DATE for non-debug builds
This avoids BuildConfig modifications between local dev builds,
and speeds up the builds by avoiding running tasks that depend on BuildConfig.

Locally, depending on exact build circumstances, this saves about 5% of build runtime
for simple code changes, and about 90% of build runtime for no-op builds.
2020-05-25 22:13:05 -07:00
Michael Comella b0b2f87ab4 For #10757: remove no-op Experiments code and dependency.
We were supposed to have removed Experiments for performance purposes.
However, I find some code dangling in the tree.

Experiments.initialize is no longer called so I suspect
Experiments.withExperiment is a no-op. I verified that the lambda
function provided to it never ran in my local geckoBetaDebug on startup.
Assuming experiments behavior doesn't change in other build types, this
change appears safe.
2020-05-18 15:38:38 -07:00
Christian Sadilek 87c95a64d3 Configure M2 AMO collection for all builds 2020-04-27 18:33:31 -04:00
David Walsh 6f5f48c30e
For #10148 - Add basic tab tray implementation without exposing to rest of app (#9934) 2020-04-23 15:38:35 -05:00
Roger Yang 40550e88de
Close #9960: Launch URI in Fenix if failed to launch in custom tab (#9964) 2020-04-17 16:24:20 -04:00
Michael Comella f0464b9e72
For #9644: restrict deps to specific repositories (#9649)
* For #9644: remove unnecessary leanplum maven repository.

The docs say it is [1] "only needed for Android SDK versions below 4.3.0".
That is API 18 and our min SDK is 21.

[1]: https://docs.leanplum.com/reference#android-setup

* For #9644: move buildscript block from :app to root project.

This will reduce the amount of duplication we need in specifying
restricted dependencies and centralize repository definitions. Since
we're a one project app, it shouldn't have a significant impact on
performance.

* For #9644: restrict dependencies following FFTV config.

However, there is a resolution error to be fixed in the next commit.

This is verbatim from FFTV except I removed the no-op "improve security
if code is refactored incorrectly" lines: these lines rarely changed and
I'm not that concerned. It might be better to simplify the
configuration.

Source:
  62a2fa680c/buildSrc/src/main/java/org/mozilla/gradle/Dependencies.kt (L7)
  62a2fa680c/build.gradle (L31)

* For #9644: restrict firebase deps to google repo.

This fixes the resolution error from the previous PR.
2020-04-15 10:54:36 -07:00
Christian Sadilek 152642d98d Configure M2 AMO collection for Nightly/Debug 2020-04-13 10:42:39 -04:00
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?
2020-04-08 12:39:22 -07:00
Michael Comella 9305331a56 For #9631: remove assertk dependency. 2020-04-06 16:56:40 -07:00
Michael Comella b60a21c08d For #9605: Add LintUnitTestRunner gradle task.
This will prevent us from regressing on adding older versions of the
unit test runner.
2020-04-03 09:27:49 -07:00
Sebastian Kaspari 045b4a5715 Use same configuration for "forPerformanceTest" builds like we do for "fennec" flavor builds. 2020-04-01 17:51:32 -07:00
ekager 414e905b76 Closes #8944 - Adds custom lint checks 2020-03-27 13:59:51 -07:00
Christian Sadilek 5e9d5dd545 Closes #9414: Make AMO collection configurable 2020-03-26 17:26:20 -04:00
Jonathan Almeida 40ba43311e For #7661: Add deeplink schemas for fennec variants 2020-03-25 15:39:44 -04:00
Christian Sadilek d184b99649 Closes #9333: Prevent compression of omni.ja to improve startup time
Co-authored-by: Markus Stange <mstange@themasta.com>
Co-authored-by: Agi Sferro <agi@sferro.dev>
2020-03-24 16:10:11 -07:00
Ryan Kelly a0f8be25b6 Add support for application-services autoPublish local dev workflow. 2020-03-19 10:51:08 +02:00
Jonathan Almeida ffd4cdd970 For #7661: Add variant-specific schemas for deep links
In order to target specific variants of Fenix, we're adding schemas that
are specific that app in order to avoid collisions with the other
variants and with other forks of fenix that may have the same schemas.

The current schema for variants:
 - Fenix Nightly: `fenix-nightly://`
 - Fenix Beta: `fenix-beta://`
 - Everything else: `fenix://`
2020-03-17 17:21:09 -04:00
Sebastian Kaspari 34144fd254 Use pinned Android Components Nightly version instead of snapshots. 2020-03-17 12:09:36 +01:00
mcarare 320fc4e4ae For #8788 Use Flexbox instead of Grid manager for top sites 2020-03-09 11:01:14 -07:00
Michael Droettboom bb2c009c16 1592947: Use the Glean Gradle plugin 2020-02-28 13:24:58 -08:00
Grisha Kruglov fddf77280c Remove direct A-S dependency; switch to using 'full' megazord
As far as I can tell, we never actually exercise the a-s libraries in Fenix tests currently (this was one of the presumed reasons for having a direct dependency).
In a different branch I've started work on adding end-to-end tests, but currently that's blocked on trying to figure out to load native libraries in tests (somehow, fenix's setup is different than what we have in A-C, not yet clear to me in what way).

Another reason for a direct dependency (i think) is that we needed it to configure a `fenix` megazord. This could be solved via a `support-megazord-fenix` a-c component that provides the correct transient dependencies,
but we can also just switch to use the `full` megazord instead, which is essentially what fenix megazord is at this point. A-S team wants to remove the fenix megazord, so this will help. This is what this patch does.
2020-02-25 17:30:57 -08:00
Mihai Branescu fdbf63fb97 For #4231
Added kapt plugin + dependencies in order to be able to use Room
Added recent apps to share fragment (top 6)
Extracted dimens of share_to_apps.xml in the dimens file
2020-02-19 10:36:58 -08:00
Jeff Boek a8746320d7 For #3869 - Uses RegionSearchLocalizationProvider in the search engine provider 2020-02-18 10:10:16 -08:00
Aaron Train bf7b23ab99
Closes #8316: Disable animations for instrumented tests (#8317) 2020-02-11 15:24:10 -05:00
Alessio Placitelli 99d6dbfca4 Test that 'baseline' pings are sent by Fenix
This is an initial instrumented test for Fenix
that checks if a 'baseline' ping is generated when
going to background.
2020-02-05 19:06:46 +01:00
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>
2020-02-04 01:41:51 -05:00
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.
2020-02-04 00:13:56 +01:00
Gabriel Luong 584b270aa4 For #6758 - Part 2: Add AC dependencies for top sites feature 2020-01-24 15:18:25 -08:00
Jonathan Almeida b89afe7b7c For #7092: Add initial Migration UI 2020-01-15 21:41:01 -08:00
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.
2020-01-13 12:38:32 -06:00
Michael Comella c0f689a68d No issue: remove lint baseline file.
This will enable folks to see the existing warnings.
2020-01-06 18:27:51 +02:00
Mihai Branescu ea2411a88b Feature/#220 language menu (#7070)
* For #220
- Added advanced header + locale settings item in the settings fragment

* For #220
- Added locale selection page with lib state + handling of locale changes

* For #220
- Removed registering for locale changes in the manifest, allow system
to restart activity in that scenario

* For #220
- Added unit tests for locale settings page

* For #220: fixed an outdated unit test
ga-a

Co-authored-by: Severin Rudie <Baron-Severin@users.noreply.github.com>
2020-01-03 18:15:35 -08:00
Severin Rudie 9cbc3f7a4a
7410 remove rxjava (#7426)
* For #7410: rewrite updateBookmarkFromObservableInput with coroutines

* For 7410: remove RxJava from project. :(

* For 7410: converted updateBookmarkFromTextChanges to Flow per review
2020-01-03 14:37:12 -08:00
Michael Comella 93e677e11b No issue: remove unused Anko dependencies. 2019-12-31 10:46:39 -05:00
Kadeem M e22d092f5d Added UI tests for the About Settings page (#6161) 2019-12-27 07:55:35 -08:00
Ryan Kelly 31f2e80ab0 Use feature-accounts-push, which replaces feature-sendtab. 2019-12-13 16:42:28 -08:00
Colin Lee a8f895cb5c
For #4064: Replace prerelease R8 with improved Kotlin coroutines library (#7153) 2019-12-13 13:29:27 -06:00
isabelrios 1d04736884 Re-enable Screenshots tests (#6617)
disabling setting test options due to different screen sizes

name screenshots according to robots

fix kotlin style

update settings tests with new Toolbar option

screenshots tests in different package than ui tests
2019-12-10 13:05:47 +02:00
Gabriel 56b21426eb
For #5574 - Migrate SessionControl to LibState (#6651)
* For #5574 - Part 1: Port TabAction.SaveTabGroup to TabSessionInteractor and SessionControlController. (#6651)

- Introduces the TabSessionInteractor, SessionControlInteractor and SessionControlController classes.
- Removes the TabAction.SaveTabGroup.

* For #5574 - Part 2: Port TabAction.PrivateBrowsingLearnMore to TabSessionInteractor and SessionControlController (#6651)

* For #5574 - Part 3: Port TabAction.ShareTabs to TabSessionInteractor and SessionControlController (#6651)

* For #5574 - Part 4: Remove unused TabAction.Share and TabItemMenu (#6651)

In #2205, the tab overflow button was removed which would have shown the
TabItemMenu when clicked. So, we can remove TabItemMenu since it is not
used and as a result, we can also remove TabAction.Share since there are
no consumers.

* For #5574 - Part 5: Port TabAction.PlayMedia and TabAction.PauseMedia to TabSessionInteractor and SessionControlController (#6651)

* For #5574 - Part 6: Port TabAction.Select to TabSessionInteractor and SessionControlController (#6651)

* For #5574 - Part 7: Port Onboarding.Finish to OnboardingInteractor and SessionControlController (#6651)

* For #5574 - Part 8: Port TabAction.Close and TabAction.CloseAll to TabSessionInteractor and SessionControlController (#6651)

- Removes TabAction

* For #5574 - Part 9: Port CollectionAction.Delete to CollectionInteractor and SessionControlController (#6651)

* For #5574 - Part 10: Port CollectionAction.ShareTabs to CollectionInteractor and SessionControlController (#6651)

* For #5574 - Part 11: Port CollectionAction.AddTab and CollectionAction.Rename to CollectionInteractor and SessionControlController (#6651)

* For #5574 - Part 12: Port CollectionAction.RemoveTab to CollectionInteractor and SessionControlController (#6651)

* For #5574 - Part 13: Port CollectionAction.OpenTab to CollectionInteractor and SessionControlController (#6651)

* For #5574 - Part 14: Port CollectionAction.CloseTabs to CollectionInteractor and SessionControlController (#6651)

* For #5574 - Part 15: Introduce a HomeFragmentStore (#6651)

- We will hook up the HomeFragmentStore in later parts.
- Removes List<Tab>.toSessionBundle(context: Context) since it is unused.

* For #5574 - Part 16: Port CollectionAction.Collapse and CollectionAction.Expand to CollectionInteractor and SessionControlController (#6651)

- We assume the store is hooked up to the SessionControlController in this part,
but this work will be done in a later part.
- Removes CollectionAction.

* For #5574 - Part 20: Remove the architecture module. (#6651)

* For #5574 - Part 17:  Remove duplicate subscribeToTabCollections in BrowserFragment.kt (#6651)

There is a duplicate call of subscribeToTabCollections() in both HomeFragment and BrowserFragment.
In this patch, we remove the call in BrowserFragment to avoid passing the HomeFragmentStore to
BrowserFragment in order to dispatch the CollectionsChange event.

* For #5574 - Part 18: Delete SessionControlComponent and fix TabCollection and Tab imports (#6651)

* For #5574 - Part 19: Use the new HomeFragmentStore in the HomeFragment (#6651)

- Renames SessionControlUIView to SessionControlView

* For #5574 - Part 21: Fix white screen on home fragment (#6651)

* For #5574 - Part 22: Fix formatting in SessionControlInteractor and replace See with @see in SessionControlController (#6651)

* For #5574 - Part 23: Move to metrics.track call to the beginning of handleCollectionRemoveTab (#6651)

This ensures that the metrics.track will be called immediately before the tab is removed from the collection.

* For #5574 - Part 24: Use the sessionManager getter in SessionControlController (#6651)

* For #5574 - Part 25: Use mapNotNull in List<Tab>.toSessionBundle (#6651)

* For #5574 - Part 26: Simplify closeTab and closeAllTabs functions by assigning a deletionJob constant (#6651)

* For #5574 - Part 27: Replace listOf() with emptyList() in removeAllTabsWithUndo (#6651)

* For #5574 - Part 28: Replace the Context parameter with the HomeActivity in SessionControlController (#6651)

* For #5574 - Part 29: Add test for HomeFragmentStore, DefaultSessionControlController and SessionControlInteractor (#6651)

* For #5574 - Removes running CI against the architecture debug build varient
2019-12-04 22:06:05 -05:00
mawen7 7208ce95a5 Run lint for app module and set baseline 2019-12-02 14:45:34 -08:00
Sebastian Kaspari bb59ac6423 Issue #6622, #6688: Create a "fennecBeta" and "fennecNightly" build types. 2019-11-27 10:28:22 -08:00
Johan Lorenzo de8bc2f8a5 Split UI test 2019-11-21 11:59:51 +01:00
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
2019-11-19 16:30:56 -08:00
Roger Yang f3fc532e0e Closes #6440 Integrate Web Notifications Feature 2019-11-18 13:44:39 -05:00
Tiger Oakes fdd7400ccc Use ViewModel for share fragment 2019-11-14 16:25:50 -08:00
Emily Kager c43f96096e For #5074 - Sync Logins, Uses KeySharedPreferences for Passwords Encryption Key 2019-11-14 16:05:20 -08:00
Emily Kager 3e2b88cc91 For #5547 - Add top level auth when accessing passwords 2019-11-07 13:45:41 -08:00