flutter_cache_manager icon indicating copy to clipboard operation
flutter_cache_manager copied to clipboard

Problem with path_provider fixed

Open KalybosPro opened this issue 11 months ago • 5 comments

:sparkles: What kind of change does this PR introduce? (Bug fix, feature, docs update...)

Bug fix

:arrow_heading_down: What is the current behavior?

The current behavior includes an issue caused by the path_provider package, which affects the functionality of the project.

:new: What is the new behavior (if this is a feature change)?

The path_provider package has been removed and replaced with a custom getDirectory() function. This fixes the issue and improves the functionality.

:boom: Does this PR introduce a breaking change?

No, this PR does not introduce a breaking change.

:bug: Recommendations for testing

Test the new getDirectory() function to ensure it works correctly and replaces the previous functionality of the path_provider package.

Verify that all existing features work as expected without any issues.

Run the application on different platforms to confirm compatibility.

:memo: Links to relevant issues/docs

:thinking: Checklist before submitting

  • [ ] All projects build
  • [ ] Follows style guide lines (code style guide)
  • [ ] Relevant documentation was updated
  • [ ] Rebased onto current develop

KalybosPro avatar Mar 13 '25 08:03 KalybosPro

Actually, the sqflite author discourages to use the getDatabasesPath and recommends to use path_provider. What's the issue with path_provider that you mention? Do you maybe have a link to a github issue?

https://github.com/tekartik/sqflite/blob/master/sqflite_common_ffi/README.md?plain=1#L163C20-L163C33

renefloor avatar Mar 13 '25 08:03 renefloor

Actually, the sqflite author discourages to use the getDatabasesPath and recommends to use path_provider. What's the issue with path_provider that you mention? Do you maybe have a link to a github issue?

https://github.com/tekartik/sqflite/blob/master/sqflite_common_ffi/README.md?plain=1#L163C20-L163C33

You're right, but the path_provider package is currently facing some issues and isn't working correctly with Flutter 3.29. Therefore, we can use the getDatabasesPath function for now.

KalybosPro avatar Mar 13 '25 09:03 KalybosPro

Actually, the sqflite author discourages to use the getDatabasesPath and recommends to use path_provider. What's the issue with path_provider that you mention? Do you maybe have a link to a github issue?

https://github.com/tekartik/sqflite/blob/master/sqflite_common_ffi/README.md?plain=1#L163C20-L163C33

We can't not wait for path_provider author to update his package. This package is used by many packages (cached_network_image for example)

KalybosPro avatar Mar 13 '25 09:03 KalybosPro

But I still don't get what the issue is. If I look at the open issues there is no recent issue about android: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+path_provider%22

The cached_network_image example has some outdated android project files, but if I delete them and recreate them it runs fine on Android with Flutter 3.29.0.

Can you point me to a specific issue that you have with path_provider? I wonder if you should just update your gradle files. It's also good to use java 17 instead of 21 on Android Studio.

renefloor avatar Mar 13 '25 09:03 renefloor

But I still don't get what the issue is. If I look at the open issues there is no recent issue about android: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+path_provider%22

The cached_network_image example has some outdated android project files, but if I delete them and recreate them it runs fine on Android with Flutter 3.29.0.

Can you point me to a specific issue that you have with path_provider? I wonder if you should just update your gradle files. It's also good to use java 17 instead of 21 on Android Studio.

I can't point you to the specific issue because the issue is not on github. I was notified by my app users that the images are not showing up. After days of looking for the cause of that issue, I found out that, the issue related to path_provider. In debug mode, everything works fine but not in release mode. The app cannot get the directories (documents, downloads, etc...) After removing everything related to path_provider and rewrite the code, my app works fine.

KalybosPro avatar Mar 13 '25 11:03 KalybosPro