Status Update
Comments
au...@google.com <au...@google.com> #2
da...@google.com <da...@google.com> #3
// @ androidx.navigation.NavController
// line 124
// Now record the pop operation that we were sent
if (!mBackStack.isEmpty()) {
mBackStack.removeLast();
}
// We never want to leave NavGraphs on the top of the stack
while (!mBackStack.isEmpty()
&& mBackStack.peekLast() instanceof NavGraph) {
popBackStack();
}
the condition in while loop is never satisfied because of the above `if` statement above it has already removed the last item of the mBackStack (which was the NavGraph) and thus popBackStack() is never called again.
au...@google.com <au...@google.com> #4
+Pedro Varela - we don't support navigating up through activities as part of NavigationUI yet, please star the feature request:
da...@google.com <da...@google.com> #5
da...@google.com <da...@google.com> #6
I'll leave this bug open as we still need an equivalent API for the Toolbar versions.
hm...@google.com <hm...@google.com> #7
This allows you to call onSupportNavigateUp() (or super.onSupportNavigateUp() if you're using an ActionBar) from that method to have your Up button transition between activities.
This will be available in 1.0.0-alpha09.
hm...@google.com <hm...@google.com> #8
hm...@google.com <hm...@google.com> #9
Oh,i missed the libraryelements one from the list. Looks like jvmRuntimeElements does not publish that attribute and the android one does (and it's a wrong one as mentioned before). So it looks like that could the reason for the wrong variant resolution.
da...@google.com <da...@google.com> #10
The library is from androidx, we are using
I did also notice the compile classpath is fine, after all it compiles correctly and the APIs do resolve in the IDE, but at runtime it fails.
da...@google.com <da...@google.com> #11
So far we have found that from alpha12 (good version) to alpha13 (bad version) of androidx.sqlite, one change that affected the metadata was the upgrade from Gradle 8.11.1 to 8.12, this is a diff of the metadata:
Notice the removal of the org.gradle.libraryelements
attribute. The attribute is also missing with Gradle 8.13-rc1
ow...@google.com <ow...@google.com>
hm...@google.com <hm...@google.com> #12
Update on libraryelements attribute missing in jvm target publications with Gradle 8.12 - Jetbrain are saying it will be fixed after
By the way I have noticed a weird behaviour - if you do ./gradlew publish in your project libraryelements is not there for jvm publications but if you do ./gradlew publishJvmPublicationToMavenRepository it's there
Daniel, Owen, let me know if this is enough info to proceed further with a fix.
hm...@google.com <hm...@google.com> #13
For the issue of the android publications where "org.gradle.libraryelements" = "jar" instead of "aar" - that was fixed in AGP 8.10 canary 7. Please feel free to try it out and report back. Thank you
da...@google.com <da...@google.com>
au...@google.com <au...@google.com> #14
FYI danysantiago@ we have upgraded to 8.10.0-alpha07 in androidx.
Description
Applying the newer AGP KMP plugin to androidx.sqlite breaks the Gradle metadata such that a JVM project depending on the artifact will attempt (and fail) to use the android artifact instead of the JVM one.
This was originally reported in SQLite KMP b/396148592
Here is a diff on the metadata, left is before AGP KMP is used (i.e. after reverting the changes in this CL ) and right is with AGP KMP applied: https://diff.googleplex.com/#key=EY2FqaJWQbUQ
Let me know if you need a sample project, but if you create a new JVM or Kotlin project and depend on
androidx.sqlite:sqlite:2.5.0-beta01
and try to use classes from it, it will fail at runtime with a class not found exception. When inspecting the deps via:dependencies
you will notice it attempts to use the-android
artifact instead of the-jvm
one: