Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
bf55933
Improve image downscaling by using progressive steps to reduce amplif…
rahulrajesh21 May 4, 2025
d882931
Review for layouts, navigations, views, and some minor strings
May 8, 2025
4468235
Code Rabbit comment -1
May 9, 2025
4660af3
Code Rabbit comment -1 -> 2 file remaining also done
May 9, 2025
026222a
Add hotfix version to AndroidManifest
avazirna May 10, 2025
b920607
Automated hotfix version bump
avazirna May 10, 2025
2432ac4
Add audio recording service
avazirna Mar 18, 2025
f2cf7ff
Create notification when service starts
avazirna Mar 18, 2025
6c36f9c
Refactor
avazirna Mar 20, 2025
6d25ea2
Initiate recording - Start service and bind to it
avazirna Mar 20, 2025
8fcc48c
Pause recording when a higher-priority recording starts
avazirna Mar 26, 2025
04e176e
Handle pause/resume events
avazirna Mar 26, 2025
e5ce498
Stop and save recording
avazirna Mar 27, 2025
21152d4
Unbind service onDestroyView
avazirna Mar 27, 2025
e5f6bba
Prevent service restart when killed
avazirna Apr 29, 2025
3f05061
Unregister callback when destroying view
avazirna Apr 29, 2025
31a6329
Update service attributes
avazirna Apr 29, 2025
6876262
Lint
avazirna May 1, 2025
6239f12
Refactor
avazirna May 1, 2025
592ab65
Refactor
avazirna May 8, 2025
5d4346b
Set notification as non-dismissive
avazirna May 8, 2025
52811f0
Lint
avazirna May 9, 2025
31e68d9
Merge branch 'master' into review/layouts_navigations
shubham1g5 May 12, 2025
e08da79
Home screen visibility issue solved. Need to make it gone on xml as i…
May 12, 2025
cfa2f31
Same changes on layout-land/home_screen.xml too
May 12, 2025
666bbec
Lint
avazirna May 9, 2025
0e9b2f3
Update tests
avazirna May 12, 2025
698876b
Merge pull request #3100 from dimagi/add-audio-recording-service-hotfix
avazirna May 12, 2025
ea17917
Home screen landscape mode instrumentation test failure issue solved
May 12, 2025
fede028
Merge branch 'master' into commcare_2.56
avazirna May 12, 2025
2874e88
Instrumentation test failure for logout issue checking
May 13, 2025
8a24825
Instrumentation test for logout changed - 1
May 13, 2025
f3b66c4
Instrumentation test for logout changed - 2
May 13, 2025
2ccd722
Instrumentation test for logout changed - 3
May 13, 2025
3636000
Merge pull request #3069 from rahulrajesh21/master
shubham1g5 May 13, 2025
6d83e4d
Wrong edit text entry issue -1
May 13, 2025
b759f1f
-updated formStorageTest file with latest xcode functions
pm-dimagi May 13, 2025
6730f41
remove incorrect spacing
shubham1g5 May 13, 2025
a59a670
-changed the version
pm-dimagi May 13, 2025
a45de98
Merge branch 'master' into commcare_2.56
avazirna May 13, 2025
f0ea8d7
Merge pull request #3103 from dimagi/pm_formStorageTest
shubham1g5 May 14, 2025
9dd796f
Solve Logout tests failure issue - 2
May 14, 2025
12043ea
Merge branch 'review/layouts_navigations' of https://github.com/dimag…
May 14, 2025
3b8ab30
Merge branch 'master' into review/layouts_navigations
May 14, 2025
e2608f9
Changed grid button swipe up/down to nested recycler view
May 14, 2025
5907041
Merge branch 'master' into commcare_2.56
avazirna May 14, 2025
99b1dcb
Merge pull request #3101 from dimagi/commcare_2.56
avazirna May 14, 2025
818b08e
LogSubmissionTest -> testReportProblem instrumentation failure issue -1
May 14, 2025
b939e61
Merge pull request #3093 from dimagi/review/layouts_navigations
shubham1g5 May 14, 2025
985560b
Merge branch 'master' into merge_layout_navigations_in_dv_connect_ini…
May 14, 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
8 changes: 8 additions & 0 deletions app/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
android:usesPermissionFlags="neverForLocation"/>
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_SPECIAL_USE" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MICROPHONE" />

<uses-feature
android:name="android.hardware.telephony"
Expand Down Expand Up @@ -335,6 +336,13 @@
android:name="android.app.PROPERTY_SPECIAL_USE_FGS_SUBTYPE"
android:value="Service that maintains an encryption key in memory to securely submit data to the server" />
</service>
<service
android:enabled="true"
android:exported="false"
android:stopWithTask="true"
android:foregroundServiceType="microphone"
android:name="org.commcare.views.widgets.AudioRecordingService">
</service>
<activity
android:name="org.commcare.activities.FormEntryActivity"
android:launchMode="singleTop"
Expand Down
21 changes: 12 additions & 9 deletions app/assets/locales/android_translatable_strings.txt
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ verify.retry=Retry
verify.checking=Verifying media...
exception.during.verification=Verification could not complete due to the following exception. This error must be resolved before verification can proceed:\n\n${0}

barcode.reader.missing=No barcode reader available! You can install one from the android market.
barcode.reader.missing=No barcode reader available! You can install one from the Android market.

upgrade.button.retry=Retry Upgrade
upgrade.button.startover=Restart Upgrade
Expand Down Expand Up @@ -80,7 +80,7 @@ home.menu.validate=Validate Media
home.menu.locale.change=Change Language
home.menu.locale.select=Choose your Language
home.menu.formdump=Manage SD
home.menu.wifi.direct=Wifi Direct
home.menu.wifi.direct=Wi-Fi Direct
home.menu.connection.diagnostic=Connection Test
home.menu.saved.forms=Saved Forms
home.menu.about=About CommCare
Expand Down Expand Up @@ -120,7 +120,7 @@ sync.success.synced=Sync Successful! Your information is up to date.
sync.fail.unsent=Having issues communicating with the server to send forms. Will try again later.
sync.fail.timeout=CommCare didn't receive a response from the remote service in time, it may be busy! Please wait a while and try your request again later.
sync.fail.auth.loggedin=Password has changed. Please log in with updated credentials
sync.fail.empty.url=Sync url is not set. Please contact CommCare Support.
sync.fail.empty.url=Sync URL is not set. Please contact CommCare Support.
sync.fail.bad.data=Server provided improperly formatted data, please try again or contact your supervisor.
sync.fail.bad.local=Your information was fetched, but a problem occurred with the log in. Please try again.
sync.fail.bad.network=Couldn't contact server. Please make sure an internet connection is available or try again later.
Expand Down Expand Up @@ -410,7 +410,7 @@ connection.captive_portal.action=The current network is not connected to the int

notification.sync.connections.title=No Connection
notification.sync.connections.detail=No active data connections
notification.sync.connections.action=You don't have any active data connections configured. Try connecting your phone to wifi or turning mobile data on.
notification.sync.connections.action=You don't have any active data connections configured. Try connecting your phone to Wi-Fi or turning mobile data on.

multiple.apps.unverified.title=Missing Multimedia for all Apps
multiple.apps.unverified.message=All of your available apps are missing their associated multimedia resources. Please notify your supervisor so that he/she can fix this via the CommCare App Manager page.
Expand Down Expand Up @@ -469,6 +469,9 @@ recording.prompt.without.file.chooser=Record sound below
recording.custom=Recorded Sound
recording.paused.due.another.app.recording.title=CommCare Audio Recording
recording.paused.due.another.app.recording.message=Recording paused as another app started recording. Click here to resume the recording!
recording.notification.title=Audio recording
recording.notification.in.progress=Recording in progress...
recording.notification.paused=Recording paused

callout.failure.dialer=Device is not currently configured to make telephone calls
callout.failure.sms=SMS app not found
Expand Down Expand Up @@ -518,8 +521,8 @@ refresh.build.settings.error=No refresh occurred. In order to use this utility,
login.attempt.fail.auth.title=Invalid Username or Password
login.attempt.fail.auth.detail=Your username or password was not recognized, please type them again and retry.

login.attempt.fail.empty.url.title=Url not set
login.attempt.fail.empty.url.detail=Sync url is empty. Please contact CommCare Support.
login.attempt.fail.empty.url.title=URL not set
login.attempt.fail.empty.url.detail=Sync URL is empty. Please contact CommCare Support.

login.attempt.fail.pin.title=Invalid PIN
login.attempt.fail.pin.detail=Please enter the 4 digit PIN number that you chose, or select "Forgot PIN?" in the options menu to login with your password instead.
Expand Down Expand Up @@ -786,7 +789,7 @@ wifi.direct.submit.forms=Submit
wifi.direct.send.forms=Sending Forms
wifi.direct.change.state.title=Send, Receive, Submit
wifi.direct.change.state.text=Do you want to send, receive, or submit forms?
wifi.direct.wifi.direct.off=WiFi Direct is Off - Please turn it on to use this feature
wifi.direct.wifi.direct.off=Wi-Fi Direct is Off - Please turn it on to use this feature
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Review inconsistent key naming for Wi-Fi Direct
The key wifi.direct.wifi.direct.off redundantly repeats wifi.direct. Consider renaming to wifi.direct.off or similar to maintain a consistent key hierarchy.

🤖 Prompt for AI Agents (early access)
In app/assets/locales/android_translatable_strings.txt at line 792, the key name
wifi.direct.wifi.direct.off redundantly repeats wifi.direct. Rename the key to
wifi.direct.off to maintain a consistent and concise key hierarchy for Wi-Fi
Direct related strings.

wifi.direct.enter.send.mode=Entered Send Mode
wifi.direct.enter.receive.mode=Entered Receive Mode
wifi.direct.enter.submit.mode=Entered Submit Mode
Expand All @@ -797,9 +800,9 @@ wifi.direct.no.group=This device is not connected to any Wi-Fi Direct group.
wifi.direct.receive.successful=Received ${0} files successfully!
wifi.direct.send.successful=File Send Successful!
wifi.direct.send.unsuccessful=Error sending files: ${0}
wifi.direct.error.no.forms=Phone has received no forms via Wi-fi direct for Submitting; did you mean to Send forms?
wifi.direct.error.no.forms=Phone has received no forms via Wi-Fi direct for Submitting; did you mean to Send forms?
wifi.direct.discovery.start=Discovery Initiated
wifi.direct.discovery.failed.generic=Discovery failed due to bad Wi-fi state; turn Wi-fi on and off, then retry
wifi.direct.discovery.failed.generic=Discovery failed due to bad Wi-Fi state; turn Wi-Fi on and off, then retry
wifi.direct.discovery.failed.specific=Discovery failed with reason code ${0}
wifi.direct.connect.failed=Connecting failed, please retry
wifi.direct.error.wiping.forms=Error wiping forms: ${0}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,12 @@ abstract class DemoUserTest: BaseTest() {
// Enter practice mode
enterPracticeMode()

onView(withId(R.id.home_gridview_buttons))
onView(withId(R.id.nsv_home_screen))
.perform(swipeUp())
withText("Logged In: demo.user.test").isDisplayed()

// Confirm that the right restore has been used
onView(withId(R.id.home_gridview_buttons))
onView(withId(R.id.nsv_home_screen))
.perform(swipeDown())
openForm("Case List", "Followup")

Expand Down Expand Up @@ -54,12 +54,12 @@ abstract class DemoUserTest: BaseTest() {
// Enter practice mode
enterPracticeMode()

onView(withId(R.id.home_gridview_buttons))
onView(withId(R.id.nsv_home_screen))
.perform(swipeUp())
withText("Logged In: demo.user.test.2").isDisplayed()

// Confirm that the right restore has been used
onView(withId(R.id.home_gridview_buttons))
onView(withId(R.id.nsv_home_screen))
.perform(swipeDown())
openForm("Case List", "Followup")
matchListItems(arrayOf("balloon", "block", "bear"))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ class LogSubmissionTest: BaseTest() {
InstrumentationUtility.selectOptionItem(withText("Advanced"))
onView(withText("Report Problem"))
.perform(click())
onView(ViewMatchers.isRoot()).perform(ViewActions.closeSoftKeyboard())
InstrumentationUtility.enterText(R.id.ReportText01,reportText)
onView(ViewMatchers.isRoot()).perform(ViewActions.closeSoftKeyboard())
onView(withText("Submit Report")).isPresent()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ class LoginTest: BaseTest() {

verifyAllHomeButtonsPresent(demoHomeButtons)

onView(withId(R.id.home_gridview_buttons))
onView(withId(R.id.nsv_home_screen))
.perform(swipeUp())
onView(withText(demoHomeButtons[2]))
.perform(click())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ class MenuTests: BaseTest() {
"Advanced",
"Settings")

val advancedOptions = arrayOf("Wifi Direct",
val advancedOptions = arrayOf("Wi-Fi Direct",
"Manage SD",
"Report Problem",
"Force Log Submission",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,9 @@ import androidx.test.espresso.ViewAction
import androidx.test.espresso.ViewInteraction
import androidx.test.espresso.action.ViewActions.clearText
import androidx.test.espresso.action.ViewActions.click
import androidx.test.espresso.action.ViewActions.closeSoftKeyboard
import androidx.test.espresso.action.ViewActions.repeatedlyUntil
import androidx.test.espresso.action.ViewActions.replaceText
import androidx.test.espresso.action.ViewActions.swipeUp
import androidx.test.espresso.action.ViewActions.typeText
import androidx.test.espresso.assertion.ViewAssertions.matches
Expand All @@ -34,6 +37,7 @@ import androidx.test.espresso.intent.Intents.intending
import androidx.test.espresso.intent.matcher.IntentMatchers
import androidx.test.espresso.intent.matcher.IntentMatchers.hasAction
import androidx.test.espresso.matcher.RootMatchers
import androidx.test.espresso.matcher.ViewMatchers.hasDescendant
import androidx.test.espresso.matcher.ViewMatchers.hasSibling
import androidx.test.espresso.matcher.ViewMatchers.isAssignableFrom
import androidx.test.espresso.matcher.ViewMatchers.isDisplayed
Expand Down Expand Up @@ -208,7 +212,13 @@ object InstrumentationUtility {
@JvmStatic
fun logout() {
gotoHome()
onView(withId(R.id.home_gridview_buttons))
onView(withId(R.id.nsv_home_screen))
.perform(swipeUp())
onView(withId(R.id.nsv_home_screen)) // multiple swipe
.perform(swipeUp()) // to make `logout` button visible as it may have large scroll
onView(withId(R.id.nsv_home_screen))
.perform(swipeUp())
onView(withId(R.id.nsv_home_screen))
.perform(swipeUp())
onView(withText("Log out of CommCare"))
Comment on lines +215 to 223
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Four hard-coded swipeUp() calls – use repeatedlyUntil for robustness

Manually invoking swipeUp() four times is brittle: UI changes or different device sizes might still leave the logout button off-screen.

Replace the block with:

onView(withId(R.id.nsv_home_screen))
    .perform(
        repeatedlyUntil(
            swipeUp(),
            hasDescendant(withText("Log out of CommCare")),
            10   // max attempts
        )
    )

This leverages the import you already added, removes magic numbers, and self-adapts to screen size changes.

🤖 Prompt for AI Agents (early access)
In app/instrumentation-tests/src/org/commcare/utils/InstrumentationUtility.kt
around lines 215 to 223, replace the four consecutive swipeUp() calls on the
view withId(R.id.nsv_home_screen) with a single perform call using
repeatedlyUntil. Use repeatedlyUntil to perform swipeUp() until the view has a
descendant with text "Log out of CommCare" or until a maximum of 10 attempts,
improving robustness against UI or device size changes.

.perform(click())
Expand Down Expand Up @@ -306,10 +316,7 @@ object InstrumentationUtility {
@JvmStatic
fun enterText(@IdRes editTextId: Int, text: String) {
onView(withId(editTextId))
.perform(clearText())
onView(withId(editTextId))
.perform(typeText(text))
Espresso.closeSoftKeyboard()
.perform(click(), replaceText(text), closeSoftKeyboard())
}

fun enterText(text: String) {
Expand Down
15 changes: 4 additions & 11 deletions app/res/layout-land/home_screen.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,8 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
style="@style/MainPane"
android:layout_width="wrap_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:background="@color/white"
android:orientation="vertical"
android:paddingStart="@dimen/content_start"
Expand All @@ -29,10 +23,6 @@
android:layout_marginBottom="2dp"
android:clickable="true"
android:focusable="true"
android:shadowColor="@color/connect_light_grey_transparent"
android:shadowDx="30"
android:shadowDy="30"
android:shadowRadius="50"
android:visibility="gone"
app:cardBackgroundColor="@color/white"
app:cardCornerRadius="10dp"
Expand Down Expand Up @@ -92,6 +82,7 @@
</androidx.cardview.widget.CardView>

<androidx.core.widget.NestedScrollView
android:id="@+id/nsv_home_screen"
android:layout_width="match_parent"
android:layout_height="wrap_content">

Expand All @@ -105,6 +96,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/viewJobCard"
android:visibility="gone"
android:layout_marginLeft="10dp"
android:layout_marginTop="-35dp"
android:layout_marginRight="10dp"
Expand Down Expand Up @@ -139,6 +131,7 @@
<include
android:id="@+id/viewJobCard"
layout="@layout/view_progress_job_card"
android:visibility="gone"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
Expand Down
4 changes: 2 additions & 2 deletions app/res/layout/activity_connect_messaging.xml
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@
android:layout_height="0dp"
app:defaultNavHost="true"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:navGraph="@navigation/nav_graph_connect_messaging" />

Expand Down
4 changes: 3 additions & 1 deletion app/res/layout/connect_delivery_item.xml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@null"
android:importantForAccessibility="no"
android:src="@drawable/ic_connect_delivery_pending" />

</LinearLayout>
Expand Down Expand Up @@ -66,6 +67,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:visibility="gone"
tools:ignore="MissingConstraints" />
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"/>

</androidx.constraintlayout.widget.ConstraintLayout>
8 changes: 4 additions & 4 deletions app/res/layout/connect_delivery_progress_item.xml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@
app:layout_constraintTop_toBottomOf="@+id/tvDeliveryTitle">

<LinearLayout
android:layout_width="match_parent"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="horizontal">
Expand Down Expand Up @@ -99,8 +99,8 @@
</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="horizontal">

Expand All @@ -119,7 +119,7 @@

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="6dp"
android:orientation="vertical">

Expand Down
4 changes: 3 additions & 1 deletion app/res/layout/dialog_payment_confirmation.xml
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,16 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:background="@color/white"
android:layout_height="match_parent"
android:layout_height="wrap_content"
android:padding="16dp">

<ImageView
android:id="@+id/img_payment_status"
android:layout_width="33dp"
android:layout_height="33dp"
android:src="@drawable/ic_connect_payment_status_transferred"
android:contentDescription="@null"
android:importantForAccessibility="no"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

Expand Down
1 change: 1 addition & 0 deletions app/res/layout/fragment_channel_consent_bottom_sheet.xml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
android:layout_width="24dp"
android:layout_height="24dp"
android:contentDescription="@null"
android:importantForAccessibility="no"
android:src="@drawable/ic_primary_portrait" />

<TextView
Expand Down
8 changes: 6 additions & 2 deletions app/res/layout/fragment_connect_delivery_details.xml
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@
android:layout_width="32dp"
android:layout_height="32dp"
android:contentDescription="@null"
android:importantForAccessibility="no"
android:src="@drawable/ic_connect_check_circle"
app:layout_constraintBottom_toBottomOf="@+id/connect_delivery_total_visits_text"
app:layout_constraintStart_toStartOf="parent"
Expand All @@ -78,6 +79,7 @@
android:layout_width="32dp"
android:layout_height="32dp"
android:contentDescription="@null"
android:importantForAccessibility="no"
android:src="@drawable/ic_connect_check_circle"
app:layout_constraintBottom_toBottomOf="@+id/connect_delivery_days_text"
app:layout_constraintStart_toStartOf="parent"
Expand All @@ -100,6 +102,7 @@
android:layout_width="32dp"
android:layout_height="32dp"
android:contentDescription="@null"
android:importantForAccessibility="no"
android:src="@drawable/ic_connect_check_circle"
app:layout_constraintBottom_toBottomOf="@+id/connect_delivery_max_daily_text"
app:layout_constraintStart_toStartOf="parent"
Expand All @@ -122,6 +125,7 @@
android:layout_width="32dp"
android:layout_height="32dp"
android:contentDescription="@null"
android:importantForAccessibility="no"
android:src="@drawable/ic_connect_check_circle"
app:layout_constraintBottom_toBottomOf="@+id/connect_delivery_budget_text"
app:layout_constraintStart_toStartOf="parent"
Expand Down Expand Up @@ -163,7 +167,7 @@
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
android:layout_marginRight="2dp"
android:layout_marginEnd="2dp"
app:layout_constraintEnd_toStartOf="@+id/connect_delivery_button"
app:layout_constraintTop_toTopOf="parent">

Expand Down Expand Up @@ -199,7 +203,7 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:backgroundTint= "@color/white"
android:drawableRight= "@drawable/ic_connect_arrow_forward_20px"
android:drawableEnd= "@drawable/ic_connect_arrow_forward_20px"
android:textColor= "@color/cc_brand_color"
app:iconTint="@color/cc_brand_color"
/>
Expand Down
Loading