Commit Graph

278 Commits (48ea10cd9d62ae924757a528656265f5805019f1)

Author SHA1 Message Date
Tiger Oakes fdd7400ccc Use ViewModel for share fragment 5 years ago
Emily Kager c43f96096e For #5074 - Sync Logins, Uses KeySharedPreferences for Passwords Encryption Key 5 years ago
Emily Kager 3e2b88cc91 For #5547 - Add top level auth when accessing passwords 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
Denys M 6290c0c826 Closes #2441. Update LeakCanary to `2.0-beta-3` version. 5 years ago
ekager f49331de55 For #5544: Bare Minimum Logins UI 5 years ago
Alessio Placitelli 47dfcc119e Pick up forUnitTest library for the Glean SDK test 5 years ago
Grisha Kruglov 9ffff79a88 Perform Fennec data migration within fennecProduction 5 years ago
Mitchell Hentges 5ce1968d67 Removes versionName check from gradle (#5934) 5 years ago
MozLando fba375135f Merge #5933
5933: Removes legacy nightly automation r=johanlorenzo a=mitchhentges



Co-authored-by: Mitchell Hentges <mhentges@mozilla.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
Mitchell Hentges a497d2bcd0
Removes legacy nightly automation 5 years ago
Jeff Boek ed239ec250 For #373 - Integrate leanplum-fcm 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
Grisha Kruglov ea3cd46133 Closes #1022: Auto-publication workflow for android-component
This patch enabled support for an auto-publication workflow for android-components.

It automates a common pattern seen in local development:

Old way:
- after every change in a-c, publish it locally with a unique version (bumping it manually)
- manually modify Fenix to consume a custom version of a-c from a mavenLocal repository

New way:
- set a flag in fenix's local.properties to enable auto-publication
- run Fenix builds after making changes to a-c. Changes in a-c will be automatically picked up.

Note that no changes are necessary to any Fenix files other than a single flag in local.properties.
Manually bumping android-components version is also not necessary.
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
Alessio Placitelli ebd11dbca8 Add the workmanager dependency to enable testing with Glean 5 years ago
Johan Lorenzo 7d3be2a509 taskgraph: Speed up gradle calls 5 years ago
Dennis Schubert 5577470d0b No bug - Add WebCompat feature. 5 years ago
Sawyer Blatz 13146c2b2a Reverts #1151: Removes unused Flipper library 5 years ago
Jonathan Almeida fe8a8bfb0a No issue: Add Digital Asset Links token for TWAs 5 years ago
Alessio Placitelli 3fda14015c Automatically generate metrics docs using the Glean SDK (#5101) 5 years ago
Sebastian Kaspari d3679e0625 Unbreak Nightly: Get rid of fragment-testing dependency and create fragments in test manually. 5 years ago
Aaron Train 9033b8d676
Closes #5217 - fix androidx.test dep error (#5219)
See #5217
5 years ago
Emily Kager 4485b7f647 Add Tracking Protection Info Panel 5 years ago
mihai-adrian 9e83edcac5 For #4877: Restored logic for closing tabs when not on browserFragment
Added base test for CreateCollectionFragment that we can build upon later
5 years ago
Colin Lee 2b9efccfca For #3106: Granular options for clearing user data 5 years ago
Sebastian Kaspari c2db07acf8 Add browser-state component. 5 years ago
Petru Lingurar f7087e46e3 Fix #5067 - Refactor ShareController to use SendTabUseCases
Navigation between app fragments uses ShareTab as arguments. The newly used
SendTabUseCases uses TabData which is not Parcelable.
For minimal changes we'll keep both data classes and ShareController will know
how to map between the two.
Removed the `sessionId` property of ShareTab as it isn't needed anymore.
5 years ago
Sebastian Kaspari 389b85f783 Issue #4907: Link to usage of sharedUserId in Fennec code. 5 years ago
Sebastian Kaspari 3fb22a12b6 Issue #4873: Use manifest placeholder to inject sharedUserId. 5 years ago
Sebastian Kaspari 10143858cb Issue #4873: Use Fennec version code mechanism for fennecProduction build type. 5 years ago
Sebastian Kaspari 00ead7e31f Issue #4873: Only build fennecProduction build types with GeckoView Beta. 5 years ago
Sebastian Kaspari 4f51af07ae Issue #4873: Reuse Firefox application id for fennecProduction build type. 5 years ago
Sebastian Kaspari c7216d1bd7 Issue #4873: Introduce "fennecProduction" build type. 5 years ago
Tiger Oakes f740d4382a Closes #773 - Add shortcuts to homescreen (#4925) 5 years ago
Colin Lee 153af588af For #4885: D8 Build failure on attempt to execute UI test (#4903)
* For #4885: D8 Build failure on attempt to execute UI test

* Disabled screengrab tests until AndroidX fix is available
5 years ago
Sebastian Kaspari 35ff0a5110 Use version name/code override. (#4895) 5 years ago
Nick Alexander 23b9a41059 Consume new `substitute-local-geckoview.gradle` script from Bug 1533465. 5 years ago
Mitchell Hentges 6c020a0bc4 Configure either geckoview beta or nightly at compile-time (#4851)
* Remove "abi" product flavor and introduce "engine" product flavor.

This patch will allow us to build Fenix against GeckoView Nightly and GeckoView Beta by
introducing a new flavor dimension: engine = [geckoNightly, geckoBeta].

In addition to that it adds a "fenix"  prefix to the nightly, beta and production flavors
to reduce the ambiguity between fenix beta/nightly and GeckoView beta/nightly.

For now the build types have the following engine variants enabled:

**debug**: geckoNightly, geckoBeta
Both variants enabled for local development and testing.

**forPerformanceTest**: geckoNightly, geckoBeta
Both variants enabled unless the perf team only cares about Nightly (tbd)

**fenixNightlyLegacy**: geckoBeta
Uses GeckoView Beta for now - the same version we ship production builds with (same behavior
as before). This release type will eventualyl be decommissioned once we switch to a separate
Nightly app on Google Play.

**fenixNightly**: geckoBeta
Uses GeckoView Beta for now - the same version we ship production builds with (same behavior
as before). Changing this build to use GeckoView Nightly is currently being discussed.

**fenixBeta**: geckoBeta
Fenix Beta uses GeckoView Beta.

**fenixProduction**
Fenix Production uses GeckoView Beta (69) currently.

* gradle.py/variant.py: Replace "abi" with "engine".

* Disable enableUnitTestBinaryResources until we can switch to Android Gradle plugin 3.5.

* Fenix nightly should use both geckoview nightly and beta

* Updates automation to use apk splitting and support different engine
5 years ago
Sebastian Kaspari b733fcdbd5 Closes #4719: Get rid of fragment-testing dependency and create fragments in StoreProviderTest manually. (#4722) 5 years ago
Colin Lee e6f9445d11
For #4709: Fix Bugzilla issue 1573549 (#4710) 5 years ago
Colin Lee 7f07eabbd8
For #4652: Crash "Can not perform this action after onSaveInstanceState" (#4654) 5 years ago
Jonathan Almeida 353ecab44e No issue: Disable failing ActivationPingTest 5 years ago
Colin Lee 71c48692da
For #4507 Enable codecov (#4520) 5 years ago
Emily Kager e1f0c9f48b No issue: Update testing dependencies 5 years ago
Emily Kager c21c91eac5 No issue: Update testing dependencies and deprecated method (#4608) 5 years ago
Colin Lee a514cb3f8c No issue: Add OSS licenses link to About page 5 years ago
Travis Long 51218bc93e Integrate service-experiments component (#4098) 5 years ago
Thom Chiovoloni a1adb2e57f Update fenix for new megazord setup 5 years ago
Sebastian Kaspari d1d91e9e6a Switch to GeckoView 69 Beta. 5 years ago
Sawyer Blatz e6487ba609
No issue: Add more useful test output to TaskCluster (#4165) 5 years ago
Richard Pappalardo b39afe1548
Add taskcluster job for UI tests (#4088) 5 years ago
Colin Lee 3dc20543e3
For #4128: Migrate Bookmarks to LibState (#4254) 5 years ago
Michael Droettboom ce19709eae 1567988: Reduce likelihood of invalid URL loading Glean build script 5 years ago
Tiger Oakes 8ebd7cd744 Update to use Mozilla Android Components 5.0.0 5 years ago
Sawyer Blatz b70719bd00
Fixes #2464: Remove Glide dependency (#4169) 5 years ago
Jonathan Almeida d298b5f2f5 Closes #4075: Add Feature Flag class (#4077) 5 years ago
Johan Lorenzo 7f8cf79241
Use Raptor release now that GV release is used (#4070) 5 years ago
Sebastian Kaspari 110dd732e2 Use Mozilla Android Components 4.0.0. 5 years ago
Jonathan Almeida 5792acf442 No issue: Enable send tab in nightly legacy 5 years ago
Jonathan Almeida cf9ae87d50 For #3015: Add push support for send tab 5 years ago
Sebastian Kaspari abc4e93cc3 After mege day: Switch from GV 68 beta to GV 68 release. 5 years ago
Grisha Kruglov fe51bbcf7b Update FxA integration to new APIs 5 years ago
Colin Lee 747e83da91
Closes #2683. Update Gradle to `5.5` (#3929)
* Closes #2683. Update Gradle to `5.4.1`

* Upgrade to Gradle 5.5
5 years ago
kglazko 166218f74a Adding l10n screenshot tests for Fenix (#3562)
* Adding l10n screenshot tests for Fenix

* fixing comments

* fix klint and detekt error and adding all tests

* better test name and doc added explaining tests
5 years ago
Richard Pappalardo e7d0bfe581
Update HomeScreenTest (#3882) 5 years ago
Mitchell Hentges aebcc92080
Re-enables pushing nightly to org.mozilla.fenix (#3823)
* Re-enables pushing nightly to org.mozilla.fenix

* Publishes org.mozilla.fenix.nightly releases on internal track
5 years ago
Mitchell Hentges e5f47a8210 Nightly package name should be "org.mozilla.fenix.nightly" (#3771) 5 years ago
Tiger Oakes d01bb8c442 Use lifecycleScope for collections fragments 5 years ago
Denys M 6d6b240e48 Add unit tests for `Settings`.
Add unit tests for `Settings`.
5 years ago
Tiger Oakes ab6101b0f4 Fixes #3539 - vectordrawablecompat for gradients (#3541) 5 years ago
Grisha Kruglov 521312c6f8 Disable send tab for non-nightly, non-debug builds (#3542)
* Put deviceCapabilities list behind a SEND_TAB_ENABLED flag

* Disable SEND_TAB for non-debug, non-nightly builds
5 years ago
Colin Lee e7576b2831
For i18n testing: Enable pseudolocales (#3391) 5 years ago
Johan Lorenzo 2f8dc488bc Let raptor use the geckoview builds 5 years ago
Jonathan Almeida 8e3aeb1545 No issue: Enable send tab for all builds 5 years ago
Thom Chiovoloni 4d82c29743 Don't substitute application-services packages which are not part of the megazord 5 years ago
Denys M c9570fd6ff Use `Drawable.toBitmap()` from androidx-ktx. (#3286) 5 years ago
Emily Kager 883afe9bd4 No issue: Update dependencies 5 years ago
Mitchell Hentges e0fa11a276 Adds IDE documentation for gradle versionName error 5 years ago
Sebastian Kaspari b2d81aba43 Issue #2381: Add feature-media component and enable notification for recording devices. 5 years ago
Colin Lee 426582c303
For #3129: Add a production build type to Fenix (#3149) 5 years ago
Tiger Oakes 94c4013810 Closes #3091 - Hide Pull to Refresh under flag (#3092)
This was merged in after feature freeze so we're pulling it out for
now. Pull to refresh will continue to work in debug mode so that the
design can be iterated on easily.
5 years ago
Mitchell Hentges 62473e5e86
Migrates "raptor" build type to work for chrome-perf-testing, too (#2926) 5 years ago
James Hugman 060cd646c8 Fixes #1570 - Enable app-links feature 5 years ago
Colin Lee 6e501c33c0
Update flipper to make LeakCanary traces appear (#2971) 5 years ago
Stefan Arentz ff5eca1537 Fixes #445 - Ship Fenix x86_64 builds (#2856) 5 years ago
Mitchell Hentges 77ff164e30
Passes variants without parsing (#2408) 5 years ago
Emily Kager beb2dec79f For #2780 - Fix home screen attributes for API 21-22 (#2844) 5 years ago
Jonathan Almeida 8fbbcceb21 Adds send tab functionality to UI (#2790)
* Closes #2782: Hide send tab when no devices available

* For #2752: Enabled send tab for debug and nightly builds

* For #2753: Add Send Tab functionality to UI
5 years ago
Jonathan Almeida eb7646f073 Add custom share sheet and send tab support (#2757)
* Closes #2751: Add custom app share sheet

* Closes #2753: Add send tab devices to share sheet

* Closes #2752: Add build flag for send tab

* Replace Context.share with ShareFragment
5 years ago
Ryan Kelly 17f8e236aa Closes #2555: Remove appservices gradle plugin, perform megazord substitution by hand. 5 years ago
Sebastian Kaspari c3ff7a1aba Switch to browser-engine-gecko-beta (GeckoView 68.0). 5 years ago
Sawyer Blatz f73bb22955 No issue: Removes usage of COLLECTIONS_ENABLED flag 5 years ago
Sebastian Kaspari 6942767dfe Remove feature-session-bundling component. 5 years ago
Sawyer Blatz 72d29c2a43
For #2205 & #1578: Integrates tab collection storage (#2478)
* For #2205: Adds TabCollectionStorage

* For #1578: Adds delete to TabCollection
5 years ago
Colin Lee ccbc14a71f For #1994: Re-architect state handling code (#2382) 5 years ago
Jeff Boek 27d8c09def
Fixes #1735 - adds the ability to write code against the build channel (#2388) 5 years ago
Emily Kager 60fe8de3ec No issue: Update constraintlayout and androidx dependencies (#2396) 5 years ago
Colin Lee 78f8354fbb Fix build breakage over FragmentScenario integration 5 years ago
Colin Lee 96b68948b5
For #1710: Create scaffolding for Robolectric tests (#2282) 5 years ago
Mitchell Hentges 282ad31345
Updates Fenix taskcluster tasks to support beta release (#1893)
* Updates Fenix taskcluster tasks to support beta release

* Throw error if -PversionName isn't set for release builds

* Uses beta secrets for beta

* Improves nightly and beta treeherder symbols
5 years ago
Christian Sadilek 9b0422b062 Issue #910: Integrate feature-readerview component (#2269)
Closes #908, Closes #910, Closes #911, Closes #912

Co-authored-by: Jonathan Almeida <jalmeida@mozilla.com>
5 years ago
Alessio Placitelli 0d82431195 Generate the `activation` ping and send it with Glean (#1707)
This fetches the Google Advertising ID, salts it and
then applies hashing before sending a ping with it,
at startup. Hashing and salting are used in order
to prevent ourselves to correlate advertising IDs
from the same user running different products we
own off a single device. We will never send the
client_id and the Google Advertising ID in the same
ping.
5 years ago
Mitchell Hentges 9a2cf4339b Fixes #1566, #2076 (#2194) 5 years ago
Emily Kager 4da5a26536 Closes #2000 - Don't flash LeakCanary setting in release builds (#2006) 5 years ago
Johan Lorenzo 194aa0cbb0 Enable raptor tests on Fenix 5 years ago
Grisha Kruglov f560ec8e8d Closes #1902: Remove direct appservices dependencies
Our main dependency - android-components - is tightly integrated
against a certain version of appservices. Having a direct dependency
at the Fenix level is a foot-gun: it allows Fenix to consume an API-incompatible
version of appservices, breaking parts of android-components. Due to
how gradle dependency resolution works, this breakage is "silent": there are
no compile time warnings. A recent example of this is broken history sync,
and buggy FxA experience in Fenix.

This patch removes a direct dependency, letting android-components dictate
which appservices version should be used Fenix builds.
5 years ago
Mitchell Hentges 92b6d4a925 Moves release flavour to build type (#1693) 5 years ago
Jeff Boek f19a773ab9
Merge pull request #1842 from boek/i1840-collections_featureflag
For #1840 - Adds a save tab group button and puts it behind a feature  flag
5 years ago
Colin Lee d1fd5ec879 For #113: QR Scan 5 years ago
Kevin Brosnan 493bab42a4 UI tests for the home screen 5 years ago
Colin Lee 4c43ff09a8 For #1139: Cold start has Dispatchers.Main 1/5th second delay 5 years ago
Colin Lee b54d4d1d58 Closes #1312, #1236, #1237, #1238, #1239: Creating, Editing, and Deleting Bookmarks and Bookmark Folders 5 years ago
ekager 568edda8bc Update RecyclerView to 1.1.0-alpha04 5 years ago
Jonathan Almeida f00e388dd4 Update GV architectures to nightly 5 years ago
Emily Kager c0a1d36b50 No issue: Remove conflicting appcompat dependency 5 years ago
Sebastian Kaspari 15888eb106 Build against GeckoView 68.0 (browser-engine-gecko-nightly). 5 years ago
Christian Sadilek a17b5b86c2 Closes #1329: Raptor performance tests can no longer be executed 5 years ago
Sebastian Kaspari 8fa9467290 Gradle: Ignore non-greenfield build variants. 5 years ago
Johan Lorenzo 7f772404ce Run build and tests on PRs and pushes 5 years ago
Colin Lee bd81e72239 Fixes #916, fixes #917, fixes #920: Save, share, and delete bookmarks 5 years ago
Christian Sadilek 6491adf029 For #423: Add release build type for raptor perf. testing 5 years ago
Jeff Boek 379875a62a Fixes #1162 - replaces about page with an Android Fragment 5 years ago
Colin Lee 0acf8698ef Closes #1151: As a developer, Flipper integration might help me with debugging 5 years ago
Sebastian Kaspari 4d20f99082 Issue #1077: Switch to GeckoView Beta (67.0). 5 years ago
Colin Lee 72b9d4ebdb No issue: Upgrade to stable Navigation library and ignore ktlint issues in generated code 5 years ago
Grisha Kruglov 2b00d1120f Integrate BackgroundSyncManager, enable history syncing
This patch integrates the new a-c BackgroundSyncManager, which is the
main entry point for interacting with Sync. Behind the scenes, it uses
WorkManager in order to sync configured syncable stores.

Current behaviour:
- sync runs on start, with a slight delay
- sync runs on a schedule few times a day, to lessen the startup sync burden

Also included is a basic UI integration in order to allow user to synchronize
on demand, and monitor sync state.
5 years ago
Jeff Boek 521ca74836 Fixes #891 - Adds the leanplum sdk 5 years ago
ekager 1d939f209e No issue: Update Navigation Library 5 years ago
Colin Lee b9aee25edd Fixes #675: Integrate Adjust SDK (for Greenfield flavor) 5 years ago
Arturo Mejia 725074ec16 Adding support for Site Permissions. 5 years ago
Colin Lee dfd3e93d17 Fixes #745: Integrate Browser-Icons component for favicons 5 years ago
Grisha Kruglov 46789f4c62 Issue #418: Basic Firefox Accounts integration
This patch integrates relevant a-c components, and updates the current Preferences
UI to allow signing-in and displaying basic account information (email, displayName).

Currently there's no Accounts UI, and so singing out or otherwise interacting with the
account isn't possible.
5 years ago
Grisha Kruglov 9a9740bfd3 Issue #309: Consume Fenix megazord; enable Rust logging 5 years ago
Sebastian Kaspari 0bffc071b6 Closes #698: Create product flavors for Fennec transition.
* greenfield (pure Fenix without anything added)
* firefoxNightly (To replace Firefox Nightly)
* firefoxBeta (To replace Firefox Beta)
* firefoxRelease (To replace Firefox Release)

For now it will be a bit annoying to have all those flavors. But once the transition has been
successfully completed we can start to tear them down again.

Once GeckoView universal builds are available we can get rid of the "abi" dimension.

If this is going to slow down the CI process then I might look into parallelizing the build
or potentially introducing a taskcluster CI setup (if that makes sense).
5 years ago
Colin Lee 64ef207613 Limit Raptor to debug and special builds 5 years ago
Sawyer Blatz 721d181d0b
Closes #622: Adds Glide (#623) 5 years ago
Colin Lee 5cf61c95db Fixes #589: Add sample unit tests for a component 5 years ago
Colin Lee 6d71faa44d Fixes #541: Crash on Home Screen
The Android Lifecycle Architecture component does not have fine-grained enough lifecycle event callbacks to safely manage Rx subscriptions in Fragment lifecycles. Added autodispose to simplify.
5 years ago
Sebastian Kaspari 5903e8b652 Issue #444: Adapt version code for aarch64 to follow order: X86 > aarch64 > ARM. 5 years ago
Colin Lee ee229c9709 Fixes #354: Overflow menu for multitasking in current session 5 years ago
Jeff Boek 2e525813f6 Adds build date to the about page 5 years ago
Colin Lee 2bc769190e Fixes #401: Resolve known leak and install LeakCanary 5 years ago
Sebastian Kaspari b4d1ac0d63 Closes #472: Integrate feature-session-bundling component.
This will take care of saving and restoring the (`SessionManager`) state.
5 years ago
Sebastian Kaspari 5f8a15e9ae Introduce aarch64 flavor and publish nightly build. 5 years ago
Emily Kager 0c8b2a8a1e Closes #449 - Adds Basic About Page with Dated Version Name 5 years ago
Colin Lee c3e8e83776 Enable Proguard plus optimizations for release 5 years ago
Colin Lee f09dc2453f Fixes #351 Create home screen component for multitasking 5 years ago
Emily Kager 77883c0f30 Closes #403 Use Fragments for Navigation, Add Toolbar to HomeActivity 5 years ago