summaryrefslogtreecommitdiff
path: root/packages/CredentialManager/shared
AgeCommit message (Collapse)Author
2024-05-31Align with Jetpack Changes (toBundle/FW Flag) Arpan
Recently, we added a change to Jetpack to bundle BPData properties within a bundle, rather than directly imbue it into the slice. This requires us to re-structure our slice parsing, to: 1. Read the bundle from the slice. 2. Parse the bundle after reading from the slice. Along this change, we also need to know, for a whole many use cases, when the framework prompt was the originator for the codes of the BP. This is also a Jetpack decision, so a small bit was added so it can be utilized in JP. Bug: 339650358 Test: Build and device tests Change-Id: I6c3392fb96e6d5409310ba4b840f229444942803
2024-04-12Merge "Direct connection btw Autofill & Credman sessions" into main Reema Bajwa
2024-04-12Direct connection btw Autofill & Credman sessions Reema Bajwa
Before this change, a result reciever was added to each pinned dataset's associated intent, and then retrieved in the from the intent that starts the credman selector intent which then passed it to credman session. Now, autofill session constructs one resultreciever per FillRequest and adds it to client state, proxy service retrieves it from clientstate and adds it to the req top level bundle, which is then extracted by credman session and used to propagate the final response. Hence we remove the dependency on the selector passing the resultReciver to the credman session Test: Cts Bug: 333455221 Change-Id: Ic17091841edbcf0975d0ff238f2d8b72d8cd5593
2024-04-09Fixing Rotation Bug for BiometricCredMan Arpan Kaphle
This fixes the rotation bug for credential manager by creating a [BiometricFlowState] object. This object is used throughout the flow to ensure that on re-compose, the state does not violate any constraints. Namely, if a rotation or other similar configuration change happens that causes a recompose, the Ui has consistent state. Bug: 330396089 Test: Visual/Build Test updated to bug Change-Id: Ic8a1a09647999abc9bf935d143c7006e0f3860e7
2024-04-05Create Flow States, UI, BiometricFlow, and Parsing Arpan
Similar to the Get flow, this combines 4 previously scoped out bugs. This adds on all the state management for the single tap create flow, and sets up detailed conditionals. This flow can *already* be triggered (as can the get flow) in the present setup, and further chains will complete the feature. Thus, we introduce an E2E with which we can continue extending. For example, there have been recent alignments in UX with the BiometricTeam, and those iterations can follow once the E2E is embedded, especially since we will continue to utilize parameters that are in the process of being released. Bug: 327619148 Bug: 327620245 Bug: 327620327 Bug: 327621520 Test: Junit tests, UX tests, and build tests (flow not triggerable in normal use cases yet) Change-Id: I5532662315e9a06b6a74f4454418ee1ff3cd243d
2024-04-04Add project config to be notified on changes. shuanghao
Test: N/A Change-Id: Ie533898c9fde5572e99221cc78f9db758a122a1e
2024-03-21Merge changes from topic "getFlow_bio" into main Arpan Kaphle
* changes: Communicate Get Flow Biometric Success to Provider Get Flow States, Conversion, and Biometric
2024-03-21Communicate Get Flow Biometric Success to Provider Arpan
This sets up the biometric flow to communicate the results to the provider for the get flow. This is to finalize the biometric API call so that the end result of the authentication can be communicated to the provider, completed the E2E Get Happy Path. This specifies the success case, which is the pivotal case to complete the flow. Other cases, such as failures, or other callback values (help/confirm/etc..) are presently logged and will be productionized as soon as possible. However, this should have the success flow checked in with ways to identify failure cases from the non triggerable flows presently in the framework. To make this full E2E, this also ensures that the initial input is completely allowed as expected by Jetpack, though everything is being tested. Therefore, it is protected from being reachable by flags. The Create version will follow up with the create changes, and the required exhaustive when statement has been left with a 'TODO' for the create case; that case will be tested to not break any E2E existing flows. Bug: 327620327 Test: Visual, Build, and Unit in Progress: see b/329874867 Change-Id: Icf0d8459d784880a2d307c4997103451ca5b29fb
2024-03-20Get Flow States, Conversion, and Biometric Arpan Kaphle
Given the tight deadline, I've merged 4 previously already scoped out bugs into one CL. For the Get flow, here's what we have in this CL: 1. We handle the state management for the Get Flow. That involves editing the [GetModel] and using those values within the [GetCredentialComponents] as well as within the [ViewModel] and the [Repo]. The conditionals for when the flows happen were clarified. 2. We handle the UI for the Get Flow - this involves setting up a composable within the [GetCredentialComponents] that calls into the [BiometricHandler] to launch the Biometric API with default values. 3. We then specify the default values to be properly parsed within the [BiometricHandler]. This involves ensuring conditionals are correct, and pulling the right dynamic objects from the flow that contain the necessary information. 4. Finally, while this is still NOT callable from any flows in practice, the conversion from the input was clarified (but always set to 'false') within the [CredentialKtx]. This will be further iterated with slice based flows as we continue checking in code (or, the team may decide to suggest addition in this immediate bug). Bug: 327621520 Bug: 327620300 Bug: 327619284 Bug: 327620327 Test: Unit Tests will follow, and b/326243754 will contain manual tests Change-Id: Ib42c1f7fb95c7d8ef776416a1e9131b6e9d73d29
2024-03-05Fix CredentialManager for use_resource_processor: true Colin Cross
CredentialManagerShared was using the same Android package name as CredentialManager-handheld, which caused the R classes to be shadowed when use_resource_processor: true is enabled. Use a unique Android package for CredentialManagerShared. Bug: 294256649 Test: m javac-check Change-Id: I07fea5636c6ca8f6752a11ca230e04ee172b140b
2024-03-04Allow credential providers to set an "origin" for affiliated credentials Helen Qin
Bug: 307645200 Test: see screenshots attached to bug Change-Id: I20448ffd7cccf96418b57623a34491638de72778
2024-03-04Prioritize Credential Types based on priority set by jetpack library Helen Qin
Before, we hardcode the logic such that passkey > password > others. Now, we rely instead on the library typePriorityHint bit for each credential type for ranking. 1. Front page a. dedup'ed under the same username, entries ranked by type priority and then by lastUsedTime b. cross-ranked by lastUsedTime 2. More-option page a. cross sections ranked by lastUsedTime of the front entry within each section b. each section (under the same username), entries ranked by type priority and then by lastUsedTime Bug: 280085288 Test: see recording attached in bug Change-Id: I32d98ef15188c529cc5aa3cd08d898d48f229118
2024-03-03Allow a credential provider to opt into always using default type icons when ↵ Helen Qin
it's the only provider Decision of entry icon display logic - One account available - Provider icon on top - Generic icon for front page entry when opt in - Provider sent icon on secondary page unconditionally - Multiple accounts coming from a single provider - Provider icon on top - Generic icon for front page entry when opt in - Provider sent icon on secondary page unconditionally Bug: 319723933 Test: see screenshots attached to bug Change-Id: I36aa6f583c001af2a3be3fad80739ce56ddaf06e
2024-02-29Merge "Deduplicate & group entries based on a designated dedup id ↵ Helen Qin
(entryGroupId)" into main
2024-02-29Merge "Add auto selection support. Move entry selection logic to flow Engine ↵ Shuang Hao
to be shared between screens. demo: http://shortn/_GYz5GifqrK" into main
2024-02-29Deduplicate & group entries based on a designated dedup id Helen Qin
(entryGroupId) Before, we deduplication entries based on password / passkey usernames and unknown typed credential title. However, it is possible that the unknown typed credential will want to customize the value used for deduplication, a value that will be different from the entry title it want to display. This change allows that. Bug: 306722792 Test: Screenshots attached to bug Change-Id: I854e7afca7e999493437736d29e9ab866dfafd7a
2024-02-28Update the passkey icon to new design. Helen Qin
Bug: 302357972 Test: local verification (see bug for screenshots) Change-Id: Ica9c644596d236f5df1174faac796d0e2cf42ab1
2024-02-27Fix build issues w/ jetpck drop Reema Bajwa
Bug: 298486662 Test: N/A - Build issue only Change-Id: I809b0abef1a33d39082448f8d504ef54e0793da6
2024-02-21Add auto selection support. shuanghao
Move entry selection logic to flow Engine to be shared between screens. demo: http://shortn/_GYz5GifqrK BUG: 324276451 Test: Manual. Change-Id: I96edee71df1dc0cf5fb52f2bcb090230beb5bf83
2024-02-21Handle cancellation flow. shuanghao
Cancellation need to be report back to credential manager service so it can end ongoing request peacefully. BUG: 300422310 Test: Manual. Change-Id: I86fbf3149ab903e8d28f5ce827d44bee3d3e7bdd
2024-02-15Add interface CredentialManager::sendEntrySelectionResult. shuanghao
It supports all kinds of credentials/resultCode. BUG: 313497665 Test: Manual. Change-Id: I986d6652ae0c561f179300c31c58ac13118cf70b
2024-02-07[Credential Manager] Update UI APIs according to review feedback Haoran Zhang
Bug: b/324064759 Test: atest CtsCredentialManagerTestCases Change-Id: Iab15fbc6056ef8fb7d3f7a07aaaf1a86da31293e
2024-02-02[Credential Manager] Expose CredMan Selection UI invocation APIs as system APIs Haoran Zhang
Bug: b/322071264 Test: atest CtsCredentialManagerTestCases Change-Id: I9dbe074e025b4905771e7378f85babf876918559
2024-01-27Expose CredentialManager UI result propagation interfaces as System APIs Helen Qin
The APIs exposed will be used by the CredentialManager UI activity to send the UI success / failure results back to the system service. The entry points are defined in ResultHelper.java and the rest are data classes. Test: CTS test & local build Bug: 322065247 Change-Id: I8bd2375f046866caf87d69b90502414e14e2b879
2023-11-27Split EntryInfo implementations to creation and get. shuanghao
BUG: 313497665 Test: It builds. Change-Id: Ifaba1893347cbfca1b4321dc20b02b7cf784f695
2023-11-27Replace Credential model from Password to shared ProviderInfo. shuanghao
BUG: 313497665 Test: Manual on Wear with AddressBook test app. Change-Id: I8af08369161a50742cab8687e83613833dd9f742
2023-11-27Move entry and ProviderInfo parsing logic to shared. shuanghao
BUG: 313497665 Test: Manual with DeveloperTestApp. Change-Id: I75cab92535e3298276752af67cfaf3d82d4babfd
2023-11-271. Move entry and ProviderInfo to shared. shuanghao
2. renaming BaseEntry as open class to EntryInfo as Sealed class. 3. resolved smart cast issue introduced by splitting module: http://shortn/_OwZQl2mAo4 BUG: 313497665 Test: Manual with DeveloperTestApp. Change-Id: I54be7effe26e7265ff853d086f3f24d450cc7e71
2023-11-21Make Intent.getCredentialProviderDataList return ↵ shuanghao
CreateCredentialProviderData instead of general ProviderData Test: It builds. Change-Id: Iac15cd594a8265d766dbb4908bf6073a67752a32
2023-11-15Refactor basing on design input: shuanghao
1. Merge RequestRepository and PasswordRepository into CredentialManagerClient. 2. Split CredentialManagerClient into interface and implementation. 3. miscellaneous renaming. Test: Manual Change-Id: I8e1fa705154515b7544133f8ce475f5cd323ca4d
2023-10-26Introduce Hilt to replace manual dependency injection. shuanghao
BUG: 301601582 Test: Manual when through single password login. Change-Id: I60ed08dbd314d59382e36ff7e7fdd85aaef85f18
2023-10-03Improvements to MVP: address TODOs to move code to shared module. Gustavo Pagani
Bug: 301206470 Test: N/A - implementing MVP code Change-Id: I7ba9f4f5c3e0ea9392dbdab92d742583c4f29a46
2023-09-25Implement MVP for Single Provider - Single Password flow for get credential ↵ Gustavo Pagani
request. https://screencast.googleplex.com/cast/NjUwOTM5ODQ4MTQzNjY3MnwyNTQ3Nzk4NS03Mg Bug: 301206470 Test: N/A - implementing MVP code Change-Id: If2b6880656f620c0859138551144b830e3233c46
2023-09-21Remove "ui" from package name from shared project. Gustavo Pagani
Bug: 301206470 Test: N/A - package name refactoring Change-Id: I05392c3fefcae340e898fbb40eb52a11b79e75ac
2023-09-21Add single provider and single account screens Gustavo Pagani
Bug: 301206470 Test: N/A - feature not fully implemented yet Change-Id: I25f54e2bcb8228b46a8ca7a89f63753c639a26ef
2023-09-20Implement cancellation request. Gustavo Pagani
Bug: 300426308 Test: N/A - will manual test once phone is set up. Change-Id: Ifedadd163e89b17a193de307cadf439c3a471bd9
2023-09-14Add README files to the projects folders to describe their purposes. Gustavo Pagani
Bug: 299580143, 299581069, 299958033 Test: N/A only metadata files added Change-Id: Ic4489c12ebcac7a2c309e3f718d6b9f34ff5ab21
2023-09-13Add Wear project folder with OWNERS file. Also add folders for: Gustavo Pagani
- Shared: common code shared between phone and wear app; - Horologist: components provided from Horologist; Change-Id: I70186deed0d2a941e1959613a65c69edfff70265