Media Picker is an Android Libary that lets you to select multiple images or video

Overview

Media Picker

Codacy Badge

Please let me know if your application go to production via this link

Media Picker is an Android Libary that lets you to select multiple images, video or voice for Android 4.1 (API 16) +. You can report any issue on issues page. Note: If you speak Arabic, you can submit issues with Arabic language and I will check them. :)

NOTE


This build 2.x.x will break backward compatibility and there are a lot of changes to improve the performance and fix a lot of Leak memory issues, So please read below document carefully.

Installation


Maven

<dependency>
<groupId>net.alhazmy13.MediaPicker</groupId>
<artifactId>libary</artifactId>
<version>2.4.4</version>
</dependency>

Gradle

dependencies {
	implementation 'net.alhazmy13.MediaPicker:libary:2.4.4'
}

Usage


Images

After adding the library, you need to:

  1. Create an object from ImagePicker or VideoPicker
  2. Override onActivityResult to receive the path of image or videos.

Create an ImagePicker

You will need to create a new instance of ImagePicker. Once the instance are configured, you can call build().

        new ImagePicker.Builder(MainActivity.this)
                        .mode(ImagePicker.Mode.CAMERA_AND_GALLERY)
                        .compressLevel(ImagePicker.ComperesLevel.MEDIUM)
                        .directory(ImagePicker.Directory.DEFAULT)
                        .extension(ImagePicker.Extension.PNG)
                        .scale(600, 600)
                        .allowMultipleImages(false)
                        .enableDebuggingMode(true)
                        .build();

Override onActivityResult

In order to receive the path of image, you will need to override onActivityResult .

   @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        if (requestCode == ImagePicker.IMAGE_PICKER_REQUEST_CODE && resultCode == RESULT_OK) {
            List<String> mPaths = data.getStringArrayListExtra(ImagePicker.EXTRA_IMAGE_PATH);
            //Your Code
        }
    }

Additional Options

  • mode to select the mode, you can choose one of these CAMERA,GALLERY or CAMERA_AND_GALLERY
.mode(ImagePicker.Mode.CAMERA)
  • extension You can change the extension of image to PNG or JPG
.extension(ImagePicker.Extension.PNG)
  • compressLevel You can change the quality of image with three different levels HARD,MEDIUM, SOFT or NONE
.compressLevel(ImagePicker.ComperesLevel.MEDIUM)
  • directory You can pass the storage path, or select Directory.DEFAULT_DIR to keep the default path.
.directory(ImagePicker.Directory.DEFAULT)

//OR

.directory(Environment.getExternalStorageDirectory()+"/myFolder")
  • scale You can scale the image to a a minimum width and height. This will only be used if compressLevel is set. To avoid OutOfMemory issues, ensure this is used.
.scale(500, 500)
  • allowMultipleImages Extra used to select and return multiple images from gallery CANNOT select single image from gallery if this feature was enabled
	.allowMultipleImages(true)
  • enableDebuggingMode used to print Image Picker Log
	.enableDebuggingMode(true)
  • allowOnlineImages an option to allow the user to select any image from online resource ex: Google Drive (KNOWN ISSUE) if you enable this option then you cannot select multiple images
	.allowOnlineImages(true)

Create an VideoPicker

You will need to create a new instance of VideoPicker. Once the instance are configured, you can call build().

        new VideoPicker.Builder(MainActivity.this)
                        .mode(VideoPicker.Mode.CAMERA_AND_GALLERY)
                        .directory(VideoPicker.Directory.DEFAULT)
                        .extension(VideoPicker.Extension.MP4)
                        .enableDebuggingMode(true)
                        .build();

Override onActivityResult

In order to receive the path of videos, you will need to override onActivityResult .

   @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        if (requestCode == VideoPicker.VIDEO_PICKER_REQUEST_CODE && resultCode == RESULT_OK) {
            List<String> mPaths =  data.getStringArrayListExtra(VideoPicker.EXTRA_VIDEO_PATH);
            //Your Code
        }
    }

Additional Options

  • mode to select the mode, you can choose one of these CAMERA,GALLERY or CAMERA_AND_GALLERY
.mode(VideoPicker.Mode.CAMERA)
  • extension You can change the extension of video to MP4
.extension(VideoPicker.Extension.MP4)
  • directory You can pass the storage path, or select Directory.DEFAULT_DIR to keep the default path.
.directory(VideoPicker.Directory.DEFAULT)

//OR

.directory(Environment.getExternalStorageDirectory()+"/myFolder")
  • enableDebuggingMode used to print Video Picker Log
	.enableDebuggingMode(true)

RxJava 2 for MediaPicker

It's an extenstion that allow you to return an observable from ImagePickerBuilder or VideoPickerBuilder, all you need is to add below dependency and then return the observable from ImagePickerHelper || VideoPickerHelper class.

Gradle

dependencies {
  implementation 'io.reactivex.rxjava2:rxandroid:(Last_version)'
  implementation 'io.reactivex.rxjava2:rxjava:(Last_version)'
	implementation 'net.alhazmy13.MediaPicker:rxjava:(Last_version)'
}
  new ImagePickerHelper(
        new ImagePicker.Builder(Context)
                ...)
                .getObservable()
                .subscribe(....);

Theme the pickers

You can change the strings be overwriting below resources in your project.

    <string name="media_picker_select_from">Select From:</string>
    <string name="media_picker_camera">Camera</string>
    <string name="media_picker_gallery">Gallery</string>
    <string name="media_picker_ok">Ok</string>
    <string name="media_picker_cancel">Cancel</string>
    <string name="media_picker_some_permission_is_denied">Some Permission is Denied</string>
    <string name="media_picker_you_need_to_grant_access_to">You need to grant access to</string>
    <string name="media_picker_read_Write_external_storage"><![CDATA[Read & Write External Storage]]></string>
Comments
  • Only fullscreen opaque activities can request orientation Android 8

    Only fullscreen opaque activities can request orientation Android 8

    Caused by java.lang.IllegalStateException: Only fullscreen opaque activities can request orientation at android.app.Activity.onCreate(Activity.java:1038) at android.support.v4.app.SupportActivity.onCreate(SupportActivity.java:66) at android.support.v4.app.FragmentActivity.onCreate(FragmentActivity.java:297) at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:84) at net.alhazmy13.mediapicker.Image.ImageActivity.onCreate(ImageActivity.java:56) at android.app.Activity.performCreate(Activity.java:7174) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1220) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2908) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3030) at android.app.ActivityThread.-wrap11(Unknown Source) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1696) at android.os.Handler.dispatchMessage(Handler.java:105) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6938) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)

    bug ReviewNeeded-BetaVersion 
    opened by SerhiiSolobaievUptech 14
  • java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.app.AlertDialog.isShowing()' on a null object reference

    java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.app.AlertDialog.isShowing()' on a null object reference

    Process: com.sprent.customer.dev, PID: 24189 java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.app.AlertDialog.isShowing()' on a null object reference at net.alhazmy13.mediapicker.Image.ImageActivity.onSaveInstanceState(ImageActivity.java:182) at android.app.Activity.performSaveInstanceState(Activity.java:1302) at android.app.Instrumentation.callActivityOnSaveInstanceState(Instrumentation.java:1289) at android.app.ActivityThread.callCallActivityOnSaveInstanceState(ActivityThread.java:4088) at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:3490) at android.app.ActivityThread.handleStopActivity(ActivityThread.java:3550) at android.app.ActivityThread.-wrap20(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1368) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

    opened by SerhiiSolobaievUptech 7
  •  Caused by: java.lang.IllegalStateException: Only fullscreen opaque activities can request orientation

    Caused by: java.lang.IllegalStateException: Only fullscreen opaque activities can request orientation

    (net.alhazmy13.mediapicker.Video.VideoActivity}: java.lang.IllegalStateException: Only fullscreen opaque activities can request orientation at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2830) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2909) at android.app.ActivityThread.-wrap11(Unknown Source:0) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1606) at android.os.Handler.dispatchMessage(Handler.java:105) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6592) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:769) Caused by: java.lang.IllegalStateException: Only fullscreen opaque activities can request orientation at android.app.Activity.onCreate(Activity.java:991) at android.support.v4.app.SupportActivity.onCreate(SupportActivity.java:66) at android.support.v4.app.FragmentActivity.onCreate(FragmentActivity.java:321) at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:84) at net.alhazmy13.mediapicker.Video.VideoActivity.onCreate(VideoActivity.java:54) at android.app.Activity.performCreate(Activity.java:6984)

    opened by NerdFaisal404 6
  • #69 set request code in build

    #69 set request code in build

    This is my pull request for the issue #69

    • setup the requestCode in the builder (both image and video)
    • update the example app to test the custom request code
    opened by arnaud33200 6
  • startActivityForResult Never called in fragment

    startActivityForResult Never called in fragment

    I can't get startActivityForResult called in my fragment, only in the Activity containing the fragment, why does it happens? How can I handle this issue?

    help wanted question 
    opened by lorenzoPrimi 5
  • Image Picker From Google Drive Issue

    Image Picker From Google Drive Issue

    So I have been getting come crashes related to the URI being not found. I found this to happen when using the Image Picker and selecting a non image type file (ZIP, MP4). Whats odd is the onActivityResult returns a URI back but its not valid it contains a .jpg extension and returns the exception below when you try to open it into a input stream. Anyway to restrict google drive selection to photos only? Or is there a way to disable showing third party apps and just show the built in gallery app?

    Thank You

    Exception (I picked a .mp4 file from my google drive account):
    java.io.FileNotFoundException: /storage/emulated/0/mediapicker/images/ad220b5b-f716-42ae-ac6b-002879870f0f.jpg: open failed: ENOENT (No such file or directory)
    

    device-2017-12-21-112158

    bug 
    opened by mikemike396 4
  • java.lang.OutOfMemoryErrorFatal Exception: java.lang.RuntimeException An error occurred while executing doInBackground()

    java.lang.OutOfMemoryErrorFatal Exception: java.lang.RuntimeException An error occurred while executing doInBackground()

    Getting this crash ->

    Fatal Exception: java.lang.RuntimeException: An error occurred while executing doInBackground()
           at android.os.AsyncTask$3.done(AsyncTask.java:318)
           at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:354)
           at java.util.concurrent.FutureTask.setException(FutureTask.java:223)
           at java.util.concurrent.FutureTask.run(FutureTask.java:242)
           at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243)
           at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
           at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
           at java.lang.Thread.run(Thread.java:762)
    Caused by java.lang.OutOfMemoryError: Failed to allocate a 63701004 byte allocation with 16777216 free bytes and 44MB until OOM
           at dalvik.system.VMRuntime.newNonMovableArray(VMRuntime.java)
           at android.graphics.Bitmap.nativeCreate(Bitmap.java)
           at android.graphics.Bitmap.createBitmap(Bitmap.java:977)
           at android.graphics.Bitmap.createBitmap(Bitmap.java:948)
           at android.graphics.Bitmap.createBitmap(Bitmap.java:879)
           at net.alhazmy13.mediapicker.Utility.compressAndRotateIfNeeded(Utility.java:94)
           at net.alhazmy13.mediapicker.Image.ImageActivity$CompressImageTask.doInBackground(ImageActivity.java:388)
           at net.alhazmy13.mediapicker.Image.ImageActivity$CompressImageTask.doInBackground(ImageActivity.java:351)
           at android.os.AsyncTask$2.call(AsyncTask.java:304)
           at java.util.concurrent.FutureTask.run(FutureTask.java:237)
           at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243)
           at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
           at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
           at java.lang.Thread.run(Thread.java:762)
    

    Location -> Utility.java line 94 net.alhazmy13.mediapicker.Utility.compressAndRotateIfNeeded

    Running this build ->
    compile 'net.alhazmy13.MediaPicker:libary:2.4.0'

    screen shot 2017-12-20 at 8 42 34 am

    help wanted 
    opened by mikemike396 4
  • Failed to resolve: MediaPicker:libary:unspecified

    Failed to resolve: MediaPicker:libary:unspecified

    I am trying to use the rx extension, but unfortunately Gradle fails to resolve the dependency with an error Failed to resolve: MediaPicker:libary:unspecified

    My dependencies:

    implementation 'io.reactivex.rxjava2:rxjava:2.1.12'
    implementation 'io.reactivex.rxjava2:rxandroid:2.0.2'
    implementation 'io.reactivex.rxjava2:rxkotlin:2.2.0'
    implementation 'net.alhazmy13.MediaPicker:rxjava:2.4.4'
    

    also tried adding implementation 'net.alhazmy13.MediaPicker:libary:2.4.4' with no success.

    opened by rafalzawadzki 3
  • Can't receive the onActivityResult in fragment

    Can't receive the onActivityResult in fragment

    Greetings, Dear Abdullah,

    This is an information maybe more than a bug, but the onActivityResult will fire inside fragment. Instead the main activity will receive the onActivityResult.

    Best regards. Abdulaziz Noor.

    opened by mtx62 3
  • Can't be able to Select Multipe Images

    Can't be able to Select Multipe Images

    when i try to select images from gallery i only can select 1 image and you have written in description that select Multiple image but i can't. im using Nexus 5 and with Marshmallow.

    enhancement 
    opened by UttamPanchasara 3
  • SDK 19+ External Storage (SD Card) Not working

    SDK 19+ External Storage (SD Card) Not working

    So I have noticed my app not getting images via the SD card. I tired it on the latest demo app (2.4.1 beta) and it doesnt work either, please see the video. This is a pixel 2 running API 26. It also happens on many other devices. You can see the crash log below for my personal app related to a null URI. Any thoughts? It appears to be an issue with this line

    if ("primary".equalsIgnoreCase(type)) {
         return Environment.getExternalStorageDirectory() + "/" + split[1];
    }
    

    screen shot 2018-07-24 at 9 34 25 am

    pickerexstoragenotworking

    screen shot 2018-07-24 at 9 31 36 am

    opened by mikemike396 2
  • Manifest merger failed with multiple errors

    Manifest merger failed with multiple errors

    Error: Attribute provider#androidx.core.content.FileProvider@authorities value=(app.mandobee.project.fileprovider) from AndroidManifest.xml:27:13-64 is also present at AndroidManifest.xml:24:13-60 value=(app.mandobee.project.provider). Suggestion: add 'tools:replace="android:authorities"' to element at AndroidManifest.xml:25:9-33:20 to override. MandoBee.app main manifest (this file), line 26 Error: Attribute meta-data#android.support.FILE_PROVIDER_PATHS@resource value=(@xml/imagepicker_file_paths) from AndroidManifest.xml:32:17-63 is also present at AndroidManifest.xml:29:17-55 value=(@xml/provider_paths). Suggestion: add 'tools:replace="android:resource"' to element at AndroidManifest.xml to override. MandoBee.app main manifest (this file), line 31

    opened by MohamedMedhat2018 0
  • Unable to start activity

    Unable to start activity

    Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.rizek.android.users/net.alhazmy13.gota.GotaActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.util.ArrayList.size()' on a null object reference
           at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2419)
           at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2479)
           at android.app.ActivityThread.-wrap11(ActivityThread.java)
           at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1347)
           at android.os.Handler.dispatchMessage(Handler.java:102)
           at android.os.Looper.loop(Looper.java:148)
           at android.app.ActivityThread.main(ActivityThread.java:5421)
           at java.lang.reflect.Method.invoke(Method.java)
           at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
           at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
    
    
    opened by Arunachalamkalimuthu 0
  • Manifest merger failed

    Manifest merger failed

    Manifest merger failed : Attribute meta-data#android.support.FILE_PROVIDER_PATHS@resource value=(@xml/image_picker_provider_paths) from [com.github.dhaval2404:imagepicker:1.6] AndroidManifest.xml:31:17-68
    	is also present at [net.alhazmy13.MediaPicker:libary:2.4.4] AndroidManifest.xml:29:17-55 value=(@xml/provider_paths).
    	Suggestion: add 'tools:replace="android:resource"' to <meta-data> element at AndroidManifest.xml to override.
    

    What should i do...?

    opened by DkKhan786 2
  • Performing pause of activity that is not resumed

    Performing pause of activity that is not resumed

    Hi

    I was testing on Galaxy Tab S5e (OS 9) Landscape Activity (fixed) I just started the camera and press back button or cancel. Then it was showing the error mentioned below. Each and every time.

    But it was working perfectly on phone. Please have a look

    using net.alhazmy13.MediaPicker:libary:2.4.4


    java.lang.RuntimeException: Performing pause of activity that is not resumed: {com.ds.bkashassessment/com.ds.bkashassessment.view.LoginActivity} at android.app.ActivityThread.performPauseActivity(ActivityThread.java:4214) at android.app.ActivityThread.handlePauseActivity(ActivityThread.java:4179) at android.app.servertransaction.PauseActivityItem.execute(PauseActivityItem.java:45) at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:145) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1959) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:214) at android.app.ActivityThread.main(ActivityThread.java:7080) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:965)

    opened by mzijewel 0
Releases(2.4.4)
Owner
Abdullah Alhazmy
Addicted to learning | Sr. Software engineer | Founder @xpend | Co-Founder @Gwork-projects & @EmaanHq
Abdullah Alhazmy
Simple, Powerful and Beautiful Android Image/Video/Audio Picker 😎

Simple, Powerful and Beautiful Android Image/Video/Audio Picker ?? Features ?? No need check storage permission ?? Single and multiple selection Suppo

Majid Arabi 34 Jan 2, 2023
AndroidFilePicker - android library which will help you to pick any type of media file in your application

AndroidFilePicker is android library which will help you to pick any type of media file in your application. No need to manage any kind of extra permission or result method override. Just create library class instance and use it or also modify ui as your requirement.

null 4 Sep 12, 2022
Image Picker for Android 🤖

Android Image Picker No config yet highly configurable image picker for Android Screenshot Click to see how image picker looks… Download Add this to y

Esa Firman 1k Jan 7, 2023
Unicorn File Picker is a library designed to package a powerful file selector for android.

A simple, documented, and contribution-friendly File Picker for Android.

Abhishek Tiwari 62 Dec 5, 2022
Block picker is Android app to help Minecraft player choose blocks for their build.

Block Picker Ever trying to make a build in Minecraft and you just can't find the perfect color palette? Block Picker will help jumpstart your creativ

Ramim Alam 2 May 8, 2022
A super file picker framework.

一款超强的文件选择框架。A super file picker framework. 功能: 文件选择 支持多种类型文件选择 支持多个文件同时选择 如何添加 Gradle添加: 1.在Project的build.gradle中添加仓库地址

null 7 Jul 16, 2022
Wheel Picker With Kotlin

WheelPicker Including in your project Gradle Add below codes to your project build.gradle file. buildscript { repositories { mavenCentral(

Clapp Studio 8 Jan 16, 2022
With the Help of this libray you can pic image from camera, gallery, it's support image cropping as well and you can pic PDF

FilePicker This project aims to provide an ultimate and flexible image picking from Gallery, Camera and cropping experience as well as PDF picking fro

Raj Pratap Singh Jadon 3 Nov 24, 2022
An Android library for picking location in Bangladesh

BDLocationChooser An Android library for picking location in Bangladesh Example Screenshot : Implement Library The library is available on JitPack, fo

Sharif Rafid Ur Rahman 9 Jun 26, 2022
FilePicker - Android library to facilitate files picking up process and ability to convert them to request bodies

FilePicker - Android library to facilitate files picking up process and ability to convert them to request bodies

Ahmed Atwa 26 Dec 14, 2022
Media Picker is an Android Libary that lets you to select multiple images or video

Media Picker Please let me know if your application go to production via this link Media Picker is an Android Libary that lets you to select multiple

Abdullah Alhazmy 264 Nov 10, 2022
HyperUPnP is Android Application that lets you to Stream Media from PC, NAS or any other device running UPnP/DLNA compliant media server to your Android Device.

Hyper UPnP Android UPnP/DLNA client Stream Media from PC, NAS or any other device running UPnP/DLNA compliant media server to your Android Device. Int

Var Bhat 8 Jul 17, 2022
The Madman library (Media Ads Manager) enables you to advertise video contents with video ads.

Madman (Media ads manager) is a high performance alternative to Google's standard IMA android SDK. If you have your own VAST server and want to render video ads and have full control over the UI, then this library is for you.

Flipkart Incubator 65 Nov 10, 2022
Picker-kt - Media picker library powered by Jetpack Compose

ANDROID LIBRARY PickerKT A media picker library for Android apps powered by Jetp

Tanawin Wichit 20 Jan 2, 2023
Social media app but with new features like translate messages and posts , support video & images as posts , chat and notifications , etc...

social-media-app Social media app but with new features like translate messages and posts , support video & images as posts , chat and notifications ,

Kareem Aboelatta 15 Dec 13, 2022
Awesome Image Picker library will pick images/gifs with beautiful interface. Supports image or gif, Single and Multiple Image selection.

Awesome Image Picker Awesome Image Picker library will pick images/gifs with beautiful interface. Supports image or gif, Single and Multiple Image sel

Prabhakar Thota 162 Sep 13, 2022
Built the ccp code on compose. Country Code Picker is an android library which provides an easy way to search and select country or international phone code.

Built the ccp code on compose. Country Code Picker is an android library which provides an easy way to search and select country or international phone code.

utku glsvn 7 Oct 23, 2022
Appleader707 1 Aug 9, 2022
Compose Date Picker - Select month and year

Android DatePicker with month and year build with Compose UI

Doğuş Teknoloji 47 Dec 15, 2022
On device extracting images from videos - creating video from images.

AndroidVideoTranscoder Surprisingly fast on device video transcoding. Features extracting images from video either ffmpeg or mediacodec creating video

null 29 Dec 20, 2022