Skip to content
This repository has been archived by the owner on Dec 14, 2021. It is now read-only.

Auto-signin with mozilla AuthProvider #879

Merged
merged 5 commits into from
Sep 3, 2019
Merged

Conversation

jhugman
Copy link
Contributor

@jhugman jhugman commented Aug 16, 2019

This PR continues the PR #853.

This is not ready to land, because it needs:

* [ ] UX review for screen design
* [ ] Animation, wait states
* [ ] Possibility of selecting from multiple accounts.
* [ ] Syncing after new signin.

Filed #894 to help land this (and avoid it bit rotting) behind a feature flag.

@jhugman jhugman requested a review from a team as a code owner August 16, 2019 16:05
@jhugman jhugman changed the title Auto-signin with mozilla AuthProvider [WIP] Auto-signin with mozilla AuthProvider Aug 16, 2019
@jhugman
Copy link
Contributor Author

jhugman commented Aug 16, 2019

Detecting email from a Fennec auth provider.

@jhugman jhugman requested a review from a team August 16, 2019 16:16
@grigoryk
Copy link

Possibility of selecting from multiple accounts.

I wouldn't worry about that too much for a first stab at this. We're just using the first provided account in Fenix. Underlying a-c API will give them in an order of our internal preference - so release first, etc. Once Fenix becomes auth provider, it'll take precedence over fennec.

@grigoryk
Copy link

grigoryk commented Aug 16, 2019

Syncing after new signin.

Once lockwise switches to use FxaAccountManager, this sort of thing will happen automatically. But either way, this should be straightforward.

Copy link
Contributor

@changecourse changecourse left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR represents a feature that has been pushed forward without a design spec... I am happy to start working through what this should look like if it is a priority, @sandysage

return view
}

override val getStartedClicks: Observable<Unit>
override fun showExistingAccount(email: String) {
view?.apply {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the view ever going to be null here?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, almost certainly not. I used this because it was the neatest way I could think off to not explicitly deref view repeatedly to get to the buttons. (i.e. view!!.buttonGetStarted and view!!.buttonGetStartedManually)

build.gradle Outdated Show resolved Hide resolved
build.gradle Outdated Show resolved Hide resolved
build.gradle Outdated Show resolved Hide resolved
@jhugman jhugman force-pushed the jhugman/853-auto-fxa-signin branch from 152d3a6 to 4a5a670 Compare August 27, 2019 20:22
@jhugman
Copy link
Contributor Author

jhugman commented Aug 27, 2019

I've put this behind a feature flag as I'd like to land this sooner rather than later, even if it isn't ready.

@jhugman jhugman force-pushed the jhugman/853-auto-fxa-signin branch from 4a5a670 to ef0dfea Compare August 30, 2019 17:25
@jhugman jhugman dismissed changecourse’s stale review August 30, 2019 17:32

Would like to land this, but not enable it. The UI/UX is not ready, but I'd like this to not bitrot.

@jhugman jhugman changed the title [WIP] Auto-signin with mozilla AuthProvider Auto-signin with mozilla AuthProvider Aug 30, 2019
@jhugman jhugman force-pushed the jhugman/853-auto-fxa-signin branch from c6c59e3 to e02e87b Compare September 3, 2019 15:28
@jhugman jhugman merged commit 5a83079 into master Sep 3, 2019
@jhugman jhugman deleted the jhugman/853-auto-fxa-signin branch September 3, 2019 16:03
eliserichards pushed a commit that referenced this pull request Sep 11, 2019
* Add release notes for 1.1.2.4405

* Bump version to 1.2.0

* Add ignore to the flaky test. This needs to be fixed later. (#793)

* 626, 627: Add kebab menu for delete  (#764)

* Add kebab menu icon and strings. Set up fragment for addition to toolbar.

* Create fragment and dialog.

* Add confirmation dialog, actions, and presenters

* Routing

* Ensure item is actually deleted and item list is refreshed before navigating back.

* Refactor and remove edit for now

* Keeping edit button, just not doing any functionality with it

* Test for item detail presenter

* Ellipsize long item titles in detail view

* Delete confirmation toast

* Delete toast and tests

* Consumable toast notification for delete

* Specify return type on Optional extension

* ItemListPresenterTest needed a consumable for the delete toast test

* Cleanup

* Fix toast notifications

* Import strings from android-l10n (#809)

State: mozilla-l10n/android-l10n@63a5240

* 806-uitest-add-delete (#808)

* Adjust spinner dropdown size to fit longer words (l10n) (#812)

* Ellipsize text in item list (#811)

* 810: Reset support when syncing (#826)

* Reset support when info is null

* Reset support every time we sync.

* Removing timeout to be fixed in #791 (#833)

* Removing timeout to be fixed in #791

* Remove strings

* 828-l10nScreenshotsTest-delete (#829)

* Add dot to sentence (#837)

* 814: Telemetry for sync (#835)

* Add telemetry actions for sync, list update, and error states.

* Sync timeout instead of sync end

* Add sync complete event

* Add errors and ids to telemetry calls

* Update metrics docs to reflect telemetry sync changes (#841)

* Revert delete PRs (#836)

* Revert "828-l10nScreenshotsTest-delete (#829)"

This reverts commit bab9fe8.

* Revert "806-uitest-add-delete (#808)"

This reverts commit ec56009.

* Revert "626, 627: Add kebab menu for delete  (#764)"

This reverts commit 17605c3.

* Remove unused imports and fix lint error.

* Rebase and lint

* Update to version 1.1.3 (#844)

* Update version to 1.1.3

* Add release notes for 1.1.3

* Update releases.md (#847)

* Add more context to release notes

* Add descriptions for proguard rules upload.

* Revert "Revert delete PRs (#836)" (#842)

This reverts commit 974a585.

* 816: string updates for localization (#852)

* Revert "Revert delete PRs (#836)"

This reverts commit 974a585.

* Lockwise placeholder in delete_description and descriptive comment in edit string

* Update app services, android components, and megazord configuration (#865)

* Update app services, android components, and megazord configuration

* Update a-c to v7.0.0

* Send hashed UID ping when sync completes successfully.

* Remove handling for synctelemetryping, to be completed in separate issue. Update AS to 0.37.1

* Update Readme with l10n process (#872)

This is something we've been adding to all Readmes of mobile repos to direct people to Pontoon for localization (vs GitHub repos, where work isn't supposed to happen).

* 867 - Fix obvious NPE sync crash (#884)

* 871: Create infrastructure for feature flags (#882)

* Delete feature flag

* Move feature flags to separate support file

* Create support to check build configs. Create flags for CUD

* Add telemetry probes to syncIfRequired trigger syncs (#887)

* Import strings from l10n (#893)

* Import strings from android-l10n

State: mozilla-l10n/android-l10n@349efdb

* Commenting unused string for Espanol

* 791: Remove fake timeout from sync (#889)

* Remove fake timeout from sync

* Remove all sync timeout strings

* Rebase and lint

* Fail fast if the edge between to routes is not in the nav graph. (#895)

* Auto-signin with mozilla AuthProvider (#879) — behind a feature flag.

* WIP Automatic FxA sign-in support

* Cleanup welcome fragment/account detection

* Upgrade to Android Components 9.0.0

* Ensure landable, even if not releasable

* gradlew lint

* 628: edit view and routing (#843)

* Edit xml layout

* Add route, presenter, and fragment

Button clicks and dialog

Update dependencies

Edit presenter tests

Routing stuff

Usable state with spinner

Buttons working

Password visibility in edit mode

Lint

View

Create popup item and insert menu into detail view's kebab buttton

* Popup menu and click listener

Dropdown menu and formatting

Update list - in progress

DataStoreTest - mocked up test, stuck on init

Datastore update item detail test

* Save edited changes

Lint

Update dependencies

Edit unit tests

Add sync to datastore editing. Update var name in robot and screenshot tests

Reformatting dropdown menu and edit view

Adding inclusive popup to edit->detail view nav definition

Address nullable server passwords for delete and edit. Remove unused string.

Remove learn more clicks from test

Refactoring pushError into a helper method.

* Add fxalogin to autofill onboarding route. (#901)

* 798: routing back to itemlist on login/search/feedback forms (#890)

* Investigation

* Add locking routes.

* Explicitly ignore autofill on search and edit fields

* Ignore autofill on webviews

* Remove comments and clean up lint

* Add null text value for empty usernames (#902)

* Add null text value for empty usernames

* gradlew lint

* 907 fix ui tests (#908)

* 907: fix testSettings

* fixing routing issues

* fixing more routes

* changing button name and adding route

* fixing conflicts after rebase

* Update release-notes.md with v1.1.4

* Fix lint errors

* Update release-notes.md to correct bitrise version
eliserichards pushed a commit that referenced this pull request Sep 12, 2019
* Add release notes for 1.1.2.4405

* Bump version to 1.2.0

* Add ignore to the flaky test. This needs to be fixed later. (#793)

* 626, 627: Add kebab menu for delete  (#764)

* Add kebab menu icon and strings. Set up fragment for addition to toolbar.

* Create fragment and dialog.

* Add confirmation dialog, actions, and presenters

* Routing

* Ensure item is actually deleted and item list is refreshed before navigating back.

* Refactor and remove edit for now

* Keeping edit button, just not doing any functionality with it

* Test for item detail presenter

* Ellipsize long item titles in detail view

* Delete confirmation toast

* Delete toast and tests

* Consumable toast notification for delete

* Specify return type on Optional extension

* ItemListPresenterTest needed a consumable for the delete toast test

* Cleanup

* Fix toast notifications

* Import strings from android-l10n (#809)

State: mozilla-l10n/android-l10n@63a5240

* 806-uitest-add-delete (#808)

* Adjust spinner dropdown size to fit longer words (l10n) (#812)

* Ellipsize text in item list (#811)

* 810: Reset support when syncing (#826)

* Reset support when info is null

* Reset support every time we sync.

* Removing timeout to be fixed in #791 (#833)

* Removing timeout to be fixed in #791

* Remove strings

* 828-l10nScreenshotsTest-delete (#829)

* Add dot to sentence (#837)

* 814: Telemetry for sync (#835)

* Add telemetry actions for sync, list update, and error states.

* Sync timeout instead of sync end

* Add sync complete event

* Add errors and ids to telemetry calls

* Update metrics docs to reflect telemetry sync changes (#841)

* Revert delete PRs (#836)

* Revert "828-l10nScreenshotsTest-delete (#829)"

This reverts commit bab9fe8.

* Revert "806-uitest-add-delete (#808)"

This reverts commit ec56009.

* Revert "626, 627: Add kebab menu for delete  (#764)"

This reverts commit 17605c3.

* Remove unused imports and fix lint error.

* Rebase and lint

* Update to version 1.1.3 (#844)

* Update version to 1.1.3

* Add release notes for 1.1.3

* Update releases.md (#847)

* Add more context to release notes

* Add descriptions for proguard rules upload.

* Revert "Revert delete PRs (#836)" (#842)

This reverts commit 974a585.

* 816: string updates for localization (#852)

* Revert "Revert delete PRs (#836)"

This reverts commit 974a585.

* Lockwise placeholder in delete_description and descriptive comment in edit string

* Update app services, android components, and megazord configuration (#865)

* Update app services, android components, and megazord configuration

* Update a-c to v7.0.0

* Send hashed UID ping when sync completes successfully.

* Remove handling for synctelemetryping, to be completed in separate issue. Update AS to 0.37.1

* Update Readme with l10n process (#872)

This is something we've been adding to all Readmes of mobile repos to direct people to Pontoon for localization (vs GitHub repos, where work isn't supposed to happen).

* 867 - Fix obvious NPE sync crash (#884)

* 871: Create infrastructure for feature flags (#882)

* Delete feature flag

* Move feature flags to separate support file

* Create support to check build configs. Create flags for CUD

* Add telemetry probes to syncIfRequired trigger syncs (#887)

* Import strings from l10n (#893)

* Import strings from android-l10n

State: mozilla-l10n/android-l10n@349efdb

* Commenting unused string for Espanol

* 791: Remove fake timeout from sync (#889)

* Remove fake timeout from sync

* Remove all sync timeout strings

* Rebase and lint

* Fail fast if the edge between to routes is not in the nav graph. (#895)

* Auto-signin with mozilla AuthProvider (#879) — behind a feature flag.

* WIP Automatic FxA sign-in support

* Cleanup welcome fragment/account detection

* Upgrade to Android Components 9.0.0

* Ensure landable, even if not releasable

* gradlew lint

* 628: edit view and routing (#843)

* Edit xml layout

* Add route, presenter, and fragment

Button clicks and dialog

Update dependencies

Edit presenter tests

Routing stuff

Usable state with spinner

Buttons working

Password visibility in edit mode

Lint

View

Create popup item and insert menu into detail view's kebab buttton

* Popup menu and click listener

Dropdown menu and formatting

Update list - in progress

DataStoreTest - mocked up test, stuck on init

Datastore update item detail test

* Save edited changes

Lint

Update dependencies

Edit unit tests

Add sync to datastore editing. Update var name in robot and screenshot tests

Reformatting dropdown menu and edit view

Adding inclusive popup to edit->detail view nav definition

Address nullable server passwords for delete and edit. Remove unused string.

Remove learn more clicks from test

Refactoring pushError into a helper method.

* Add fxalogin to autofill onboarding route. (#901)

* 798: routing back to itemlist on login/search/feedback forms (#890)

* Investigation

* Add locking routes.

* Explicitly ignore autofill on search and edit fields

* Ignore autofill on webviews

* Remove comments and clean up lint

* Add null text value for empty usernames (#902)

* Add null text value for empty usernames

* gradlew lint

* 907 fix ui tests (#908)

* 907: fix testSettings

* fixing routing issues

* fixing more routes

* changing button name and adding route

* fixing conflicts after rebase

* Update release-notes.md with v1.1.4

* Update release notes for v2.0.0

* Update version code and version name to v2.0.0
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants