Commit Graph

65 Commits

Author SHA1 Message Date
Lina Butler
9fc26ee91c Bug 1891157 - Add a feature and a use case for closing synced tabs. r=jonalmeida,android-reviewers,007
This commit introduces plumbing for sending "close tab" commands to
other devices that are signed in to the same Mozilla account, and for
receiving "close tab" commands from other devices.

Differential Revision: https://phabricator.services.mozilla.com/D208051
2024-05-05 22:07:11 +00:00
mcarare
60d3978145 Bug 1821005 - Restore reverted Gradle 8 upgrade due to startup crashes"
This reverts commit 592e88b3547d2e96ae04d8b5bd69cbab2ac3e97e.
2023-12-05 03:44:20 +00:00
Ryan VanderMeulen
c65ab071b9 Bug 1821005 - Revert Gradle 8 upgrade due to startup crashes
Revert "Bug 1863744 - Update Gradle to version 8.4"

This reverts commit 829795632954148709fbe945c78d55cc62053ac8.

Revert "Bug 1821005 - Apply additional keep rules for missing classes detected while running R8."

This reverts commit 8f3f246cc5ff571323f56d46963d8d176bec91e3.

Revert "Bug 1821005 - Set UI_INJECTION_HOST mode for lint in test."

This reverts commit 6962bf0b5df57781045f68417f76527bcdf521ab.

Revert "Bug 1821005 -  Include sourcesJar as an input of publishing."

This reverts commit 41b2a48da577787c3189eec8c8af71c35cfecbfb.

Revert "Bug 1821005 - Set compileOptions for android subprojects."

This reverts commit fb21df9d0a9cd585e216733dc1bf929636df20f1.

Revert "Bug 1821005 - Replace deprecated project.buildDir"

This reverts commit 6f880de46ec73f7e5240a0279108bbb6aeb0f63b.

Revert "Bug 1821005 - Exclude generated metrics docs from detekt."

This reverts commit f17d2430bf1daabeed2724312354018050f3f52a.

Revert "Bug 1821005 - Exclude build in extensions versioning from detekt."

This reverts commit 34144c5ad1d62e2d85492f8d32341bbcd032690b.

Revert "Bug 1821005 - Add uses-feature tag for camera permission."

This reverts commit 13c80944bd1756cdcaa98eef783b6a23ad12cabd.

Revert "Bug 1821005 - Set nonTransitiveRClass and nonFinalResIds build flags to false."

This reverts commit 219fbc19c54134ad264edc79642fa1799c6f54d6.

Revert "Bug 1821005 - Apply plugin: 'kotlin-android' for UI modules."

This reverts commit ddbd5e18eb9d2b33b4de4a6df48d97ec4ab42963.

Revert "Bug 1821005 - Enable generation of the BuildConfig class"

This reverts commit 65c2b8c63790fbd2352f3f94b99c80d81d18dae1.

Revert "Bug 1821005 - Add namespace to samples-glean-library module"

This reverts commit 0239233efb1cc4e896e4aa0337e3da911eeb2f1c.

Revert "Bug 1821005 - Replace deprecated toLowerCase with lowercase."

This reverts commit 69f2c66aad3aa638a1bab31b2a1e6c597d1f3992.

Revert "Bug 1821005 - Replace deprecated 'toInt' method with 'code' property."

This reverts commit 7adb38a6fbe20de3fdb6723a10e574d183e7fcff.

Revert "Bug 1821005 - Replace deprecated execResult."

This reverts commit bfd02dd16d7e5c9dbcf34858fbbe4176d698f8cd.

Revert "Bug 1849833 - Replace deprecated extractNativeLibs manifest attribute."

This reverts commit a05bc9618457ab2d71a5d3d88d8d3b0318497a54.

Revert "Bug 1821005 - Upgrade AGP to 8.0.2"

This reverts commit fc0fadd63553e2144ce074454d502ecf307eb988.

Revert "Bug 1821005 - Upgrade kotlin-dsl to 4.1.0."

This reverts commit 14e8903e922fa22e28450520be3b6152be6a3a8f.

Revert "Bug 1821005 - Upgrade Gradle to 8.3 version."

This reverts commit f14f447a4d43588d24e4ca3efde0668ddcf7cf08.
2023-11-08 13:35:38 -05:00
mcarare
04345cb27b Bug 1821005 - Enable generation of the BuildConfig class
For modules that use buildConfigField and generate metrics, because BuildConfig is not generated by default after Gradle 8.
2023-11-08 09:10:09 +00:00
Ben Dean-Kawamura
1d1b1051f9 Bug 1861219 - Resolve breaking changes to the Rust fxa-client
This is mostly just renames.
2023-11-03 18:38:11 +00:00
mcarare
06ab2382da Bug 1849833 - Replace deprecated compileSdkVersion.
This is replaced by defaultConfig compileSdk.
2023-09-21 13:28:28 +00:00
mike a
90cc12c255 Bug 1815637 - cherry picking 548379d, the original rtl commit 2023-08-04 04:32:44 +00:00
Arturo Mejia
8b238ff494 Reverts "Bug 1815637 - Add rtl support." 2023-07-13 17:55:12 +00:00
Tarik Eshaq
9b0af3d7bc Bug 1832676: Fixes handle push breaking changes 2023-05-24 21:33:58 +00:00
Tarik Eshaq
f09b5f43ec Bug 1804274: Adds entrypoints for firefox accounts
Co-authored-by: Matt Tighe <MatthewTighe>
Co-authored-by: Jonathan Almeida <jalmeida@mozilla.com>
Co-authored-by: Tarik Eshaq <teshaq@mozilla.com>
2023-05-19 04:01:09 +00:00
mike a
0f6ee09218 Bug 1815637 - Add rtl support 2023-05-09 18:41:08 +00:00
Geoff Brown
4b36c91e06 Bug 1825116 - Add license notice where missing (https://github.com/mozilla-mobile/firefox-android/pull/1637)
* Bug 1825116 - Add license notice where missing

* Bug 1825116 - Revert changes to strings.xml

* Bug 1825116 - Restore ic_cc*.xml
2023-04-19 21:08:15 +00:00
Jonathan Almeida
4c80c7d35d Bug 1794204 - Remove AccountSharing migration from FxaAccountManager 2023-03-30 16:53:12 +00:00
mcarare
1f589a2e0b Bug 1802817 - Set namespace via DSL in gradle build files.
See https://developer.android.com/studio/build/configure-app-module#set-namespace
and https://issuetracker.google.com/issues/172361895
2023-03-02 17:13:09 +00:00
mcarare
922b5f6643 Bug 1802817 - Rename AC Dependencies to ComponentsDependencies.
This change is needed in order to avoid clashes with Dependencies class introduced
in Gradle from 7.6 version.
2023-03-02 17:13:09 +00:00
Mugurell
099a42989e Bug 1800268 - Add new autocomplete providers for bookmarks and local/sync tabs 2023-01-31 11:15:37 +00:00
Gabriel Luong
d9d783b698 [components] Issue https://github.com/mozilla-mobile/android-components/issues/12939: Address all ktlint issues 2022-10-17 17:07:40 -04:00
mcarare
80f0876bec [components] For https://github.com/mozilla-mobile/android-components/issues/12381: Handle allowBackup, fullBackupContent deprecation. 2022-08-31 09:47:47 +00:00
Gabriel Luong
65626ccd3a [components] Issue https://github.com/mozilla-mobile/android-components/issues/11864: Enable UnusedPrivateMember rule for detekt 2022-03-24 18:47:39 +00:00
Ben Dean-Kawamura
dfdcdc402b [components] Use normal instead of DummyLoginsStorage in the sample browser
Also updated samsples:sync-logins and samples:sync
2021-10-13 20:30:28 -07:00
Ben Dean-Kawamura
a55de54091 [components] Support/require registering the passwords key provider
- Without this sync won't work
- Made the `crypto` field public so that Fenix can access it to pass to
  `configureStore()`
- Updated samples-sync
2021-10-13 20:30:28 -07:00
Sebastian Kaspari
ce323400dd [components] Run ktlintFormat to fix new ktlint errors. 2021-07-28 12:03:23 +00:00
Sebastian Kaspari
f14b267388 [components] Issue https://github.com/mozilla-mobile/android-components/issues/10335: Update dependencies to support Jetpack Compose and add first prototype components.
* Issue https://github.com/mozilla-mobile/android-components/issues/10335: Upgrade to Gradle 7.
* Update Android Gradle Plugin to 7.0.0 Beta 2.
* Issue https://github.com/mozilla-mobile/android-components/issues/10335: Generate BuildConfig with VERSION_CODE and VERSION_NAME fields in library modules (for Glean).
* Issue https://github.com/mozilla-mobile/android-components/issues/10335: Add first component using Jetpack Compose: compose-browser-toolbar.
* Issue https://github.com/mozilla-mobile/android-components/issues/10335: Introduce Jetpack Compose bindings for lib-state.
* Issue https://github.com/mozilla-mobile/android-components/issues/10335: Upstream Jetpack Compose toolbar prototype from Reference Browser.
* Issue https://github.com/mozilla-mobile/android-components/issues/10335: Add TargetTab helper for observing specific tabs.
* Issue https://github.com/mozilla-mobile/android-components/issues/10335: Add compose-engine component for adding Jetpack Compose bindings to a concept-engine implementation.
* Issue https://github.com/mozilla-mobile/android-components/issues/10335: Add new sample app (samples-compose-browser) for prototyping browser UI using Jetpack Compose.
* Issue https://github.com/mozilla-mobile/android-components/issues/10335: Update to Beta 3 of the Android Gradle plugin.
* Issue https://github.com/mozilla-mobile/android-components/issues/10335: Allow usage of http when substituting maven repositories in CI.
* Issue https://github.com/mozilla-mobile/android-components/issues/10335: Rename TabTarget helper to just Target.
* Issue https://github.com/mozilla-mobile/android-components/issues/10335: Make BrowserToolbar follow target tab too.
* Add awesomebar prototype using Jetpack Compose.
* Update to Gradle 7.0.2.
2021-07-20 16:22:26 +00:00
mcarare
636adaf2a9 [components] For https://github.com/mozilla-mobile/android-components/issues/10404: Remove deprecated kotlin-android-extensions plugin
(cherry picked from commit d99621583ceb11e7d91ebe284e40aec145793e48)
2021-06-15 08:32:26 +00:00
Christian Sadilek
4dfb6d92c1 [components] Revert "For https://github.com/mozilla-mobile/android-components/issues/10404: Remove deprecated kotlin-android-extensions plugin"
This reverts commit d99621583ceb11e7d91ebe284e40aec145793e48.
2021-06-14 18:09:24 +00:00
mcarare
17c2336fde [components] For https://github.com/mozilla-mobile/android-components/issues/10404: Remove deprecated kotlin-android-extensions plugin 2021-06-14 10:05:57 +00:00
Grisha Kruglov
0d4aa38533 [components] Introduce AutofillCrypto and add encryptio/decryption and key management to credit card storage 2021-04-21 21:06:50 +00:00
Grisha Kruglov
fd352d02ce [components] Pre: explicit dependency on androidx.fragment to use the latest version
androidx.fragment version is set to 1.2.5, but without explictly defining it we get 1.2.0 via some other dependency.
2021-04-21 21:06:50 +00:00
Grisha Kruglov
40bbdc5a0a [components] Pre: use fully qualified class name for FragmentContainerView 2021-04-21 21:06:50 +00:00
Michael Droettboom
cdffe11411 [components] Update for new androidx.fragment usage 2021-02-16 18:01:12 +00:00
Christian Sadilek
abc712c081 [components] Revert "Update for new androidx.fragment usage"
This reverts commit 1195ee9c1064c31c4b5985ba1364dd6ee4edea2e.
2021-02-12 15:49:35 -05:00
Michael Droettboom
53500aaebc [components] Update for new androidx.fragment usage 2021-02-12 11:22:36 +00:00
Grisha Kruglov
ee28f42d71 [components] Account manager state machine refactoring 2020-09-22 20:40:24 +00:00
Tiger Oakes
19ed5e4d32 [components] Remove deprecated android gradle flag 2020-07-23 13:03:01 -07:00
Grisha Kruglov
4da4807f35 [components] Closes https://github.com/mozilla-mobile/android-components/issues/6304: Switch storage delegates to construct over Lazy<StorageType>
This allows us to initialize objects which depend on these delegates without having
to block on instantiating storage components themselves.
2020-03-18 13:30:18 -07:00
Edouard Oger
bc3a9abfca [components] Closes https://github.com/mozilla-mobile/android-components/issues/6253: Update application-services to v0.55.0 2020-03-16 15:48:16 -04:00
Grisha Kruglov
cafddbcb8c [components] Closes https://github.com/mozilla-mobile/android-components/issues/5715: Login storage refactor
This refactor changes how (most) consumers are expected to interact with the logins storage.
Instead of "locking"/"unlocking" the store whenever its needed, a connection to a storage
layer is now cached on first access and re-used for subsequent operations.

Various components relying on logins storage have been simplified.
2020-03-03 04:23:25 -08:00
Mark Hammond
4cc2e9888c [components] detekt/ktlint 2020-02-25 18:08:23 -08:00
Mark Hammond
e345e048de [components] Update to application-services 0.52.0. Fixes https://github.com/mozilla-mobile/android-components/issues/5999 2020-02-25 18:08:23 -08:00
Grisha Kruglov
71371061d1 [components] Post: Add password synchronization to samples-sync app 2019-12-19 12:13:19 -08:00
Grisha Kruglov
4303c431e7 [components] Part 1: Do not erase account storage after hitting an auth problem
Before this patch, we'd clear out account storage after we see an unrecoverable authentication error. In this context, a password change would be an unrecoverable error. We'll transition account into an AuthenticationProblem state, but upon re-initialization of the state machine we'll end up in NotAuthenticated instead, because there's no longer a locally persisted account state. So, this is just a straight-up bug in the state machine.

So, step 1:
    do not erase account storage if we encounter auth problems we can't auto-recover from
        this will make sure account isn't disappearing after a restart
        this has an additional benefit of not erasing fetched profile data, as well! it's part of the persisted account state

Also, add in some debug logging into the samples-sync app to make testing this a bit easier.
2019-11-19 16:29:05 -08:00
Grisha Kruglov
7a6f42f235 [components] Closes https://github.com/mozilla-mobile/android-components/issues/2229: Encrypted-at-rest FxA state storage support
This patch adds a version of `AccountStorage` which is backed by an encrypted-at-rest shared-prefs implementation,
`SecureAbove22Preferences`. As the name suggests, encryption at rest is enabled only for Android API levels 23+.
Otherwise, plaintext storage is used. `SecureAbove22Preferences` will handle API level upgrades behind the scenes,
if necessary.

In order to support rolling this out, `SecureAbove22AccountStorage` automatically migrates account state if it was
present in `SharedPrefAccountStorage`. And vice-versa, `SharedPrefAccountStorage` will automatically migrate account
state if it was present in `SecureAbove22AccountStorage`. This allows applications to easily switch between two
implementations, without any ill-effects.

In order to monitor storage implementations for abnormalities (such as disappearing encryption keys), an optional
`CrashReporter` instance may be configured now via FxaAccountManager.

`DeviceConfig` gained a `secureStateAtRest` flag, which allows applications to specify if they'd like to encrypt
account state. This config object isn't a perfect fit for this flag, but it's close enough conceptually.
2019-11-18 16:21:03 -08:00
Grisha Kruglov
b1a7c46ea4 [components] Part 3: Rust SyncManager integration
Co-authored-by: Arturo Mejia <arturomejiamarmol@gmail.com>
2019-09-27 12:39:48 -07:00
Denys M
b95c932f81 [components] For https://github.com/mozilla-mobile/android-components/issues/4460. Fix detekt warning about license in project files. 2019-09-24 01:01:03 +04:00
Sebastian Kaspari
2c3b41aa37 [components] Update AndroidX dependencies.
Follow-up issues:
* https://github.com/mozilla-mobile/android-components/issues/4379
* https://github.com/mozilla-mobile/android-components/issues/4378
2019-09-11 14:25:23 +02:00
Grisha Kruglov
34bcecbf2a [components] Post: address review feedback and test/lint failures 2019-09-04 11:41:58 -07:00
Grisha Kruglov
1068a7e029 [components] Part 1: Add SyncEngine to account manager's public API
Preparatory work for allowing users to choose what to sync. We are about to
tie SyncConfig with FxA's "capabilities" webchannel API, which takes a set of
"engines" as strings. To simplify our integration work, this patch replaces an
untyped set of "stores" with a typed set of "engines" at the API level.
2019-09-04 11:41:12 -07:00
Grisha Kruglov
dc5c888a08 [components] Part 3: Simplify device management code
This removes ability to automatically poll for device events.
That removal allows for a nice simplification of the two awkward classes
that split the same responsibilities.

Ability to automatically poll in the background is removed because we now
have proper push support (see `feature-push` and friends). Automatic polling
isn't something we'd like to see applications engage in, so let's not enable them.

Manual event polling is still possible via a simplified API call.
Refreshing constellation state is now possible without polling for events.
2019-08-19 13:04:39 -07:00
Grisha Kruglov
129ba79445 [components] No issue: bump a-s to 0.37.1 2019-08-13 14:52:36 -07:00
Grisha Kruglov
4adfb862a5 [components] Revert "No issue: bump a-s to 0.37.0"
This reverts commit 6c04b3ca8a.
2019-08-09 14:15:33 -04:00