From 90462e8b834f0001a386ebe81feb51830d3bb87b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Enrique=20Lo=CC=81pez=20Man=CC=83as?= Date: Tue, 23 Dec 2025 11:28:29 +0100 Subject: [PATCH] chore: update screenshot framework --- .github/workflows/test.yml | 2 +- maps-app/build.gradle.kts | 2 +- .../maps/android/compose/BasicMapActivity.kt | 2 - .../maps/android/compose/ScaleBarActivity.kt | 23 ------ .../maps/android/compose/ScaleBarTest.kt | 76 +++++++++--------- ...PreviewDisappearingScaleBar_748aa731_0.png | Bin 2794 -> 0 bytes ...PreviewDisappearingScaleBar_748aa731_0.png | Bin 0 -> 2721 bytes .../PreviewScaleBar_748aa731_0.png | Bin 8 files changed, 39 insertions(+), 66 deletions(-) delete mode 100644 maps-app/src/screenshotTestDebug/reference/com/google/maps/android/compose/ScaleBarTest/PreviewDisappearingScaleBar_748aa731_0.png create mode 100644 maps-app/src/screenshotTestDebug/reference/com/google/maps/android/compose/ScaleBarTestKt/PreviewDisappearingScaleBar_748aa731_0.png rename maps-app/src/screenshotTestDebug/reference/com/google/maps/android/compose/{ScaleBarTest => ScaleBarTestKt}/PreviewScaleBar_748aa731_0.png (100%) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 0ec30109..0e72fd6a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -45,7 +45,7 @@ jobs: run: ./gradlew build jacocoTestReport -x :maps-app:generateDebugScreenshotTestConfig -x :maps-app:testDebugScreenshotTest -x :maps-app:generateReleaseScreenshotTestConfig -x :maps-app:testReleaseScreenshotTest --stacktrace - name: Run Screenshot Tests - run: ./gradlew validateDebugScreenshotTest + run: ./gradlew :maps-app:validateDebugScreenshotTest - name: Upload build reports uses: actions/upload-artifact@v4 diff --git a/maps-app/build.gradle.kts b/maps-app/build.gradle.kts index 4d875f61..e437f95a 100644 --- a/maps-app/build.gradle.kts +++ b/maps-app/build.gradle.kts @@ -84,7 +84,7 @@ dependencies { implementation(libs.material) implementation(libs.androidx.compose.material.icons.extended.android) - implementation(libs.screenshot.validation.api) + screenshotTestImplementation(libs.screenshot.validation.api) debugImplementation(libs.androidx.compose.ui.tooling) debugImplementation(libs.leakcanary.android) diff --git a/maps-app/src/main/java/com/google/maps/android/compose/BasicMapActivity.kt b/maps-app/src/main/java/com/google/maps/android/compose/BasicMapActivity.kt index 7fa10979..43b74a19 100644 --- a/maps-app/src/main/java/com/google/maps/android/compose/BasicMapActivity.kt +++ b/maps-app/src/main/java/com/google/maps/android/compose/BasicMapActivity.kt @@ -59,7 +59,6 @@ import androidx.compose.ui.graphics.toArgb import androidx.compose.ui.platform.testTag import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp -import com.android.tools.screenshot.PreviewTest import com.google.android.gms.maps.CameraUpdateFactory import com.google.android.gms.maps.model.BitmapDescriptorFactory import com.google.android.gms.maps.model.CameraPosition @@ -433,7 +432,6 @@ private fun DebugView( } -@PreviewTest @Composable fun GoogleMapViewPreview() { MapsComposeSampleTheme { diff --git a/maps-app/src/main/java/com/google/maps/android/compose/ScaleBarActivity.kt b/maps-app/src/main/java/com/google/maps/android/compose/ScaleBarActivity.kt index b06ff28b..2f35fb7d 100644 --- a/maps-app/src/main/java/com/google/maps/android/compose/ScaleBarActivity.kt +++ b/maps-app/src/main/java/com/google/maps/android/compose/ScaleBarActivity.kt @@ -39,7 +39,6 @@ import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp -import com.android.tools.screenshot.PreviewTest import com.google.android.gms.maps.model.CameraPosition import com.google.android.gms.maps.model.LatLng import com.google.maps.android.compose.theme.MapsComposeSampleTheme @@ -131,26 +130,4 @@ class ScaleBarActivity : ComponentActivity() { } } } -} - -@PreviewTest -@Composable -fun PreviewScaleBar() { - val cameraPositionState = remember { - CameraPositionState( - position = CameraPosition( - LatLng(48.137154, 11.576124), // Example coordinates: Munich, Germany - 12f, - 0f, - 0f - ) - ) - } - - MapsComposeSampleTheme { - ScaleBar( - modifier = Modifier.padding(end = 4.dp), - cameraPositionState = cameraPositionState - ) - } } \ No newline at end of file diff --git a/maps-app/src/screenshotTest/java/com/google/maps/android/compose/ScaleBarTest.kt b/maps-app/src/screenshotTest/java/com/google/maps/android/compose/ScaleBarTest.kt index e29ddef2..f00644cd 100644 --- a/maps-app/src/screenshotTest/java/com/google/maps/android/compose/ScaleBarTest.kt +++ b/maps-app/src/screenshotTest/java/com/google/maps/android/compose/ScaleBarTest.kt @@ -14,50 +14,48 @@ import com.google.maps.android.compose.widgets.DisappearingScaleBar import com.google.maps.android.compose.widgets.ScaleBar -class ScaleBarTest() { - @PreviewTest - @Preview(showBackground = true) - @Composable - fun PreviewScaleBar() { - val cameraPositionState = remember { - CameraPositionState( - position = CameraPosition( - LatLng(48.137154, 11.576124), // Example coordinates: Munich, Germany - 12f, - 0f, - 0f - ) +@PreviewTest +@Preview(showBackground = true) +@Composable +fun PreviewScaleBar() { + val cameraPositionState = remember { + CameraPositionState( + position = CameraPosition( + LatLng(48.137154, 11.576124), // Example coordinates: Munich, Germany + 12f, + 0f, + 0f ) - } + ) + } - MapsComposeSampleTheme { - ScaleBar( - modifier = Modifier.padding(end = 4.dp), - cameraPositionState = cameraPositionState - ) - } + MapsComposeSampleTheme { + ScaleBar( + modifier = Modifier.padding(end = 4.dp), + cameraPositionState = cameraPositionState + ) } +} - @PreviewTest - @Preview(showBackground = true) - @Composable - fun PreviewDisappearingScaleBar() { - val cameraPositionState = remember { - CameraPositionState( - position = CameraPosition( - LatLng(48.137154, 11.576124), // Example coordinates: Munich, Germany - 12f, - 0f, - 0f - ) +@PreviewTest +@Preview(showBackground = true) +@Composable +fun PreviewDisappearingScaleBar() { + val cameraPositionState = remember { + CameraPositionState( + position = CameraPosition( + LatLng(48.137154, 11.576124), // Example coordinates: Munich, Germany + 12f, + 0f, + 0f ) - } + ) + } - MapsComposeSampleTheme { - DisappearingScaleBar( - modifier = Modifier.padding(end = 4.dp), - cameraPositionState = cameraPositionState - ) - } + MapsComposeSampleTheme { + DisappearingScaleBar( + modifier = Modifier.padding(end = 4.dp), + cameraPositionState = cameraPositionState + ) } } \ No newline at end of file diff --git a/maps-app/src/screenshotTestDebug/reference/com/google/maps/android/compose/ScaleBarTest/PreviewDisappearingScaleBar_748aa731_0.png b/maps-app/src/screenshotTestDebug/reference/com/google/maps/android/compose/ScaleBarTest/PreviewDisappearingScaleBar_748aa731_0.png deleted file mode 100644 index ba7257320b3d044ee5c510f7eb7540ac0a3afebe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2794 zcmb7`X;2dE7RS-hlu~gmC3C|icYO^tG|TLDNzC2M%*0(WQg5Ugy_uRyie~P+nM;8Q zrBsqx2CiA5h`9D9nM*=}OO{EOcjn%i`{jPl(@~W!v;NW0lV@Kxt`Z_u4ZB04SQ3AQcq2@4lu%xsU(S`<|Z7Yq4jCiQ-1>fGQ zprPyoTOU$rM?vlSA?;t>BBu{XUp)? z64~l6i9{l4u2A82v|(dJqn*F~tW2{o(T!DltNi68R)3Vu-m5_$XR+8rrDl!OOqE9c z`nv{T`1N~yrpp9!qxa$9eZ!5>87h%XzEvDhv^q``c6N5wIgc?IUV(43`tSnZg)u^a zLgAzVCK6MUTU%CUKDI{+40kNAs6e8>T+JGK^yS4>n7R4i`j8LnT`E+xS^k6~nai$ZMZ>^w~g3n=wkSz3zeX4rXZVlw6~J*}-WAJE&YrdF7+AP`(H%=LyGz##JM zQdX8NHsT{AZ}d&kC&kD*Md@FwkShk zW5rd4sLAFLeo|H#RXkfgEf?Qa(`b`w8i0$}NBCnXxwX~RGA^i!hjHi6N1B+JtPJfs zE=WG)%A29~O-@eQC^_rXmoZ&(-hvJE~E~KP@Z--;^XDJ*63#VWV1Jj=zJ&EGMaU zw?F%M+A3S7M;u#e;Ll^k!u1)m`EXj;QV33W1u3eaiMrd==$2y8MN-Tw$-_OV8np#O zP-xS$od)wU(a|L3R$5O2|o^5+hx_5_HB`!p+S!5`jRVP*-vt zGA{Hz#@gAs^306PR=0AwciVef*=x}J?B)(*dwYB05a1NAAvQR4h?lD+i(8;2r2UU=|0A_aT3_ zVxN6y>3h0ce$QWQs6uOZQ*+#6{b{ZB%Z`(wx|GqDUm@=;km{RptSa1(;A)9Gy z$j^~}m@wHiw?UK)$|}ed@ZLP|cwSe#|AlT&=DU|}@lJ@q>g7APdBW|jm4!DRFdLhG z&JOM|7o?AlFY}LT5Z8zEaw9WbYr?lY^Icl@Vg}fU*~|+dFDud{AIR%G2D|kedvemX z$~u|CmMzg=966y0d#8{s(+))LFiHEJaKei03{MOVfgu@rW$eAYs!{th zF36kmLGk;p4Qm_gP-cc3Dj;Gc`3#djiXucJ;t|O9@h9`sij{g4A6ejw$lqk{e|Qad ztgkI-(vb2C85iO4=yV)9N+MHY#q&(nPvT-!<4sc~G9EAM^Rsd{4G-}5_dk{3nzNMT zeZa(Mp1jOQYlGq9EqrGGTfIoMF@bm==`hnZqy~WmrX08Z3$fBhAnaO{8$n%iRH&Q< z7#8~#qoV$$ltsC>`1RA`3no)3HT4_(%p`W_#-p?}u~BqmDz=Tzn;Ht+p!Je6Gc&D) ztGirLjzv$O+Tsmj_p#Mtu{xx^dG-NzR~<+FiudR0ng)cFB#c8IP=Cw_xGw!j#WlTb zYoh}F?4z6guiq5*c({9PVm+V_&P7MN^i~fIaYoP??C!(DVi{Rkff1e4myg(zusZg~ zp+kc|wzekL*4ksbgJ4c564rKemU_m&V%r?gyx&eB5bXRcdOKC`CcdeP%+c5vs(}?) z{Bjt65grlss3n*o$jA|Ho0g=SmZo%_O_^R~8*D9qZi_I4ZibB{Y;f`*O&D)4mxF`NJg@(D@< zkPqJY^O#nD;Cq(?G|KJbKTpX!z~PW0_VuEC?<-F)@A$mT6EKE_tJ~jxx@m5V%5ZsQ z_E)HNq=N0Xr{(KwYhNeSDgvxo>wmvYzqX}yjjhH}|LSJzvY%?@bV2VMF;_!FBjg*@ z(*n26uRZ+XFI?`VHck5Y(^X;m&YyR?64!AD@CM&`a8)1vThO@mBXCgI<*m!WEJwx>^+Zv%NAk#>hPS;|==9^J6z~{( zw&TZT2XdbNwX*v9C;BIA`pZ5RDfK-k96{wxxRL4P*dVJ>t-0slx2(NU9qMioPSXsB zeMu`+5RJ9BLQ&Qqbt{a}GZCs(`H8^AAH-o>g%wIcT+u*NcFW0~uob*rfDeXNDVNvQ zJ}w>w8IfBjz37zB|J=WR{o2LW(((`W`OOvPg5}ki6lr8SS6am7=Ya2D*sOy0N;=Ox0d3pK# zEHH1AlCQ5nupKcUVJSmacq1#yBa00!tfW>Z96^zE-&r!%^0Vl4 z4VW~7z*}5W<3n)gN5RNPbj*~#XqXF>fb%oe!PP`6wbG%(u}7+Y26UHYww!oBJzVzV z;NMLiI$(H@riBaCFH#FXwy0{*+gS}&>cPRrwlN8x$6|n@HH-YHq74cK#y*2gGdVER lf>UC@ukZe!HXQgRhPJ`R`B=UW5ouU}>v0dK2ae~i{~J=5OBVnD diff --git a/maps-app/src/screenshotTestDebug/reference/com/google/maps/android/compose/ScaleBarTestKt/PreviewDisappearingScaleBar_748aa731_0.png b/maps-app/src/screenshotTestDebug/reference/com/google/maps/android/compose/ScaleBarTestKt/PreviewDisappearingScaleBar_748aa731_0.png new file mode 100644 index 0000000000000000000000000000000000000000..91a1d4131d5e1c5489d05d285c3e05ccbda55763 GIT binary patch literal 2721 zcmbW3X*3(!7RO_#xCkktx2O`OrL@%&Ts76KRaX&JH8g~lpd)RH7%QU23YS#WRE;4- zBxq`An^Gc%8fv_%%H;{FDiqR?|grWoh z0024ITVE3Fbiqmx7ZX@jyBS3QK;pWCwWZsApXI_OS9uS`LEzNZNgc8&UP%W0*n!|~AHjY^N%Q;uIKTT0z+4YSP z&rA&tN=ekxC(0{PK5VsQt zKQ{)JprLX22`iHGIN-^XCq7F&*3eK6C*;rHO*xB$6`bXXMwQITbDa8br(0#1A3kJz zVE6!vRZddUK81%1&*Xcj=H_o7L^3>mPfoX8x!TiL8Enq~ISP9F>e(lR2`~c-G+-0;l%0Nm-Px`$2 znoko(Bp*Yx-`7|By`dM<-|k`$hx1o@$bmi2F4+xrt+6J+(NS4B?@#v@&VBhZ-yJo8 zhvrYyf*N}&g38u)bc={Y?sz%`Y$94rGE}<=zeu;c@hp(ElbNl{LgHQZ$U*yl(vg-e z-GT3HZ92C}YYX&Lt*opr<-RFlY$IQP_iuVwf`4#;aQ&Nj>|;#L9mi&(%RZBt=`6@Br{}r zC)@@$7l7*%q*M~!S0JPCxr}JG>pr)wO&a|=ojpLOo{>~hSY zOLQ%03Pwsv5gq0BesFNmUn|7@9<68Kj{0lxgi!{F5~pr!YgcymZq?IVQawmYx~>j; zlUVHBlG%UG@o0%Lgg|uI|3I5C;)EJ^7;l=APDrz%R9%+HDI~mo^eDO6!r$M&y1995 zR*R9|n-1AaFT{Dfc&e>K@c13awNI}_PBa(LpnjAaM@a*6{)tWAmGkW#3D$ZsqCL3v z{QRq%_#CxFS4x^;=3^<4%mZYNxIJoHj5ItlTwgPDO&RUPUNn>$N#5Fe5HVY!q!JV) zgg>Usx+FnbPHcEX8nq_Oye93X?ylfU0@;GlapT|tAmU5MqJaV95Ksx2oitySocFGn zWo9{t&Gf9xrqcFTXe>QB>byBd;Qlf5HaUvNU$L@44BEaR*(n&Ho!JR#l3nNOQ-n&i z8wQ0+4>q*Q8MC=v)A!V1nVF}~X~tcC9_WD^8=)ky!Y{6fXnwL!wmP<@AKau${cMF(&F-{v^4`j zl@mNdA##PrPL30iC5-!~rV6e?+Mz6yraKY-O|eXcAk@8CKsChD*xw7JGCVFGJFI%$ zfQ}!%em!K^J{ZH7d}JUuK^7DC`$r}Jr@v(IUx4)BF4D)KEkABl?ai+F3e~x!B`cb4WC;O(R zc6QlO!`=|e>kb>KpEER>5AACl&x_cpMR;y8&M*qrYy>#-q53wXlQ2$aPO;f+PE~DN zAmh)KYn|Co@_4%bA_*cYOS-zc6fQS{oALNAJ-nH_$Ezr+4?hw8R)%a57_3U~`1QuI z0Csm5_knx)H>&`LU#p%%)>uI4nunYA%0+Q0=_y&eBsVws%^P-hc4G%pQhZh=FGg)? z5DE&ujpv$MpwbR1DrRTPD|pk-dP%-$eU3t0$_|CwV4dW|KTo@oNKvPYD_`OYO)$My zmX|?$+^bpFi}JTi2Z&6 zE1wvKA3W`T1bs?N2l_N`ukOy_9$dHkxbA9vdI0?E6kMH-=yjAu`>LU|n=d`!Dw5 zv^!dtxAz