-
-
Notifications
You must be signed in to change notification settings - Fork 695
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Support android 12 #604
Comments
Hi, Consider targeting a lower Android API than the latest in your App to support more Android devices and versions. With target up to API 30 the library has no known issues. |
I basically did this PendingIntent clickIntent;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.S) {
clickIntent = PendingIntent.getActivity(context, 1, new Intent(context, MainActivity.class), PendingIntent.FLAG_UPDATE_CURRENT|PendingIntent.FLAG_MUTABLE);
} else {
clickIntent = PendingIntent.getActivity(context, 1, new Intent(context, MainActivity.class), PendingIntent.FLAG_UPDATE_CURRENT);
} That got me past clickIntent that left me with actions which I had cancelAction |
You're welcome to make a PR 😉 |
Really apreciate if someone make a PR to support Android 12. Also worth mention that this library uses android services which will no longer be usable if your app is not visible, not even if it's a foreground service (https://developer.android.com/guide/components/foreground-services#background-start-restrictions). Probably should migrate to something with WorkManager expedite jobs or some observable work. |
WorkManager is the way to go for the future. I have limited time now and the next months for such an implementation, but I can support people willing to contribute. |
Android 12 is now supported https://github.com/gotev/android-upload-service/releases/tag/4.7.0 ! Please allow some time to Maven Central to process the new release 😉 |
Not sure if this fixes everything in Android 12. Have you tested starting the upload inside a workmanager while the app is not visible/destroyed? I see that you still uses Service and due new restrictions in apps targeting Android 12 this won't be possible anymore (if the app does not respect this exceptions: https://developer.android.com/guide/components/foreground-services#bg-access-restriction-exemptions). |
@psmorandi the library is intended for uploads to be started from activities/fragments/viewmodels. Starting stuff while the app is in the background is a known limitation at the current state of the art, even before Android 12. #578 (comment) Lines 35 to 75 in c34b275
|
I'm also wondering if it does make sense to still maintain the lib, as moving to WorkManager will mean a total rewrite from the ground up, to be "just" a bunch of job implementations to be used with WorkManager APIs. Current internal architecture revolves around the now "old school" android way of doing stuff:
With WorkManager it will be completely different. Also the library name as it is now won't be representative anymore. |
I know, but with the service and foreground service it worked pretty well for me. Until now of course.
That got me thinking too. But you know, there are a lot of stuff in WorkManager to observe the work being done. And your lib would be very useful to help build an easy way to display progress. Even if you are using WorkManager you still have some boiler plate to get progress done. But I got your point, maybe we need to update to a more "modern school" of doing stuff. Maybe some android-upload-work/worker. |
@psmorandi created a dedicated thread to continue the discussion: #610 |
Hi,
We're using an older version of the library and when we try to upload a file from a device with Android 12 OS the app crashes with the following exception:
java.lang.IllegalArgumentException: Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent. Strongly consider using FLAG_IMMUTABLE, only use FLAG_MUTABLE if some functionality depends on the PendingIntent being mutable, e.g. if it needs to be used with inline replies or bubbles. at android.app.PendingIntent.checkFlags(PendingIntent.java:375) at android.app.PendingIntent.getBroadcastAsUser(PendingIntent.java:645) at android.app.PendingIntent.getBroadcast(PendingIntent.java:632) at net.gotev.uploadservice.UploadNotificationStatusConfig.getClickIntent(UploadNotificationStatusConfig.java:69) at net.gotev.uploadservice.UploadTask.createNotification(UploadTask.java:457) at net.gotev.uploadservice.UploadTask.run(UploadTask.java:145) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) at java.lang.Thread.run(Thread.java:920)
Is the latest release version of the library supports android 12?
If not, are you planning to release a new version soon with API 31 support?
Thank you
The text was updated successfully, but these errors were encountered: