Skip to content
This repository has been archived by the owner on Dec 12, 2021. It is now read-only.

API Documentation

Wangsun Hakhun edited this page May 1, 2019 · 6 revisions

Declare and Initialize MediaPicker.

Java

MediaPickerConfig pickerConfig = new MediaPickerConfig()
        .setAllowMultiSelection(false)
        .setUriPermanentAccess(true)
        .setShowConfirmationDialog(true);
        
MediaPicker.with(this,MediaPicker.MediaTypes.IMAGE)
        .setConfig(pickerConfig)
        .setFileMissingListener(new MediaPicker.MediaPickerImpl.OnMediaListener() {
            @Override
            public void onMissingFileWarning() {
                //trigger when some file are missing
            }
        })
        .onResult()
        .subscribe(new Observer<ArrayList<Uri>>() {
            @Override
            public void onSubscribe(Disposable d) { }

            @Override
            public void onNext(ArrayList<Uri> uris) {
                //uris: list of uri
            }

            @Override
            public void onError(Throwable e) { }

            @Override
            public void onComplete() { }
        });

Kotlin

val pickerConfig = MediaPickerConfig()
        .setUriPermanentAccess(false)
        .setAllowMultiSelection(allowMultiple)
        .setShowConfirmationDialog(true)

MediaPicker.with(this, MediaPicker.MediaTypes.IMAGE)
        .setConfig(pickerConfig)
        .setFileMissingListener(object : MediaPicker.MediaPickerImpl.OnMediaListener{
            override fun onMissingFileWarning() {
                //trigger when some file are missing
            }
        })
        .onResult()
        .subscribe({
            println ( "success: $it" )
        },{
            println ( "error: $it" )
        })

1. MediaPickerConfig:

It is use to set the configuration.

  1. .setAllowMultiSelection(booleanValue): tells whether to select single file or multiple file.
  2. .setUriPermanentAccess(booleanValue): grant uri access permission.
  • Temporary uri may not work once your app terminates(so storaring temporary uri in database is not good practise, so use permanent uri in such case).
  • This option only works while selecting file from default android intent.
  • The file user select from our custom ui always return uri with permanent access grant.
  1. .setShowConfirmationDialog(booleanValue): tells whether to show confirmation dialog on selecting the file(only work in single file selection).

eg.

//Pick single file with permanent access uri and confirmation dialog
MediaPickerConfig pickerConfig = new MediaPickerConfig()
        .setAllowMultiSelection(false)
        .setUriPermanentAccess(true)
        .setShowConfirmationDialog(true);

2. ExtraListener:

In Android many times the file not exist physically but may contain uri. Such file(uri) may produce error. So in our library we are filtering out invalid uri. So if end-developer wants to know if library filtered out uris, they can set .setFileMissingListener().

Java

.setFileMissingListener(new MediaPicker.MediaPickerImpl.OnMediaListener() {
    @Override
    public void onMissingFileWarning() {
        //trigger when some missing file are filtered out
    }
})

Kotlin

.setFileMissingListener(object : MediaPicker.MediaPickerImpl.OnMediaListener{
    override fun onMissingFileWarning() {
        //trigger when some missing file are filtered out
    }
})

3. Media types:

It's a type of file user want to select.

  1. IMAGE : for picking image files
  2. VIDEO : for picking video files
  3. AUDIO : for picking audio files
Clone this wiki locally