Skip to content

[Identity] Live blur/focus & distance feedback during document capture#11993

Merged
Pearapps merged 6 commits intokpa/feedback-additions-1from
kpa/blur-feedback
Nov 18, 2025
Merged

[Identity] Live blur/focus & distance feedback during document capture#11993
Pearapps merged 6 commits intokpa/feedback-additions-1from
kpa/blur-feedback

Conversation

@Pearapps
Copy link
Collaborator

@Pearapps Pearapps commented Nov 14, 2025

This adds in some live feedback during document capture for when the id is too blurry or the distance is not correct and can be corrected.

Examples:

ID distance:

Screenshot_20251117-145630 Screenshot_20251117-145709

Focus:

Screenshot_20251117-150815 Screenshot_20251117-150937

@Pearapps Pearapps changed the base branch from master to kpa/feedback-additions-1 November 14, 2025 20:22
@github-actions
Copy link
Contributor

github-actions bot commented Nov 14, 2025

Diffuse output:

OLD: identity-example-release-base.apk (signature: V1, V2)
NEW: identity-example-release-pr.apk (signature: V1, V2)

          │            compressed            │           uncompressed           
          ├───────────┬───────────┬──────────┼───────────┬───────────┬──────────
 APK      │ old       │ new       │ diff     │ old       │ new       │ diff     
──────────┼───────────┼───────────┼──────────┼───────────┼───────────┼──────────
      dex │   2.1 MiB │   2.1 MiB │   +331 B │   4.3 MiB │   4.3 MiB │   +448 B 
     arsc │   1.1 MiB │   1.1 MiB │ +6.2 KiB │   1.1 MiB │   1.1 MiB │ +6.2 KiB 
 manifest │   2.3 KiB │   2.3 KiB │      0 B │     8 KiB │     8 KiB │      0 B 
      res │ 303.5 KiB │ 303.5 KiB │      0 B │ 457.7 KiB │ 457.7 KiB │      0 B 
   native │   7.9 MiB │   7.9 MiB │      0 B │  19.3 MiB │  19.3 MiB │      0 B 
    asset │   7.7 KiB │   6.4 KiB │ -1.3 KiB │   7.5 KiB │   6.2 KiB │ -1.3 KiB 
    other │  95.6 KiB │  95.6 KiB │    -10 B │ 183.6 KiB │ 183.6 KiB │      0 B 
──────────┼───────────┼───────────┼──────────┼───────────┼───────────┼──────────
    total │  11.5 MiB │  11.5 MiB │ +5.2 KiB │  25.4 MiB │  25.4 MiB │ +5.4 KiB 

 DEX     │ old   │ new   │ diff       
─────────┼───────┼───────┼────────────
   files │     1 │     1 │  0         
 strings │ 20720 │ 20720 │  0 (+1 -1) 
   types │  6512 │  6512 │  0 (+0 -0) 
 classes │  5276 │  5276 │  0 (+0 -0) 
 methods │ 31558 │ 31560 │ +2 (+3 -1) 
  fields │ 18290 │ 18290 │  0 (+0 -0) 

 ARSC    │ old  │ new  │ diff       
─────────┼──────┼──────┼────────────
 configs │  163 │  163 │  0         
 entries │ 3669 │ 3672 │ +3 (+3 -0)
APK
     compressed      │    uncompressed     │                               
──────────┬──────────┼──────────┬──────────┤                               
 size     │ diff     │ size     │ diff     │ path                          
──────────┼──────────┼──────────┼──────────┼───────────────────────────────
  1.1 MiB │ +6.2 KiB │  1.1 MiB │ +6.2 KiB │ ∆ resources.arsc              
  5.5 KiB │ -1.3 KiB │  5.4 KiB │ -1.3 KiB │ ∆ assets/dexopt/baseline.prof 
  2.1 MiB │   +331 B │  4.3 MiB │   +448 B │ ∆ classes.dex                 
 25.9 KiB │     -8 B │ 64.6 KiB │      0 B │ ∆ META-INF/MANIFEST.MF        
 29.2 KiB │     -2 B │ 64.6 KiB │      0 B │ ∆ META-INF/CERT.SF            
──────────┼──────────┼──────────┼──────────┼───────────────────────────────
  3.3 MiB │ +5.2 KiB │  5.6 MiB │ +5.4 KiB │ (total)
DEX
STRINGS:

   old   │ new   │ diff      
  ───────┼───────┼───────────
   20720 │ 20720 │ 0 (+1 -1) 
  
  + ~~R8{"backend":"dex","compilation-mode":"release","has-checksums":false,"min-api":21,"pg-map-id":"15ad27e","r8-mode":"full","version":"8.8.34"}
  
  - ~~R8{"backend":"dex","compilation-mode":"release","has-checksums":false,"min-api":21,"pg-map-id":"c27dd83","r8-mode":"full","version":"8.8.34"}
  

METHODS:

   old   │ new   │ diff       
  ───────┼───────┼────────────
   31558 │ 31560 │ +2 (+3 -1) 
  
  + U3.e e(c) → boolean
  + U3.e f(d, j) → boolean
  + U3.g b(Integer) → g
  
  - U3.e e(d, j) → boolean
ARSC
ENTRIES:

   old  │ new  │ diff       
  ──────┼──────┼────────────
   3669 │ 3672 │ +3 (+3 -0) 
  + string/stripe_move_closer
  + string/stripe_move_farther
  + string/stripe_reduce_blur

@Pearapps Pearapps changed the title [Draft] [Identity] Live blur feedback during document capture [Identity] Live blur/focus & distance feedback during document capture Nov 17, 2025
@Pearapps Pearapps marked this pull request as ready for review November 17, 2025 21:29
@Pearapps Pearapps requested review from a team as code owners November 17, 2025 21:29
@Pearapps Pearapps merged commit 8241ee4 into kpa/feedback-additions-1 Nov 18, 2025
11 of 13 checks passed
@Pearapps Pearapps deleted the kpa/blur-feedback branch November 18, 2025 16:43
Pearapps added a commit that referenced this pull request Feb 10, 2026
…ected, center ID if off center, ID is too blurry, and if distance needs correction (#11941)

* first attempt center

* Update IDDetectorTransitioner.kt

* little tighter window

* add in flip logic

* [Identity] Live blur/focus & distance feedback during document capture (#11993)

* Update IDDetectorTransitioner.kt

* Update IDDetectorTransitionerTest.kt

* closer and further

* Update IDDetectorTransitioner.kt

* Update IDDetectorTransitioner.kt

* Update IDDetectorTransitioner.kt

---------

Co-authored-by: Ken Ackerson <ken@lickability.net>

* update copy and such

* Update IDDetectorTransitioner.kt

* remove generic

* update strings

* Update IDDetectorTransitionerTest.kt

* Update CHANGELOG.md

* Update IDDetectorTransitioner.kt

* Update CHANGELOG.md

* Update IDDetectorTransitioner.kt

* run initial lokalise script

* remove reference

* Update IdentityScanState.kt

* Update CHANGELOG.md

---------

Co-authored-by: Ken Ackerson <ken@lickability.net>
Co-authored-by: Luis Vera <luisv@stripe.com>
Pearapps added a commit that referenced this pull request Feb 11, 2026
* Fix Shop Pay logo size (#12310)

* Add `link.account_lookup.complete` analytics event (#12319)

Port the `linkAccountLookupComplete` analytics event from iOS to track
successful Link account lookups. The event is fired after successful
lookups in all three lookup methods: lookupByEmail, lookupByLinkAuthIntent,
and lookupByLinkAuthTokenClientSecret.


Committed-By-Agent: claude

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>

* Simplify `TapToAddHelper` & move to view model level (#12318)

* Remove unnecessary spinner while google pay is displayed. (#12315)

* Remove unnecessary spinner while google pay is displayed.

* Explicitly add spinner to link loading state (it was assuming it was shown behind the activity that was resumed).

* Changelog.

* Return canceled result in intent when user presses back on Shop Pay activity (#12313)

* Remove `PaymentMethodCreateParams` in `LinkPaymentDetails.Saved` & rename attributes in `LinkPaymentDetails.New` (#12322)

* Fetch latest Lokalize translations (#12323)

Co-authored-by: stripe-android-translations[bot] <150425582+stripe-android-translations[bot]@users.noreply.github.com>

* Replace info icon with learn more message (#12291)

* Replace info icon with learn more message

* Fix CHANGELOG (#12324)

* Fix CHANGELOG

* StripeCryptoOnramp: API Review Feedback Part 5 (#12316)

* Switches the PaymentMethodDisplayData from iconRest: Int to Drawable

* Switch to using imageLoader

* Update OnrampInteractorTest.kt

* Adds separate RestrictTo

* Fix PaymentSheet tests

* Linting

* Update LinkController.kt

* Bump version to 22.8.0 (#12326)

* Bump faraday from 2.12.0 to 2.14.1 (#12327)

Bumps [faraday](https://github.com/lostisland/faraday) from 2.12.0 to 2.14.1.
- [Release notes](https://github.com/lostisland/faraday/releases)
- [Changelog](https://github.com/lostisland/faraday/blob/main/CHANGELOG.md)
- [Commits](lostisland/faraday@v2.12.0...v2.14.1)

---
updated-dependencies:
- dependency-name: faraday
  dependency-version: 2.14.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Generate dokka for 22.8.0 (#12328)

* CryptoOnramp SDK: Add Card + Bank Account Option For Payment Collection (#12332)

* Adds new payment type

* Adds test button

* Remove billing details from afterpay (#12330)

* Remove billing details from afterpay

* Update CHANGELOG.md

* Launch `TapToAddActivity` from `TapToAddHelper` (#12321)

* Remove horizontal mode Android-only A/A experiment (#12320)

Removes OCS_MOBILE_HORIZONTAL_MODE_ANDROID_AA experiment as it is no longer needed. The other horizontal mode experiments (OCS_MOBILE_HORIZONTAL_MODE_AA and OCS_MOBILE_HORIZONTAL_MODE) remain active.


Committed-By-Agent: claude

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>

* [Identity] Feedback to flip ID Document over if incorrect side is detected, center ID if off center, ID is too blurry, and if distance needs correction  (#11941)

* first attempt center

* Update IDDetectorTransitioner.kt

* little tighter window

* add in flip logic

* [Identity] Live blur/focus & distance feedback during document capture (#11993)

* Update IDDetectorTransitioner.kt

* Update IDDetectorTransitionerTest.kt

* closer and further

* Update IDDetectorTransitioner.kt

* Update IDDetectorTransitioner.kt

* Update IDDetectorTransitioner.kt

---------

Co-authored-by: Ken Ackerson <ken@lickability.net>

* update copy and such

* Update IDDetectorTransitioner.kt

* remove generic

* update strings

* Update IDDetectorTransitionerTest.kt

* Update CHANGELOG.md

* Update IDDetectorTransitioner.kt

* Update CHANGELOG.md

* Update IDDetectorTransitioner.kt

* run initial lokalise script

* remove reference

* Update IdentityScanState.kt

* Update CHANGELOG.md

---------

Co-authored-by: Ken Ackerson <ken@lickability.net>
Co-authored-by: Luis Vera <luisv@stripe.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: toluo-stripe <toluo@stripe.com>
Co-authored-by: lng-stripe <91862945+lng-stripe@users.noreply.github.com>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Samer Alabi <141707240+samer-stripe@users.noreply.github.com>
Co-authored-by: Jay Newstrom <jaynewstrom@stripe.com>
Co-authored-by: stripe-android-translations[bot] <150425582+stripe-android-translations[bot]@users.noreply.github.com>
Co-authored-by: tjclawson-stripe <163896025+tjclawson-stripe@users.noreply.github.com>
Co-authored-by: Andrew Harrison <Twigz@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nick Porter <88012362+porter-stripe@users.noreply.github.com>
Co-authored-by: Bella Koch <160939932+amk-stripe@users.noreply.github.com>
Co-authored-by: Ken Ackerson <ken@lickability.net>
Co-authored-by: Luis Vera <luisv@stripe.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant