Giter VIP home page Giter VIP logo

chochanaresh / filepicker Goto Github PK

View Code? Open in Web Editor NEW
127.0 2.0 13.0 311 KB

All file and media picker library for android. This library is designed to simplify the process of selecting and retrieving media files from an Android device, and supports media capture for images and videos.

Home Page: https://github.com/ChochaNaresh/FilePicker

License: Apache License 2.0

Kotlin 100.00%
android filepicker imagepicker kotlin-android videopicker allfilepicker mutiplefilepicker androidlibrary file android-library

filepicker's People

Contributors

chochanaresh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

filepicker's Issues

Opening binary files (.hex, .mot, ...)

I test sample app. I changed mime type to "application/octet-stream" in pick PDF buttons onclick handler. Then in the app we can select the file, but in ActivityResultLauncher both testFile.canRead(), testFile.canWrite() are false. As result the file can not be read.

The cause seems to be mediafile permission is requested

App Crashed When I try to pick a pdf document from storage in Android 12 motorola from recents or whatsapp media document

java.lang.NullPointerException
at com.nareshchocha.filepickerlibrary.utilities.FileUtils.getDataColumn(FileUtils.kt:154)
at com.nareshchocha.filepickerlibrary.utilities.FileUtils.getMediaDocumentPath(FileUtils.kt:96)
at com.nareshchocha.filepickerlibrary.utilities.FileUtils.pathFromURI(FileUtils.kt:39)
at com.nareshchocha.filepickerlibrary.utilities.FileUtils.getRealPath(FileUtils.kt:21)
at com.nareshchocha.filepickerlibrary.ui.activitys.DocumentFilePickerActivity$selectFile$1.invoke(DocumentFilePickerActivity.kt:66)
at com.nareshchocha.filepickerlibrary.ui.activitys.DocumentFilePickerActivity$selectFile$1.invoke(DocumentFilePickerActivity.kt:56)
at com.nareshchocha.filepickerlibrary.picker.PickerUtils.selectFile$lambda$0(PickerUtils.kt:23)
at com.nareshchocha.filepickerlibrary.picker.PickerUtils.$r8$lambda$5EjpwZuwUTQfOHixKEdyGZdAUG8(Unknown Source:0)
at com.nareshchocha.filepickerlibrary.picker.PickerUtils$$ExternalSyntheticLambda0.onActivityResult(Unknown Source:2)
at androidx.activity.result.ActivityResultRegistry$1.onStateChanged(ActivityResultRegistry.java:149)
at androidx.lifecycle.LifecycleRegistry$ObserverWithState.dispatchEvent(LifecycleRegistry.kt:314)
at androidx.lifecycle.LifecycleRegistry.forwardPass(LifecycleRegistry.kt:251)
at androidx.lifecycle.LifecycleRegistry.sync(LifecycleRegistry.kt:287)
at androidx.lifecycle.LifecycleRegistry.moveToState(LifecycleRegistry.kt:136)
at androidx.lifecycle.LifecycleRegistry.handleLifecycleEvent(LifecycleRegistry.kt:119)
at androidx.lifecycle.ReportFragment$Companion.dispatch$lifecycle_runtime_release(ReportFragment.kt:192)
at androidx.lifecycle.ReportFragment$LifecycleCallbacks.onActivityPostStarted(ReportFragment.kt:121)
at android.app.Activity.dispatchActivityPostStarted(Activity.java:1431)
at android.app.Activity.performStart(Activity.java:8296)
at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3776)
at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:221)
at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:201)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:173)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2311)
at android.os.Handler.dispatchMessage(Handler.java:111)
at android.os.Looper.loopOnce(Looper.java:238)
at android.os.Looper.loop(Looper.java:357)
at android.app.ActivityThread.main(ActivityThread.java:8090)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1026)

Gradle Plugin 8.0 suppoort

Caused by: org.gradle.internal.resolve.ModuleVersionNotFoundException: Could not find com.github.ChochaNaresh:FilePicker:0.1.6.

Config camera facing option

Whenever my app open the camera UI, it's always using the front camera. How do I force to use the back camera? Couldn't find the config inside ImageCaptureConfig.

Thank you in advance for this library.

Maximum file selection Issue

I configured maximum selection 5. But I can select more than 5. How to reselect the already chosen files after clicking the Choose button.

imageCaptureBuild Image rotate

Hi,
I am testing your library, really usefully, thanks

I am using new FilePicker.Builder(mContext).imageCaptureBuild(new ImageCaptureConfig())
and I am receiving an image with a 90° rotation

Dark Theme support

I am getting this issue when I change the theme of app to Dark. Picker Dialog looks like this.
Screenshot_20240121_015935

Android 12 Video Capture Issue

java.lang.SecurityException: UID 10299 does not have permission to content://com.abc.xyz.filepicker.fileprovider/secure_name/FilePicker/tempVideo_1685537034619.mp4 [user 0]

SecurityException While Trying to capture video from camera

Video Picker Crash

Hi, Video Capture is working fine in android 13 but video picker is giving error , I am using latest 0.1.4

Caused by: java.lang.SecurityException: UID 10512 does not have permission to content://media/picker/0/com.android.providers.media.photopicker/media/1000085114 [user 0]

Android 14 issue

Please check image picker in android 14, we are getting 2 bottom sheet one after another when give access to single image.

Android 10 Permission Denied dialog

My app is already having CAMERA and WRITE_EXTERNAL_STORAGE permission allowed but still, Permission Denied Dialog is being displayed in Android 10.

App Crashed When I try to pick a document from storage in Android 10 or higher.

I tried to pick a pdf document from storage in android 10 or higher versions
below android 10 versions perfectly working

manged



permissions
and I get.

FATAL EXCEPTION: main
Process: com.inaipi.spark, PID: 23383
java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=907489456, result=-1, data=Intent { dat=content://com.android.providers.downloads.documents/... flg=0x43 }} to activity {com.inaipi.spark/com.nareshchocha.filepickerlibrary.ui.activitys.DocumentFilePickerActivity}: java.lang.NumberFormatException: For input string: "msf:1000000043"
at android.app.ActivityThread.deliverResults(ActivityThread.java:5323)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:5362)
at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:67)
at android.app.servertransaction.ActivityTransactionItem.execute(ActivityTransactionItem.java:45)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2307)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:201)
at android.os.Looper.loop(Looper.java:288)
at android.app.ActivityThread.main(ActivityThread.java:7872)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
Caused by: java.lang.NumberFormatException: For input string: "msf:1000000043"
at java.lang.Long.parseLong(Long.java:736)
at java.lang.Long.valueOf(Long.java:1188)
at com.nareshchocha.filepickerlibrary.utilities.FileUtils.getDownloadsDocumentPath(FileUtils.kt:114)
at com.nareshchocha.filepickerlibrary.utilities.FileUtils.pathFromURI(FileUtils.kt:35)
at com.nareshchocha.filepickerlibrary.utilities.FileUtils.getRealPath(FileUtils.kt:21)
at com.nareshchocha.filepickerlibrary.ui.activitys.DocumentFilePickerActivity$selectFile$1.invoke(DocumentFilePickerActivity.kt:66)
at com.nareshchocha.filepickerlibrary.ui.activitys.DocumentFilePickerActivity$selectFile$1.invoke(DocumentFilePickerActivity.kt:56)
at com.nareshchocha.filepickerlibrary.picker.PickerUtils.selectFile$lambda$0(PickerUtils.kt:23)
at com.nareshchocha.filepickerlibrary.picker.PickerUtils.$r8$lambda$5EjpwZuwUTQfOHixKEdyGZdAUG8(Unknown Source:0)
at com.nareshchocha.filepickerlibrary.picker.PickerUtils$$ExternalSyntheticLambda0.onActivityResult(Unknown Source:2)
at androidx.activity.result.ActivityResultRegistry.doDispatch(ActivityResultRegistry.java:418)
at androidx.activity.result.ActivityResultRegistry.dispatchResult(ActivityResultRegistry.java:375)
at androidx.activity.ComponentActivity.onActivityResult(ComponentActivity.java:793)
at androidx.fragment.app.FragmentActivity.onActivityResult(FragmentActivity.java:164)
at android.app.Activity.dispatchActivityResult(Activity.java:8628)
at android.app.ActivityThread.deliverResults(ActivityThread.java:5316)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:5362) 
at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:67) 
at android.app.servertransaction.ActivityTransactionItem.execute(ActivityTransactionItem.java:45) 
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) 
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2307) 
at android.os.Handler.dispatchMessage(Handler.java:106) 
at android.os.Looper.loopOnce(Looper.java:201) 
at android.os.Looper.loop(Looper.java:288) 
at android.app.ActivityThread.main(ActivityThread.java:7872) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936) 

Android 10 issue

Hi
please check issue in android 10, image is not picking from picker

Crash on Xiomi Note 5 pro - Android 9 - API 28

I try to pick the file, initially I feel some lacking issue.

First few attempts it's works.

But it crashed

Error log

E FATAL EXCEPTION: main Process: com.nareshchocha.filepicker, PID: 18763 java.lang.IllegalArgumentException: Unknown URI: content://downloads/public_downloads/87788 at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:165) at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:135) at android.content.ContentProviderProxy.query(ContentProviderNative.java:418) at android.content.ContentResolver.query(ContentResolver.java:804) at android.content.ContentResolver.query(ContentResolver.java:753) at android.content.ContentResolver.query(ContentResolver.java:711) at com.nareshchocha.filepickerlibrary.utilities.FileUtils.getDataColumn(FileUtils.kt:153) at com.nareshchocha.filepickerlibrary.utilities.FileUtils.getDownloadsDocumentPath(FileUtils.kt:116) at com.nareshchocha.filepickerlibrary.utilities.FileUtils.pathFromURI(FileUtils.kt:35) at com.nareshchocha.filepickerlibrary.utilities.FileUtils.getRealPath(FileUtils.kt:21) at com.nareshchocha.filepickerlibrary.ui.activitys.DocumentFilePickerActivity$selectFile$1.invoke(DocumentFilePickerActivity.kt:66) at com.nareshchocha.filepickerlibrary.ui.activitys.DocumentFilePickerActivity$selectFile$1.invoke(DocumentFilePickerActivity.kt:56) at com.nareshchocha.filepickerlibrary.picker.PickerUtils.selectFile$lambda$0(PickerUtils.kt:23) at com.nareshchocha.filepickerlibrary.picker.PickerUtils.$r8$lambda$5EjpwZuwUTQfOHixKEdyGZdAUG8(Unknown Source:0) at com.nareshchocha.filepickerlibrary.picker.PickerUtils$$ExternalSyntheticLambda0.onActivityResult(Unknown Source:2) at androidx.activity.result.ActivityResultRegistry$1.onStateChanged(ActivityResultRegistry.java:149) at androidx.lifecycle.LifecycleRegistry$ObserverWithState.dispatchEvent(LifecycleRegistry.kt:314) at androidx.lifecycle.LifecycleRegistry.forwardPass(LifecycleRegistry.kt:251) at androidx.lifecycle.LifecycleRegistry.sync(LifecycleRegistry.kt:287) at androidx.lifecycle.LifecycleRegistry.moveToState(LifecycleRegistry.kt:136) at androidx.lifecycle.LifecycleRegistry.handleLifecycleEvent(LifecycleRegistry.kt:119) at androidx.lifecycle.ReportFragment$Companion.dispatch$lifecycle_runtime_release(ReportFragment.kt:192) at androidx.lifecycle.ReportFragment.dispatch(ReportFragment.kt:87) at androidx.lifecycle.ReportFragment.onStart(ReportFragment.kt:56) at android.app.Fragment.performStart(Fragment.java:2548) at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1334) at android.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1581) at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1642) at android.app.FragmentManagerImpl.dispatchMoveToState(FragmentManager.java:3051) at android.app.FragmentManagerImpl.dispatchStart(FragmentManager.java:3008) at android.app.FragmentController.dispatchStart(FragmentController.java:193) at android.app.Activity.performStart(Activity.java:7264) at android.app.ActivityThread.handleStartActivity(ActivityThread.java:2970) at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:180) at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:165) at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:142) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1831) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:201) at android.app.ActivityThread.main(ActivityThread.java:6810) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.