Commit Graph

65 Commits (74c1cc82fb4975f63c20a718f09367149bcc3c70)

Author SHA1 Message Date
Roger Yang 74c1cc82fb Closes #19921: Update appcompat and fragment dependencies to 1.3.x 3 years ago
Grisha Kruglov e891139db9 Minor cleanup of the account settings 3 years ago
Elise Richards 6459a859b9
For #17537: Add preferences for syncing credit cards and addresses (#19471)
* Add preferences for enable/disable sync for cc and addresses

* Set pref visibility based on feature flags

* Helper function for pin warning preferences and set default values for cc and addresses to false.

* Kdocs for relevant sync functions in account settings

* Default visibility to false for credit cards and addresses in account settings
3 years ago
codrut.topliceanu 0c74756d39 For #19132 - Fix navigation on disconnect started from tabsTray
- Added checks to popBackStack from the Disconnect Logged-in User Dialog, either back to settings, browserFragment or homeFragment.
3 years ago
MarcLeclair 990bfa7e6d
16900 make navgraph inflation asynchronous (#18889)
* For #16900: implement async navgraph inflation

For #16900: removed nav graph from xml

For #16900: inflate navGraph programatically

For #16900: Made NavGraph inflation asynchronous

For #16900: Changed to block with runBlocking

For #16900: Refactored blocking call into a function

For 16900: NavGraph inflation is now async

We now attach the nav graph (or check if its attached) on every nav call ( an extension function for NavController).
This is done by checking the value of the job stored in PerfNavController.map which keeps track of the job with the NavController as a Key.
If the job hasn't been completed, it will block the main thread until the job is done. The job itself is responsible for attaching the navgraph
to the navcontroller (and the inflation of the latter too)

For 16900: rebased upstream master

For 16900: Rebase on master

For #16900: Fixed Async Navgraph navigation per review comments.

1)The Asynchronous method is now found in NavGraphProvider.kt. It creates a job on the IO dispatcher
2)The Job is tracked through a WeakHashMap from Controller --> NavGraph
3)The Coroutine scope doesn't use MainScope() anymore
4)The Coroutine is cancelled if the Activity is destroyed
5)The tests mockk the blockForNavGraphInflation method through the FenixReoboelectricTestApplication instead of calling the mock every setup()

For #16900: inflateNavGraphAsync now takes navController

For #16900: Pass lifecycleScope to NavGraphProvider

For #16900: removed unused mock

For #16900: Added linter rules for navigate calls

We need linting rules to make sure no one calls the NavController.navigate() methods

For #16900: Added TestRule to help abstract the mocks in the code

For 16900: Fix linting problems

For #16900: Cleaned duplicated code in tests

For #16900: cleaned up NavGraphTestRule for finished test

For #16900: had to revert an accidentally edited file

For #16900: rebased master

* For #16900: Review nits for async navgraph

This is composed of squash commits, the original messages can be found below:

-> DisableNavGraphProviderAssertionRule + kdoc.

Use test rule in RobolectricApplication.

Fix failing CrashReporterControllerTest

Fix blame by -> navigate in tests.

This commit was generated by the following commands only:
```
find app/src/test -type f -exec sed -i '' "/import org.mozilla.fenix.ext.navigateBlockingForAsyncNavGraph/d" {} \;
find app/src/test -type f -exec sed -i "" "s/navigateBlockingForAsyncNavGraph/navigate/g" {} \;
git checkout app/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker
```

Fix various blame

This is expected to be squashed into the first commit so, if so, it'd
fix the blame.

Move test rule to helpers pkg.

add missing license header

Add import change I missed

fix unused imports

Replace robolectricTestrunner with test rule.

Improve navGraphProvider docs

Remove unnecessary rule as defined by robolectric.

add clarifying comment to robolectric

remove unnecessary space

* For #16900: nit fixes for MozillaNavigateCheck and lint fixes

3 squash commits:
 *Changed violation message and fixed the lint rule for MozillaNavigateCheck
 *Added suppression to NavController.kt
 *Fixed detekt violations

* For 16900: Fixed failing tests

Co-authored-by: Michael Comella <michael.l.comella@gmail.com>
3 years ago
rxu efdb30483a Add domestic China FxA service for Mozilla Online builds
China fxa related string

Add switch preference in settings to use local/global fxa server

inherit fennec FxA settings

Present or hide fxa switch according to isMozillaonline

Allow China fxa server auto login during migration
3 years ago
Arturo Mejia 54db8f3fde Revert "For #17805 - Fix adjustResize deprecation (#18252)"
This reverts commit 38f906a6
3 years ago
Codrut Topliceanu 38f906a685
For #17805 - Fix adjustResize deprecation (#18252)
* For #17805 - Fix adjustResize deprecation

To handle the deprecation of `adjustResize` I've moved it from `styles.xml` and `AndroidManifest.xml` to `Activity.kt` as a fallback for devices with Android < 11. For Android 11 and up `setDecorFitsSystemWindows(false)` and `OnApplyWindowInsetsListener` will be used to handle app insets. Normal use activities should call `enableSystemInsetsHandling` in `onCreate` as to properly display system bars and for proper keyboard handling.
3 years ago
mcarare 4e736625bd For #8716: Authentication custom tab now considers browsing mode. 3 years ago
Hakkı Kaan Çalışkan e41cc5a414 For #17303: Move ext fun runIfFragmentIsAttached to utils
move to ext
3 years ago
ekager e428694a51 For #16397 - Fixes SignOutFragment crash and invisible button 4 years ago
Codrut Topliceanu 6e4393a199
For #15720 - Remove unused telemetry (#15887) 4 years ago
ekager 4d348dd26a Fixes existing lint errors 4 years ago
Grisha Kruglov 51dab196c4 Closes #15443: Use fragment's lifecycleScope for AlertDialog actions 4 years ago
Grisha Kruglov 2999f64d0a Closes #15434: Don't try to display a 'signed in' snackbar in a 'headless' mode 4 years ago
Grisha Kruglov 71b51146cb Update breaking changes in the FxA/Sync integration 4 years ago
mcarare c1bf66618e #274-android-l10n: Update create account string to avoid partial translations. 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
mcarare 5b33044999 For #12829: Add create account option on the the sign in screen. 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
Mugurell 84976f308a 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
Jonathan Almeida f92485d1e8 For #12287: Add feature flag for Synced Tabs in tabs tray 4 years ago
Tiger Oakes 5d772337a8 Fix AccountUiView ui failures 4 years ago
Tiger Oakes eab9660146 For #1146: Extract AccountUiView from settings 4 years ago
Tiger Oakes 52de2b8f38 Fix license on remaining files 4 years ago
Hakkı Kaan Çalışkan f424656575 For #12107: Follow ux mock on Settings --> Account screen 4 years ago
Tiger Oakes 596c579bbb Replace nullable findPreference 4 years ago
Vishwa Patel 4da22c605a For #10834 - Adding Sync Tabs Feature in Fenix 4 years ago
Simon Chae a851b76ea3
Update Android Components version to 41.0.20200506130132 (#10443) 4 years ago
Vlad Filippov e51e1c878b Add 'useEmail' and 'useEmailProblem' metrics event
Fixes #9834
4 years ago
ekager c4e83367f6 For #6832 - Fix various fragment not attached to a context crashes 4 years ago
Mihai Adrian 72fe9fad0c
For #9987: Set FLAG_SECURE to dialog when flag set in activity. (#9998)
* For #9987: Add extension to secures dialog if parent activity is secured

* For #9987: Set FLAG_SECURE to dialog when flag set in activity
4 years ago
ekager b8fba63be4 For #9890 - Do not display full screen snackbar with toolbar padding 4 years ago
ekager 5039546dc5 For #7208 For #7212 - Update parameterized strings 4 years ago
mcarare 413af92bc5 For #9797: Set min height of dialog edit text to 48dp. 4 years ago
Sawyer Blatz e3ed7ed268
Issue #9128 & #9222 & #9499: Refactors snackbar creation and fixes placement (#9628) 4 years ago
Elise Richards 5d8a9bb4be
For #8592: Relocate device name in account preferences. Deactivate device name field while syncing. (#9255) 4 years ago
Grisha Kruglov 7275dd5269 Public API changes related to 0.52.0 A-S bump 4 years ago
ekager 57a02a10fc For #8514 - Use state list colors for default disabled states 4 years ago
ekager bb85de5dca For #6737 - Set Logins checkbox default to true 4 years ago
ValentinTimisica 12ae46343e For #7957: Enable Login management preference for all users 4 years ago
Tiger Oakes c0d7bc5bd5 Use navArgs helper in fragments 4 years ago
ekager 053e5b8065 For #6396 For #6553 - Update sync engine checkboxes and send telemetry once 4 years ago
Sawyer Blatz c7c4ad051a
For #6413: Adds more snackbar positioning logic (#7444)
* For #6413: Adds more snackbar positioning logic

* Refactor
4 years ago
Sawyer Blatz 3fb060f682
For #6413: Fixes snackbar positionining for bottom toolbar (#7415)
* For #6413: Fixes snackbar positionining for bottom toolbar

* For #6413: Cleans up snackbar usage
4 years ago
Mihai Branescu 7cf71c8ef3
For #6396 - Added metrics for tracking history/bookmarks account sync toggles (#6601) 5 years ago
Tiger Oakes 422faaf7c0 Add toolbar helpers (#6531) 5 years ago
Grisha Kruglov 40047315c2 For #6490 - track abnormal FxA behaviour via Sentry 5 years ago
Emily Kager 3e2b88cc91 For #5547 - Add top level auth when accessing passwords 5 years ago
ekager f49331de55 For #5544: Bare Minimum Logins UI 5 years ago