[@nativescript/background-http] packagename - illegal argument exception
Issue Description
Hi guys,
When I try to use your background http to upload a file,
I noticed I am getting :
Exception java.lang.RuntimeException: Unable to create service net.gotev.uploadservice.UploadService: java.lang.IllegalArgumentException: You have to set namespace to your app package name (context.packageName) in your Application subclass at android.app.ActivityThread.handleCreateService (ActivityThread.java:5086) at android.app.ActivityThread.-$$Nest$mhandleCreateService at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2428) at android.os.Handler.dispatchMessage (Handler.java:106) at android.os.Looper.loopOnce (Looper.java:226) at android.os.Looper.loop (Looper.java:313) at android.app.ActivityThread.main (ActivityThread.java:8757) at java.lang.reflect.Method.invoke at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:571) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1067) Caused by java.lang.IllegalArgumentException: You have to set namespace to your app package name (context.packageName) in your Application subclass at net.gotev.uploadservice.UploadServiceConfig.getNamespace (UploadServiceConfig.kt:74) at net.gotev.uploadservice.UploadServiceConfig.getBroadcastNotificationAction (UploadServiceConfig.kt:234) at net.gotev.uploadservice.UploadServiceConfig.getBroadcastNotificationActionIntentFilter (UploadServiceConfig.kt:248) at net.gotev.uploadservice.observer.request.NotificationActionsObserver.register (NotificationActionsObserver.kt:31) at net.gotev.uploadservice.UploadService.onCreate (UploadService.kt:194) at android.app.ActivityThread.handleCreateService (ActivityThread.java:5073)
This is because in this file: https://github.com/NativeScript/plugins/blob/main/packages/background-http/index.android.ts line 30, we pass in the Utils.android.getApplication() but the inner method is looking for Utils.android.getApplication().packageName, whereas we get the packageName by Utils.android.getApplication().getPackageName() which can be null/empty, not sure if this is a bug?
Reproduction
- uploadFile
- close the app and reopen
- app crash.
Relevant log output (if applicable)
No response
Environment
No response
Please accept these terms
- [X] I have searched the existing issues as well as StackOverflow and this has not been posted before
- [X] This is a bug report
- [X] I agree to follow this project's Code of Conduct
I have started seeing this error recently as well (in Crashlytics). Android versions 10, 12, 13 A lot of Galaxy devices, but that could just be a popular brand for our users (S23, A13, S21, S20, S22, etc). Some other manufacturers as well.
This is not ALL android users. And I would suspect not every upload even for these users, but some condition must trigger it.
Fatal Exception: java.lang.RuntimeException
Unable to create service net.gotev.uploadservice.UploadService: java.lang.IllegalArgumentException: You have to set namespace to your app package name (context.packageName) in your Application subclass
Caused by java.lang.IllegalArgumentException
You have to set namespace to your app package name (context.packageName) in your Application subclass
I'm also trying to get background-http working again in an app and am getting:
JS: CONSOLE ERROR: ERROR Error: java.lang.IllegalArgumentException: You have to set namespace to your app package name (context.packageName) in your Application subclass
You need to call init before using the plugin