zendesk / belvedere

An image picker library for Android
Apache License 2.0
145 stars 23 forks source link

getFile return null in onMediaSelected (ImageStream.Listener interface) #90

Open user973 opened 5 years ago

user973 commented 5 years ago

public void onMediaSelected(List mediaResults) { MediaResult res = mediaResults.get(0); File f = res.getFile(); //here we have null Log.d("123", "onMediaSelected: " + f.getName() + " " + f.exists()); }

schlan commented 5 years ago

Hey @user973 , how are you starting Belvedere? If you're using the ImageStream Uris don't get resolved automatically to provide a fluent UI.

This should do the trick:

 val belvedere = Belvedere.from(context)
 val uris = mediaResult.map { it.uri }

 belvedere.resolveUris(uris, "images", object : Callback<List<MediaResult>>() {
     override fun success(result: List<MediaResult>) {
     }
 })
user973 commented 5 years ago

I do like this [example](https://github.com/zendesk/belvedere#imagestream

schlan commented 5 years ago

Cool, as mentioned above, the ImageStream is not automatically resolving the selected Uris into Files. Use the snippet above to do so.

MobileOak commented 4 years ago

Hey @user973 , how are you starting Belvedere? If you're using the ImageStream Uris don't get resolved automatically to provide a fluent UI.

This should do the trick:

 val belvedere = Belvedere.from(context)
 val uris = mediaResult.map { it.uri }

 belvedere.resolveUris(uris, "images", object : Callback<List<MediaResult>>() {
     override fun success(result: List<MediaResult>) {
     }
 })

It would be super-helpful if this was in the main docs page.