Closed atorresveiga closed 2 weeks ago
📲 You can test the changes from this Pull Request in WooCommerce Android by scanning the QR code below to install the corresponding build.
App Name | WooCommerce Android | |
Flavor | Jalapeno | |
Build Type | Debug | |
Commit | e311c3593c47b18fb50241e241c5eeb5d991e415 | |
Direct Download | woocommerce-prototype-build-pr11527-e311c35.apk |
Attention: Patch coverage is 75.80645%
with 15 lines
in your changes are missing coverage. Please review.
Project coverage is 40.84%. Comparing base (
535d184
) to head (a9c2c08
). Report is 10 commits behind head on trunk.:exclamation: Current head a9c2c08 differs from pull request most recent head e311c35. Consider uploading reports for the commit e311c35 to get more accurate results
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
Found 1 violations:
```diff -+--- org.wordpress:fluxc:3008-f3ff9689a0a998537a624ce9a77b930a341bee48 -| +--- org.wordpress:wellsql:2.0.0 -| | +--- androidx.annotation:annotation:1.2.0 -> 1.7.0 (*) -| | \--- org.wordpress.wellsql:wellsql-annotations:2.0.0 -| +--- org.wordpress.fluxc:fluxc-annotations:3008-f3ff9689a0a998537a624ce9a77b930a341bee48 -| +--- org.greenrobot:eventbus:3.3.1 (*) -| +--- com.squareup.okhttp3:okhttp:4.9.0 -> 4.12.0 (*) -| +--- com.android.volley:volley:1.1.1 -> 1.2.0 -| +--- androidx.paging:paging-runtime:2.1.2 -| | +--- androidx.paging:paging-common:2.1.2 -| | | +--- androidx.annotation:annotation:1.0.0 -> 1.7.0 (*) -| | | \--- androidx.arch.core:core-common:2.0.0 -> 2.2.0 (*) -| | +--- androidx.arch.core:core-runtime:2.0.0 -> 2.2.0 (*) -| | +--- androidx.lifecycle:lifecycle-runtime:2.0.0 -> 2.6.2 (*) -| | +--- androidx.lifecycle:lifecycle-livedata:2.0.0 -> 2.6.2 (*) -| | \--- androidx.recyclerview:recyclerview:1.0.0 -> 1.3.2 (*) -| +--- com.goterl:lazysodium-android:5.0.2 -| +--- net.java.dev.jna:jna:5.5.0 -| +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.20 -> 1.9.10 (*) -| +--- org.jetbrains.kotlin:kotlin-android-extensions-runtime:1.6.20 -> 1.9.22 -| | \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.22 (*) -| +--- androidx.appcompat:appcompat:1.0.2 -> 1.6.1 (*) -| +--- androidx.recyclerview:recyclerview:1.0.0 -> 1.3.2 (*) -| +--- androidx.exifinterface:exifinterface:1.0.0 -> 1.3.6 -| | \--- androidx.annotation:annotation:1.2.0 -> 1.7.0 (*) -| +--- androidx.security:security-crypto:1.0.0 -> 1.1.0-alpha03 -| | +--- androidx.annotation:annotation:1.1.0 -> 1.7.0 (*) -| | +--- com.google.crypto.tink:tink-android:1.5.0 -| | \--- androidx.collection:collection:1.1.0 -> 1.4.0 (*) -| +--- com.squareup.okhttp3:okhttp-urlconnection:4.9.0 -| | +--- com.squareup.okhttp3:okhttp:4.9.0 -> 4.12.0 (*) -| | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.4.10 -> 1.9.10 (*) -| +--- com.google.code.gson:gson:2.8.5 -> 2.10.1 -| +--- org.apache.commons:commons-text:1.10.0 (*) -| +--- androidx.room:room-runtime:2.4.2 -> 2.5.2 (*) -| +--- androidx.room:room-ktx:2.4.2 -> 2.5.2 -| | +--- androidx.room:room-common:2.5.2 (*) -| | +--- androidx.room:room-runtime:2.5.2 (*) -| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.7.20 -> 1.9.22 (*) -| | \--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4 -> 1.7.3 (*) -| +--- com.google.dagger:dagger:2.42 -> 2.50 -| | \--- javax.inject:javax.inject:1 -| +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.9 -> 1.7.3 (*) -| \--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.9 -> 1.7.3 (*) ++--- org.wordpress:fluxc:trunk-14fcce73130015f14125e9e13837f84ff4171bb3 +| +--- org.wordpress:wellsql:2.0.0 +| | +--- androidx.annotation:annotation:1.2.0 -> 1.7.0 (*) +| | \--- org.wordpress.wellsql:wellsql-annotations:2.0.0 +| +--- org.wordpress.fluxc:fluxc-annotations:trunk-14fcce73130015f14125e9e13837f84ff4171bb3 +| +--- org.greenrobot:eventbus:3.3.1 (*) +| +--- com.squareup.okhttp3:okhttp:4.9.0 -> 4.12.0 (*) +| +--- com.android.volley:volley:1.1.1 -> 1.2.0 +| +--- androidx.paging:paging-runtime:2.1.2 +| | +--- androidx.paging:paging-common:2.1.2 +| | | +--- androidx.annotation:annotation:1.0.0 -> 1.7.0 (*) +| | | \--- androidx.arch.core:core-common:2.0.0 -> 2.2.0 (*) +| | +--- androidx.arch.core:core-runtime:2.0.0 -> 2.2.0 (*) +| | +--- androidx.lifecycle:lifecycle-runtime:2.0.0 -> 2.6.2 (*) +| | +--- androidx.lifecycle:lifecycle-livedata:2.0.0 -> 2.6.2 (*) +| | \--- androidx.recyclerview:recyclerview:1.0.0 -> 1.3.2 (*) +| +--- com.goterl:lazysodium-android:5.0.2 +| +--- net.java.dev.jna:jna:5.5.0 +| +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.20 -> 1.9.10 (*) +| +--- org.jetbrains.kotlin:kotlin-android-extensions-runtime:1.6.20 -> 1.9.22 +| | \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.22 (*) +| +--- androidx.appcompat:appcompat:1.0.2 -> 1.6.1 (*) +| +--- androidx.recyclerview:recyclerview:1.0.0 -> 1.3.2 (*) +| +--- androidx.exifinterface:exifinterface:1.0.0 -> 1.3.6 +| | \--- androidx.annotation:annotation:1.2.0 -> 1.7.0 (*) +| +--- androidx.security:security-crypto:1.0.0 -> 1.1.0-alpha03 +| | +--- androidx.annotation:annotation:1.1.0 -> 1.7.0 (*) +| | +--- com.google.crypto.tink:tink-android:1.5.0 +| | \--- androidx.collection:collection:1.1.0 -> 1.4.0 (*) +| +--- com.squareup.okhttp3:okhttp-urlconnection:4.9.0 +| | +--- com.squareup.okhttp3:okhttp:4.9.0 -> 4.12.0 (*) +| | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.4.10 -> 1.9.10 (*) +| +--- com.google.code.gson:gson:2.8.5 -> 2.10.1 +| +--- org.apache.commons:commons-text:1.10.0 (*) +| +--- androidx.room:room-runtime:2.4.2 -> 2.5.2 (*) +| +--- androidx.room:room-ktx:2.4.2 -> 2.5.2 +| | +--- androidx.room:room-common:2.5.2 (*) +| | +--- androidx.room:room-runtime:2.5.2 (*) +| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.7.20 -> 1.9.22 (*) +| | \--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4 -> 1.7.3 (*) +| +--- com.google.dagger:dagger:2.42 -> 2.50 +| | \--- javax.inject:javax.inject:1 +| +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.9 -> 1.7.3 (*) +| \--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.9 -> 1.7.3 (*) -\--- org.wordpress.fluxc.plugins:woocommerce:3008-f3ff9689a0a998537a624ce9a77b930a341bee48 - +--- org.wordpress:wellsql:2.0.0 (*) - +--- org.wordpress.fluxc:fluxc-annotations:3008-f3ff9689a0a998537a624ce9a77b930a341bee48 - +--- androidx.room:room-ktx:2.4.2 -> 2.5.2 (*) - +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.20 -> 1.9.10 (*) - +--- org.wordpress:fluxc:3008-f3ff9689a0a998537a624ce9a77b930a341bee48 (*) - +--- com.google.code.gson:gson:2.8.5 -> 2.10.1 - +--- com.google.dagger:dagger:2.42 -> 2.50 (*) - +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.9 -> 1.7.3 (*) - +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.9 -> 1.7.3 (*) - \--- androidx.room:room-runtime:2.4.2 -> 2.5.2 (*) +\--- org.wordpress.fluxc.plugins:woocommerce:trunk-14fcce73130015f14125e9e13837f84ff4171bb3 + +--- org.wordpress:wellsql:2.0.0 (*) + +--- org.wordpress.fluxc:fluxc-annotations:trunk-14fcce73130015f14125e9e13837f84ff4171bb3 + +--- androidx.room:room-ktx:2.4.2 -> 2.5.2 (*) + +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.20 -> 1.9.10 (*) + +--- org.wordpress:fluxc:trunk-14fcce73130015f14125e9e13837f84ff4171bb3 (*) + +--- com.google.code.gson:gson:2.8.5 -> 2.10.1 + +--- com.google.dagger:dagger:2.42 -> 2.50 (*) + +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.9 -> 1.7.3 (*) + +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.9 -> 1.7.3 (*) + \--- androidx.room:room-runtime:2.4.2 -> 2.5.2 (*) ```
Please review and act accordingly
This PR depends on this FluxC PR
Closes: #11515
Description
This PR adds support for caching shipping methods and improves the perceived performance when displaying shipping methods. With these changes, the source of truth will be the local data, and on background, we will refresh the shipping methods info. I also added support for refreshing the info using the pull-to-refresh pattern.
Testing instructions
TC1
TC2
Images/gif
https://github.com/woocommerce/woocommerce-android/assets/18119390/9ac62a5a-5b6f-40eb-8e29-2e000c5109aa
RELEASE-NOTES.txt
if necessary. Use the "[Internal]" label for non-user-facing changes.