-
Notifications
You must be signed in to change notification settings - Fork 137
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
Photo picker #10141
Photo picker #10141
Conversation
📲 You can test the changes from this Pull Request in WooCommerce Android by scanning the QR code below to install the corresponding build.
|
@@ -60,3 +60,13 @@ fun <T : Any> LiveData<T?>.filterNotNull(): LiveData<T> { | |||
} | |||
return mediator | |||
} | |||
|
|||
fun <T> LiveData<T>.filter(predicate: (T) -> Boolean): LiveData<T> { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This was originally a part of the MediaPicker library and was removed.
WooCommerce/src/main/kotlin/com/woocommerce/android/ui/blaze/BlazeCampaignCreationScreen.kt
Outdated
Show resolved
Hide resolved
WooCommerce/src/main/kotlin/com/woocommerce/android/ui/products/ProductDetailFragment.kt
Outdated
Show resolved
Hide resolved
# Conflicts: # build.gradle
Generated by 🚫 dangerJS |
Hey @hichamboushaba, I've downgraded the dependencies to limit the amount of changes. I decided not to go with the catalogue in the MP since it's a bigger endeavour, which would be better for the infra team to handle. Plus, I looked at the versions in there and the versions are much older, so most of them would need to get overridden anyway.. |
Found 1 violations: The PR caused the following dependency changes:expand
+--- androidx.navigation:navigation-dynamic-features-fragment:2.5.3
| +--- androidx.navigation:navigation-dynamic-features-runtime:2.5.3
| | \--- androidx.navigation:navigation-runtime:2.5.3
| | +--- androidx.activity:activity-ktx:1.5.1 -> 1.8.0
| | | +--- androidx.activity:activity:1.8.0
-| | | | +--- androidx.core:core:1.8.0 -> 1.10.1
-| | | | | +--- androidx.annotation:annotation:1.6.0 (*)
-| | | | | +--- androidx.annotation:annotation-experimental:1.3.0
-| | | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.10 -> 1.8.22 (*)
-| | | | | +--- androidx.collection:collection:1.0.0 -> 1.2.0 (*)
-| | | | | +--- androidx.concurrent:concurrent-futures:1.0.0 -> 1.1.0
-| | | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.6.0 (*)
-| | | | | | \--- com.google.guava:listenablefuture:1.0 -> 9999.0-empty-to-avoid-conflict-with-guava
-| | | | | +--- androidx.interpolator:interpolator:1.0.0
-| | | | | | \--- androidx.annotation:annotation:1.0.0 -> 1.6.0 (*)
-| | | | | +--- androidx.lifecycle:lifecycle-runtime:2.3.1 -> 2.6.2
-| | | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.6.0 (*)
-| | | | | | +--- androidx.arch.core:core-common:2.2.0
-| | | | | | | \--- androidx.annotation:annotation:1.1.0 -> 1.6.0 (*)
-| | | | | | +--- androidx.arch.core:core-runtime:2.2.0
-| | | | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.6.0 (*)
-| | | | | | | \--- androidx.arch.core:core-common:2.2.0 (*)
-| | | | | | +--- androidx.lifecycle:lifecycle-common:2.6.2
-| | | | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.6.0 (*)
-| | | | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.10 -> 1.8.22 (*)
-| | | | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4
-| | | | | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4
-| | | | | | | | | \--- org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.4
-| | | | | | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.4
-| | | | | | | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4 (c)
-| | | | | | | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.4 (c)
-| | | | | | | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4 (c)
-| | | | | | | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-play-services:1.6.4 (c)
-| | | | | | | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-rx3:1.6.4 (c)
-| | | | | | | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-reactive:1.6.4 (c)
-| | | | | | | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.6.4 (c)
-| | | | | | | | | | \--- org.jetbrains.kotlinx:kotlinx-coroutines-slf4j:1.6.4 (c)
-| | | | | | | | | \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.21 -> 1.8.22
-| | | | | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.4 (*)
-| | | | | | | | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.21 -> 1.8.21
-| | | | | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.21 -> 1.8.22 (*)
-| | | | | | | | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.21
-| | | | | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.21 -> 1.8.22 (*)
-| | | | | | | +--- androidx.lifecycle:lifecycle-livedata:2.6.2 (c)
-| | | | | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.6.2 (c)
-| | | | | | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.6.2 (c)
-| | | | | | | +--- androidx.lifecycle:lifecycle-livedata-ktx:2.6.2 (c)
-| | | | | | | +--- androidx.lifecycle:lifecycle-process:2.6.2 (c)
-| | | | | | | +--- androidx.lifecycle:lifecycle-runtime:2.6.2 (c)
-| | | | | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.6.2 (c)
-| | | | | | | +--- androidx.lifecycle:lifecycle-service:2.6.2 (c)
-| | | | | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.6.2 (c)
-| | | | | | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.6.2 (c)
-| | | | | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.2 (c)
-| | | | | | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.6.2 (c)
-| | | | | | | \--- androidx.lifecycle:lifecycle-common-java8:2.6.2 (c)
-| | | | | | +--- androidx.profileinstaller:profileinstaller:1.3.0
-| | | | | | | +--- androidx.annotation:annotation:1.2.0 -> 1.6.0 (*)
-| | | | | | | +--- androidx.concurrent:concurrent-futures:1.1.0 (*)
-| | | | | | | +--- androidx.startup:startup-runtime:1.1.1
-| | | | | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.6.0 (*)
-| | | | | | | | \--- androidx.tracing:tracing:1.0.0
-| | | | | | | | \--- androidx.annotation:annotation:1.1.0 -> 1.6.0 (*)
-| | | | | | | \--- com.google.guava:listenablefuture:1.0 -> 9999.0-empty-to-avoid-conflict-with-guava
-| | | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.10 -> 1.8.22 (*)
-| | | | | | +--- androidx.lifecycle:lifecycle-common:2.6.2 (c)
-| | | | | | +--- androidx.lifecycle:lifecycle-livedata:2.6.2 (c)
-| | | | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.6.2 (c)
-| | | | | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.6.2 (c)
-| | | | | | +--- androidx.lifecycle:lifecycle-livedata-ktx:2.6.2 (c)
-| | | | | | +--- androidx.lifecycle:lifecycle-process:2.6.2 (c)
-| | | | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.6.2 (c)
-| | | | | | +--- androidx.lifecycle:lifecycle-service:2.6.2 (c)
-| | | | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.6.2 (c)
-| | | | | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.6.2 (c)
-| | | | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.2 (c)
-| | | | | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.6.2 (c)
-| | | | | | \--- androidx.lifecycle:lifecycle-common-java8:2.6.2 (c)
-| | | | | +--- androidx.versionedparcelable:versionedparcelable:1.1.1
-| | | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.6.0 (*)
-| | | | | | \--- androidx.collection:collection:1.0.0 -> 1.2.0 (*)
-| | | | | \--- androidx.core:core-ktx:1.10.1 (c)
+| | | | +--- androidx.core:core:1.8.0 -> 1.12.0
+| | | | | +--- androidx.annotation:annotation:1.6.0 (*)
+| | | | | +--- androidx.annotation:annotation-experimental:1.3.0
+| | | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.10 -> 1.8.22 (*)
+| | | | | +--- androidx.collection:collection:1.0.0 -> 1.2.0 (*)
+| | | | | +--- androidx.concurrent:concurrent-futures:1.0.0 -> 1.1.0
+| | | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.6.0 (*)
+| | | | | | \--- com.google.guava:listenablefuture:1.0 -> 9999.0-empty-to-avoid-conflict-with-guava
+| | | | | +--- androidx.interpolator:interpolator:1.0.0
+| | | | | | \--- androidx.annotation:annotation:1.0.0 -> 1.6.0 (*)
+| | | | | +--- androidx.lifecycle:lifecycle-runtime:2.3.1 -> 2.6.2
+| | | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.6.0 (*)
+| | | | | | +--- androidx.arch.core:core-common:2.2.0
+| | | | | | | \--- androidx.annotation:annotation:1.1.0 -> 1.6.0 (*)
+| | | | | | +--- androidx.arch.core:core-runtime:2.2.0
+| | | | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.6.0 (*)
+| | | | | | | \--- androidx.arch.core:core-common:2.2.0 (*)
+| | | | | | +--- androidx.lifecycle:lifecycle-common:2.6.2
+| | | | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.6.0 (*)
+| | | | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.10 -> 1.8.22 (*)
+| | | | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4
+| | | | | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4
+| | | | | | | | | \--- org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.4
+| | | | | | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.4
+| | | | | | | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4 (c)
+| | | | | | | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.4 (c)
+| | | | | | | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4 (c)
+| | | | | | | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-play-services:1.6.4 (c)
+| | | | | | | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-rx3:1.6.4 (c)
+| | | | | | | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-reactive:1.6.4 (c)
+| | | | | | | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.6.4 (c)
+| | | | | | | | | | \--- org.jetbrains.kotlinx:kotlinx-coroutines-slf4j:1.6.4 (c)
+| | | | | | | | | \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.21 -> 1.8.22
+| | | | | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.4 (*)
+| | | | | | | | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.21 -> 1.8.21
+| | | | | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.21 -> 1.8.22 (*)
+| | | | | | | | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.21
+| | | | | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.21 -> 1.8.22 (*)
+| | | | | | | +--- androidx.lifecycle:lifecycle-livedata:2.6.2 (c)
+| | | | | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.6.2 (c)
+| | | | | | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.6.2 (c)
+| | | | | | | +--- androidx.lifecycle:lifecycle-livedata-ktx:2.6.2 (c)
+| | | | | | | +--- androidx.lifecycle:lifecycle-process:2.6.2 (c)
+| | | | | | | +--- androidx.lifecycle:lifecycle-runtime:2.6.2 (c)
+| | | | | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.6.2 (c)
+| | | | | | | +--- androidx.lifecycle:lifecycle-service:2.6.2 (c)
+| | | | | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.6.2 (c)
+| | | | | | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.6.2 (c)
+| | | | | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.2 (c)
+| | | | | | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.6.2 (c)
+| | | | | | | \--- androidx.lifecycle:lifecycle-common-java8:2.6.2 (c)
+| | | | | | +--- androidx.profileinstaller:profileinstaller:1.3.0
+| | | | | | | +--- androidx.annotation:annotation:1.2.0 -> 1.6.0 (*)
+| | | | | | | +--- androidx.concurrent:concurrent-futures:1.1.0 (*)
+| | | | | | | +--- androidx.startup:startup-runtime:1.1.1
+| | | | | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.6.0 (*)
+| | | | | | | | \--- androidx.tracing:tracing:1.0.0
+| | | | | | | | \--- androidx.annotation:annotation:1.1.0 -> 1.6.0 (*)
+| | | | | | | \--- com.google.guava:listenablefuture:1.0 -> 9999.0-empty-to-avoid-conflict-with-guava
+| | | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.10 -> 1.8.22 (*)
+| | | | | | +--- androidx.lifecycle:lifecycle-common:2.6.2 (c)
+| | | | | | +--- androidx.lifecycle:lifecycle-livedata:2.6.2 (c)
+| | | | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.6.2 (c)
+| | | | | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.6.2 (c)
+| | | | | | +--- androidx.lifecycle:lifecycle-livedata-ktx:2.6.2 (c)
+| | | | | | +--- androidx.lifecycle:lifecycle-process:2.6.2 (c)
+| | | | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.6.2 (c)
+| | | | | | +--- androidx.lifecycle:lifecycle-service:2.6.2 (c)
+| | | | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.6.2 (c)
+| | | | | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.6.2 (c)
+| | | | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.2 (c)
+| | | | | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.6.2 (c)
+| | | | | | \--- androidx.lifecycle:lifecycle-common-java8:2.6.2 (c)
+| | | | | +--- androidx.versionedparcelable:versionedparcelable:1.1.1
+| | | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.6.0 (*)
+| | | | | | \--- androidx.collection:collection:1.0.0 -> 1.2.0 (*)
+| | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 (*)
+| | | | | \--- androidx.core:core-ktx:1.12.0 (c)
| | | | \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.6.1 -> 2.6.2
-| | | | \--- androidx.core:core-ktx:1.2.0 -> 1.10.1
-| | | | +--- androidx.annotation:annotation:1.1.0 -> 1.6.0 (*)
-| | | | +--- androidx.core:core:1.10.1 (*)
-| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.10 -> 1.8.22 (*)
-| | | | \--- androidx.core:core:1.10.1 (c)
+| | | | \--- androidx.core:core-ktx:1.2.0 -> 1.12.0
+| | | | +--- androidx.annotation:annotation:1.1.0 -> 1.6.0 (*)
+| | | | +--- androidx.core:core:1.12.0 (*)
+| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 (*)
+| | | | \--- androidx.core:core:1.12.0 (c)
-| | | \--- androidx.core:core-ktx:1.9.0 -> 1.10.1 (*)
+| | | \--- androidx.core:core-ktx:1.9.0 -> 1.12.0 (*)
| | \--- androidx.navigation:navigation-common:2.5.3
-| | \--- androidx.core:core-ktx:1.1.0 -> 1.10.1 (*)
+| | \--- androidx.core:core-ktx:1.1.0 -> 1.12.0 (*)
| \--- androidx.navigation:navigation-fragment:2.5.3
| +--- androidx.fragment:fragment-ktx:1.5.4 -> 1.6.1
-| | +--- androidx.core:core-ktx:1.2.0 -> 1.10.1 (*)
+| | +--- androidx.core:core-ktx:1.2.0 -> 1.12.0 (*)
| | \--- androidx.fragment:fragment:1.6.1
-| | +--- androidx.core:core-ktx:1.2.0 -> 1.10.1 (*)
+| | +--- androidx.core:core-ktx:1.2.0 -> 1.12.0 (*)
| | +--- androidx.loader:loader:1.0.0
-| | | \--- androidx.core:core:1.0.0 -> 1.10.1 (*)
+| | | \--- androidx.core:core:1.0.0 -> 1.12.0 (*)
| | \--- androidx.viewpager:viewpager:1.0.0
-| | +--- androidx.core:core:1.0.0 -> 1.10.1 (*)
+| | +--- androidx.core:core:1.0.0 -> 1.12.0 (*)
| | \--- androidx.customview:customview:1.0.0 -> 1.1.0
-| | \--- androidx.core:core:1.3.0 -> 1.10.1 (*)
+| | \--- androidx.core:core:1.3.0 -> 1.12.0 (*)
| \--- androidx.slidingpanelayout:slidingpanelayout:1.2.0
-| +--- androidx.core:core:1.1.0 -> 1.10.1 (*)
+| +--- androidx.core:core:1.1.0 -> 1.12.0 (*)
| +--- androidx.window:window:1.0.0
-| | \--- androidx.core:core:1.3.2 -> 1.10.1 (*)
+| | \--- androidx.core:core:1.3.2 -> 1.12.0 (*)
| \--- androidx.transition:transition:1.4.1
-| \--- androidx.core:core:1.1.0 -> 1.10.1 (*)
+| \--- androidx.core:core:1.1.0 -> 1.12.0 (*)
+--- com.google.firebase:firebase-messaging-ktx -> 23.0.6
| +--- com.google.android.gms:play-services-basement:18.0.0 -> 18.1.0
-| | \--- androidx.core:core:1.2.0 -> 1.10.1 (*)
+| | \--- androidx.core:core:1.2.0 -> 1.12.0 (*)
| \--- com.google.firebase:firebase-messaging:23.0.6
| +--- com.google.android.gms:play-services-base:18.0.1 -> 18.1.0
-| | \--- androidx.core:core:1.2.0 -> 1.10.1 (*)
+| | \--- androidx.core:core:1.2.0 -> 1.12.0 (*)
| \--- com.google.android.gms:play-services-stats:17.0.2
| \--- androidx.legacy:legacy-support-core-utils:1.0.0
-| \--- androidx.core:core:1.0.0 -> 1.10.1 (*)
+| \--- androidx.core:core:1.0.0 -> 1.12.0 (*)
+--- com.google.firebase:firebase-analytics-ktx -> 21.1.0
| \--- com.google.firebase:firebase-analytics:21.1.0
| \--- com.google.android.gms:play-services-measurement:21.1.0
| \--- com.google.android.gms:play-services-measurement-impl:21.1.0
-| \--- androidx.core:core:1.0.0 -> 1.10.1 (*)
+| \--- androidx.core:core:1.0.0 -> 1.12.0 (*)
-+--- androidx.core:core-ktx:1.8.0 -> 1.10.1 (*)
++--- androidx.core:core-ktx:1.8.0 -> 1.12.0 (*)
+--- androidx.constraintlayout:constraintlayout:2.1.4
| +--- androidx.appcompat:appcompat:1.2.0 -> 1.4.2
-| | +--- androidx.core:core:1.7.0 -> 1.10.1 (*)
+| | +--- androidx.core:core:1.7.0 -> 1.12.0 (*)
| | +--- androidx.appcompat:appcompat-resources:1.4.2
-| | | +--- androidx.core:core:1.0.1 -> 1.10.1 (*)
+| | | +--- androidx.core:core:1.0.1 -> 1.12.0 (*)
| | | \--- androidx.vectordrawable:vectordrawable:1.1.0
-| | | \--- androidx.core:core:1.1.0 -> 1.10.1 (*)
+| | | \--- androidx.core:core:1.1.0 -> 1.12.0 (*)
| | +--- androidx.drawerlayout:drawerlayout:1.0.0 -> 1.1.1
-| | | \--- androidx.core:core:1.2.0 -> 1.10.1 (*)
+| | | \--- androidx.core:core:1.2.0 -> 1.12.0 (*)
| | +--- androidx.emoji2:emoji2:1.0.0 -> 1.3.0
-| | | \--- androidx.core:core:1.3.0 -> 1.10.1 (*)
+| | | \--- androidx.core:core:1.3.0 -> 1.12.0 (*)
| | \--- androidx.emoji2:emoji2-views-helper:1.0.0 -> 1.3.0
-| | \--- androidx.core:core:1.3.0 -> 1.10.1 (*)
+| | \--- androidx.core:core:1.3.0 -> 1.12.0 (*)
-| \--- androidx.core:core:1.3.2 -> 1.10.1 (*)
+| \--- androidx.core:core:1.3.2 -> 1.12.0 (*)
+--- androidx.recyclerview:recyclerview:1.2.1
-| \--- androidx.core:core:1.3.2 -> 1.10.1 (*)
+| \--- androidx.core:core:1.3.2 -> 1.12.0 (*)
+--- androidx.recyclerview:recyclerview-selection:1.1.0
-| \--- androidx.core:core:1.1.0 -> 1.10.1 (*)
+| \--- androidx.core:core:1.1.0 -> 1.12.0 (*)
+--- com.google.android.material:material:1.6.1
| +--- androidx.coordinatorlayout:coordinatorlayout:1.1.0
-| | \--- androidx.core:core:1.1.0 -> 1.10.1 (*)
+| | \--- androidx.core:core:1.1.0 -> 1.12.0 (*)
-| +--- androidx.core:core:1.5.0 -> 1.10.1 (*)
+| +--- androidx.core:core:1.5.0 -> 1.12.0 (*)
| +--- androidx.dynamicanimation:dynamicanimation:1.0.0
-| | \--- androidx.core:core:1.0.0 -> 1.10.1 (*)
+| | \--- androidx.core:core:1.0.0 -> 1.12.0 (*)
| \--- androidx.viewpager2:viewpager2:1.0.0
-| \--- androidx.core:core:1.1.0 -> 1.10.1 (*)
+| \--- androidx.core:core:1.1.0 -> 1.12.0 (*)
+--- androidx.browser:browser:1.5.0
-| \--- androidx.core:core:1.1.0 -> 1.10.1 (*)
+| \--- androidx.core:core:1.1.0 -> 1.12.0 (*)
+--- androidx.preference:preference:1.2.0
-| \--- androidx.core:core:1.6.0 -> 1.10.1 (*)
+| \--- androidx.core:core:1.6.0 -> 1.12.0 (*)
+--- androidx.work:work-runtime-ktx:2.7.1
| \--- androidx.work:work-runtime:2.7.1
-| +--- androidx.core:core:1.6.0 -> 1.10.1 (*)
+| +--- androidx.core:core:1.6.0 -> 1.12.0 (*)
-| \--- androidx.core:core:1.1.0 -> 1.10.1 (*)
+| \--- androidx.core:core:1.1.0 -> 1.12.0 (*)
+--- org.wordpress:utils:3.5.0
| +--- androidx.swiperefreshlayout:swiperefreshlayout:1.1.0
-| | \--- androidx.core:core:1.1.0 -> 1.10.1 (*)
+| | \--- androidx.core:core:1.1.0 -> 1.12.0 (*)
-| \--- androidx.core:core-ktx:1.5.0 -> 1.10.1 (*)
+| \--- androidx.core:core-ktx:1.5.0 -> 1.12.0 (*)
+--- com.automattic:Automattic-Tracks-Android:3.2.0
| \--- io.sentry:sentry-android -> 6.18.1
| \--- io.sentry:sentry-android-core:6.18.1
-| \--- androidx.core:core:1.3.2 -> 1.10.1 (*)
+| \--- androidx.core:core:1.3.2 -> 1.12.0 (*)
+--- org.wordpress:login:1.8.0
| +--- androidx.media:media:1.2.1
-| | \--- androidx.core:core:1.3.0 -> 1.10.1 (*)
+| | \--- androidx.core:core:1.3.0 -> 1.12.0 (*)
| +--- androidx.legacy:legacy-support-v13:1.0.0
| | \--- androidx.legacy:legacy-support-v4:1.0.0
-| | +--- androidx.core:core:1.0.0 -> 1.10.1 (*)
+| | +--- androidx.core:core:1.0.0 -> 1.12.0 (*)
| | \--- androidx.legacy:legacy-support-core-ui:1.0.0
-| | +--- androidx.core:core:1.0.0 -> 1.10.1 (*)
+| | +--- androidx.core:core:1.0.0 -> 1.12.0 (*)
| | \--- androidx.asynclayoutinflater:asynclayoutinflater:1.0.0
-| | \--- androidx.core:core:1.0.0 -> 1.10.1 (*)
+| | \--- androidx.core:core:1.0.0 -> 1.12.0 (*)
| +--- androidx.gridlayout:gridlayout:1.0.0
-| | \--- androidx.core:core:1.0.0 -> 1.10.1 (*)
+| | \--- androidx.core:core:1.0.0 -> 1.12.0 (*)
-| \--- androidx.core:core-ktx:1.3.2 -> 1.10.1 (*)
+| \--- androidx.core:core-ktx:1.3.2 -> 1.12.0 (*)
+--- project :libs:cardreader
| \--- com.stripe:stripeterminal-localmobile:2.21.1
-| \--- androidx.core:core-ktx:1.10.1 (*)
+| \--- androidx.core:core-ktx:1.10.1 -> 1.12.0 (*)
+--- com.automattic:about:0.0.6
-| +--- androidx.core:core-ktx:1.7.0 -> 1.10.1 (*)
+| +--- androidx.core:core-ktx:1.7.0 -> 1.12.0 (*)
| +--- androidx.compose.ui:ui:1.0.5 -> 1.4.3
| | +--- androidx.autofill:autofill:1.0.0
-| | | \--- androidx.core:core:1.1.0 -> 1.10.1 (*)
+| | | \--- androidx.core:core:1.1.0 -> 1.12.0 (*)
| | +--- androidx.compose.ui:ui-text:1.4.3
-| | | \--- androidx.core:core:1.7.0 -> 1.10.1 (*)
+| | | \--- androidx.core:core:1.7.0 -> 1.12.0 (*)
-| | +--- androidx.core:core:1.9.0 -> 1.10.1 (*)
+| | +--- androidx.core:core:1.9.0 -> 1.12.0 (*)
| | \--- androidx.customview:customview-poolingcontainer:1.0.0
-| | \--- androidx.core:core-ktx:1.5.0 -> 1.10.1 (*)
+| | \--- androidx.core:core-ktx:1.5.0 -> 1.12.0 (*)
| +--- androidx.compose.ui:ui-tooling:1.0.5 -> 1.4.3
| | \--- androidx.compose.animation:animation:1.4.3
| | \--- androidx.compose.foundation:foundation-layout:1.2.1 -> 1.4.3
-| | \--- androidx.core:core:1.7.0 -> 1.10.1 (*)
+| | \--- androidx.core:core:1.7.0 -> 1.12.0 (*)
| \--- com.google.android.material:compose-theme-adapter:1.1.1
-| \--- androidx.core:core-ktx:1.3.1 -> 1.10.1 (*)
+| \--- androidx.core:core-ktx:1.3.1 -> 1.12.0 (*)
+--- com.google.android.gms:play-services-code-scanner:16.0.0-beta3
| \--- com.google.mlkit:barcode-scanning-common:17.0.0
| \--- com.google.mlkit:vision-common:17.0.0 -> 17.3.0
| \--- com.google.mlkit:common:18.6.0 -> 18.9.0
-| \--- androidx.core:core:1.0.0 -> 1.10.1 (*)
+| \--- androidx.core:core:1.0.0 -> 1.12.0 (*)
+--- com.zendesk:support:5.0.8
| \--- com.zendesk:guide:1.0.7
| \--- com.zendesk:messaging:5.2.3
| \--- com.zendesk:common-ui:4.0.3
| \--- com.zendesk.belvedere2:belvedere:3.0.0-RC
| +--- com.zendesk.belvedere2:belvedere-core:3.0.0-RC
-| | \--- androidx.core:core:1.3.1 -> 1.10.1 (*)
+| | \--- androidx.core:core:1.3.1 -> 1.12.0 (*)
-| \--- androidx.core:core:1.3.1 -> 1.10.1 (*)
+| \--- androidx.core:core:1.3.1 -> 1.12.0 (*)
-+--- org.wordpress:mediapicker:0.2
-| +--- org.jetbrains.kotlin:kotlin-parcelize-runtime:1.6.10 -> 1.8.21 (*)
-| +--- org.wordpress.mediapicker:domain:0.2
-| | +--- org.jetbrains.kotlin:kotlin-parcelize-runtime:1.6.10 -> 1.8.21 (*)
-| | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.8.21 (*)
-| | +--- androidx.core:core-ktx:1.7.0 -> 1.10.1 (*)
-| | \--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.2 -> 1.6.4 (*)
-| +--- androidx.databinding:viewbinding:8.1.0 (*)
-| +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.8.21 (*)
-| +--- com.google.android.material:material:1.5.0 -> 1.6.1 (*)
-| +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.2 -> 1.6.4 (*)
-| +--- androidx.navigation:navigation-fragment-ktx:2.3.5 -> 2.5.3 (*)
-| +--- androidx.core:core-ktx:1.7.0 -> 1.10.1 (*)
-| +--- androidx.appcompat:appcompat:1.4.1 -> 1.4.2 (*)
-| +--- androidx.constraintlayout:constraintlayout:2.1.1 -> 2.1.4 (*)
-| +--- androidx.swiperefreshlayout:swiperefreshlayout:1.1.0 (*)
-| +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.0 -> 2.6.2 (*)
-| +--- androidx.datastore:datastore-preferences:1.0.0 (*)
-| +--- com.github.bumptech.glide:glide:4.12.0 -> 4.13.2 (*)
-| +--- com.google.dagger:hilt-android:2.42 -> 2.45 (*)
-| +--- com.google.dagger:hilt-android-compiler:2.42
-| | +--- com.google.dagger:dagger:2.42 -> 2.46.1 (*)
-| | +--- com.google.dagger:dagger-compiler:2.42
-| | | +--- com.google.dagger:dagger:2.42 -> 2.46.1 (*)
-| | | +--- com.google.dagger:dagger-producers:2.42
-| | | | +--- com.google.dagger:dagger:2.42 -> 2.46.1 (*)
-| | | | +--- com.google.guava:failureaccess:1.0.1
-| | | | +--- com.google.guava:guava:31.0.1-jre -> 31.1-android (*)
-| | | | +--- javax.inject:javax.inject:1
-| | | | \--- org.checkerframework:checker-compat-qual:2.5.5
-| | | +--- com.google.dagger:dagger-spi:2.42
-| | | | +--- com.google.dagger:dagger:2.42 -> 2.46.1 (*)
-| | | | +--- com.google.dagger:dagger-producers:2.42 (*)
-| | | | +--- com.google.code.findbugs:jsr305:3.0.2
-| | | | +--- com.google.devtools.ksp:symbol-processing-api:1.5.30-1.0.0
-| | | | | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.30 -> 1.8.21 (*)
-| | | | +--- com.google.guava:failureaccess:1.0.1
-| | | | +--- com.google.guava:guava:31.0.1-jre -> 31.1-android (*)
-| | | | +--- com.squareup:javapoet:1.13.0
-| | | | +--- javax.inject:javax.inject:1
-| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 -> 1.8.22 (*)
-| | | | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.32 -> 1.8.21 (*)
-| | | +--- com.google.code.findbugs:jsr305:3.0.2
-| | | +--- com.google.googlejavaformat:google-java-format:1.5
-| | | | +--- com.google.guava:guava:22.0 -> 31.1-android (*)
-| | | | \--- com.google.errorprone:javac-shaded:9-dev-r4023-3
-| | | +--- com.google.guava:failureaccess:1.0.1
-| | | +--- com.google.guava:guava:31.0.1-jre -> 31.1-android (*)
-| | | +--- com.squareup:javapoet:1.13.0
-| | | +--- javax.inject:javax.inject:1
-| | | +--- net.ltgt.gradle.incap:incap:0.2
-| | | +--- org.checkerframework:checker-compat-qual:2.5.5
-| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 -> 1.8.22 (*)
-| | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.32 -> 1.8.21 (*)
-| | | \--- org.jetbrains.kotlinx:kotlinx-metadata-jvm:0.4.2
-| | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 -> 1.8.22 (*)
-| | +--- com.google.dagger:dagger-spi:2.42 (*)
-| | +--- com.google.code.findbugs:jsr305:3.0.2
-| | +--- com.google.guava:failureaccess:1.0.1
-| | +--- com.google.guava:guava:31.0.1-jre -> 31.1-android (*)
-| | +--- com.squareup:javapoet:1.13.0
-| | +--- javax.annotation:jsr250-api:1.0
-| | +--- javax.inject:javax.inject:1
-| | +--- net.ltgt.gradle.incap:incap:0.2
-| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 -> 1.8.22 (*)
-| | \--- org.jetbrains.kotlinx:kotlinx-metadata-jvm:0.4.2 (*)
-| \--- com.github.chrisbanes:PhotoView:2.3.0 (*)
++--- org.wordpress:mediapicker:trunk-10f3b7d3aeb31bb0bacacde3d9fc2456c09105a9
+| +--- org.jetbrains.kotlin:kotlin-parcelize-runtime:1.8.21 (*)
+| +--- com.google.android.material:material:1.6.1 (*)
+| +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4 (*)
+| +--- androidx.navigation:navigation-fragment-ktx:2.5.3 (*)
+| +--- androidx.core:core-ktx:1.12.0 (*)
+| +--- androidx.appcompat:appcompat:1.4.2 (*)
+| +--- androidx.constraintlayout:constraintlayout:2.1.4 (*)
+| +--- androidx.swiperefreshlayout:swiperefreshlayout:1.1.0 (*)
+| +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.2 (*)
+| +--- androidx.datastore:datastore-preferences:1.0.0 (*)
+| +--- com.github.bumptech.glide:glide:4.13.2 (*)
+| +--- com.google.dagger:hilt-android:2.45 (*)
+| +--- com.google.dagger:hilt-android-compiler:2.45
+| | +--- com.google.dagger:dagger:2.45 -> 2.46.1 (*)
+| | +--- com.google.dagger:dagger-compiler:2.45
+| | | +--- com.google.dagger:dagger:2.45 -> 2.46.1 (*)
+| | | +--- com.google.dagger:dagger-producers:2.45
+| | | | +--- com.google.dagger:dagger:2.45 -> 2.46.1 (*)
+| | | | +--- com.google.guava:failureaccess:1.0.1
+| | | | +--- com.google.guava:guava:31.0.1-jre -> 31.1-android (*)
+| | | | +--- javax.inject:javax.inject:1
+| | | | \--- org.checkerframework:checker-compat-qual:2.5.5
+| | | +--- com.google.dagger:dagger-spi:2.45
+| | | | +--- com.google.dagger:dagger:2.45 -> 2.46.1 (*)
+| | | | +--- com.google.dagger:dagger-producers:2.45 (*)
+| | | | +--- com.google.code.findbugs:jsr305:3.0.2
+| | | | +--- com.google.devtools.ksp:symbol-processing-api:1.7.0-1.0.6
+| | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.0 -> 1.8.22 (*)
+| | | | +--- com.google.guava:failureaccess:1.0.1
+| | | | +--- com.google.guava:guava:31.0.1-jre -> 31.1-android (*)
+| | | | +--- com.squareup:javapoet:1.13.0
+| | | | +--- com.squareup:kotlinpoet:1.11.0
+| | | | | +--- org.jetbrains.kotlin:kotlin-reflect:1.6.10
+| | | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 -> 1.8.22 (*)
+| | | | | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.8.21 (*)
+| | | | +--- javax.inject:javax.inject:1
+| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.7.0 -> 1.8.22 (*)
+| | | | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.0 -> 1.8.21 (*)
+| | | +--- com.google.code.findbugs:jsr305:3.0.2
+| | | +--- com.google.devtools.ksp:symbol-processing-api:1.7.0-1.0.6 (*)
+| | | +--- com.google.googlejavaformat:google-java-format:1.5
+| | | | +--- com.google.guava:guava:22.0 -> 31.1-android (*)
+| | | | \--- com.google.errorprone:javac-shaded:9-dev-r4023-3
+| | | +--- com.google.guava:failureaccess:1.0.1
+| | | +--- com.google.guava:guava:31.0.1-jre -> 31.1-android (*)
+| | | +--- com.squareup:javapoet:1.13.0
+| | | +--- javax.inject:javax.inject:1
+| | | +--- net.ltgt.gradle.incap:incap:0.2
+| | | +--- org.checkerframework:checker-compat-qual:2.5.5
+| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.7.0 -> 1.8.22 (*)
+| | | \--- org.jetbrains.kotlinx:kotlinx-metadata-jvm:0.5.0
+| | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.0 -> 1.8.22 (*)
+| | +--- com.google.dagger:dagger-spi:2.45 (*)
+| | +--- com.google.code.findbugs:jsr305:3.0.2
+| | +--- com.google.guava:failureaccess:1.0.1
+| | +--- com.google.guava:guava:31.0.1-jre -> 31.1-android (*)
+| | +--- com.squareup:javapoet:1.13.0
+| | +--- javax.annotation:javax.annotation-api:1.3.2
+| | +--- javax.inject:javax.inject:1
+| | +--- net.ltgt.gradle.incap:incap:0.2
+| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.7.0 -> 1.8.22 (*)
+| | \--- org.jetbrains.kotlinx:kotlinx-metadata-jvm:0.5.0 (*)
+| +--- com.github.chrisbanes:PhotoView:2.3.0 (*)
+| +--- org.wordpress:utils:2.6.0 -> 3.5.0 (*)
+| +--- org.wordpress.mediapicker:domain:trunk-10f3b7d3aeb31bb0bacacde3d9fc2456c09105a9
+| | +--- org.jetbrains.kotlin:kotlin-parcelize-runtime:1.8.21 (*)
+| | +--- androidx.core:core-ktx:1.12.0 (*)
+| | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4 (*)
+| | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.21 (*)
+| +--- androidx.databinding:viewbinding:8.1.0 (*)
+| \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.21 (*)
++--- org.wordpress.mediapicker:source-camera:trunk-10f3b7d3aeb31bb0bacacde3d9fc2456c09105a9
+| +--- org.wordpress.mediapicker:domain:trunk-10f3b7d3aeb31bb0bacacde3d9fc2456c09105a9 (*)
+| +--- androidx.core:core-ktx:1.12.0 (*)
+| \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.21 (*)
-+--- org.wordpress.mediapicker:source-device:0.2
-| +--- org.jetbrains.kotlin:kotlin-parcelize-runtime:1.6.10 -> 1.8.21 (*)
-| +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.8.21 (*)
-| +--- org.wordpress.mediapicker:domain:0.2 (*)
-| +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.2 -> 1.6.4 (*)
-| +--- com.google.dagger:hilt-android:2.42 -> 2.45 (*)
-| \--- com.google.dagger:hilt-android-compiler:2.42 (*)
-+--- org.wordpress.mediapicker:source-wordpress:0.2
-| +--- org.jetbrains.kotlin:kotlin-parcelize-runtime:1.6.10 -> 1.8.21 (*)
-| +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.8.21 (*)
-| +--- org.wordpress.mediapicker:domain:0.2 (*)
-| +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.2 -> 1.6.4 (*)
-| +--- com.google.dagger:hilt-android:2.42 -> 2.45 (*)
-| \--- com.google.dagger:hilt-android-compiler:2.42 (*)
++--- org.wordpress.mediapicker:source-wordpress:trunk-10f3b7d3aeb31bb0bacacde3d9fc2456c09105a9
+| +--- org.jetbrains.kotlin:kotlin-parcelize-runtime:1.8.21 (*)
+| +--- org.wordpress.mediapicker:domain:trunk-10f3b7d3aeb31bb0bacacde3d9fc2456c09105a9 (*)
+| +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4 (*)
+| +--- com.google.dagger:hilt-android:2.45 (*)
+| +--- com.google.dagger:hilt-android-compiler:2.45 (*)
+| +--- org.wordpress:utils:2.6.0 -> 3.5.0 (*)
+| +--- org.wordpress:fluxc:trunk-7ea7465680431fa4df5f0433d4c8b8395055b997 -> 2.55.0 (*)
+| \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.21 (*)
+--- androidx.compose.ui:ui-text-google-fonts -> 1.4.3
-| \--- androidx.core:core:1.8.0 -> 1.10.1 (*)
+| \--- androidx.core:core:1.8.0 -> 1.12.0 (*)
+--- com.google.accompanist:accompanist-systemuicontroller:0.23.1
-| \--- androidx.core:core-ktx:1.7.0 -> 1.10.1 (*)
+| \--- androidx.core:core-ktx:1.7.0 -> 1.12.0 (*)
+--- io.coil-kt:coil-compose:2.1.0
| \--- io.coil-kt:coil-compose-base:2.1.0
| +--- io.coil-kt:coil-base:2.1.0
-| | \--- androidx.core:core-ktx:1.7.0 -> 1.10.1 (*)
+| | \--- androidx.core:core-ktx:1.7.0 -> 1.12.0 (*)
-| \--- androidx.core:core-ktx:1.7.0 -> 1.10.1 (*)
+| \--- androidx.core:core-ktx:1.7.0 -> 1.12.0 (*)
+--- io.coil-kt:coil-svg:2.1.0
-| \--- androidx.core:core-ktx:1.7.0 -> 1.10.1 (*)
+| \--- androidx.core:core-ktx:1.7.0 -> 1.12.0 (*)
+--- androidx.camera:camera-camera2:1.2.3
| +--- androidx.camera:camera-core:1.2.3
-| | \--- androidx.core:core:1.1.0 -> 1.10.1 (*)
+| | \--- androidx.core:core:1.1.0 -> 1.12.0 (*)
-| \--- androidx.core:core:1.1.0 -> 1.10.1 (*)
+| \--- androidx.core:core:1.1.0 -> 1.12.0 (*)
+--- androidx.camera:camera-lifecycle:1.2.3
-| \--- androidx.core:core:1.1.0 -> 1.10.1 (*)
+| \--- androidx.core:core:1.1.0 -> 1.12.0 (*)
\--- androidx.camera:camera-view:1.2.3
- \--- androidx.core:core:1.3.2 -> 1.10.1 (*)
+ \--- androidx.core:core:1.3.2 -> 1.12.0 (*)
Please review and act accordingly
|
@@ -94,9 +94,9 @@ data class Product( | |||
@Parcelize | |||
data class Image( | |||
val id: Long, | |||
val name: String, | |||
val name: String?, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What's the cause of this change and the similar one below @0nko?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
An update in the FluxC library: wordpress-mobile/WordPress-FluxC-Android#2886
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @0nko for the clariffication, I was confused because we updated the repo to align with this FluxC change a while ago #10078, but now I understand, this is caused by this commit wordpress-mobile/WordPress-MediaPicker-Android@9629167
@@ -112,7 +112,7 @@ ext { | |||
materialVersion = '1.6.1' | |||
hiltJetpackVersion = '1.0.0' | |||
wordPressUtilsVersion = '3.5.0' | |||
mediapickerVersion = '0.2' | |||
mediapickerVersion = 'trunk-10f3b7d3aeb31bb0bacacde3d9fc2456c09105a9' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm getting a crash when runnning the app from trunk
and then switching to this PR branch and launching the app:
java.lang.IllegalStateException: Room cannot verify the data integrity. Looks like you've changed schema but forgot to update the version number. You can simply fix this by increasing the version number. Expected identity hash: 1e3ad3f4fb750ae397a8fee0c724ed14, found: 46e29ce7aa2fba81c03063031e265024
at androidx.room.RoomOpenHelper.checkIdentity(RoomOpenHelper.kt:147)
at androidx.room.RoomOpenHelper.onOpen(RoomOpenHelper.kt:128)
at androidx.sqlite.db.framework.FrameworkSQLiteOpenHelper$OpenHelper.onOpen(FrameworkSQLiteOpenHelper.kt:287)
at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:427)
at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:316)
at androidx.sqlite.db.framework.FrameworkSQLiteOpenHelper$OpenHelper.getWritableOrReadableDatabase(FrameworkSQLiteOpenHelper.kt:232)
at androidx.sqlite.db.framework.FrameworkSQLiteOpenHelper$OpenHelper.innerGetDatabase(FrameworkSQLiteOpenHelper.kt:190)
at androidx.sqlite.db.framework.FrameworkSQLiteOpenHelper$OpenHelper.getSupportDatabase(FrameworkSQLiteOpenHelper.kt:151)
at androidx.sqlite.db.framework.FrameworkSQLiteOpenHelper.getWritableDatabase(FrameworkSQLiteOpenHelper.kt:104)
at androidx.room.RoomDatabase.inTransaction(RoomDatabase.kt:638)
at androidx.room.RoomDatabase.assertNotSuspendingTransaction(RoomDatabase.kt:457)
at androidx.room.RoomDatabase.query(RoomDatabase.kt:486)
at androidx.room.util.DBUtil.query(DBUtil.kt:75)
at org.wordpress.android.fluxc.persistence.dao.TopPerformerProductsDao_Impl$5.call(TopPerformerProductsDao_Impl.java:190)
at org.wordpress.android.fluxc.persistence.dao.TopPerformerProductsDao_Impl$5.call(TopPerformerProductsDao_Impl.java:187)
Unsure if it might be related to the fact that media picker latest version is relying on a different version of FluxC than the app? It's also weird that the crash is related to TopPerformerProductsDao
as it seems that class hasn't been updated recently.
- Media pickas FluxC:
wordPressFluxCVersion = 'trunk-7ea7465680431fa4df5f0433d4c8b8395055b997'
- App FluxC:
fluxCVersion = '2.55.0'
Never mind I don't think that is the reason for the crash. However I'm still unsure what the reason is as the DB version (30) doesn't change when swtiching between trunk
branch and feature/android-photo-picker
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I saw this too. It seems like the WCAndroidDatabase
schema (30.json) was updated multiple times. So you'd get this crash if you already had a previous modification of the same version installed. However, the users won't see it so it should be fine.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@JorgeMucientes I think this is still safe, this could be because FluxC in trunk
points to a PR commit and not trunk
woocommerce-android/build.gradle
Line 98 in 9067037
fluxCVersion = '2874-591479f60ddcf1aad966a6711fcafcb4aee8f849' |
This PR was based on an old branch, and the DB version on it is still 28
https://github.com/wordpress-mobile/WordPress-FluxC-Android/blob/7b8facfecb23bae16146ca31d008054828940e0d/plugins/woocommerce/src/main/kotlin/org/wordpress/android/fluxc/persistence/WCAndroidDatabase.kt#L60
Since the version was updated in the release
branch, this should be safe now, but we need to ask the developers to pay attention to this, it happened multiple times recently.
The commit I linked above was the wrong one, it seems it's still version 30
in the correct one https://github.com/wordpress-mobile/WordPress-FluxC-Android/blob/591479f60ddcf1aad966a6711fcafcb4aee8f849/plugins/woocommerce/src/main/kotlin/org/wordpress/android/fluxc/persistence/WCAndroidDatabase.kt#L66
This invalidates my theory above, I'm not sure what's the cause of the crash.
For additional information, the crash happened to me too, but it doesn't occur when updating from 16.1
to 16.2
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I missed @0nko's comment before posting my reply above, I agree that the changes to the schema are the cause, and this happened because a PR was merged to trunk
that points to a FluxC PR instead of trunk
(so same as the above theory) #10094, so in between of the next update to trunk
, we were using a non final schema version.
Hey @0nko thanks for tackling this! Great job! I've tested all the media picker use cases from a clean install and everything works well. |
Generated by 🚫 Danger |
@JorgeMucientes Thanks for the review! I just added one more use case that I forgot about - the downloads for a virtual product. |
mediaTypes = EVERYTHING | ||
) | ||
is PickMediaFileFromDevice -> mediaPickerHelper.showMediaPicker( | ||
source = SYSTEM_PICKER, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@0nko can't we use the Photo picker here? I think it would work and would offer a better change of success, then the Documents
event will use the default system picker, WDYT?
In the event the Photo Picker won't work, it would be better to stop splitting the two entries here, and just offer one entry for picking any file type from the device, as both of them use the SYSTEM_PICKER
.
For context: the split was needed just to keep using the internal media picker for media files.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The photo picker doesn't support audio files (MEDIA = IMAGES + VIDEOS + AUDIO). So I chose the system picker instead.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good point, I still it would be still great to use the Photo picker fro images and videos, so maybe we can include Audio files as part of the Documents
option, WDYT?
@@ -17,6 +17,10 @@ | |||
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/> | |||
<uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove"/> | |||
<uses-permission android:name="android.permission.CAMERA" /> | |||
<uses-permission |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry I missed this, I think we need to move this to be specific to release
builds (in a separate PR), otherwise it might break automated screenshots that rely on the permission
woocommerce-android/WooCommerce/src/debug/AndroidManifest.xml
Lines 11 to 14 in 7146aac
<uses-permission | |
android:name="android.permission.WRITE_EXTERNAL_STORAGE" | |
android:maxSdkVersion="28" /> | |
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> |
This PR replaces local device picker with Android photo picker. This is a remedy for Google's media policy update: Photo and Video Permissions policy (READ_MEDIA_IMAGES and READ_MEDIA_VIDEO).
The PR relies on the changes in wordpress-mobile/WordPress-MediaPicker-Android#73.
photopicker.webm
To test:
The media picker is used in 4 places:
Use package photo
)Simply trying adding a photo using the new photo picker, camera and WP media library as a media source is enough.