Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
281 commits
Select commit Hold shift + click to select a range
21aa424
Bump LibSimprints to 2024.2.2
avazirna Mar 12, 2025
7cd97d3
Update Kujaku transitive dependencies
avazirna Mar 12, 2025
475f469
Merge pull request #2981 from dimagi/address-directly-bundled-depende…
avazirna Mar 12, 2025
563b676
Fixed registerReceiver call to include extra flag only when API level…
OrangeAndGreen Mar 12, 2025
5589445
Additional logging for failed HQ token auth in ConnectID-managed apps.
OrangeAndGreen Mar 12, 2025
12faaa8
Added menu overrides to learn and deliver progress pages to handle th…
OrangeAndGreen Mar 12, 2025
8c7af9a
Logging non-fatal exception when the user is shown an empty push noti…
OrangeAndGreen Mar 12, 2025
09d19a5
Created two new exceptions for possible token failures.
OrangeAndGreen Mar 13, 2025
3bdfffd
Merge pull request #2986 from dimagi/dv/log_empty_notification
OrangeAndGreen Mar 13, 2025
3078ade
Retrieving seatedAppId retrieval inside function that checks for toke…
OrangeAndGreen Mar 13, 2025
e546eb5
Merge branch 'connect_qa' into dv/log_hq_token_auth_failure
OrangeAndGreen Mar 13, 2025
489b81a
Merge pull request #2983 from dimagi/dv/deactivation_crash
OrangeAndGreen Mar 13, 2025
7624441
Using MenuProvider (instead of deprecated override) to handle sync bu…
OrangeAndGreen Mar 13, 2025
283500b
Merge branch 'connect_qa' into dv/log_hq_token_auth_failure
OrangeAndGreen Mar 13, 2025
ce1189a
Improved delivery progress view state adapter to not hold static refe…
OrangeAndGreen Mar 13, 2025
39c62d2
Added code to trust the local status when we download jobs and local …
OrangeAndGreen Mar 14, 2025
06bf7d5
Merge pull request #2984 from dimagi/dv/log_hq_token_auth_failure
OrangeAndGreen Mar 14, 2025
c332af2
Merge pull request #2985 from dimagi/dv/learn_deliver_sync_menu
OrangeAndGreen Mar 14, 2025
f5663df
Merge branch 'connect_qa' of https://github.com/dimagi/commcare-andro…
OrangeAndGreen Mar 14, 2025
06fe132
Merge branch 'connect_qa' into jignesh/fix/ccct-829
OrangeAndGreen Mar 14, 2025
7d9276c
Merge pull request #2989 from dimagi/dv/delivery_progress_ui_fix
OrangeAndGreen Mar 14, 2025
58ba01c
Merge pull request #2980 from dimagi/jignesh/fix/ccct-829
OrangeAndGreen Mar 14, 2025
934d93f
Merge pull request #2990 from dimagi/dv/job_status_fix
OrangeAndGreen Mar 15, 2025
5d887c2
Merge branch 'dv/connect_initial' into connect_qa
OrangeAndGreen Mar 15, 2025
90329ba
Merge branch 'master' of https://github.com/dimagi/commcare-android i…
pm-dimagi Mar 16, 2025
e788dd8
-removed unecessary variables, created sub methods
pm-dimagi Mar 17, 2025
f987292
-password flow, modular methods, and handle redirection
pm-dimagi Mar 17, 2025
9298d91
-modular methods, remove unused functions and extra keys
pm-dimagi Mar 17, 2025
091cd01
encapsulate session alive check in PrimeEntityCacheHelper
shubham1g5 Mar 18, 2025
1a0c549
-rotation handling, making function private
pm-dimagi Mar 18, 2025
64f63aa
-bug fix put null check
pm-dimagi Mar 18, 2025
8e0e774
Merge pull request #2982 from dimagi/primeCachingFixes
shubham1g5 Mar 19, 2025
16a5b5a
Additional logging to troubleshoot the repeated login issue
shubham1g5 Mar 19, 2025
4ed1de0
Merge pull request #2993 from dimagi/loginLogging
shubham1g5 Mar 19, 2025
cdd44e2
Correct nullability
shubham1g5 Mar 19, 2025
ee17036
-removed unwanted files, make non static for connectidmanager class
pm-dimagi Mar 20, 2025
4a40d19
Ignoring all corrupt opportunities to show
Mar 20, 2025
bce71c6
-removed the key check from json
pm-dimagi Mar 21, 2025
980fcad
Show weigted progress instead of bothering user with technicalities
shubham1g5 Mar 21, 2025
fbd756c
Added Swahili translations.
OrangeAndGreen Mar 21, 2025
6033d8b
Merge branch 'dv/connect_initial' of https://github.com/dimagi/commca…
OrangeAndGreen Mar 21, 2025
09baddb
Add HQ credentials to connected tasks
avazirna Mar 21, 2025
5ad41f2
Merge branch 'connect_qa' of https://github.com/dimagi/commcare-andro…
OrangeAndGreen Mar 21, 2025
64918fb
Merge branch 'dv/connect_initial' of https://github.com/dimagi/commca…
OrangeAndGreen Mar 21, 2025
e3543db
Merge branch 'connect_qa' of https://github.com/dimagi/commcare-andro…
OrangeAndGreen Mar 21, 2025
8859417
Throwing the new token exceptions when SSO API calls fail.
OrangeAndGreen Mar 21, 2025
ffce6d4
-remove the overuse of require activity
pm-dimagi Mar 24, 2025
d9bce47
Cancel any background entity loading work before we load a normal (no…
shubham1g5 Mar 24, 2025
9061a3f
Use ShareFlow instead of StateFlow in order to only listen to the val…
shubham1g5 Mar 24, 2025
822e9b4
Refactor
avazirna Mar 24, 2025
3aa1462
Merge pull request #2997 from dimagi/fix-intrumentation-test-local-ex…
avazirna Mar 24, 2025
b2154ec
- remove extra keys as passing argument from fragment
pm-dimagi Mar 25, 2025
8af2c43
-lint error resolved
pm-dimagi Mar 25, 2025
fb1db1e
-removed connect medium text view
pm-dimagi Mar 25, 2025
733ce88
Bump Firebase Analytics to 20.1.2
avazirna Mar 27, 2025
ac054fa
Bump Firebase Crashlytics to 18.3.7
avazirna Mar 27, 2025
039da4c
fixes test error: work manager is not initialized
shubham1g5 Mar 28, 2025
cabd806
Merge pull request #2998 from dimagi/primeCachingFixes2
shubham1g5 Mar 31, 2025
3600813
Merge pull request #3002 from dimagi/update-firebase-dependencies
avazirna Mar 31, 2025
29b6cc6
-commcare crash fix on non connect user
pm-dimagi Mar 31, 2025
17789e7
-fixed changes for expired opportunity
pm-dimagi Mar 31, 2025
eee14c9
-reverted code
pm-dimagi Mar 31, 2025
b056ec6
-fixed non connect user flow for commcare, and expired opportunities …
pm-dimagi Mar 31, 2025
bee0d71
-bug fix for the alternate phone
pm-dimagi Mar 31, 2025
6bd20c9
-update the condition of is_Active
pm-dimagi Apr 1, 2025
ea89121
added corrupt opportunities in the list
Apr 1, 2025
22df3f4
-make phonenumberhelper class synchronized, make global constant vari…
pm-dimagi Apr 1, 2025
298273a
-fixed issue on signup
pm-dimagi Apr 1, 2025
fcd830f
Changed error message to be simpler.
OrangeAndGreen Apr 1, 2025
37ce9e8
Removing obsolete code that redirects to Connect menu when first item…
OrangeAndGreen Apr 1, 2025
d87de72
Changed checkForFailedConnectIdAuth to isSeatedAppLinkedToConnectId.
OrangeAndGreen Apr 1, 2025
54a3927
Changed error messages for token failures in Connect jobs list to be …
OrangeAndGreen Apr 1, 2025
412674a
Merge pull request #3006 from dimagi/dv/login_selector_fix
OrangeAndGreen Apr 1, 2025
1c451a1
Merge branch 'connect_qa' of https://github.com/dimagi/commcare-andro…
OrangeAndGreen Apr 1, 2025
a1a5f35
Changed token methods to never return null (only rely on exceptions f…
OrangeAndGreen Apr 1, 2025
55547c8
Changes to delivery progress text for each payment unit
OrangeAndGreen Apr 1, 2025
b5da6ff
Merge pull request #3005 from dimagi/CCCT_890
pm-dimagi Apr 1, 2025
8be1f87
Changed delivery progress page to use simple scrolling (instead of co…
OrangeAndGreen Apr 1, 2025
b60a377
Fixed a recently introduced mismatch between server and local DB key …
OrangeAndGreen Apr 1, 2025
02a31f9
Merge branch 'connect_qa' of https://github.com/dimagi/commcare-andro…
OrangeAndGreen Apr 1, 2025
4730da1
Merge branch 'connect_qa' into dv/payment_parsing_fix
OrangeAndGreen Apr 1, 2025
4fe309a
Replaced custom TextViews with standard version.
OrangeAndGreen Apr 1, 2025
e341068
App crash if failed to load full opportunities envelope
Apr 2, 2025
2e3a637
-make public function private, refactored login class
pm-dimagi Apr 2, 2025
dba5628
remove un-necessary parseException as it's not getting thrown anywhere
shubham1g5 Apr 2, 2025
974d4a6
Merge pull request #3007 from dimagi/dv/delivery_progress_text
OrangeAndGreen Apr 2, 2025
c5fea23
Merge pull request #3009 from dimagi/dv/delivery_progress_scrolling_fix
OrangeAndGreen Apr 2, 2025
98ea46c
Merge pull request #3008 from dimagi/dv/payment_parsing_fix
OrangeAndGreen Apr 2, 2025
d3de1e2
Crashing application when opportunity envelope is corrupt
Apr 2, 2025
282cdb9
Merge remote-tracking branch 'origin/jignesh/fix/ignore_corrupt_oppor…
Apr 2, 2025
e764235
Merge branch 'connect_qa' into jignesh/fix/ignore_corrupt_opportunities
Apr 2, 2025
78dae96
Added some additional text for delivery progress scenarios for a paym…
OrangeAndGreen Apr 2, 2025
dec55c1
Corrected remaining instances of "discrepation" typo for "description"
OrangeAndGreen Apr 2, 2025
bf55885
Merge pull request #3010 from dimagi/dv/delivery_progress_text_tweak
OrangeAndGreen Apr 2, 2025
5f014f3
Merge branch 'connect_qa' into dv/token_exceptions
OrangeAndGreen Apr 2, 2025
4e77c15
-handle the recovery phone case and primary and secondary phone numbe…
pm-dimagi Apr 2, 2025
a074ea5
-put the string in strings folder
pm-dimagi Apr 2, 2025
f5e8900
-make the code more readable by calling directions in different function
pm-dimagi Apr 2, 2025
5abaedc
Merge pull request #3011 from dimagi/pm_7615
pm-dimagi Apr 2, 2025
a9d21ca
-fixed crash issue on recovery second time
pm-dimagi Apr 3, 2025
3704c58
Merge pull request #3012 from dimagi/pm_qa_7620
pm-dimagi Apr 3, 2025
8c0a990
Merge branch 'connect_qa' into dv/token_exceptions
OrangeAndGreen Apr 3, 2025
6329a15
Added javadocs for token exceptions explaining their usage.
OrangeAndGreen Apr 3, 2025
7d90f3d
Corrected line spacing
Apr 4, 2025
c65b8e3
Small change to how days remaining for an opportunity is calculated (…
OrangeAndGreen Apr 4, 2025
3f8ba47
Merge pull request #3013 from dimagi/dv/delivery_progress_tomorrow_fix
OrangeAndGreen Apr 4, 2025
3a1675a
Passthrough EXIF properties while scaling image
hashamyounis9 Apr 6, 2025
3682c8b
create EXIF_TAG prevent code duplication, use conditional logging, us…
hashamyounis9 Apr 6, 2025
2c17817
resolve package not found, update EXIF_TAGS, improve exception logging
hashamyounis9 Apr 7, 2025
52c7e4a
Merge pull request #2995 from dimagi/jignesh/fix/ignore_corrupt_oppor…
Apr 7, 2025
1262e5b
Merge branch 'connect_qa' of https://github.com/dimagi/commcare-andro…
OrangeAndGreen Apr 7, 2025
f6853ab
Merge pull request #2996 from dimagi/dv/token_exceptions
OrangeAndGreen Apr 7, 2025
2a62f42
-remove unwanted else condition
pm-dimagi Apr 8, 2025
e64acd3
Use ShadowDialog
shubham1g5 Apr 8, 2025
5afff15
remove un-needed method
shubham1g5 Apr 8, 2025
b9dc391
get rid of logs not needed
hashamyounis9 Apr 8, 2025
9548872
get rid of useless imports
hashamyounis9 Apr 8, 2025
f676332
Merge pull request #3015 from dimagi/testFixCyclicPurge
shubham1g5 Apr 8, 2025
f120821
rebae with master
hashamyounis9 Apr 8, 2025
d0a6efc
Merge branch 'master' into retain-exif-properties-while-scaling-image
hashamyounis9 Apr 8, 2025
096deed
Merge pull request #3014 from hashamyounis9/retain-exif-properties-wh…
shubham1g5 Apr 8, 2025
46e0951
Exclude device and os info from force close logs
avazirna Apr 9, 2025
fb89fb8
Lint
avazirna Apr 9, 2025
a706344
Merge pull request #2978 from dimagi/standardize-commcare-version-in-…
avazirna Apr 9, 2025
ab372b2
Remove comment
avazirna Apr 9, 2025
07b4543
Merge pull request #2977 from dimagi/add-device-model-and-os-version-…
avazirna Apr 9, 2025
5fd82ce
-made changes handling connect request by particular code, and remove…
pm-dimagi Apr 9, 2025
833b393
-made binding set to null on destroy
pm-dimagi Apr 9, 2025
8f9a51c
-changes code in qa branch
pm-dimagi Apr 10, 2025
ca17b4d
-changes in the login activity as per the latest qa branch
pm-dimagi Apr 10, 2025
f5d2a67
Reuse entity factory for cache prime
shubham1g5 Apr 10, 2025
990b16e
Merge pull request #3018 from dimagi/entityCachingFixes
shubham1g5 Apr 10, 2025
ea458a9
Solved back button issue while coming back to message channel list fr…
Apr 10, 2025
bb84912
-case handling of onactivity result
pm-dimagi Apr 10, 2025
33e3581
- string format to string value of
pm-dimagi Apr 10, 2025
2458934
Cleaned up some stale biometric config code
OrangeAndGreen Apr 10, 2025
384b9cc
-lock orientation to potrait
pm-dimagi Apr 10, 2025
7960ec6
- renaming of variable
pm-dimagi Apr 10, 2025
15287e3
Rescpect image orientation while previewing the image in mobile app
hashamyounis9 Apr 10, 2025
7d4e597
use appropriate log tags, set proper exceptions
hashamyounis9 Apr 10, 2025
dd33b4a
Only init cache if cache is enabled
shubham1g5 Apr 11, 2025
a7dd80f
Removed reported exception when user fails to authenticate with finge…
OrangeAndGreen Apr 11, 2025
1dfcc32
Removed call to updateState in onCreateView (called in onResume).
OrangeAndGreen Apr 11, 2025
a23d2af
Removed comments about exceptions being logged elsewhere.
OrangeAndGreen Apr 11, 2025
b0f8f35
Merge pull request #3019 from dimagi/jignesh/fix/ccc-924
OrangeAndGreen Apr 11, 2025
ca1ce68
Logs SSL exception when trying to download app
shubham1g5 Apr 11, 2025
8994927
Removed a stale comment
OrangeAndGreen Apr 11, 2025
53c518f
Merge pull request #3020 from dimagi/dv/biometric_config_errors
OrangeAndGreen Apr 11, 2025
a42b2d1
Manually upgraded version in manifest to 2.56.0 (deploy script had an…
OrangeAndGreen Apr 11, 2025
274f948
Merge pull request #3024 from dimagi/logSslException
shubham1g5 Apr 11, 2025
44eae1c
Logging error string from failed fingerprint auth, and showing it to …
OrangeAndGreen Apr 11, 2025
48f8784
-proper structuring of code
pm-dimagi Apr 11, 2025
198a5fc
use Logger.exception()
hashamyounis9 Apr 11, 2025
154c5ab
avoid NullPointerException gracefully
hashamyounis9 Apr 11, 2025
b69b478
Updated next version to 2.57
OrangeAndGreen Apr 11, 2025
3510e9d
Merge branch 'master' into respect-image-orientation-while-previewing…
hashamyounis9 Apr 11, 2025
8fae16d
Merge pull request #3027 from dimagi/commcare_2.56
OrangeAndGreen Apr 11, 2025
d13efcb
Merge branch 'master' into respect-image-orientation-while-previewing…
hashamyounis9 Apr 11, 2025
ee235e7
Merge pull request #3026 from dimagi/dv/fingerprint_errstring
OrangeAndGreen Apr 11, 2025
cb79487
attempt avoid NullPointerException: return bitmap with expected width…
hashamyounis9 Apr 12, 2025
d5091cc
attempt avoid NullPointerException: avoid extra call to inflateImageSafe
hashamyounis9 Apr 12, 2025
8c5ca49
attempt avoid NullPointerException: return the original bitmap, rotat…
hashamyounis9 Apr 12, 2025
cde16e3
attempt avoid NullPointerException: set appropriate checks
hashamyounis9 Apr 12, 2025
61f53ab
- handling of biometric, remove success key, update login ui
pm-dimagi Apr 14, 2025
15f4108
-common functionality for two classes phone and secondary phone
pm-dimagi Apr 14, 2025
8fe474f
Showing short description in logged in app description
Apr 14, 2025
25a68a6
-changes related to login visiblity
pm-dimagi Apr 14, 2025
92a2b53
- handled failed sigin for connectid
pm-dimagi Apr 14, 2025
af5b9aa
attempt avoid NullPointerException: update image to have EXIF properties
hashamyounis9 Apr 14, 2025
0dc6475
-updated standard home activity
pm-dimagi Apr 14, 2025
f6cdbcd
Merge branch 'master' of https://github.com/dimagi/commcare-android i…
pm-dimagi Apr 14, 2025
0e1553a
Merge pull request #3031 from dimagi/jignesh/fix/ccct-709
Apr 15, 2025
960cf6a
-indentation of the files
pm-dimagi Apr 15, 2025
49080b8
lint and better method names
shubham1g5 Apr 14, 2025
ffa9dcc
not a second offer
shubham1g5 Apr 14, 2025
28453d3
handle connect as a specific case with success true as we don't need …
shubham1g5 Apr 14, 2025
994e36e
autoLogged in is always true for connect id linked apps and think was…
shubham1g5 Apr 14, 2025
9b3ab17
Correct success interpretation as connect managed app
shubham1g5 Apr 14, 2025
e579b50
lint and better method names
shubham1g5 Apr 15, 2025
5228f8c
-remove extra parameter from secondary phone number,modular functions…
pm-dimagi Apr 15, 2025
c270b42
Revert changes to handleConnectSignin
shubham1g5 Apr 15, 2025
ffd1413
Only prompt for delink when password is not empty
shubham1g5 Apr 15, 2025
0f955df
Only move to connect home when the appState is 'Connect'
shubham1g5 Apr 15, 2025
0f3370e
Merge branch 'pm_connectid_merge' into fixesForCheckConnectLink
shubham1g5 Apr 15, 2025
9f7d310
- removed extra parameter from nav_graph , and fixed unit test case, …
pm-dimagi Apr 15, 2025
142143e
Fixed logic around receiving and storing Connect DB passphrases.
OrangeAndGreen Apr 15, 2025
ccc7959
attempt avoid NullPointerException: try changing image
hashamyounis9 Apr 15, 2025
611631b
-updated strings, updated code from qa branch
pm-dimagi Apr 15, 2025
3906cfe
-added translatable strings
pm-dimagi Apr 15, 2025
f506bdf
-added drawable
pm-dimagi Apr 15, 2025
cad0002
-removed unecessary use of Connectidmanager
pm-dimagi Apr 15, 2025
88230f1
-removed unecessary use of getinstance
pm-dimagi Apr 15, 2025
ce08849
Revert to using boolean for connectIdManagedLogin to determine if we …
shubham1g5 Apr 15, 2025
b38fff7
remove unused vars and imports
shubham1g5 Apr 15, 2025
f77ab6e
Merge branch 'pm_connectid_merge' into fixesForCheckConnectLink
shubham1g5 Apr 15, 2025
a2ae7b9
Merge pull request #3029 from dimagi/fixesForCheckConnectLink
shubham1g5 Apr 15, 2025
72dc59e
-make function public
pm-dimagi Apr 15, 2025
3dd87e3
Merge pull request #3023 from dimagi/entityCachingFixesPartTen
shubham1g5 Apr 16, 2025
67781cf
Solved crash for older Android versions
Apr 16, 2025
4096fbc
Put time format and return pattern in constant
Apr 16, 2025
82e1ef3
java pattern constant
Apr 16, 2025
0d22f69
Merge branch 'connect_qa' into dv/db_passphrase_fix
OrangeAndGreen Apr 16, 2025
dada214
Changed to using CommCare BuildConfig instead of Firebase (for report…
OrangeAndGreen Apr 16, 2025
43ec23d
Merge pull request #3032 from dimagi/jignesh/fix/ccct-971
Apr 17, 2025
92c3982
-removed unused phone fragment
pm-dimagi Apr 17, 2025
c50f151
attempt avoid NullPointerException: do not read exif not pngs
hashamyounis9 Apr 17, 2025
f56dd0b
Merge branch 'master' into respect-image-orientation-while-previewing…
hashamyounis9 Apr 17, 2025
1d0a49a
refactor connect tile code for home screen
shubham1g5 Apr 16, 2025
7afe12b
bring in connect button visibiity code
shubham1g5 Apr 16, 2025
5c09d5e
Clear static pending actions in favour of using intent extras
shubham1g5 Apr 16, 2025
c075283
remove check for getConnectUsername and move the call to inside outer…
shubham1g5 Apr 16, 2025
d101693
Bring back password background color change, log exception, restrict …
shubham1g5 Apr 16, 2025
c0730ea
bring back more of missing code, consistent naming
shubham1g5 Apr 16, 2025
5ce3a81
move connect button visibility to ui controller method
shubham1g5 Apr 16, 2025
d2ff347
Separate ui logic from business between activity and controller
shubham1g5 Apr 16, 2025
1204333
reconcile more code with latest connect code
shubham1g5 Apr 16, 2025
3aa84ce
removed always true setLoginInputVisibility as noApps is always false…
shubham1g5 Apr 16, 2025
f6151ef
Protect evaluateConnectAppState with isLoggedIn so that it doesn't ac…
shubham1g5 Apr 16, 2025
1c18fbc
Adds update connect tile call to onResume
shubham1g5 Apr 16, 2025
4102a88
Fixes crash on login
shubham1g5 Apr 17, 2025
443a1ec
Merge pull request #3033 from dimagi/dv/db_passphrase_fix
OrangeAndGreen Apr 17, 2025
b81b5b1
-added wrap domain false in test api calls
pm-dimagi Apr 17, 2025
42e88f3
Merge pull request #3034 from dimagi/finalPhase2MergeFixes
pm-dimagi Apr 17, 2025
aab9dc6
Disable animations on BS devices
shubham1g5 Apr 18, 2025
e86d8f5
Merge branch 'master' of https://github.com/dimagi/commcare-android i…
OrangeAndGreen Apr 18, 2025
aba660f
Merge pull request #3036 from dimagi/dv/commcare_build_config
OrangeAndGreen Apr 18, 2025
7e7add8
Changed app home menu to use an XML resource.
OrangeAndGreen Apr 18, 2025
36d60f0
read orientation exif and rotate, continue otherwose by avoiding bitm…
hashamyounis9 Apr 19, 2025
5562446
set proper exception checks
hashamyounis9 Apr 20, 2025
ddf1847
set proper exception checks
hashamyounis9 Apr 21, 2025
a62cc46
Merge pull request #3039 from dimagi/dv/app_home_menu
shubham1g5 Apr 21, 2025
b6a5605
Merge branch 'master' into respect-image-orientation-while-previewing…
hashamyounis9 Apr 21, 2025
7c25d05
Merge pull request #3022 from hashamyounis9/respect-image-orientation…
shubham1g5 Apr 21, 2025
33a8a85
Merge branch 'connect_qa' of https://github.com/dimagi/commcare-andro…
pm-dimagi Apr 21, 2025
27dd1b8
- removed the connectidmanager code from connectmanager
pm-dimagi Apr 21, 2025
135feaf
- removed unused variable and change in req code
pm-dimagi Apr 22, 2025
c133db0
-update the missing code, and change the request code value
pm-dimagi Apr 22, 2025
0ccfb15
- hide signup button for normal commcare user
pm-dimagi Apr 22, 2025
6909562
-revert the code for connect button handling
pm-dimagi Apr 22, 2025
743863c
-nit issue resolved and removed rest functionality
pm-dimagi Apr 22, 2025
c2d5918
Merge branch 'master' of https://github.com/dimagi/commcare-android i…
pm-dimagi Apr 22, 2025
238fef2
Merge branch 'master' of https://github.com/dimagi/commcare-android i…
pm-dimagi Apr 23, 2025
049c7d2
Merge branch 'pm_connectid_merge' of https://github.com/dimagi/commca…
pm-dimagi Apr 23, 2025
bf9f949
Merge pull request #3044 from dimagi/pm_missing_code
pm-dimagi Apr 23, 2025
67f8d0c
Merge branch 'pm_connectid_merge' of https://github.com/dimagi/commca…
pm-dimagi Apr 23, 2025
712d57c
-fixed isloggedIn
pm-dimagi Apr 23, 2025
db23f68
Merge pull request #3037 from dimagi/master_connectid_merge
pm-dimagi Apr 23, 2025
699febe
_uncommented the connect code
pm-dimagi Apr 23, 2025
66d9ff9
-connect specific code in connect manager
pm-dimagi Apr 23, 2025
68e3939
Merge pull request #3047 from dimagi/pm_qa_7673
pm-dimagi Apr 23, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 21 additions & 19 deletions app/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:versionCode="106"
android:versionName="2.56">
android:versionName="2.57">

<uses-permission android:name="android.permission.NFC"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
Expand Down Expand Up @@ -53,6 +53,10 @@
android:name="android.hardware.camera"
android:required="false"/>

<uses-sdk tools:overrideLibrary="com.dimagi.android.zebraprinttool, com.simprints.libsimprints,
ru.noties.markwon.il, ru.noties.markwon.view, ru.noties.markwon.renderer,
com.google.firebase.crashlytics, com.google.firebase.iid, com.appmattus.certificatetransparency"/>

<permission-group
android:name="commcare.permission-group.DATABASE"
android:description="@string/permission_content_provider_description"
Expand Down Expand Up @@ -118,38 +122,36 @@
</queries>

<application
android:name="org.commcare.CommCareApplication"
android:allowBackup="false"
android:enableOnBackInvokedCallback="false"
android:hardwareAccelerated="true"
tools:replace="android:label,android:icon,android:theme, android:allowBackup"
android:name="org.commcare.CommCareApplication"
android:icon="@mipmap/commcare_launcher"
android:label="@string/application_name"
android:supportsRtl="true"
android:theme="@style/AppBaseTheme"
android:label="@string/application_name"
android:hardwareAccelerated="true"
android:usesCleartextTraffic="true"
tools:replace="android:label,android:icon,android:theme, android:allowBackup">
<activity
android:name="org.commcare.activities.connect.ConnectMessagingActivity"
android:exported="true" >
</activity>
android:theme="@style/AppBaseTheme"
android:enableOnBackInvokedCallback="false">

<meta-data
android:name="com.google.firebase.messaging.default_notification_channel_id"
android:value="@string/fcm_default_notification_channel" />

<receiver
android:name="org.commcare.connect.SMSBroadcastReceiver"
android:exported="true"
android:permission="com.google.android.gms.auth.api.phone.permission.SEND">
<intent-filter>
<action android:name="com.google.android.gms.auth.api.phone.SMS_RETRIEVED" />
<action android:name="com.google.android.gms.auth.api.phone.SMS_RETRIEVED"/>
</intent-filter>
</receiver>

<activity
android:name="org.commcare.activities.DispatchActivity"
android:name="org.commcare.activities.connect.ConnectMessagingActivity"
android:exported="true" >
</activity>
<activity
android:label="@string/application_name"
android:exported="true"
android:label="@string/application_name">
android:name="org.commcare.activities.DispatchActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

Expand All @@ -170,6 +172,9 @@
<action android:name="android.intent.action.MAIN" />
</intent-filter>
</activity>
<activity
android:name="org.commcare.activities.connect.ConnectIdActivity"
android:screenOrientation="portrait"/>
<activity
android:name="org.commcare.activities.LoginActivity"
android:label="@string/application_name"
Expand All @@ -180,9 +185,6 @@
<activity android:name="org.commcare.activities.StandardHomeActivity" />
<activity android:name="org.commcare.activities.RootMenuHomeActivity" />
<activity android:name="org.commcare.activities.MenuActivity" />
<activity
android:name="org.commcare.activities.connect.ConnectIdActivity"
android:theme="@style/NoAppBarTheme" />
<activity
android:name="org.commcare.activities.connect.ConnectActivity" />
<activity android:name="org.commcare.activities.AppSelectActivity" />
Expand Down
12 changes: 10 additions & 2 deletions app/assets/locales/android_translatable_strings.txt
Original file line number Diff line number Diff line change
Expand Up @@ -206,8 +206,8 @@ post.server.error=Server-side error (code ${0}) received from network request.
post.gone.error=Case is not present on server.
post.conflict.error=You have already claimed this case.

version.id.long=CommCare Android, version "${0}"(${1}). App v${5}. CommCare Version ${2}. Build ${3}, built on: ${4}
version.id.short=CCDroid:"${0}"(${1}). v${5} CC${2}b[${3}] on ${4}
version.id.long=CommCare Android, version "${0}"(${1}). App v${4}. CommCare Version ${0}. Build ${2}, built on: ${3}
version.id.short=CCDroid:"${0}"(${1}). v${4} CC${0}b[${2}] on ${3}
commcare.version=CommCare Android, version "${0}"(${1}), built on: ${2}

auth.request.not.using.https=${0} is an invalid URL. CommCare can't connect with authentication to an insecure (HTTP) server.
Expand Down Expand Up @@ -556,6 +556,14 @@ notification.bad.certificate.detail=CommCare couldn't validate the security info
notification.bad.certificate.action=Check your device's time and date to make sure they are correct. If the problem persists, try to connect to a secure server with the phone's browser
notification.bad.certificate.button=Go to settings

notification.token.unavailable.title=Couldn't connect to the server.
notification.token.unavailable.detail=CommCare had an issue authenticating the user.
notification.token.unavailable.action=Check your device's time and date to make sure they are correct, then try again.

notification.token.denied.title=Couldn't connect to the server.
notification.token.denied.detail=CommCare can no longer communicate with the ConnectID server.
notification.token.denied.action=Please recover your ConnectID account, then try again.

notification.restore.storagefull.title=Couldn't save your application's resources
notification.restore.storagefull.detail=CommCare was not able to save one or more of your application's resources on the device. This could be because the entire application was too large, or because an individual fixture exceeded 1MB.
notification.restore.storagefull.action=Check the amount of space available on your device. If the SD card isn't full, then it's likely one of your fixtures is too large (> 1MB) and needs to be reduced or split.
Expand Down
39 changes: 23 additions & 16 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,16 @@ apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.google.firebase.crashlytics'
apply plugin: 'androidx.navigation.safeargs'
apply from: 'jacoco.gradle'
apply plugin: "androidx.navigation.safeargs"

repositories {
// for local aar inclusion
flatDir {
dirs 'libs'
}
maven { url 'https://jitpack.io' }
maven {url 'https://repository.liferay.com/nexus/content/repositories/public/'}
}

configurations {
Expand All @@ -31,6 +32,7 @@ configurations {
}

dependencies {
implementation 'androidx.exifinterface:exifinterface:1.3.6'
testImplementation 'junit:junit:4.13.2'
testImplementation('org.robolectric:robolectric:4.8.2') {
exclude(group: 'org.bouncycastle', module: 'bcprov-jdk15on')
Expand Down Expand Up @@ -71,11 +73,7 @@ dependencies {
implementation fileTree(include: '*.jar', exclude: 'regexp-me.jar', dir: 'libs')
implementation(name: 'htmlspanner-custom', ext: 'aar')
implementation 'com.github.dimagi:zebra-print-android:v1.3'
implementation (name: 'LibSimprints-1.0.12', ext: 'aar')
implementation (name: 'mapbox-android-accounts-0.2.0', ext: 'aar')
implementation (name: 'realm-android-library-4.1.1', ext: 'aar')
implementation (name: 'volley-1.1.0', ext: 'aar')
implementation (name: 'storage-2.1.0', ext: 'aar')
implementation 'com.simprints:libsimprints:2024.2.2'
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'androidx.cardview:cardview:1.0.0'
implementation 'androidx.recyclerview:recyclerview:1.1.0'
Expand Down Expand Up @@ -107,9 +105,10 @@ dependencies {
implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
implementation 'com.jakewharton.rxbinding2:rxbinding:2.0.0'
implementation 'com.journeyapps:zxing-android-embedded:3.6.0'
implementation 'com.google.firebase:firebase-analytics:17.5.0'
implementation 'com.google.firebase:firebase-analytics:20.1.2'
implementation 'com.google.firebase:firebase-messaging:21.1.0'
implementation 'com.google.firebase:firebase-crashlytics:17.2.1'
implementation 'com.google.firebase:firebase-crashlytics:18.3.7'

implementation 'androidx.legacy:legacy-support-core-ui:1.0.0'
implementation('com.github.bumptech.glide:glide:4.9.0') {
exclude group: 'com.android.support'
Expand All @@ -125,12 +124,13 @@ dependencies {
implementation "io.noties.markwon:ext-tables:$markwon_version"
implementation "io.noties.markwon:ext-strikethrough:$markwon_version"

// Kujaku
implementation 'com.android.volley:volley:1.2.1'
implementation 'com.snatik:storage:2.1.0'
implementation('io.ona.kujaku:library:0.9.0') {
exclude module: 'xpp3'
exclude module: 'volley'
exclude module: 'storage'
exclude group: 'com.mapbox.mapboxsdk', module: 'mapbox-android-accounts'
exclude group: 'io.realm'
}
implementation 'androidx.work:work-runtime:2.10.0'
implementation 'androidx.work:work-runtime-ktx:2.10.0'
Expand All @@ -148,15 +148,16 @@ dependencies {

implementation 'com.appmattus.certificatetransparency:certificatetransparency-android:2.5.4'

// Dependency required for API desugaring
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs_minimal:2.1.3'

implementation 'androidx.biometric:biometric:1.1.0'

implementation 'io.michaelrocks:libphonenumber-android:8.13.11'
implementation 'com.nulab-inc:zxcvbn:1.7.0'

def nav_version = '2.8.5'
// Dependency required for API desugaring
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs_minimal:2.1.3'
implementation 'com.google.android.gms:play-services-auth:21.3.0'
implementation 'com.google.android.gms:play-services-auth-api-phone:18.1.0'
implementation 'com.google.android.gms:play-services-identity:18.1.0'
implementation 'com.google.android.gms:play-services-base:18.5.0'
implementation "androidx.navigation:navigation-fragment:$nav_version"
implementation "androidx.navigation:navigation-ui:$nav_version"
implementation "androidx.navigation:navigation-dynamic-features-fragment:$nav_version"
Expand Down Expand Up @@ -315,6 +316,7 @@ android {

buildFeatures {
viewBinding true
dataBinding true
}

applicationVariants.all { variant ->
Expand Down Expand Up @@ -584,7 +586,7 @@ tasks.configureEach { task ->
&& "true" == isConsumerApp && "true" == runDownloadScripts) {
task.dependsOn downloadRestoreFile
}
if (task.name == 'assembleCommcareReleaseAndroidTest' || task.name == 'assembleCommcareDebugAndroidTest') {
if (isInstrumentationTestTask(task)) {
android.defaultConfig.buildConfigField "String", "HQ_API_USERNAME", "\"${project.ext.HQ_API_USERNAME}\""
android.defaultConfig.buildConfigField "String", "HQ_API_PASSWORD", "\"${project.ext.HQ_API_PASSWORD}\""
}
Expand Down Expand Up @@ -667,3 +669,8 @@ downloadLicenses {
includeProjectDependencies = true
dependencyConfiguration = 'compile'
}

static def isInstrumentationTestTask(task){
def instrumentationTestTaskNamePattern = /^(assemble|connected).*AndroidTest/
return task.name ==~ instrumentationTestTaskNamePattern
}
Original file line number Diff line number Diff line change
Expand Up @@ -326,7 +326,7 @@ private static Response<ResponseBody> postRequest(String url, String query, Requ
}

private static CommCareNetworkService createTestNetworkService() {
AuthInfo authInfo = new AuthInfo.ProvidedAuth(BuildConfig.HQ_API_USERNAME, BuildConfig.HQ_API_PASSWORD);
AuthInfo authInfo = new AuthInfo.ProvidedAuth(BuildConfig.HQ_API_USERNAME, BuildConfig.HQ_API_PASSWORD,false);
CommCareNetworkService networkService =
CommCareNetworkServiceGenerator.createCommCareNetworkService(
HttpUtils.getCredential(authInfo),
Expand Down
Binary file removed app/libs/LibSimprints-1.0.12.aar
Binary file not shown.
Binary file removed app/libs/mapbox-android-accounts-0.2.0.aar
Binary file not shown.
Binary file removed app/libs/realm-android-library-4.1.1.aar
Binary file not shown.
Binary file removed app/libs/storage-2.1.0.aar
Binary file not shown.
Binary file removed app/libs/volley-1.1.0.aar
Binary file not shown.
Binary file added app/res/drawable-hdpi/ic_dimagi_logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/res/drawable-mdpi/ic_dimagi_logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/res/drawable-xhdpi/ic_dimagi_logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/res/drawable-xxhdpi/ic_dimagi_logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/res/drawable-xxxhdpi/ic_dimagi_logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 5 additions & 0 deletions app/res/drawable/baseline_fingerprint_24.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<vector android:height="24dp" android:tint="#3A42C7"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M17.81,4.47c-0.08,0 -0.16,-0.02 -0.23,-0.06C15.66,3.42 14,3 12.01,3c-1.98,0 -3.86,0.47 -5.57,1.41 -0.24,0.13 -0.54,0.04 -0.68,-0.2 -0.13,-0.24 -0.04,-0.55 0.2,-0.68C7.82,2.52 9.86,2 12.01,2c2.13,0 3.99,0.47 6.03,1.52 0.25,0.13 0.34,0.43 0.21,0.67 -0.09,0.18 -0.26,0.28 -0.44,0.28zM3.5,9.72c-0.1,0 -0.2,-0.03 -0.29,-0.09 -0.23,-0.16 -0.28,-0.47 -0.12,-0.7 0.99,-1.4 2.25,-2.5 3.75,-3.27C9.98,4.04 14,4.03 17.15,5.65c1.5,0.77 2.76,1.86 3.75,3.25 0.16,0.22 0.11,0.54 -0.12,0.7 -0.23,0.16 -0.54,0.11 -0.7,-0.12 -0.9,-1.26 -2.04,-2.25 -3.39,-2.94 -2.87,-1.47 -6.54,-1.47 -9.4,0.01 -1.36,0.7 -2.5,1.7 -3.4,2.96 -0.08,0.14 -0.23,0.21 -0.39,0.21zM9.75,21.79c-0.13,0 -0.26,-0.05 -0.35,-0.15 -0.87,-0.87 -1.34,-1.43 -2.01,-2.64 -0.69,-1.23 -1.05,-2.73 -1.05,-4.34 0,-2.97 2.54,-5.39 5.66,-5.39s5.66,2.42 5.66,5.39c0,0.28 -0.22,0.5 -0.5,0.5s-0.5,-0.22 -0.5,-0.5c0,-2.42 -2.09,-4.39 -4.66,-4.39 -2.57,0 -4.66,1.97 -4.66,4.39 0,1.44 0.32,2.77 0.93,3.85 0.64,1.15 1.08,1.64 1.85,2.42 0.19,0.2 0.19,0.51 0,0.71 -0.11,0.1 -0.24,0.15 -0.37,0.15zM16.92,19.94c-1.19,0 -2.24,-0.3 -3.1,-0.89 -1.49,-1.01 -2.38,-2.65 -2.38,-4.39 0,-0.28 0.22,-0.5 0.5,-0.5s0.5,0.22 0.5,0.5c0,1.41 0.72,2.74 1.94,3.56 0.71,0.48 1.54,0.71 2.54,0.71 0.24,0 0.64,-0.03 1.04,-0.1 0.27,-0.05 0.53,0.13 0.58,0.41 0.05,0.27 -0.13,0.53 -0.41,0.58 -0.57,0.11 -1.07,0.12 -1.21,0.12zM14.91,22c-0.04,0 -0.09,-0.01 -0.13,-0.02 -1.59,-0.44 -2.63,-1.03 -3.72,-2.1 -1.4,-1.39 -2.17,-3.24 -2.17,-5.22 0,-1.62 1.38,-2.94 3.08,-2.94 1.7,0 3.08,1.32 3.08,2.94 0,1.07 0.93,1.94 2.08,1.94s2.08,-0.87 2.08,-1.94c0,-3.77 -3.25,-6.83 -7.25,-6.83 -2.84,0 -5.44,1.58 -6.61,4.03 -0.39,0.81 -0.59,1.76 -0.59,2.8 0,0.78 0.07,2.01 0.67,3.61 0.1,0.26 -0.03,0.55 -0.29,0.64 -0.26,0.1 -0.55,-0.04 -0.64,-0.29 -0.49,-1.31 -0.73,-2.61 -0.73,-3.96 0,-1.2 0.23,-2.29 0.68,-3.24 1.33,-2.79 4.28,-4.6 7.51,-4.6 4.55,0 8.25,3.51 8.25,7.83 0,1.62 -1.38,2.94 -3.08,2.94s-3.08,-1.32 -3.08,-2.94c0,-1.07 -0.93,-1.94 -2.08,-1.94s-2.08,0.87 -2.08,1.94c0,1.71 0.66,3.31 1.87,4.51 0.95,0.94 1.86,1.46 3.27,1.85 0.27,0.07 0.42,0.35 0.35,0.61 -0.05,0.23 -0.26,0.38 -0.47,0.38z"/>
</vector>
5 changes: 5 additions & 0 deletions app/res/drawable/baseline_pattern_24.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<vector android:height="24dp" android:tint="#3A42C7"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M4,6c0,-1.1 0.9,-2 2,-2s2,0.9 2,2S7.1,8 6,8S4,7.1 4,6zM6,14c1.1,0 2,-0.9 2,-2s-0.9,-2 -2,-2s-2,0.9 -2,2S4.9,14 6,14zM12,8c1.1,0 2,-0.9 2,-2s-0.9,-2 -2,-2s-2,0.9 -2,2S10.9,8 12,8zM18,10c-1.1,0 -2,0.9 -2,2s0.9,2 2,2s2,-0.9 2,-2S19.1,10 18,10zM17.98,16c-0.74,0 -1.37,0.4 -1.72,1h-2.54c-0.34,-0.6 -0.98,-1 -1.72,-1s-1.37,0.4 -1.72,1H8.41l3.07,-3.07C11.65,13.97 11.82,14 12,14c1.1,0 2,-0.9 2,-2c0,-0.18 -0.03,-0.35 -0.07,-0.51l3.56,-3.56C17.65,7.97 17.82,8 18,8c1.1,0 2,-0.9 2,-2s-0.9,-2 -2,-2s-2,0.9 -2,2c0,0.18 0.03,0.35 0.07,0.51l-3.56,3.56C12.35,10.03 12.18,10 12,10c-1.1,0 -2,0.9 -2,2c0,0.18 0.03,0.35 0.07,0.51l-3.56,3.56C6.35,16.03 6.18,16 6,16c-1.1,0 -2,0.9 -2,2s0.9,2 2,2c0.74,0 1.37,-0.4 1.72,-1h2.57c0.34,0.6 0.98,1 1.72,1s1.37,-0.4 1.72,-1h2.55c0.34,0.6 0.98,1 1.72,1c1.1,0 2,-0.9 2,-2C19.98,16.9 19.08,16 17.98,16z"/>
</vector>
Binary file removed app/res/drawable/ic_primary_portrait.png
Binary file not shown.
7 changes: 7 additions & 0 deletions app/res/drawable/ic_primary_portrait.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<vector android:height="24dp" android:tint="#000000"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M11,15h2v2h-2z"/>
<path android:fillColor="@android:color/white" android:pathData="M11,7h2v6h-2z"/>
<path android:fillColor="@android:color/white" android:pathData="M17,1H7C5.9,1 5.01,1.9 5.01,3v18c0,1.1 0.89,2 1.99,2h10c1.1,0 2,-0.9 2,-2V3C19,1.9 18.1,1 17,1zM17,18H7V6h10V18z"/>
</vector>
14 changes: 9 additions & 5 deletions app/res/layout/fragment_connect_delivery_details.xml
Original file line number Diff line number Diff line change
Expand Up @@ -155,20 +155,23 @@
android:background="@color/connect_darker_blue_color"
android:padding="16dp">

<LinearLayout
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/linearLayout"
android:layout_width="wrap_content"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
android:layout_marginRight="2dp"
app:layout_constraintEnd_toStartOf="@+id/connect_delivery_button"
app:layout_constraintTop_toTopOf="parent">

<org.commcare.views.connect.connecttextview.ConnectRegularTextView
android:id="@+id/connect_delivery_action_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
android:text="@string/connect_job_info_start_visit"
android:textColor="@color/white"
android:textSize="16sp"
Expand All @@ -178,12 +181,13 @@
android:id="@+id/connect_delivery_action_details"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/connect_delivery_action_title"
android:text="@string/connect_job_info_download_delivery"
android:textAlignment="center"
android:textColor="@color/grey"
android:textSize="14sp" />

</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

<com.google.android.material.button.MaterialButton
android:id="@+id/connect_delivery_button"
Expand Down
Loading