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

Refactoring to support Bank Accounts in Link #5466

Merged
merged 5 commits into from Aug 26, 2022
Merged

Conversation

brnunes-stripe
Copy link
Contributor

@brnunes-stripe brnunes-stripe commented Aug 25, 2022

Summary

  • Make PrimaryButton receive two optional icons, for the left and right, in order to show the "Add bank account" icon on the left.
  • Refactor Navigator.backNavigationEnabled to userNavigationEnabled, blocking only navigation initiated by user interaction.
  • Clean up SupportedPaymentMethod, removing methods that were generalizing how we create the different PaymentDetails types. In reality the creation is too different, and these methods were only relevant for Card.
  • Move CardEditViewModel.Result into PaymentDetailsResult to be used by both CardEditViewModel and PaymentMethodViewModel when connecting a new bank account.
  • Rename LinkAccountManager.createPaymentDetails to createCardPaymentDetails, used only for cards. Add createBankAccountPaymentDetails for bank accounts.

Motivation

Link instant debits.

Testing

  • Added tests
  • Modified tests
  • Manually verified

@github-actions
Copy link
Contributor

github-actions bot commented Aug 25, 2022

Diffuse output:

OLD: paymentsheet-example-release-master.apk (signature: none)
NEW: paymentsheet-example-release-pr.apk (signature: none)

          │            compressed            │           uncompressed            
          ├───────────┬───────────┬──────────┼───────────┬───────────┬───────────
 APK      │ old       │ new       │ diff     │ old       │ new       │ diff      
──────────┼───────────┼───────────┼──────────┼───────────┼───────────┼───────────
      dex │  15.4 MiB │  15.4 MiB │   +3 KiB │    52 MiB │    52 MiB │  +7.6 KiB 
     arsc │   1.8 MiB │   1.8 MiB │   +784 B │   1.8 MiB │   1.8 MiB │    +784 B 
 manifest │     4 KiB │     4 KiB │      0 B │  18.5 KiB │  18.5 KiB │       0 B 
      res │ 873.3 KiB │ 874.5 KiB │ +1.1 KiB │   1.4 MiB │   1.4 MiB │    +2 KiB 
   native │   2.5 MiB │   2.5 MiB │      0 B │   5.9 MiB │   5.9 MiB │       0 B 
    asset │     3 MiB │     3 MiB │    +56 B │     3 MiB │     3 MiB │     +56 B 
    other │  81.7 KiB │  81.7 KiB │      0 B │ 155.6 KiB │ 155.6 KiB │       0 B 
──────────┼───────────┼───────────┼──────────┼───────────┼───────────┼───────────
    total │  23.6 MiB │  23.6 MiB │   +5 KiB │  64.1 MiB │  64.1 MiB │ +10.4 KiB 

         │          raw           │              unique              
         ├────────┬────────┬──────┼────────┬────────┬────────────────
 DEX     │ old    │ new    │ diff │ old    │ new    │ diff           
─────────┼────────┼────────┼──────┼────────┼────────┼────────────────
   files │      4 │      4 │    0 │        │        │                
 strings │ 251131 │ 251171 │  +40 │ 214146 │ 214179 │ +33 (+109 -76) 
   types │  44334 │  44339 │   +5 │  40698 │  40704 │  +6 (+24 -18)  
 classes │  37895 │  37901 │   +6 │  37895 │  37901 │  +6 (+21 -15)  
 methods │ 221695 │ 221720 │  +25 │ 213695 │ 213721 │ +26 (+110 -84) 
  fields │ 162940 │ 162974 │  +34 │ 161900 │ 161934 │ +34 (+93 -59)  

 ARSC    │ old  │ new  │ diff       
─────────┼──────┼──────┼────────────
 configs │  292 │  292 │  0         
 entries │ 6232 │ 6235 │ +3 (+5 -2)
APK
     compressed      │     uncompressed     │                               
──────────┬──────────┼──────────┬───────────┤                               
 size     │ diff     │ size     │ diff      │ path                          
──────────┼──────────┼──────────┼───────────┼───────────────────────────────
  2.2 MiB │ +2.9 KiB │  6.9 MiB │  +7.6 KiB │ ∆ classes3.dex                
  1.8 MiB │   +784 B │  1.8 MiB │    +784 B │ ∆ resources.arsc              
    663 B │   +663 B │  1.2 KiB │  +1.2 KiB │ + res/-Y1.xml                 
    662 B │   +662 B │  1.1 KiB │  +1.1 KiB │ + res/uc.xml                  
    510 B │   -151 B │    824 B │    -364 B │ ∆ res/n1.xml                  
  3.2 MiB │    +83 B │  9.1 MiB │     +48 B │ ∆ classes4.dex                
  8.7 KiB │    +56 B │  8.6 KiB │     +56 B │ ∆ assets/dexopt/baseline.prof 
  6.8 MiB │     -3 B │ 27.7 MiB │       0 B │ ∆ classes.dex                 
  3.1 MiB │     -3 B │  8.3 MiB │       0 B │ ∆ classes2.dex                
  1.8 KiB │     +3 B │ 10.4 KiB │       0 B │ ∆ res/dn.xml                  
    765 B │     -2 B │  1.5 KiB │       0 B │ ∆ res/M6.xml                  
  1.5 KiB │     -2 B │  5.2 KiB │       0 B │ ∆ res/WO.xml                  
    1 KiB │     +2 B │  2.6 KiB │       0 B │ ∆ res/j9.xml                  
    407 B │     -1 B │    592 B │       0 B │ ∆ res/0N.xml                  
    674 B │     +1 B │  1.5 KiB │       0 B │ ∆ res/0x.xml                  
  1.1 KiB │     +1 B │  2.9 KiB │       0 B │ ∆ res/5d.xml                  
    625 B │     -1 B │  1.1 KiB │       0 B │ ∆ res/8_.xml                  
    324 B │     +1 B │    464 B │       0 B │ ∆ res/9o.xml                  
    999 B │     +1 B │  2.8 KiB │       0 B │ ∆ res/AE.xml                  
    742 B │     -1 B │  1.4 KiB │       0 B │ ∆ res/Am.xml                  
    707 B │     -1 B │  1.3 KiB │       0 B │ ∆ res/CF.xml                  
  1.1 KiB │     -1 B │  3.1 KiB │       0 B │ ∆ res/Cm.xml                  
  1.1 KiB │     -1 B │  3.1 KiB │       0 B │ ∆ res/FR.xml                  
    600 B │     -1 B │  1.1 KiB │       0 B │ ∆ res/IZ.xml                  
    600 B │     -1 B │  1.1 KiB │       0 B │ ∆ res/MP1.xml                 
  1.1 KiB │     -1 B │  2.5 KiB │     +28 B │ ∆ res/OJ.xml                  
  1,009 B │     +1 B │  2.8 KiB │       0 B │ ∆ res/R5.xml                  
    727 B │     +1 B │  1.6 KiB │       0 B │ ∆ res/TP.xml                  
    327 B │     -1 B │    464 B │       0 B │ ∆ res/U41.xml                 
    500 B │     -1 B │    984 B │       0 B │ ∆ res/cS.xml                  
    829 B │     +1 B │  2.4 KiB │       0 B │ ∆ res/dI.xml                  
    726 B │     -1 B │  1.6 KiB │       0 B │ ∆ res/gK.xml                  
    333 B │     -1 B │    400 B │       0 B │ ∆ res/kL.xml                  
  1.1 KiB │     +1 B │  3.2 KiB │       0 B │ ∆ res/pU.xml                  
    322 B │     -1 B │    464 B │       0 B │ ∆ res/uP.xml                  
    375 B │     -1 B │    540 B │       0 B │ ∆ res/ue.xml                  
    802 B │     -1 B │  1.7 KiB │       0 B │ ∆ res/wf.xml                  
  1.1 KiB │     -1 B │  3.4 KiB │       0 B │ ∆ res/x01.xml                 
    433 B │     +1 B │    640 B │       0 B │ ∆ res/y9.xml                  
──────────┼──────────┼──────────┼───────────┼───────────────────────────────
 17.2 MiB │   +5 KiB │ 53.8 MiB │ +10.4 KiB │ (total)
DEX
STRINGS:

   old    │ new    │ diff           
  ────────┼────────┼────────────────
   214146 │ 214179 │ +33 (+109 -76) 
  + �
  ���
  ���
  ���
  ���
  ���
  ���
  �0� �2�0�:�����B���¢���������	¨�
  
  + �
  ���
  ��
  ���
  ��_
  ���
  
  ���
  ����2�0�B���¢����J*��������0���������0�������0�0���0�2�����0�¨��
  + �
  ���
  ���
  
  ���
  
  ���
  
  ���
  �Æ��2�0�J�����0�2�����0�2�����0�H�¨��
  + &
  ���
  ���
  
  ���
  ���
  ���
  
  ���
  
  ���
  ������2�0�B
  ������0�¢����J	����0�HÖ�J��	��0
  2�����02��
  ��0�HÖ�R�����0�¢��
  ������¨��
  + 4
  ���
  ���
  
  ��_
  ���
  ��
  ���
  ���
  ���
  ���
  ���
  
  ���
  ������ �2�0�:��B&����������0��	��0�¢����0�������0�¢����J��	������0�����0�0�H�J	�
  ��0�H�J��������0�����0�0�H�J��
  ��0�2�����0�2�����0�HÖ�R���������0��	��0�¢����0�X��¢��
  R�����0�X��¢��
  ¨��
  + 6
  
  ���
  ���
  ���
  ���
  ���
  ���
  ���
  ���
  
  ���
  
  ���
  ���
  ����*����0�2�������0�2����
  ����0�0�¢����H�¢��������0�X��ø�¢�
  
  ��������������0�X��ø�¢�
  
  ������������������0	0�X��¢��
  ��
  ��0�X��ø�¢�
  
  �������������0�X��ø�¢�
  
  ������
  �������0	*�0�8AX��¢�����������
  ���¨��
  + 8
  ���
  ���
  
  ���
  
  �� 
  ���
  
  ���
  ���
  ���
  ���
  ���
  
  ���
  ������� #2�����00�:�#BI��������0����������0�0���������0������	��0��
  ���
  ����0��
  ��������0�¢���J�����0�2�����0�2�����0 H&R���������0�0�¢��
  ���
  ��R��	��0�¢��
  ������R�����0�¢��
  ������R�������0�¢�
  
  ���������R��
  ����0�¢�
  
  ���������R�����0�¢��
  ������R�����0�¢��
  ������j��!j��¨�_
  + B
  
  ���
  ���
  ���
  ���
  ���
  ���
  ���
  
  ���
  
  ���
  ���
  ���
  ���
  ���
  
  ���
  �
  ����0�H�¢���	�C����0�2��
  ��0�2�����02�
  ������0�0�2
  ��������0�2
  ��������0�H�¢����������0�2
  ��������0�H�¢�����+����0�2�����0�2��
  ��0�2��������0�0�H�¢����������0�2�����0�2�����0�H����0�X��ø�¢��
  ��������0�X��ø�¢��
  ��������0�X�T¢��
  �����0�X�T¢��
  ���
  ���¨� 
  + D
  ���
  ��
  ���
  ���
  ���
  ���
  ���
  ���
  ���
  ���
  ���
  ���
  ���
  ���
  ���
  ���
  ������2�0�B���¢����J�������02�������0�¢����J_������
   �*���H�H���0�����2�����0�J
  � ����0�¢���!J������02��#��0_2����%��0�¢���&J��'��02��(��0�J��)����02�����0�2��*��0�¢���+R�������0�X��¢��
  �����������R(�	������0�����0��0
  X��¢��
  ���
  �������R�����0�X��¢��
  �����������¨�,
  + b
  ���
  ��
  
  ���
  ���
  
  ���
  ���
  ���
  ���
  ���
  
  ���
  ���
  ���
  ���
  ���
  ���
  ���
  ���
  ���
  ���
  ���
  ���
  ���
  �����2�0�JF��������0�0�2�����0�2�����0�2�������0�2��	����0�H¦@ø�ø��ø��ø��¢���
  ��JD�������0�0�2��
  ��0�2�����0�2�����0�2��	����0�H¦@ø�ø��ø��ø��¢������J<��������0�0�2�����0�2�����0�2�������0�H¦@ø�ø��ø��ø��¢������JL��������0�0�2�����0�2�����0�2�����0�2�����0�2�������0�H¦@ø�ø��ø��ø��¢������J4��������0 0�2�����0�2�������0�H¦@ø�ø��ø��ø��¢���!�J<�#������0_0�2��%��0�2�����0�2�������0�H¦@ø�ø��ø��ø��¢���&��J4�'������0(0�2�����0�2�������0�H¦@ø�ø��ø��ø��¢���)�J>�*������0�0�2�����0�2�������0�2��	����0�H¦@ø�ø��ø��ø��¢���+��J6�,������0-0�2��
  ����0�2��	����0�H¦@ø�ø��ø��ø��¢���.�J>�/������0�0�2�����0�2�������0�2��	����0�H¦@ø�ø��ø��ø��¢���0��J<�1������0(0�2��2��032�����0�2�������0�H¦@ø�ø��ø��ø��¢���4�5���
  ��!
  ��¡�0�
  ���¨�6
  + |
  ���
  ���
  
  ���
  ���
  ���
  ���
  
  ���
  
  ���
  ���
  ���
  ���
  ��
  ���
  ���
  ���
  
  ���
  ���
  ���
  ���
  ���
  ���
  ���
  ���
  ���
  ���
  ���
  ���
  ���
  ������2�0�BE��������������0�0��������
  ������0�0�������0���������0	���
  ����0�¢���JF�
  ������0�0�2�����0�2�����0�2�������0�2�������0�H�@ø�ø��ø��ø��¢������JD��������0�0�2�����0�2�����0�2�����0�2�������0�H�@ø�ø��ø��ø��¢������J<��������0�0�2�����0�2�����0�2�������0�H�@ø�ø��ø��ø��¢������JL� ������0!0�2����0#2��_��0�2��%��0&2�����0�2�������0�H�@ø�ø��ø��ø��¢���'�(J4�)������0*0�2�����0�2�������0�H�@ø�ø��ø��ø��¢���+�,J<�-������0.0�2��/��0�2�����0�2�������0�H�@ø�ø��ø��ø��¢���0��J4�1������020�2�����0�2�������0�H�@ø�ø��ø��ø��¢���3�,J>�4������0�0�2�����0�2�������0�2�������0�H�@ø�ø��ø��ø��¢���5��J6�6������070�2�������0�2�������0�H�@ø�ø��ø��ø��¢���8�,J>�9������0�0�2�����0�2�������0�2�������0�H�@ø�ø��ø��ø��¢���:��J<�;������020�2��<��0=2�����0�2�������0�H�@ø�ø��ø��ø��¢���>�?R��
  ����0�X��¢��
  R���������0�0�X��¢��
  R����
  ������0�0�X��¢��
  R�����0�X��¢��
  R�����0	X��¢��
  ���
  ��!
  ��¡�0�
  ���¨�@
  + ��
  ���
  ���
  
  ���
  
  ���
  
  ���
  
  ���
  
  ���
  
  ���
  ���
  ���
  ���
  ���
  
...✂
ARSC
ENTRIES:

   old  │ new  │ diff       
  ──────┼──────┼────────────
   6232 │ 6235 │ +3 (+5 -2) 
  + drawable/ic_link_add_green
  + drawable/ic_link_card
  + string/add_bank_account
  + string/add_payment_method
  + string/stripe_payment_method_bank
  
  - string/pm_add_new_card
  - string/wallet_add_payment_method

@brnunes-stripe brnunes-stripe merged commit 167fe2a into master Aug 26, 2022
@brnunes-stripe brnunes-stripe deleted the brnunes/bank branch August 26, 2022 20:53
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

3 participants