Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge staging to main for 2.1.0 release #57

Merged
merged 26 commits into from
Apr 24, 2023
Merged

Merge staging to main for 2.1.0 release #57

merged 26 commits into from
Apr 24, 2023

Conversation

prudrabhat
Copy link
Contributor

@prudrabhat prudrabhat commented Apr 24, 2023

Description

Merge staging to main for 2.1.0 release. This release contains changes to remove themes and add support for QuickConnect workflow on debug builds.

Related Issue

N/A

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • I have signed the Adobe Open Source CLA.
  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • All new and existing tests passed.

prudrabhat and others added 26 commits February 27, 2023 11:01
- Add DeviceCreationTask to invoke /create api
- Add DeviceStatusCheckerTask to invoke /status api
- DeviceRegistrationWorker responsible for triggeing DeviceCreationTask
  and DeviceStatusCheckerTask
Implement Quick connect device registration workflow
Currently PIN based connection error codes and quick connect
error codes exist separately. This distinction is not need and
can be unified similar to Assurance iOS.

- Unify AssuranceSockectError and AssuranceQuickConnect error to AssuranceConnectionError.
- Add AssuranceConnectionError as a parameter to session status notifications to provide
  details of termination if any.
  This is useful for presentations like QuickConnect for managing their lifecycle by registerting
  as session status listeners as it is a native activity where dependency injection is not possble
  and reference to the activity/presentation for notifying chnages is not available.
- Add AssuranceQuickConnectActivity for presenting UI
- Add the layouts, shapes and components for the QuickConnect screen.
  This was not done in Jetpack because of 2 reasons:
  1. 2.x adoption is not widespread yet. Our min sdk is 19 while Jetpack
     supports 21+. So customers will have to do a forced minsdk upgrade of their apps
      if we fix issues in a later version of Assurance after adopting jetpack.
  2. Jetpack compose UI is better stabilized for Kotlin 1.5 and our min support is 1.4.
- Introduce an interface "SessionAuthorizingPresentation" which
  represnts a presentation holder for different types of authorization
- Make AssurancePinEntryProvider (pin screen) and QuickConnectAuthorizingPresentation
  implement SessionAuthorizingPresentation. This will allo AssuranceSessionPresentationManager
  to hold either a pin authorizing screen or a quick connect authorizing screen
- Add onQuickConnect() as a new api in the SessionUIOperationHandler
- Modify the session creation parameters to take the type of presentation and an optional
  handle to the presentation session listener to delegate ui changes in response to session.
- Add AssuranceComponentRegistry to enable native Android UI to access basic items needed for
  creating a session i.e SessionUIOperationHandler and AssuranceStateManager.
QuickConnect UI and device API integration
Add public API for QuickConnect and integrate with AssuranceTestApp
- Bump the version to Assurance 2.1.0 for QuickConnect release
- Fix the license link for distribution
- Depend on the latest version of Core
Bump Assurance to 2.1.0 and fix license
Assurance currently uses and adds a theme but it is actually
replacable via a simple color scheme. These may have been added
by default while creating the module but are not necessary.
In addtion, it imposes the theme requirement on the pure comopose apps
implementing to have the standard xml color attributes.

Remove themes from Assurance library.
Optimize size and remove theme usage inside Assurance library
A recent change that was done to remove themes missed switching
AssuranceErrorDisplayActivity extend Activity. Switch it now.
Make AssuranceErrorDisplayActivity extend Activity
Merge dev into staging for 2.1.0 release prep
@prudrabhat prudrabhat requested a review from praveek April 24, 2023 18:57
@prudrabhat prudrabhat merged commit c5a3e05 into main Apr 24, 2023
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants