Status Update
Comments
ra...@google.com <ra...@google.com>
ia...@gmail.com <ia...@gmail.com> #2
Using navigation version 2.6.0 and 2.7.1 the issue still persists.
After further investigation, the behaviour can be corrected by filtering on backstack entries where current state is at least started. In my opinion the name visibleEntries is misleading if it contains entries that are not actually visible or in transition.
su...@google.com <su...@google.com> #3
Note that as per the visibleEntries
documentationCREATED
state - those are the entries that are in the process of being removed (i.e., they are no longer in the back stack, but have not yet marked their transition as complete).
It is a bug that those entries aren't removed when their exit animation completes and that's what we'll be looking into.
su...@google.com <su...@google.com> #4
Branch: androidx-main
commit f61da31809827bfac89af629c88ad9b8423e88b6
Author: Clara Fok <clarafok@google.com>
Date: Wed Sep 06 14:14:11 2023
Fix entry not marked complete after view is destroyed
As part of a fix for
Now the backstack check in ON_DESTROY is no longer necessary to fix the original
Test: ./gradlew navigation:navigation-fragment:cC
Test: ./gradlew navigation:navigation-runtime:cC
Bug: 288520638
Change-Id: I5caa9af1b5bd7084e76d7daf9515f7430bf2489d
M navigation/navigation-fragment/src/androidTest/java/androidx/navigation/fragment/FragmentNavigatorTest.kt
M navigation/navigation-fragment/src/androidTest/java/androidx/navigation/fragment/NavControllerWithFragmentTest.kt
M navigation/navigation-fragment/src/main/java/androidx/navigation/fragment/FragmentNavigator.kt
M navigation/navigation-runtime/src/androidTest/java/androidx/navigation/NavControllerTest.kt
M navigation/navigation-runtime/src/main/java/androidx/navigation/NavController.kt
to...@googlemail.com <to...@googlemail.com> #5
Fixed internally and will be available in navigation 2.7.3
su...@google.com <su...@google.com> #6
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.navigation:navigation-fragment:2.7.3
androidx.navigation:navigation-runtime:2.7.3
to...@googlemail.com <to...@googlemail.com> #7
The issue no longer persists in version 2.7.3. Thank you all for the update.
su...@google.com <su...@google.com> #8
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.navigation:navigation-fragment:2.8.0-alpha01
androidx.navigation:navigation-runtime:2.8.0-alpha01
to...@googlemail.com <to...@googlemail.com> #10
So you saying when I want to migrate my app to targetSdkVersion 26 until November I need to raise the compileSdkVersion to 28 in order to use WorkManager? Using targetSdkVersion 26 with compileSdkVersion 28 won't work?
su...@google.com <su...@google.com> #11
to...@googlemail.com <to...@googlemail.com> #12
Feel free to contact me if you are not able to build my project.
to...@googlemail.com <to...@googlemail.com> #13
ap...@google.com <ap...@google.com> #14
Branch: androidx-master-dev
commit cee9ab55352f3ad506552afb4753baf8648b4c30
Author: Sumir Kataria <sumir@google.com>
Date: Mon Oct 08 14:20:57 2018
Fix class name in Proguard configuration.
Bug: 116296569
Test: N/A
Change-Id: I3525f9d2f3b06523cbe842b35f97014677879a64
M work/workmanager/proguard-rules.pro
su...@google.com <su...@google.com> #15
to...@googlemail.com <to...@googlemail.com> #16
su...@google.com <su...@google.com> #17
to...@googlemail.com <to...@googlemail.com> #18
su...@google.com <su...@google.com> #19
Just change WorkParameters -> WorkerParameters.
to...@googlemail.com <to...@googlemail.com> #20
Or do you mean that the proguard-rules.pro being shipped with WorkManager 1.0.0-alpha is buggy?
su...@google.com <su...@google.com> #21
to...@googlemail.com <to...@googlemail.com> #22
I prepared my test branch according to your recommendations (ProGuard, compileSdkVersion, targetSdkVersion, support libraries) as you can see here:
The release build however still fails:
00:20:09.182 [QUIET] [system.out] Note: androidx.work.impl.Schedulers: can't find dynamically referenced class androidx.work.impl.background.firebase.FirebaseJobService
00:20:09.182 [QUIET] [system.out] Note: androidx.work.impl.Schedulers: can't find dynamically referenced class androidx.work.impl.background.firebase.FirebaseJobScheduler
00:20:09.210 [QUIET] [system.out] Note: kotlin.internal.PlatformImplementationsKt: can't find dynamically referenced class kotlin.internal.jdk8.JDK8PlatformImplementations
00:20:09.210 [QUIET] [system.out] Note: kotlin.internal.PlatformImplementationsKt: can't find dynamically referenced class kotlin.internal.JRE8PlatformImplementations
00:20:09.210 [QUIET] [system.out] Note: kotlin.internal.PlatformImplementationsKt: can't find dynamically referenced class kotlin.internal.jdk7.JDK7PlatformImplementations
00:20:09.210 [QUIET] [system.out] Note: kotlin.internal.PlatformImplementationsKt: can't find dynamically referenced class kotlin.internal.JRE7PlatformImplementations
00:20:09.212 [QUIET] [system.out] Note: kotlin.jvm.internal.Reflection: can't find dynamically referenced class kotlin.reflect.jvm.internal.ReflectionFactoryImpl
00:20:09.228 [QUIET] [system.out] Note: okhttp3.internal.platform.AndroidPlatform: can't find dynamically referenced class com.android.org.conscrypt.SSLParametersImpl
00:20:09.228 [QUIET] [system.out] Note: okhttp3.internal.platform.AndroidPlatform: can't find dynamically referenced class org.apache.harmony.xnet.provider.jsse.SSLParametersImpl
00:20:09.228 [QUIET] [system.out] Note: okhttp3.internal.platform.AndroidPlatform$CloseGuard: can't find dynamically referenced class dalvik.system.CloseGuard
00:20:09.228 [QUIET] [system.out] Note: okhttp3.internal.platform.ConscryptPlatform: can't find dynamically referenced class org.conscrypt.ConscryptEngineSocket
00:20:09.229 [QUIET] [system.out] Note: okhttp3.internal.platform.Platform: can't find dynamically referenced class sun.security.ssl.SSLContextImpl
00:20:09.955 [QUIET] [system.out] Note: the configuration keeps the entry point 'androidx.core.graphics.drawable.IconCompatParcelizer { android.support.v4.graphics.drawable.IconCompat read(androidx.versionedparcelable.VersionedParcel); }', but not the descriptor class 'androidx.versionedparcelable.VersionedParcel'
00:20:09.955 [QUIET] [system.out] Note: the configuration keeps the entry point 'androidx.core.graphics.drawable.IconCompatParcelizer { void write(android.support.v4.graphics.drawable.IconCompat,androidx.versionedparcelable.VersionedParcel); }', but not the descriptor class 'androidx.versionedparcelable.VersionedParcel'
su...@google.com <su...@google.com> #23
to...@googlemail.com <to...@googlemail.com> #24
ra...@google.com <ra...@google.com> #25
-dontwarn sun.misc.Unsafe
to...@googlemail.com <to...@googlemail.com> #26
Can you please explain which library (version) introduces the Unsafe class?
ri...@googlemail.com <ri...@googlemail.com> #27
2018-12-31 01:40:32.701 2947-2977/de.aurora.mggvertretungsplan.debug E/WM-WorkerFactory: Could not instantiate de.aurora.mggvertretungsplan.services.DownloadTimeTableWorker
java.lang.IllegalAccessException: Class java.lang.Class<androidx.work.WorkerFactory> cannot access method void de.aurora.mggvertretungsplan.services.DownloadTimeTableWorker.<init>(android.content.Context, androidx.work.WorkerParameters) of class java.lang.Class<de.aurora.mggvertretungsplan.services.DownloadTimeTableWorker>
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
at androidx.work.WorkerFactory.createWorkerWithDefaultFallback(WorkerFactory.java:92)
at androidx.work.impl.WorkerWrapper.runWorker(WorkerWrapper.java:191)
at androidx.work.impl.WorkerWrapper.run(WorkerWrapper.java:125)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:764)
2018-12-31 01:40:32.701 2947-2977/de.aurora.mggvertretungsplan.debug E/WM-WorkerWrapper: Could not create Worker de.aurora.mggvertretungsplan.services.DownloadTimeTableWorker
My code can be found at
I'd be very grateful for any kind of support.
Description
Version used: 1.0.0-alpha09
When using ProGuard, the Worker(Context context, WorkerParameters) constructor isn't kept, leading to Workers being unable to be created:
DefaultWorkerFactory: Could not instantiate com.google.android.apps.muzei.sync.ProviderChangedWorker
DefaultWorkerFactory: java.lang.NoSuchMethodException: <init> []
DefaultWorkerFactory: at java.lang.Class.getConstructor0(Class.java:2327)
DefaultWorkerFactory: at java.lang.Class.getDeclaredConstructor(Class.java:2166)
DefaultWorkerFactory: at androidx.work.DefaultWorkerFactory.createWorker(DefaultWorkerFactory.java:58)
DefaultWorkerFactory: at androidx.work.impl.WorkerWrapper.runWorker(WorkerWrapper.java:180)
DefaultWorkerFactory: at androidx.work.impl.WorkerWrapper.run(WorkerWrapper.java:117)
DefaultWorkerFactory: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
DefaultWorkerFactory: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
DefaultWorkerFactory: at java.lang.Thread.run(Thread.java:764)
WorkerWrapper: Could for create Worker com.google.android.apps.muzei.sync.ProviderChangedWorker
I had to manually add the ProGuard rule:
-keepclassmembers class * extends androidx.work.Worker {
public <init>(android.content.Context,androidx.work.WorkerParameters);
}