[Android Q&A, Help & Troubleshooting] scarlion:
Hey all, my device is rooted, with Android 11 and XPrivacyLua installed. I have an app here that keeps crashing. I know it's related to XPrivacyLua restrictions, because if I allow it all the permissions then it runs fine. but with XPL enabled and blocking permissions, it crashes. Below is the output of adb logcat --buffer=crash when I try and open it. How can I tell what is specifically causing it? and is there a workaround so I can keep blocking it with XPL and get it to run somehow? Perhaps with a custom spoofing of values with XPL? Thanks

08-26 16:33:22.745 16472 16472 E AndroidRuntime: FATAL EXCEPTION: main
08-26 16:33:22.745 16472 16472 E AndroidRuntime: Process: com.nextdoor, PID: 16472
08-26 16:33:22.745 16472 16472 E AndroidRuntime: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
08-26 16:33:22.745 16472 16472 E AndroidRuntime: at java.util.ArrayList.get(ArrayList.java:437)
08-26 16:33:22.745 16472 16472 E AndroidRuntime: at java.util.Collections.swap(Collections.java:544)
08-26 16:33:22.745 16472 16472 E AndroidRuntime: at com.nextdoor.pushNotification.appbadger.ShortcutBadger.validateInfoList(ShortcutBadger.kt:165)
08-26 16:33:22.745 16472 16472 E AndroidRuntime: at com.nextdoor.pushNotification.appbadger.ShortcutBadger.initBadger(ShortcutBadger.kt:116)
08-26 16:33:22.745 16472 16472 E AndroidRuntime: at com.nextdoor.pushNotification.appbadger.ShortcutBadger.applyCountOrThrow(ShortcutBadger.kt:75)
08-26 16:33:22.745 16472 16472 E AndroidRuntime: at com.nextdoor.pushNotification.appbadger.ShortcutBadger.applyCount(ShortcutBadger.kt:46)
08-26 16:33:22.745 16472 16472 E AndroidRuntime: at com.nextdoor.pushNotification.NotificationChannelManager.updateBadgeCount(NotificationChannelManager.kt:111)
08-26 16:33:22.745 16472 16472 E AndroidRuntime: at com.nextdoor.pushNotification.NotificationChannelManager.clearPrivateMessageNotificationsFromSystemTray(NotificationChannelManager.kt:84)
08-26 16:33:22.745 16472 16472 E AndroidRuntime: at com.nextdoor.pushNotification.NotificationChannelManager.clearPrivateMessageNotificationsFromSystemTray$default(NotificationChannelManager.kt:69)
08-26 16:33:22.745 16472 16472 E AndroidRuntime: at com.nextdoor.view.newsfeed.MessagesPresenter.setBadgeCount(ToolbarActionPresenter.kt:80)
08-26 16:33:22.745 16472 16472 E AndroidRuntime: at com.nextdoor.view.newsfeed.MessagesPresenter.populate(ToolbarActionPresenter.kt:68)
08-26 16:33:22.745 16472 16472 E AndroidRuntime: at com.nextdoor.activity.TopLevelActivityActionBarUtil.createMessagesPresenter(TopLevelActivityActionBarUtil.kt:204)
08-26 16:33:22.745 16472 16472 E AndroidRuntime: at com.nextdoor.activity.TopLevelActivityActionBarUtil.createPresenters(TopLevelActivityActionBarUtil.kt:74)
08-26 16:33:22.745 16472 16472 E AndroidRuntime: at com.nextdoor.newsfeed.fragments.MainFeedFragment.updateBadgeCount(MainFeedFragment.kt:370)
08-26 16:33:22.745 16472 16472 E AndroidRuntime: at com.nextdoor.newsfeed.fragments.MainFeedFragment.access$updateBadgeCount(MainFeedFragment.kt:150)
08-26 16:33:22.745 16472 16472 E AndroidRuntime: at com.nextdoor.newsfeed.fragments.MainFeedFragment$subscribeFeedRendered$1.invoke(MainFeedFragment.kt:362)
08-26 16:33:22.745 16472 16472 E AndroidRuntime: at com.nextdoor.newsfeed.fragments.MainFeedFragment$subscribeFeedRendered$1.invoke(MainFeedFragment.kt:358)
08-26 16:33:22.745 16472 16472 E AndroidRuntime: at com.nextdoor.newsfeed.viewmodels.FeedsViewModelV2$subscribeFeedRendered$2.invoke(FeedsViewModelV2.kt:542)
08-26 16:33:22.745 16472 16472 E AndroidRuntime: at com.nextdoor.newsfeed.viewmodels.FeedsViewModelV2$subscribeFeedRendered$2.invoke(FeedsViewModelV2.kt:540)
08-26 16:33:22.745 16472 16472 E AndroidRuntime: at com.airbnb.mvrx.BaseMvRxViewModel$selectSubscribe$1.invokeSuspend(BaseMvRxViewModel.kt:185)
08-26 16:33:22.745 16472 16472 E AndroidRuntime: at com.airbnb.mvrx.BaseMvRxViewModel$selectSubscribe$1.invoke(Unknown Source:8)
08-26 16:33:22.745 16472 16472 E AndroidRuntime: at com.airbnb.mvrx.BaseMvRxViewModel$selectSubscribe$1.invoke(Unknown Source:2)
08-26 16:33:22.745 16472 16472 E AndroidRuntime: at com.airbnb.mvrx.MavericksViewModelExtensionsKt$_internal1$2.invokeSuspend(MavericksViewModelExtensions.kt:27)
08-26 16:33:22.745 16472 16472 E AndroidRuntime: at com.airbnb.mvrx.MavericksViewModelExtensionsKt$_internal1$2.invoke(Unknown Source:8)
08-26 16:33:22.745 16472 16472 E AndroidRuntime: at com.airbnb.mvrx.MavericksViewModelExtensionsKt$_internal1$2.invoke(Unknown Source:4)
08-26 16:33:22.745 16472 16472 E AndroidRuntime: at kotlinx.coroutines.flow.FlowKt__MergeKt$mapLatest$1.invokeSuspend(Merge.kt:214)
08-26 16:33:22.745 16472 16472 E AndroidRuntime: at kotlinx.coroutines.flow.FlowKt__MergeKt$mapLatest$1.invoke(Unknown Source:13)
08-26 16:33:22.745 16472 16472 E AndroidRuntime: at kotlinx.coroutines.flow.FlowKt__MergeKt$mapLatest$1.invoke(Unknown Source:4)
08-26 16:33:22.745 16472 16472 E AndroidRuntime: at kotlinx.coroutines.flow.internal.ChannelFlowTransformLatest$flowCollect$3$1$2.invokeSuspend(Merge.kt:34)
08-26 16:33:22.745 16472 16472 E AndroidRuntime: at kotlinx.coroutines.flow.internal.ChannelFlowTransformLatest$flowCollect$3$1$2.invoke(Unknown Source:8)
08-26 16:33:22.745 16472 16472 E AndroidRuntime: at kotlinx.coroutines.flow.internal.ChannelFlowTransformLatest$flowCollect$3$1$2.invoke(Unknown Source:4)
08-26 16:33:22.745 16472 16472 E AndroidRuntime: at kotlinx.coroutines.intrinsics.UndispatchedKt.startCoroutineUndispatched(Undispatched.kt:55)
08-26 16:33:22.745 16472 16472 E AndroidRuntime: at kotlinx.coroutines.CoroutineStart.invoke(CoroutineStart.kt:112)
08-26 16:33:22.745 16472 16472 E AndroidRuntime: at kotlinx.coroutines.AbstractCoroutine.start(AbstractCoroutine.kt:126)
08-26 16:33:22.745 16472 16472 E AndroidRuntime: at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch(Builders.common.kt:56)
08-26 16:33:22.745 16472 16472 E AndroidRuntime: at kotlinx.coroutines.BuildersKt.launch(Unknown Source:1)
08-26 16:33:22.745 16472 16472 E AndroidRuntime: at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch$default(Builders.common.kt:47)
08-26 16:33:22.745 16472 16472 E AndroidRuntime: at kotlinx.coroutines.BuildersKt.launch$default(Unknown Source:1)
08-26 16:33:22.745 16472 16472 E AndroidRuntime: at kotlinx.coroutines.flow.internal.ChannelFlowTransformLatest$flowCollect$3$1.emit(Merge.kt:33)
08-26 16:33:22.745 16472 16472 E AndroidRuntime: at kotlinx.coroutines.flow.DistinctFlowImpl$collect$2.emit(Distinct.kt:81)
08-26 16:33:22.745 16472 16472 E AndroidRuntime: at com.airbnb.mvrx.MavericksViewModelExtensionsKt$_internal1$$inlined$map$1$2.emit(Collect.kt:24)
08-26 16:33:22.745 16472 16472 E AndroidRuntime: at kotlinx.coroutines.flow.SharedFlowImpl.collect$suspendImpl(SharedFlow.kt:383)
08-26 16:33:22.745 16472 16472 E AndroidRuntime: at kotlinx.coroutines.flow.SharedFlowImpl$collect$1.invokeSuspend(Unknown Source:12)
08-26 16:33:22.745 16472 16472 E AndroidRuntime: at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
08-26 16:33:22.745 16472 16472 E AndroidRuntime: at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
08-26 16:33:22.745 16472 16472 E AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:938)
08-26 16:33:22.745 16472 16472 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:99)
08-26 16:33:22.745 16472 16472 E AndroidRuntime: at android.os.Looper.loop(Looper.java:223)
08-26 16:33:22.745 16472 16472 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:7664)
08-26 16:33:22.745 16472 16472 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
08-26 16:33:22.745 16472 16472 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
08-26 16:33:22.745 16472 16472 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
08-26 16:33:22.745 16472 16472 E AndroidRuntime: Suppressed: kotlinx.coroutines.DiagnosticCoroutineContextException:[StandaloneCoroutine{Cancelling}@ed6f277, Dispatchers.Main.immediate]