App crashes after trying to create a shortcut for a file
- Dominant language
- Kotlin
- Stars
- 5.6k
- Forks
- 2k
- Avg merge
- 2d 18h
- Merged PRs (30d)
- 92
Description
### ⚠️ Before posting ⚠️
- [x] This is a **bug**, not a question or an enhancement.
- [x] I've [searched for similar issues](https://github.com/nextcloud/android/issues) and didn't find a duplicate.
- [x] I've written a clear and descriptive title for this issue, not just "Bug" or "Crash".
- [x] I agree to follow Nextcloud's [Code of Conduct](https://nextcloud.com/contribute/code-of-conduct/).
### Steps to reproduce
Select a file from the app and try adding it to the home screen
### Expected behaviour
Shortcut should be placed on home screen
### Actual behaviour
### Cause of error
```java
Exception in thread "main" java.lang.IllegalArgumentException: Shortcut ID=ShortcutInfo {id=***, flags=0xc2 [DisPinStr], packageName=com.nextcloud.client, activity=ComponentInfo{com.nextcloud.client/com.nmc.android.ui.LauncherActivity}, shortLabel=***, resId=0[null], longLabel=***, resId=0[null], disabledMessage=***, resId=0[null], disabledReason=[Disabled: backup not supported], categories=null, persons=[], icon=null, rank=0, timestamp=1730057227244, intents=size:0, extras=null} already exists but disabled.
at android.os.Parcel.createExceptionOrNull(Parcel.java:3061)
at android.os.Parcel.createException(Parcel.java:3041)
at android.os.Parcel.readException(Parcel.java:3024)
at android.os.Parcel.readException(Parcel.java:2966)
at android.content.pm.IShortcutService$Stub$Proxy.createShortcutResultIntent(IShortcutService.java:710)
at android.content.pm.ShortcutManager.createShortcutResultIntent(ShortcutManager.java:631)
at androidx.core.content.pm.ShortcutManagerCompat.createShortcutResultIntent(ShortcutManagerCompat.java:241)
at com.nextcloud.utils.ShortcutUtil.addShortcutToHomescreen(ShortcutUtil.kt:82)
at com.owncloud.android.ui.fragment.OCFileListFragment.onFileActionChosen(OCFileListFragment.java:1219)
at com.owncloud.android.ui.fragment.OCFileListFragment.lambda$openActionsMenu$5(OCFileListFragment.java:620)
at com.owncloud.android.ui.fragment.OCFileListFragment.$r8$lambda$GTzDsaljDsuh0eg2OwTJLj4FANE(Unknown Source:0)
at com.owncloud.android.ui.fragment.OCFileListFragment$$ExternalSyntheticLambda4.onResult(D8$$SyntheticClass:0)
at com.nextcloud.ui.fileactions.FileActionsBottomSheet.setResultListener$lambda$4(FileActionsBottomSheet.kt:178)
at com.nextcloud.ui.fileactions.FileActionsBottomSheet.$r8$lambda$vn4xC9JW-ZvT0TY_2jyEBYzw5ZU(Unknown Source:0)
at com.nextcloud.ui.fileactions.FileActionsBottomSheet$$ExternalSyntheticLambda0.onFragmentResult(D8$$SyntheticClass:0)
at androidx.fragment.app.FragmentManager$LifecycleAwareResultListener.onFragmentResult(FragmentManager.java:267)
at androidx.fragment.app.FragmentManager.setFragmentResult(FragmentManager.java:945)
at androidx.fragment.app.FragmentKt.setFragmentResult(Fragment.kt:33)
at com.nextcloud.ui.fileactions.FileActionsBottomSheet.dispatchActionClick(FileActionsBottomSheet.kt:298)
at com.nextcloud.ui.fileactions.FileActionsBottomSheet.access$dispatchActionClick(FileActionsBottomSheet.kt:50)
at com.nextcloud.ui.fileactions.FileActionsBottomSheet$onCreateView$2.invoke(FileActionsBottomSheet.kt:88)
at com.nextcloud.ui.fileactions.FileActionsBottomSheet$onCreateView$2.invoke(FileActionsBottomSheet.kt:87)
at com.nextcloud.ui.fileactions.FileActionsBottomSheet$sam$androidx_lifecycle_Observer$0.onChanged(Unknown Source:2)
at androidx.lifecycle.LiveData.considerNotify(LiveData.java:133)
at androidx.lifecycle.LiveData.dispatchingValue(LiveData.java:151)
at androidx.lifecycle.LiveData.setValue(LiveData.java:309)
at androidx.lifecycle.MutableLiveData.setValue(MutableLiveData.java:50)
at com.nextcloud.ui.fileactions.FileActionsViewModel.onClick(FileActionsViewModel.kt:147)
at com.nextcloud.ui.fileactions.FileActionsBottomSheet.inflateActionView$lambda$9$lambda$8(FileActionsBottomSheet.kt:281)
at com.nextcloud.ui.fileactions.FileActionsBottomSheet.$r8$lambda$uchH_ll8ENOPxscjh3brNAOCY4U(Unknown Source:0)
at com.nextcloud.ui.fileactions.FileActionsBottomSheet$$ExternalSyntheticLambda1.onClick(D8$$SyntheticClass:0)
at android.view.View.performClick(View.java:7670)
at android.view.View.performClickInternal(View.java:7644)
at android.view.View.-$$Nest$mperformClickInternal(Unknown Source:0)
at android.view.View$PerformClick.run(View.java:30175)
at android.os.Handler.handleCallback(Handler.java:958)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:205)
at android.os.Looper.loop(Looper.java:294)
at android.app.ActivityThread.main(ActivityThread.java:8223)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:977)
Caused by: Exception in thread "main" android.os.RemoteException: Remote stack trace:
at com.android.internal.util.Preconditions.checkArgument(Preconditions.java:59)
at com.android.server.pm.ShortcutRequestPinProcessor.validateExistingShortcut(ShortcutRequestPinProcessor.java:382)
at com.android.server.pm.ShortcutRequestPinProcessor.requestPinShortcutLocked(ShortcutRequestPinProcessor.java:321)
at com.android.server.pm.ShortcutRequestPinProcessor.createShortcutResultIntent(ShortcutRequestPinProcessor.java:290)
at com.android.server.pm.ShortcutService.createShortcutResultIntent(ShortcutService.java:2313)
```
### App information
* ID: `com.nextcloud.client`
* Version: `30290290`
* Build flavor: `gplay`
### Device information
* Brand: `Sony`
* Device: `XQ-DE54`
* Model: `XQ-DE54`
* Id: `67.1.A.2.182`
* Product: `XQ-DE54_EEA`
### Firmware
* SDK: `34`
* Release: `14`
* Incremental: `067001A002018200523109309`
### Android version
14
### Device brand and model
sony 5 v
### Stock or custom OS?
Stock
### Nextcloud android app version
30290290
### Nextcloud server version
29.0.8
### Using a reverse proxy?
Yes
### Android logs
_No response_
### Server error logs
_No response_
### Additional information
_No response_
Contributor guide
Assessment
This issue has not been assessed yet.