Neo-Launcher icon indicating copy to clipboard operation
Neo-Launcher copied to clipboard

[Bug] Crash if gesture is changed to open an app

Open KR4U7H3R opened this issue 1 year ago • 6 comments

Description

Recently if I try to set an gesture to open an application Neo Launcher crashes. It happens when I click on the apps or links.

Steps to Reproduce

  1. Open Settings
  2. Gestures
  3. Try to change gesture to open app

Device and OS

  • Device: Xiaomi 11 Pro "mars"
  • Android version: 13
  • Launcher version: 0.9.3
  • Rom: xiaomi.EU 14.0.6.0.TKACNXM

Logcat

java.lang.NullPointerException
	at com.saggitt.omega.data.AppItemWithShortcuts$ShortcutItem.<init>(AppItemWithShortcuts.kt:51)
	at com.saggitt.omega.data.AppItemWithShortcuts.loadShortcuts(AppItemWithShortcuts.kt:40)
	at com.saggitt.omega.data.AppItemWithShortcuts.<init>(AppItemWithShortcuts.kt:32)
	at com.saggitt.omega.compose.screens.GestureSelectorKt.ShortcutsScreen(GestureSelector.kt:340)
	at com.saggitt.omega.compose.screens.GestureSelectorKt$MainGesturesScreen$tabs$3.invoke(GestureSelector.kt:140)
	at com.saggitt.omega.compose.screens.GestureSelectorKt$MainGesturesScreen$tabs$3.invoke(GestureSelector.kt:139)
	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:107)
	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
	at com.saggitt.omega.compose.screens.GestureSelectorKt$TabsContent$1.invoke(GestureSelector.kt:503)
	at com.saggitt.omega.compose.screens.GestureSelectorKt$TabsContent$1.invoke(GestureSelector.kt:502)
	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:135)
	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
	at com.google.accompanist.pager.Pager$Pager$8$1$1.invoke(Pager.kt:426)
	at com.google.accompanist.pager.Pager$Pager$8$1$1.invoke(Pager.kt:415)
	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:135)
	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
	at androidx.compose.foundation.lazy.LazyListItemProviderImpl$1.invoke(LazyListItemProvider.kt:80)
	at androidx.compose.foundation.lazy.LazyListItemProviderImpl$1.invoke(LazyListItemProvider.kt:79)
	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:135)
	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
	at androidx.compose.foundation.lazy.layout.DefaultLazyLayoutItemsProvider.Item(LazyLayoutItemProvider.kt:118)
	at androidx.compose.foundation.lazy.LazyListItemProviderImpl.Item(Unknown Source:77)
	at androidx.compose.foundation.lazy.layout.DefaultDelegatingLazyLayoutItemProvider.Item(LazyLayoutItemProvider.kt:197)
	at androidx.compose.foundation.lazy.LazyListItemProviderKt$rememberLazyListItemProvider$1$1.Item(Unknown Source:27)
	at androidx.compose.foundation.lazy.layout.LazyLayoutItemContentFactory$CachedItemContent$createContentLambda$1$1.invoke(LazyLayoutItemContentFactory.kt:99)
	at androidx.compose.foundation.lazy.layout.LazyLayoutItemContentFactory$CachedItemContent$createContentLambda$1$1.invoke(LazyLayoutItemContentFactory.kt:98)
	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:107)
	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
	at androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:228)
	at androidx.compose.runtime.saveable.SaveableStateHolderImpl.SaveableStateProvider(SaveableStateHolder.kt:84)
	at androidx.compose.foundation.lazy.layout.LazySaveableStateHolder.SaveableStateProvider(LazySaveableStateHolder.kt:84)
	at androidx.compose.foundation.lazy.layout.LazyLayoutItemContentFactory$CachedItemContent$createContentLambda$1.invoke(LazyLayoutItemContentFactory.kt:98)
	at androidx.compose.foundation.lazy.layout.LazyLayoutItemContentFactory$CachedItemContent$createContentLambda$1.invoke(LazyLayoutItemContentFactory.kt:90)
	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:107)
	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
	at androidx.compose.ui.layout.LayoutNodeSubcompositionsState$subcompose$2$1$1.invoke(SubcomposeLayout.kt:771)
	at androidx.compose.ui.layout.LayoutNodeSubcompositionsState$subcompose$2$1$1.invoke(SubcomposeLayout.kt:448)
	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:107)
	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
	at androidx.compose.runtime.ActualJvm_jvmKt.invokeComposable(ActualJvm.jvm.kt:78)
	at androidx.compose.runtime.ComposerImpl$doCompose$2$5.invoke(Composer.kt:3248)
	at androidx.compose.runtime.ComposerImpl$doCompose$2$5.invoke(Composer.kt:3238)
	at androidx.compose.runtime.SnapshotStateKt__DerivedStateKt.observeDerivedStateRecalculations(DerivedState.kt:341)
	at androidx.compose.runtime.SnapshotStateKt.observeDerivedStateRecalculations(Unknown Source:1)
	at androidx.compose.runtime.ComposerImpl.doCompose(Composer.kt:3238)
	at androidx.compose.runtime.ComposerImpl.composeContent$runtime_release(Composer.kt:3173)
	at androidx.compose.runtime.CompositionImpl.composeContent(Composition.kt:587)
	at androidx.compose.runtime.Recomposer.composeInitial$runtime_release(Recomposer.kt:950)
	at androidx.compose.runtime.ComposerImpl$CompositionContextImpl.composeInitial$runtime_release(Composer.kt:3848)
	at androidx.compose.runtime.ComposerImpl$CompositionContextImpl.composeInitial$runtime_release(Composer.kt:3848)
	at androidx.compose.runtime.ComposerImpl$CompositionContextImpl.composeInitial$runtime_release(Composer.kt:3848)
	at androidx.compose.runtime.CompositionImpl.setContent(Composition.kt:519)
	at androidx.compose.ui.layout.LayoutNodeSubcompositionsState.subcomposeInto(SubcomposeLayout.kt:468)
	at androidx.compose.ui.layout.LayoutNodeSubcompositionsState.subcompose(SubcomposeLayout.kt:441)
	at androidx.compose.ui.layout.LayoutNodeSubcompositionsState.subcompose(SubcomposeLayout.kt:432)
	at androidx.compose.ui.layout.LayoutNodeSubcompositionsState.precompose(SubcomposeLayout.kt:637)
	at androidx.compose.ui.layout.SubcomposeLayoutState.precompose(SubcomposeLayout.kt:226)
	at androidx.compose.foundation.lazy.layout.LazyLayoutPrefetcher.run(LazyLayoutPrefetcher.android.kt:171)
	at android.os.Handler.handleCallback(Unknown Source:2)
	at android.os.Handler.dispatchMessage(Unknown Source:4)
	at android.os.Looper.loopOnce(Unknown Source:182)
	at android.os.Looper.loop(Unknown Source:82)
	at android.app.ActivityThread.main(Unknown Source:123)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(Unknown Source:11)
	at com.android.internal.os.ZygoteInit.main(Unknown Source:312)

KR4U7H3R avatar Mar 03 '23 10:03 KR4U7H3R

Same, on modded aosp rom, up to date 13 rom with work profile, I think remember it started crashing there when I installed the work profile. On a device without a work peofile it lags a bit before loading, but doesn't crash.

Curious if you have a work profile installed?

0cwa avatar Mar 09 '23 01:03 0cwa

There's some sorta of a variable that we still to find. But it's definitely not the work profile (alone), as I always used it with no crashes and test on developement.

machiav3lli avatar Mar 09 '23 10:03 machiav3lli

I am currently using a second space profile for getting rid of the navigation bar. Cannot say if it stopped working before though.

KR4U7H3R avatar Mar 12 '23 17:03 KR4U7H3R

I'm also getting this, if you try to change any gesture to use an app or a shortcut. I don't have work profiles enabled. I'm using a Pixel 6 on Android 13.

albui avatar Jul 28 '23 02:07 albui

Yeah, we're aware of it and it's already fixed

machiav3lli avatar Jul 28 '23 03:07 machiav3lli

Same issue on Pixel 5, stock Android 13..

DethByte64 avatar Oct 12 '23 21:10 DethByte64