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

Initial development on Connect workflows #2695

Open
wants to merge 220 commits into
base: feature/connect
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 25 commits
Commits
Show all changes
220 commits
Select commit Hold shift + click to select a range
742ad22
Initial work on main Connect screens and workflows.
Aug 24, 2023
1e0d93c
Merge branch 'feature/connect' into dv/connect_initial
OrangeAndGreen Aug 24, 2023
9b8605b
Merge branch 'feature/connect' of https://github.com/dimagi/commcare-…
Aug 24, 2023
22881c7
Merge branch 'dv/connect_initial' of https://github.com/dimagi/commca…
Aug 24, 2023
9aed0d0
Implemented more Connect UIs.
Aug 29, 2023
1375271
Finished initial UI design work
Sep 1, 2023
5c5ce88
More initial work on Connect workflows.
Sep 15, 2023
5b78606
Removed concepts of learn and claim deadlines for jobs.
Sep 19, 2023
eddc782
Merge branch 'master' into dv/connect_initial
shubham1g5 Sep 19, 2023
a3c0e76
Merge branch 'master' into dv/connect_initial
shubham1g5 Sep 20, 2023
37e4321
modularize method to show apk prompts
shubham1g5 Sep 18, 2023
f884266
modularize method to show target screen error
shubham1g5 Sep 18, 2023
4ed335d
Set up Download fragment to download a commcare app and update progre…
shubham1g5 Sep 18, 2023
6f789ac
Pass job to the download fragment
shubham1g5 Sep 18, 2023
1359989
reorganise imports
shubham1g5 Sep 20, 2023
31990aa
better null handling
shubham1g5 Sep 20, 2023
c319db4
reorganise imports
shubham1g5 Sep 20, 2023
7cc2037
use a constant field to signify a constant
shubham1g5 Sep 20, 2023
6a0406f
correct title text handling
shubham1g5 Sep 20, 2023
e10006c
Several UI changes based on user feedback.
Sep 20, 2023
86aa026
Merge branch 'dv/connect_initial' into connectCcAppDownload
OrangeAndGreen Sep 20, 2023
dc2d419
Merge branch 'feature/connect' into dv/connect_initial
shubham1g5 Sep 24, 2023
a63f96c
Merge branch 'feature/connect' into dv/connect_initial
shubham1g5 Sep 24, 2023
fd77f92
Merge branch 'dv/connect_initial' into connectCcAppDownload
shubham1g5 Sep 24, 2023
abf6575
Merge pull request #2706 from dimagi/connectCcAppDownload
shubham1g5 Sep 24, 2023
f6c3b16
Implemented more Connect API calls.
Sep 25, 2023
54feb9e
Renamed Connect DB objects to match pattern (all should end with "Rec…
Sep 25, 2023
5052252
Fixed a couple missing renames from previous commit.
Sep 25, 2023
b5d71a0
Deleting locally stored jobs that no longer exist from server all at …
Sep 25, 2023
ae8132a
Created AsyncTask for retrieving SSO token (instead of using a raw th…
Sep 25, 2023
af303d5
Merge branch 'feature/connect' of https://github.com/dimagi/commcare-…
Sep 27, 2023
48a6507
Working on Connect workflow, up to downloading learn app.
Sep 27, 2023
fa78e9a
Added last updated indicator and button to try refresh at top of jobs…
Sep 28, 2023
101843d
Merge branch 'master' of https://github.com/dimagi/commcare-android i…
Sep 28, 2023
16e3f3e
Added update indicator and button to learn progress page.
Sep 29, 2023
da499b4
Merge branch 'feature/connect' into dv/connect_initial
OrangeAndGreen Sep 29, 2023
25ae228
App functional through 100% learning.
Oct 2, 2023
5c8c075
Merge branch 'dv/connect_initial' of https://github.com/dimagi/commca…
Oct 2, 2023
a4a7929
Renamed several classes to indicate usage for all Connect functionali…
Oct 2, 2023
3110273
Added code for claiming job and proceeding to delivery progress page
Oct 3, 2023
834332c
Functionality complete through form submission in delivery app.
Oct 4, 2023
6d9478f
Using API call for delivery progress.
Oct 4, 2023
d0bcf29
Adds a method for navigating to learning screen
shubham1g5 Oct 3, 2023
010cf8b
Verify app from Connect
shubham1g5 Oct 4, 2023
5f405db
rename method
shubham1g5 Oct 5, 2023
b983870
Merge pull request #2719 from dimagi/appVerification
shubham1g5 Oct 5, 2023
b162319
Parsing and storing deliveries in DB.
Oct 5, 2023
d22c803
Merge branch 'master' of https://github.com/dimagi/commcare-android i…
Oct 5, 2023
e2175ab
Fixed a merge error (a couple misplaced commas)
Oct 5, 2023
ac4f455
Added more missing externalizables for FormStorageTest.
Oct 5, 2023
747b331
Explicitly enable back navigation for connect since we are turning of…
shubham1g5 Oct 5, 2023
0c8719d
Adds back button to home screen for connect launches
shubham1g5 Oct 5, 2023
41d5b1f
Merge pull request #2720 from dimagi/enableBackOnConnect
shubham1g5 Oct 5, 2023
47f5fe8
Several changes to support first demo of Connect workflow.
Oct 5, 2023
e24c589
Fixed FormStorageTest
Oct 5, 2023
4d7b2e8
Adds firebase token to connect registration
shubham1g5 Oct 9, 2023
2f2e473
UI tweaks for progress screen
shubham1g5 Oct 11, 2023
1f5b641
Not showing apps managed by Connect (i.e. learn and deliver apps) in …
Oct 11, 2023
73cd032
Checking for seated app before attempting to auto-login to apps in Co…
Oct 11, 2023
a956139
Merge branch 'dv/connect_initial' of https://github.com/dimagi/commca…
Oct 11, 2023
4404e84
Going directly to Connect jobs list after user unlocks instead of bac…
Oct 12, 2023
49aef9b
Abstracted code for filtering Connect-managed apps to its own function.
Oct 12, 2023
424fc5c
Merge pull request #2724 from dimagi/dv/hide_connect_apps
OrangeAndGreen Oct 12, 2023
26c5f47
Merge pull request #2725 from dimagi/dv/straight_to_connect
OrangeAndGreen Oct 12, 2023
5964121
Fixed variable name after merge with rename.
Oct 12, 2023
b64535b
Fixed display bug with progress ring
Oct 12, 2023
f303adb
Fixed some string overlaps in the jobs list.
Oct 12, 2023
d199aec
Implemented assessments.
Oct 12, 2023
086fb81
Downloading learn/deliver app if necessary anytime about to enter the…
Oct 13, 2023
129ec7e
Fixed some navigation pops.
Oct 17, 2023
faccfd8
Merge branch 'master' of https://github.com/dimagi/commcare-android i…
Oct 17, 2023
df3c482
Updating parent for ConnectManager when LoginActivity resumes (to han…
Oct 18, 2023
7661df9
Fixed when login page shows/hides some input (i.e. the "or" label).
Oct 18, 2023
3fdde73
Added fragment for displaying results lists (deliveries and payments).
Oct 19, 2023
7952024
Added progress dialog during API calls to Connect workflow.
Oct 20, 2023
a818da4
Changed a couple icons in job details page.
Oct 24, 2023
2367288
Small text change and a spacing improvement to some UI text.
Oct 25, 2023
62a5686
Closing existing user session before downloading new app (to avoid a …
Oct 25, 2023
dd1b5f9
Ensuring delivery progress UI updates even if API call fails.
Oct 25, 2023
2fa4a17
Fixed several navigation bugs.
Oct 26, 2023
a5f20a6
Getting learn/deliver app install URL from server.
Oct 27, 2023
e72b6be
Merge branch 'feature/connect' of https://github.com/dimagi/commcare-…
Oct 30, 2023
058e9f6
Made learn progress page scrollable (for small screens).
Oct 30, 2023
376c7c7
Wrapping UI update code in a try-catch so it fails quietly if the use…
Oct 30, 2023
806ba54
Added null check to job before updating UI.
Oct 30, 2023
752aff9
Merge branch 'master' of https://github.com/dimagi/commcare-android i…
Oct 30, 2023
4b1e3e2
Going to in-progress jobs list when no available jobs to show.
Oct 30, 2023
9010de9
Checking if loginListener is still present before calling back to it.
Oct 30, 2023
722e946
Moved Connect base URL to a build config setting, and added a build f…
Oct 30, 2023
5f0eff0
Adds connect heartbeat
shubham1g5 Oct 9, 2023
a3a183f
change heartbeat to connectID server
shubham1g5 Oct 30, 2023
0ec3ca0
Set auth in create network service
shubham1g5 Oct 31, 2023
d7ff4bf
correct return syntax
shubham1g5 Oct 31, 2023
64aab67
change the condition to connect enabled instead of unlocked for sched…
shubham1g5 Oct 31, 2023
ce2fd6c
Setting custom name for cccStaging build flavor.
Oct 31, 2023
d6c1f32
Merge pull request #2722 from dimagi/connectHeartbeat
shubham1g5 Oct 31, 2023
618f201
Disabling Connect heartbeat to work around a failing test.
Oct 31, 2023
d977454
Made 3 more pages scrollable in case of small screens where UI overfl…
Nov 1, 2023
988954d
Not proceeding when start learning API call fails.
Nov 1, 2023
342529a
Trying cccStaging flavor without added line to use different manifest.
Nov 1, 2023
3c4f60c
Replaced several icons with higher resolution versions.
Nov 1, 2023
9c5ad5b
Fixed text overflow in delivery details page.
Nov 1, 2023
d8e579b
Added assessment score and passing value to learning progress page wh…
Nov 2, 2023
69d4c71
Fixed a crash when payment amount from server contains a comma instea…
Nov 2, 2023
196f141
Fixed formatting error when retrieving payment amount from server.
Nov 2, 2023
5319167
Fixed broken unit tests related to Connect heartbeat.
Nov 2, 2023
af65242
Added instrumentation for Connect pages (screen_view events).
Nov 3, 2023
3ecbbd6
Fixed UKR expiring after 3.6 days instead of 10 years
Nov 6, 2023
97c7048
Changed (simplified) job intro text related to payment.
Nov 6, 2023
6f5c7ae
Retrieving, storing, and using short description text for jobs.
Nov 6, 2023
6427447
Re-enabling UI state after some failed installation states.
Nov 6, 2023
782c371
Updating end_date after delivery_progress API call.
Nov 6, 2023
08c0271
Moved instrumentation code into FirebaseAnalyticsUtil.
Nov 8, 2023
b1f18bc
Added warning text and dialog about not seeing expected progress to l…
Nov 8, 2023
3413004
pass in fcm_token in request body
shubham1g5 Nov 10, 2023
6490f71
Registering Connect user with crash reporter after unlocking CID.
Nov 14, 2023
8e86dd8
Merge branch 'dv/connect_initial' of https://github.com/dimagi/commca…
Nov 14, 2023
65ea372
Improved download fragment layout to be centered in any display (incl…
Nov 15, 2023
28f70bf
Removed safety checks before retrieving data from server payloads.
Nov 16, 2023
7aed1c9
Merge branch 'master' into dv/connect_initial
shubham1g5 Nov 20, 2023
d2cf3eb
Revert "Removed safety checks before retrieving data from server payl…
shubham1g5 Nov 22, 2023
78a15da
Handling delivery payments and payment_accrued from API payload as in…
Dec 3, 2023
269bf97
Added ability to review learning modules after assessment and during …
Dec 3, 2023
7a2e523
Refreshing jobs list after opportunity API call even if call fails.
Dec 3, 2023
71d89e6
Manually setting text for Review Learning button.
Dec 8, 2023
5557803
Added new section at end of My Jobs tab to show jobs that have ended.
Dec 8, 2023
a1782d4
Changed delivery progress warning to show when max visits or max dail…
Dec 15, 2023
347acbb
Using 3rd party CountryCodePicker for getting user phone country code.
Dec 15, 2023
c00d59d
Merge branch 'master' of https://github.com/dimagi/commcare-android i…
Dec 15, 2023
dc2363f
Removing CountryCodePicker (3rd party library) until we can fix the u…
Jan 3, 2024
0ab5555
Showing eye icon on Connect password inputs for user to optionally re…
Jan 3, 2024
b66e6f8
Added new versions of ConnectJobRecord and ConnectJobDeliveryRecord.
Jan 9, 2024
80dc366
Added new DB models to externalizables test.
Jan 10, 2024
360da1e
Fixed a little date code using Instant that breaks before API 26.
Jan 17, 2024
a492d1a
Added Connect functionality to CommCareSetupActivity (equivalent to f…
Jan 18, 2024
e0ce9b7
Adding some DB cleanup to unit tests.
Jan 18, 2024
95a4a8c
Added teardown for ConnectDatabaseHelper for cleaning up after tests.
Jan 22, 2024
cf1d9c6
Removing Instant code for same-day calculation (using Joda instead).
Jan 22, 2024
34d5e1c
Reordering some sign-in code so CID gets uploaded to Firebase.
Jan 22, 2024
67c0a1b
Adding Chichewa translations for Connect strings (temporary).
Jan 22, 2024
f3d9aa1
Removed Chichewa translations (not supported by Android system, will …
Jan 26, 2024
5891c1a
Added more instrumentation: app launches from Connect, failed auto-lo…
Jan 26, 2024
35a7d76
Removed an obsolete comment (creating branch for connect_qa).
Jan 29, 2024
6caf3cf
Removed jobID safety check.
Jan 30, 2024
ecc4e69
Changed login experience to be more stateless, unlocking when needed …
Mar 6, 2024
b43d1b7
Fixing bug (Jira CCCT-257) where app treats an assessment score of 0 …
Mar 11, 2024
5100556
Making locally managed UKR valid for ten years prior to creation (as …
Mar 12, 2024
272e123
Restoring CommCareLauncher to previous code.
Mar 18, 2024
02dbb9d
Merge branch 'feature/connect' of https://github.com/dimagi/commcare-…
Mar 19, 2024
7d6df1c
Upgraded DB model for ConnectLinkedAppRecord (supporting offers to li…
Apr 2, 2024
52517b1
Main payment confirmation implementation.
Apr 4, 2024
d75466c
Merge branch 'connect_qa' of https://github.com/dimagi/commcare-andro…
Apr 4, 2024
6bb9f10
Fixed missing externalizables in test.
Apr 4, 2024
09f0817
Fixed uninitialized link offer dates in ConnectLinkedAppRecord (DB wo…
Apr 5, 2024
44ad65b
Repaired ordering of UI elements in Biometric Config page.
Apr 16, 2024
0154ab8
Added projectStartDate and isActive to ConnectJobRecord.
Apr 17, 2024
8692375
Got rid of MockJobProvider.
Apr 17, 2024
5f9d54b
Added missing externalizable.
Apr 17, 2024
ff219f1
Parsing budget per user from different field in API payload.
Apr 17, 2024
1d16f9d
Preventing auto-login code from being attempted more than once when L…
Apr 19, 2024
03b090e
Resetting "link offer" info for a CID-managed app when user severs li…
Apr 19, 2024
d65ac56
Fix to make password input hidden when user overrides CID-managed login.
Apr 19, 2024
1ddf634
Returning to login page after configuring ConnectID on that page (ins…
Apr 19, 2024
61eed29
Improved some UI text for when a job hasn't started yet.
Apr 22, 2024
8f1b2b4
Setting OR label visible whenever the Connect button is visible.
Apr 22, 2024
98bbe86
Maintaining active job in ConnectManager so UIs can reliably get the …
Apr 22, 2024
45edcc3
No more password-only option at registration.
Apr 30, 2024
9e112f4
Created ApiConnectId and ApiConnect classes to wrap all respective AP…
May 2, 2024
8173a3d
Moved Connect classes related to networking to the appropriate package.
May 3, 2024
5b1ea6d
Added secondary phone verification.
May 8, 2024
30bef71
Added user_cid property to analytics messaging (to identify ConnectID…
May 8, 2024
9a4bed1
Several changes to Connect user experience.
May 14, 2024
92cfac8
Added missing externalizable to test.
May 14, 2024
8ede3b7
Added refresh button to progress bar on app home page (to refresh job…
May 15, 2024
a5d3061
Fixed some navigation issues when backing up.
May 17, 2024
9e79495
Added page to allow user to change PIN during registration if they al…
May 17, 2024
b171736
Updated some text.
May 17, 2024
1b70c3e
Added ConnectJobInfoActivity to host single job info page (outside of…
May 21, 2024
65b93bc
Merge branch 'master' of https://github.com/dimagi/commcare-android i…
May 21, 2024
3634d16
Revert "Merge branch 'master' of https://github.com/dimagi/commcare-a…
OrangeAndGreen May 21, 2024
1e74701
Merge pull request #2755 from dimagi/dv/nav_fixes
OrangeAndGreen May 21, 2024
18ff332
Adding JVM memory to fix OOM
May 22, 2024
1fd0768
Merge branch 'dv/connect_initial' of https://github.com/dimagi/commca…
May 22, 2024
4921c26
Update gradle.properties
OrangeAndGreen May 22, 2024
229aa33
Merge branch 'dv/connect_initial' of https://github.com/dimagi/commca…
OrangeAndGreen May 22, 2024
c3d28ea
Receiving and storing secondary phone verification deadline from serv…
May 22, 2024
bc44038
Merge branch 'dv/connect_initial' of https://github.com/dimagi/commca…
May 22, 2024
25ea4f4
Throwing more memory at Jenkins.
May 22, 2024
add58e8
Clearing configured session endpoint in DispatchActivity once user lo…
May 23, 2024
91436e0
Went back to original single-activity for navigation, with option to …
May 23, 2024
9ab644c
Merge pull request #2756 from dimagi/dv/nav_start_change
OrangeAndGreen May 23, 2024
a695d9d
Added functionality for user to change secondary phone during validat…
May 29, 2024
f5af99c
Merge pull request #2758 from dimagi/dv/change_secondary_phone
OrangeAndGreen May 29, 2024
b84a8e0
Moved some files from activities.connect package to connect package.
May 29, 2024
bd70e16
Fixed a bunch of linter errors
May 29, 2024
e91160f
Merge pull request #2759 from dimagi/dv/file_organization_cleanup
OrangeAndGreen May 29, 2024
476fb80
Added Connect UI elements to landscape version of standard home page.
May 31, 2024
571d8e3
Request window feature before calling super.onCreate in DrawActivity …
Jun 3, 2024
f588a11
Merge branch 'feature/connect' of https://github.com/dimagi/commcare-…
Jun 3, 2024
89087a2
Upgrade AGP to v8.0.1 to match master
OrangeAndGreen Jun 3, 2024
773b40e
Fixing some broken tests (aligning with master)
OrangeAndGreen Jun 3, 2024
2ca3475
Updating tests from master
OrangeAndGreen Jun 3, 2024
3713e02
Restored accidental overwrite
Jun 3, 2024
e6bab2a
Restored rename of EntityStorageCache (to match master)
Jun 5, 2024
30f0ea0
Bringing more lost changes over from master
OrangeAndGreen Jun 6, 2024
a08ad35
CCCT-336 combine two sync button to 1
pm-dimagi Jun 9, 2024
f9ffa66
Fixed bug when forcing user to unlock via recovery PIN.
Jun 11, 2024
357edee
Merge branch 'dv/connect_initial' of https://github.com/dimagi/commca…
Jun 11, 2024
a4ac6f0
Changed received API data to include new data for multi-visit UI.
Jun 12, 2024
d588464
Merge pull request #2764 from dimagi/dv/multi_visit_ui
OrangeAndGreen Jun 12, 2024
71dfd34
Fixed wrong path for new externalizable.
Jun 13, 2024
f6e1af9
Redirecting user to Learning Progress page when they try to login to …
Jun 14, 2024
a8dbe9e
Merge pull request #2766 from dimagi/dv/learn_to_deliver_redirect
OrangeAndGreen Jun 14, 2024
ed6cb4c
Fixed incorrect check for completed assessment (only checking for com…
Jun 18, 2024
e8a6ac9
Attempting to retrieve secondary phone number from success payload af…
Jun 18, 2024
472332d
Fixed issue after successful primary OTP during registration.
Jun 19, 2024
9a680e1
Hiding Connect tile by default on app home screen
Jun 20, 2024
31c5c5d
Better error messages in some cases when Connect app installation fails.
Jun 20, 2024
81ab7d7
Improved Verification & Payment screen for text on smaller screens, a…
Jun 21, 2024
41801d5
Merge pull request #2765 from dimagi/pm_CCCT_336
pm-dimagi Jun 24, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
1 change: 1 addition & 0 deletions app/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -169,6 +169,7 @@
<activity android:name="org.commcare.activities.connect.ConnectIdPicturesActivity"/>
<activity android:name="org.commcare.activities.connect.ConnectIdPhoneVerificationActivity"/>
<activity android:name="org.commcare.activities.connect.ConnectIdMessageActivity"/>
<activity android:name="org.commcare.activities.connect.ConnectActivity"/>

<activity android:name="org.commcare.activities.AppSelectActivity"/>

Expand Down
11 changes: 10 additions & 1 deletion app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ 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'

repositories {
Expand Down Expand Up @@ -122,7 +123,7 @@ dependencies {
implementation "androidx.work:work-runtime:2.7.1"
implementation "androidx.work:work-runtime-ktx:2.7.1"

implementation 'com.google.android.play:core:1.10.3'
implementation 'com.google.android.play:app-update:2.1.0'
implementation 'android.arch.lifecycle:common-java8:1.1.1'

implementation('com.squareup.okhttp3:okhttp-tls:3.12.12') {
Expand All @@ -136,6 +137,14 @@ dependencies {

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

def nav_version = "2.6.0"
implementation "androidx.navigation:navigation-fragment:$nav_version"
implementation "androidx.navigation:navigation-ui:$nav_version"
implementation "androidx.navigation:navigation-dynamic-features-fragment:$nav_version"
implementation "androidx.navigation:navigation-compose:$nav_version"
implementation "androidx.navigation:navigation-fragment-ktx:$nav_version"
implementation "androidx.navigation:navigation-ui-ktx:$nav_version"
}

ext {
Expand Down
Binary file added app/res/drawable-hdpi/arrow_right.png
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-hdpi/book.png
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-hdpi/calendar_heart.png
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-hdpi/money.png
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-hdpi/phone_heart.png
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-hdpi/watch.png
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-ldpi/arrow_right.png
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-ldpi/book.png
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-ldpi/calendar_heart.png
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-ldpi/money.png
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-ldpi/phone_heart.png
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-ldpi/watch.png
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/arrow_right.png
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/book.png
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/calendar_heart.png
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/money.png
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/phone_heart.png
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/watch.png
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/arrow_right.png
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/book.png
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/calendar_heart.png
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/money.png
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/phone_heart.png
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/watch.png
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/arrow_right.png
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/book.png
Binary file added app/res/drawable-xxhdpi/calendar_heart.png
Binary file added app/res/drawable-xxhdpi/money.png
Binary file added app/res/drawable-xxhdpi/phone_heart.png
Binary file added app/res/drawable-xxhdpi/watch.png
Binary file added app/res/drawable-xxxhdpi/arrow_right.png
Binary file added app/res/drawable-xxxhdpi/book.png
Binary file added app/res/drawable-xxxhdpi/calendar_heart.png
Binary file added app/res/drawable-xxxhdpi/money.png
Binary file added app/res/drawable-xxxhdpi/phone_heart.png
Binary file added app/res/drawable-xxxhdpi/watch.png
19 changes: 19 additions & 0 deletions app/res/drawable/progress_ring.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

<item android:id="@android:id/background">
<shape android:shape="ring"
android:thickness="5dp"
android:useLevel="false">
<solid android:color="@color/gray_400"/>
</shape>
</item>

<item android:id="@android:id/progress">
<shape android:shape="ring"
android:thickness="5dp"
android:useLevel="true">
<solid android:color="@color/solid_blue"/>
</shape>
</item>
</layer-list>
61 changes: 61 additions & 0 deletions app/res/layout/connect_available_job_item.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto">

<ImageView
android:id="@+id/button"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_marginStart="20dp"
android:layout_marginEnd="20dp"
android:src="@drawable/arrow_right" />

<TextView
android:id="@+id/new_label"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingTop="20dp"
android:layout_marginStart="20dp"
android:textColor="@color/blue"
android:textSize="@dimen/text_small"
android:text="@string/connect_job_new" />

<TextView
android:id="@+id/title_label"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_marginStart="20dp"
android:textStyle="bold"
android:textSize="@dimen/text_large"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/new_label" />

<TextView
android:id="@+id/description_label"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="@id/button"
app:layout_constraintTop_toBottomOf="@id/title_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="20dp"
app:layout_constrainedWidth="true" />

<TextView
android:id="@+id/visits_label"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="@id/button"
app:layout_constraintTop_toBottomOf="@id/description_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="20dp"
android:paddingBottom="20dp"
app:layout_constrainedWidth="true" />

</androidx.constraintlayout.widget.ConstraintLayout>
68 changes: 68 additions & 0 deletions app/res/layout/connect_claimed_job_item.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto">

<ImageView
android:id="@+id/button"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_marginStart="20dp"
android:layout_marginEnd="20dp"
android:src="@drawable/arrow_right" />

<ProgressBar
android:id="@+id/progress_bar"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_marginTop="20dp"
android:layout_marginStart="10dp"
android:indeterminateOnly="false"
android:progressDrawable="@drawable/progress_ring"
android:rotation="-90"/>

<ImageView
android:id="@+id/progress_image"
app:layout_constraintStart_toStartOf="@id/progress_bar"
app:layout_constraintEnd_toEndOf="@id/progress_bar"
app:layout_constraintTop_toTopOf="@id/progress_bar"
app:layout_constraintBottom_toBottomOf="@id/progress_bar"

android:layout_width="20dp"
android:layout_height="20dp"
android:src="@drawable/book" />

<TextView
android:id="@+id/title_label"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_marginStart="20dp"
android:textStyle="bold"
android:textSize="@dimen/text_large"
app:layout_constraintStart_toEndOf="@id/progress_bar"
app:layout_constraintTop_toTopOf="@id/progress_bar" />

<TextView
android:id="@+id/description_label"
app:layout_constraintStart_toStartOf="@id/title_label"
app:layout_constraintTop_toBottomOf="@id/title_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

<TextView
android:id="@+id/remaining_label"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/description_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="20dp"
android:layout_marginTop="10dp"
android:paddingBottom="10dp" />

</androidx.constraintlayout.widget.ConstraintLayout>
50 changes: 50 additions & 0 deletions app/res/layout/connect_delivery_item.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:paddingTop="10dp"
android:paddingBottom="10dp">

<TextView
android:id="@+id/delivery_item_name"
android:layout_width="120dp"
android:layout_height="wrap_content"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:layout_marginStart="20dp"
android:layout_marginEnd="20dp"
/>

<TextView
android:id="@+id/delivery_item_date"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_marginStart="20dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/delivery_item_name"
/>

<TextView
android:id="@+id/delivery_item_status"
app:layout_constraintStart_toEndOf="@id/delivery_item_name"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
/>

<TextView
android:id="@+id/delivery_item_paid"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingEnd="20dp"
android:textStyle="bold"
android:text="@string/connect_progress_paid"
/>

</androidx.constraintlayout.widget.ConstraintLayout>
34 changes: 34 additions & 0 deletions app/res/layout/connect_empty_job_list_item.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto">

<TextView
android:id="@+id/placeholder"
app:layout_constraintTop_toTopOf="parent"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="30dp"
android:text="" />

<ImageView
android:id="@+id/empty_image"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/placeholder"
android:layout_width="120dp"
android:layout_height="120dp"
android:paddingBottom="10dp"
android:src="@drawable/phone_heart"/>

<TextView
android:id="@+id/title_label"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/empty_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="30dp"/>

</androidx.constraintlayout.widget.ConstraintLayout>
16 changes: 16 additions & 0 deletions app/res/layout/connect_job_list_header_item.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto">

<TextView
android:id="@+id/title_label"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@color/black"
android:background="@color/gray_400"/>

</androidx.constraintlayout.widget.ConstraintLayout>
15 changes: 15 additions & 0 deletions app/res/layout/fragment_connect_available_jobs_list.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto">

<androidx.recyclerview.widget.RecyclerView
android:id="@+id/available_jobs_list"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
/>

</androidx.constraintlayout.widget.ConstraintLayout>