Skip to content

Simply doesn't work #10

@jifferon

Description

@jifferon

Here's a module for compressor

@Module
class CompressorModule {
    @Provides
    @Singleton
    fun provideCompressor(context: Context) = Resizer(context)
            .setTargetLength(1000)
            .setQuality(75)
            .setOutputFormat("JPEG")
            .setOutputFilename(UUID.randomUUID().toString())
            .setOutputDirPath(context.getExternalFilesDir(Environment.DIRECTORY_PICTURES)!!.absolutePath)
}

And here's how we use it:

 override fun uploadImage(file: File): Single<Image> =
            file.run {
                System.out.println("Pre compressor size: ${file.totalSpace}")
                resizer
                        .setSourceImage(file)
                        .resizedFileAsFlowable
                        .subscribeOn(Schedulers.io())
                        .singleOrError()
                        .flatMap { compressedFile ->
                            System.out.println("Post compressor size: ${compressedFile.totalSpace}")
                            Single.fromCallable {
                                defaultApi.v2ImagesPost(compressedFile)
                            }
                        }
            }

And here's result of compression:

I/System.out: Pre compressor size: 57986539520
I/System.out: Post compressor size: 57986539520

Thus, nothing has changed: not size, not file resolution (which is twice the size specified). What are we doing wrong?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions