From da77becc2e13a82e0d89d625527d22338f2fd107 Mon Sep 17 00:00:00 2001 From: Grzegorz Orczykowski Date: Thu, 26 Sep 2024 09:57:59 +0200 Subject: [PATCH 1/3] Reworked the banner in Ready to send screen using card view --- .../send/ReadyToSendBanner.kt | 9 ++- .../res/layout/instance_uploader_list.xml | 3 + .../main/res/layout/ready_to_send_banner.xml | 79 +++++++++++-------- 3 files changed, 54 insertions(+), 37 deletions(-) diff --git a/collect_app/src/main/java/org/odk/collect/android/instancemanagement/send/ReadyToSendBanner.kt b/collect_app/src/main/java/org/odk/collect/android/instancemanagement/send/ReadyToSendBanner.kt index bf0280e54a7..5f0e8712187 100644 --- a/collect_app/src/main/java/org/odk/collect/android/instancemanagement/send/ReadyToSendBanner.kt +++ b/collect_app/src/main/java/org/odk/collect/android/instancemanagement/send/ReadyToSendBanner.kt @@ -3,13 +3,16 @@ package org.odk.collect.android.instancemanagement.send import android.content.Context import android.util.AttributeSet import android.view.LayoutInflater -import androidx.constraintlayout.widget.ConstraintLayout +import android.widget.FrameLayout import org.odk.collect.android.databinding.ReadyToSendBannerBinding import org.odk.collect.shared.TimeInMs import org.odk.collect.strings.R -class ReadyToSendBanner(context: Context, attrs: AttributeSet?) : ConstraintLayout(context, attrs) { - constructor(context: Context) : this(context, null) +class ReadyToSendBanner @JvmOverloads constructor( + context: Context, + attrs: AttributeSet? = null, + defStyle: Int = 0 +) : FrameLayout(context, attrs, defStyle) { private val binding = ReadyToSendBannerBinding.inflate(LayoutInflater.from(context), this, true) diff --git a/collect_app/src/main/res/layout/instance_uploader_list.xml b/collect_app/src/main/res/layout/instance_uploader_list.xml index 6df0397260c..eea97197730 100644 --- a/collect_app/src/main/res/layout/instance_uploader_list.xml +++ b/collect_app/src/main/res/layout/instance_uploader_list.xml @@ -16,6 +16,8 @@ android:id="@+id/ready_to_send_banner" android:layout_width="0dp" android:layout_height="wrap_content" + android:layout_marginHorizontal="@dimen/margin_standard" + android:layout_marginTop="@dimen/margin_extra_small" app:layout_constraintTop_toTopOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent"/> @@ -26,6 +28,7 @@ android:layout_height="0dp" android:nestedScrollingEnabled="true" android:divider="@drawable/list_item_divider" + android:layout_marginTop="@dimen/margin_extra_small" app:layout_constraintBottom_toTopOf="@id/buttonholder" app:layout_constraintTop_toBottomOf="@id/ready_to_send_banner" /> diff --git a/collect_app/src/main/res/layout/ready_to_send_banner.xml b/collect_app/src/main/res/layout/ready_to_send_banner.xml index 0ad8db15341..e08c50fed22 100644 --- a/collect_app/src/main/res/layout/ready_to_send_banner.xml +++ b/collect_app/src/main/res/layout/ready_to_send_banner.xml @@ -1,46 +1,57 @@ - - + - + - + - \ No newline at end of file + + + + + + + From f570425715bad25a28e0402347bc3a7a50052789 Mon Sep 17 00:00:00 2001 From: Grzegorz Orczykowski Date: Thu, 26 Sep 2024 10:23:16 +0200 Subject: [PATCH 2/3] Fixed tests --- .../send/ReadyToSendBannerTest.kt | 18 ++++++------- gradle.properties | 25 +++++++++++++------ 2 files changed, 27 insertions(+), 16 deletions(-) diff --git a/collect_app/src/test/java/org/odk/collect/android/instancemanagement/send/ReadyToSendBannerTest.kt b/collect_app/src/test/java/org/odk/collect/android/instancemanagement/send/ReadyToSendBannerTest.kt index a58da636184..7978810294d 100644 --- a/collect_app/src/test/java/org/odk/collect/android/instancemanagement/send/ReadyToSendBannerTest.kt +++ b/collect_app/src/test/java/org/odk/collect/android/instancemanagement/send/ReadyToSendBannerTest.kt @@ -2,7 +2,7 @@ package org.odk.collect.android.instancemanagement.send import android.app.Application import android.view.View -import androidx.constraintlayout.widget.ConstraintLayout +import android.widget.FrameLayout import androidx.test.core.app.ApplicationProvider import androidx.test.espresso.matcher.ViewMatchers.assertThat import androidx.test.ext.junit.runners.AndroidJUnit4 @@ -27,7 +27,7 @@ class ReadyToSendBannerTest { it.setData(data) } - assertThat(view.findViewById(R.id.banner).visibility, equalTo(View.GONE)) + assertThat(view.findViewById(R.id.banner).visibility, equalTo(View.GONE)) } @Test @@ -37,12 +37,12 @@ class ReadyToSendBannerTest { it.setData(data) } - assertThat(view.findViewById(R.id.banner).visibility, equalTo(View.GONE)) + assertThat(view.findViewById(R.id.banner).visibility, equalTo(View.GONE)) data = ReadyToSendViewModel.Data(1, 1, 0) view.setData(data) - assertThat(view.findViewById(R.id.banner).visibility, equalTo(View.VISIBLE)) + assertThat(view.findViewById(R.id.banner).visibility, equalTo(View.VISIBLE)) } @Test @@ -52,12 +52,12 @@ class ReadyToSendBannerTest { it.setData(data) } - assertThat(view.findViewById(R.id.banner).visibility, equalTo(View.VISIBLE)) + assertThat(view.findViewById(R.id.banner).visibility, equalTo(View.VISIBLE)) data = ReadyToSendViewModel.Data(0, 0, 0) view.setData(data) - assertThat(view.findViewById(R.id.banner).visibility, equalTo(View.GONE)) + assertThat(view.findViewById(R.id.banner).visibility, equalTo(View.GONE)) } @Test @@ -67,7 +67,7 @@ class ReadyToSendBannerTest { it.setData(data) } - assertThat(view.findViewById(R.id.banner).visibility, equalTo(View.GONE)) + assertThat(view.findViewById(R.id.banner).visibility, equalTo(View.GONE)) } @Test @@ -77,7 +77,7 @@ class ReadyToSendBannerTest { it.setData(data) } - assertThat(view.findViewById(R.id.banner).visibility, equalTo(View.GONE)) + assertThat(view.findViewById(R.id.banner).visibility, equalTo(View.GONE)) } @Test @@ -88,7 +88,7 @@ class ReadyToSendBannerTest { } assertThat( - view.findViewById(R.id.banner).visibility, + view.findViewById(R.id.banner).visibility, equalTo(View.VISIBLE) ) } diff --git a/gradle.properties b/gradle.properties index c75d1812be1..1ed97b16ec2 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,10 +1,21 @@ -#You can override this in ~/.gradle/gradle.properties -android.useAndroidX=true +## For more details on how to configure your build environment visit +# http://www.gradle.org/docs/current/userguide/build_environment.html +# +# Specifies the JVM arguments used for the daemon process. +# The setting is particularly useful for tweaking memory settings. +# Default value: -Xmx1024m -XX:MaxPermSize=256m +# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 +# +# When configured, Gradle will run in incubating parallel mode. +# This option should only be used with decoupled projects. For more details, visit +# https://developer.android.com/r/tools/gradle-multi-project-decoupled-projects +# org.gradle.parallel=true +#Thu Sep 26 09:59:52 CEST 2024 android.enableJetifier=true -#https://issuetracker.google.com/issues/283715193 -android.jetifier.ignorelist = jackson-core -org.gradle.jvmargs=-Xmx1536m +android.injected.androidTest.leaveApksInstalledAfterRun=true +android.jetifier.ignorelist=jackson-core +android.nonTransitiveRClass=true +android.useAndroidX=true +org.gradle.jvmargs=-Xmx2048M -Dkotlin.daemon.jvm.options\="-Xmx2048M" org.gradle.parallel=true test.heap.max=1g -android.nonTransitiveRClass=true -android.injected.androidTest.leaveApksInstalledAfterRun=true From 34ec3cbe8aa74b5fd45a748985209808e8688a7a Mon Sep 17 00:00:00 2001 From: Grzegorz Orczykowski Date: Fri, 27 Sep 2024 10:03:34 +0200 Subject: [PATCH 3/3] Left align text and icon --- collect_app/src/main/res/layout/instance_uploader_list.xml | 2 +- collect_app/src/main/res/layout/ready_to_send_banner.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/collect_app/src/main/res/layout/instance_uploader_list.xml b/collect_app/src/main/res/layout/instance_uploader_list.xml index eea97197730..a0caab13dbf 100644 --- a/collect_app/src/main/res/layout/instance_uploader_list.xml +++ b/collect_app/src/main/res/layout/instance_uploader_list.xml @@ -16,7 +16,7 @@ android:id="@+id/ready_to_send_banner" android:layout_width="0dp" android:layout_height="wrap_content" - android:layout_marginHorizontal="@dimen/margin_standard" + android:layout_marginHorizontal="@dimen/margin_small" android:layout_marginTop="@dimen/margin_extra_small" app:layout_constraintTop_toTopOf="parent" app:layout_constraintStart_toStartOf="parent" diff --git a/collect_app/src/main/res/layout/ready_to_send_banner.xml b/collect_app/src/main/res/layout/ready_to_send_banner.xml index e08c50fed22..c7696c571c1 100644 --- a/collect_app/src/main/res/layout/ready_to_send_banner.xml +++ b/collect_app/src/main/res/layout/ready_to_send_banner.xml @@ -23,7 +23,7 @@ android:id="@+id/icon" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginStart="@dimen/margin_large" + android:layout_marginStart="@dimen/margin_small" app:srcCompat="@drawable/ic_send_24" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent"