Bug P3
Status Update
Comments
su...@samsung.corp-partner.google.com <su...@samsung.corp-partner.google.com> #2
Comment has been deleted.
al...@google.com <al...@google.com> #3
Now i sure this is viewpager2's bug.
because just occur recyclerview inside viewpager2 with constraintlayout, if paging3 use Independently with viewpage2 it's not problem.
because just occur recyclerview inside viewpager2 with constraintlayout, if paging3 use Independently with viewpage2 it's not problem.
al...@google.com <al...@google.com> #5
deleted
cr...@gmail.com <cr...@gmail.com> #6
deleted
al...@google.com <al...@google.com> #7
cr...@gmail.com <cr...@gmail.com> #8
1.2.1 works great! Thank you! I've tested this issue in all cases I've experienced the crash, this issue can be closed.
Description
Version used: 1.2.0
Devices/Android versions reproduced on: Samsung Galaxy Watch 4 with Wear OS 4. Software version: R870XXU1HWL1 SM-R870NZKAXAA. Android studio Wear OS emulators are not affected.
androidx.wear.watchface 1.2.0 causes WatchFaceKotlin sample and similar apps to crash on Samsung Galaxy Watch 4 (Wear OS 4) after revoking RECEIVE_COMPLICATION_DATA permission, or when A WatchFaceService() is restarted by the system. Android Studio Wear OS emulators don't seem to be affected.
The error, "resourceOnlyWatchFacePackageName"(being null), looks to be part of the new watchfaceformat and is A parameter in the new androidx.wear.watchface.WatchFaceRuntimeService member methods in androidx.wear.watchface 1.2.0, but neither my app nor the WatchFaceKotlin sample use WatchFaceRuntimeService, only WatchFaceService which doesn't have "resourceOnlyWatchFacePackageName" in its method parameters.
-----START LOG-----
12-30 03:21:39.868 20102 20115 E InteractiveInstanceManager: Existing instance has the resourceOnlyWatchFacePackageName of null, which is different from the argument watchFaceId of com.example.android.wearable.alpha.
12-30 03:21:39.914 20102 20115 E IWatchFaceInstanceServiceStub: getOrCreateInteractiveWatchFace failed
12-30 03:21:39.914 20102 20115 E IWatchFaceInstanceServiceStub: java.lang.IllegalStateException: Existing instance has the resourceOnlyWatchFacePackageName of null, which is different from the argument watchFaceId of com.example.android.wearable.alpha.
12-30 03:21:39.914 20102 20115 E IWatchFaceInstanceServiceStub: at androidx.wear.watchface.control.InteractiveInstanceManager$Companion.getExistingInstanceOrSetPendingWallpaperInteractiveWatchFaceInstance(InteractiveInstanceManager.kt:209)
12-30 03:21:39.914 20102 20115 E IWatchFaceInstanceServiceStub: at androidx.wear.watchface.control.IWatchFaceInstanceServiceStub.getOrCreateInteractiveWatchFace(WatchFaceControlService.kt:212)
12-30 03:21:39.914 20102 20115 E IWatchFaceInstanceServiceStub: at androidx.wear.watchface.control.IWatchFaceControlService$Stub.onTransact(IWatchFaceControlService.java:196)
12-30 03:21:39.914 20102 20115 E IWatchFaceInstanceServiceStub: at android.os.Binder.execTransactInternal(Binder.java:1280)
12-30 03:21:39.914 20102 20115 E IWatchFaceInstanceServiceStub: at android.os.Binder.execTransact(Binder.java:1244)
12-30 03:21:40.105 845 892 E WearServices: [AndroidXWatchFaceEngine]Cannot set up InteractiveWatchFaceWearServicesInstance connection with watch face WatchFaceInfo[WatchFaceId[com.example.android.wearable.alpha,com.example.android.wearable.alpha.AnalogWatchFaceService],null], watchFaceControlClientCreated = true
12-30 03:21:40.105 845 892 E WearServices: java.util.concurrent.ExecutionException: java.lang.IllegalStateException: Existing instance has the resourceOnlyWatchFacePackageName of null, which is different from the argument watchFaceId of com.example.android.wearable.alpha.
12-30 03:21:40.105 845 892 E WearServices: at androidx.concurrent.futures.AbstractResolvableFuture.getDoneValue(AbstractResolvableFuture.java:518)
12-30 03:21:40.105 845 892 E WearServices: at androidx.concurrent.futures.AbstractResolvableFuture.get(AbstractResolvableFuture.java:366)
12-30 03:21:40.105 845 892 E WearServices: at com.google.common.util.concurrent.Uninterruptibles.getUninterruptibly(Uninterruptibles.java:249)
12-30 03:21:40.105 845 892 E WearServices: at com.google.wear.services.infra.concurrent.CwFutures.getOrCancelInterrupted(CwFutures.java:35)
12-30 03:21:40.105 845 892 E WearServices: at com.google.wear.services.watchfaces.active.AndroidXWatchFaceEngine.blockAndCreateWatchFaceWearServicesClient(AndroidXWatchFaceEngine.java:578)
12-30 03:21:40.105 845 892 E WearServices: at com.google.wear.services.watchfaces.active.AndroidXWatchFaceEngine.switchTo(AndroidXWatchFaceEngine.java:223)
12-30 03:21:40.105 845 892 E WearServices: at com.google.wear.services.watchfaces.active.ActiveWatchFaceFacade.recoverWatchFace(ActiveWatchFaceFacade.java:838)
12-30 03:21:40.105 845 892 E WearServices: at com.google.wear.services.watchfaces.active.ActiveWatchFaceFacade.lambda$scheduleWatchFaceRecovery$6(ActiveWatchFaceFacade.java:810)
12-30 03:21:40.105 845 892 E WearServices: at com.google.wear.services.watchfaces.active.ActiveWatchFaceFacade.$r8$lambda$9Fm3AcwbH2EYyKOwdEWOMhrqOKk(Unknown Source:0)
12-30 03:21:40.105 845 892 E WearServices: at com.google.wear.services.watchfaces.active.ActiveWatchFaceFacade$$ExternalSyntheticLambda2.run(Unknown Source:4)
12-30 03:21:40.105 845 892 E WearServices: at com.google.wear.services.infra.concurrent.WrappedCwRunnable.run(WrappedCwRunnable.java:33)
12-30 03:21:40.105 845 892 E WearServices: at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:463)
12-30 03:21:40.105 845 892 E WearServices: at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:131)
12-30 03:21:40.105 845 892 E WearServices: at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:74)
12-30 03:21:40.105 845 892 E WearServices: at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:82)
12-30 03:21:40.105 845 892 E WearServices: at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:463)
12-30 03:21:40.105 845 892 E WearServices: at java.util.concurrent.FutureTask.run(FutureTask.java:264)
12-30 03:21:40.105 845 892 E WearServices: at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:307)
12-30 03:21:40.105 845 892 E WearServices: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
12-30 03:21:40.105 845 892 E WearServices: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
12-30 03:21:40.105 845 892 E WearServices: at com.google.wear.services.infra.concurrent.CwPriorityRunnable.run(CwPriorityRunnable.java:36)
12-30 03:21:40.105 845 892 E WearServices: at java.lang.Thread.run(Thread.java:1012)
12-30 03:21:40.105 845 892 E WearServices: Caused by: java.lang.IllegalStateException: Existing instance has the resourceOnlyWatchFacePackageName of null, which is different from the argument watchFaceId of com.example.android.wearable.alpha.
12-30 03:21:40.105 845 892 E WearServices: at android.os.Parcel.createExceptionOrNull(Parcel.java:3031)
12-30 03:21:40.105 845 892 E WearServices: at android.os.Parcel.createException(Parcel.java:3007)
12-30 03:21:40.105 845 892 E WearServices: at android.os.Parcel.readException(Parcel.java:2990)
12-30 03:21:40.105 845 892 E WearServices: at android.os.Parcel.readException(Parcel.java:2932)
12-30 03:21:40.105 845 892 E WearServices: at androidx.wear.watchface.control.IWatchFaceControlService$Stub$Proxy.getOrCreateInteractiveWatchFace(IWatchFaceControlService.java:375)
12-30 03:21:40.105 845 892 E WearServices: at androidx.wear.watchface.client.WatchFaceControlClientImpl.getOrCreateInteractiveWatchFaceClientImpl(WatchFaceControlClient.kt:492)
12-30 03:21:40.105 845 892 E WearServices: at androidx.wear.watchface.client.WatchFaceControlClientImpl.getOrCreateInteractiveWatchFaceClient(WatchFaceControlClient.kt:451)
12-30 03:21:40.105 845 892 E WearServices: at androidx.wear.watchface.client.ListenableWatchFaceControlClient$listenableGetOrCreateInteractiveWatchFaceClient$2.invokeSuspend(ListenableWatchFaceControlClient.kt:244)
12-30 03:21:40.105 845 892 E WearServices: at androidx.wear.watchface.client.ListenableWatchFaceControlClient$listenableGetOrCreateInteractiveWatchFaceClient$2.invoke(Unknown Source:8)
12-30 03:21:40.106 845 892 E WearServices: at androidx.wear.watchface.client.ListenableWatchFaceControlClient$listenableGetOrCreateInteractiveWatchFaceClient$2.invoke(Unknown Source:4)
12-30 03:21:40.106 845 892 E WearServices: at androidx.wear.watchface.client.ListenableWatchFaceControlClient$Companion$launchFutureCoroutine$1.invokeSuspend(ListenableWatchFaceControlClient.kt:83)
12-30 03:21:40.106 845 892 E WearServices: at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
12-30 03:21:40.106 845 892 E WearServices: at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
12-30 03:21:40.106 845 892 E WearServices: at androidx.wear.watchface.client.ListenableWatchFaceControlClient$Companion$createImmediateCoroutineScope$1.dispatch(ListenableWatchFaceControlClient.kt:55)
12-30 03:21:40.106 845 892 E WearServices: at kotlinx.coroutines.internal.DispatchedContinuationKt.resumeCancellableWith(DispatchedContinuation.kt:222)
12-30 03:21:40.106 845 892 E WearServices: at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable(Cancellable.kt:30)
12-30 03:21:40.106 845 892 E WearServices: at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable$default(Cancellable.kt:25)
12-30 03:21:40.106 845 892 E WearServices: at kotlinx.coroutines.CoroutineStart.invoke(CoroutineStart.kt:110)
12-30 03:21:40.106 845 892 E WearServices: at kotlinx.coroutines.AbstractCoroutine.start(AbstractCoroutine.kt:126)
12-30 03:21:40.106 845 892 E WearServices: at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch(Builders.common.kt:56)
12-30 03:21:40.106 845 892 E WearServices: at kotlinx.coroutines.BuildersKt.launch(Unknown Source:1)
12-30 03:21:40.106 845 892 E WearServices: at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch$default(Builders.common.kt:47)
12-30 03:21:40.106 845 892 E WearServices: at kotlinx.coroutines.BuildersKt.launch$default(Unknown Source:1)
12-30 03:21:40.106 845 892 E WearServices: at androidx.wear.watchface.client.ListenableWatchFaceControlClient$Companion.launchFutureCoroutine$watchface_client_guava_release(ListenableWatchFaceControlClient.kt:72)
12-30 03:21:40.106 845 892 E WearServices: at androidx.wear.watchface.client.ListenableWatchFaceControlClient.listenableGetOrCreateInteractiveWatchFaceClient(ListenableWatchFaceControlClient.kt:241)
12-30 03:21:40.106 845 892 E WearServices: at com.google.wear.services.watchfaces.active.AndroidXWatchFaceEngine.blockAndCreateWatchFaceWearServicesClient(AndroidXWatchFaceEngine.java:536)
12-30 03:21:40.106 845 892 E WearServices: ... 17 more
----- END LOG-----