{"id":20511186,"url":"https://github.com/lovoo/android-pickpic","last_synced_at":"2025-10-28T08:17:03.923Z","repository":{"id":49421950,"uuid":"224686577","full_name":"lovoo/android-pickpic","owner":"lovoo","description":"Ready to use library that allows people to select pictures from their device and Facebook account.","archived":false,"fork":false,"pushed_at":"2024-07-10T11:39:05.000Z","size":5198,"stargazers_count":11,"open_issues_count":0,"forks_count":2,"subscribers_count":28,"default_branch":"develop","last_synced_at":"2025-03-27T13:01:49.702Z","etag":null,"topics":["android","camera","facebook","images","lovoo","picker"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lovoo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-11-28T15:54:57.000Z","updated_at":"2024-09-20T16:21:11.000Z","dependencies_parsed_at":"2024-07-08T10:53:34.297Z","dependency_job_id":"5a6d23cc-aaa8-434b-8987-ab7ec09b08fb","html_url":"https://github.com/lovoo/android-pickpic","commit_stats":null,"previous_names":[],"tags_count":26,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lovoo%2Fandroid-pickpic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lovoo%2Fandroid-pickpic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lovoo%2Fandroid-pickpic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lovoo%2Fandroid-pickpic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lovoo","download_url":"https://codeload.github.com/lovoo/android-pickpic/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248794565,"owners_count":21162613,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","camera","facebook","images","lovoo","picker"],"created_at":"2024-11-15T20:34:56.084Z","updated_at":"2025-10-18T12:19:43.850Z","avatar_url":"https://github.com/lovoo.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# android-pickpic (Pick a Picture)\n[![](https://jitpack.io/v/lovoo/android-pickpic.svg)](https://jitpack.io/#lovoo/android-pickpic)\n\n## Description\nReady to use library that allows people to select pictures from their device and Facebook account. It's designed to unify multiple picture sources in one flow.\nPickPic can be configured for different use cases:\n* select one profile picture\n* select multiple pictures as attachment\n* select a minimum of 2 pictures to finish an onboarding\n\n* ...\n\nIt is also possible to configure title, subtitle and the call to action (text or icon).\nIf you want to communicate a rule set for your guidelines you can pass an FAQ url.\n\nPickPic will handle all permissions for storage, camera and Facebook.\n\nWhat PickPic will not handle are animated pictures and videos.\n\n## Screenshot\n\n \u003cimg src=\"/images/screenshot.png\" width=\"50%\" height=\"50%\" alt=\"Screenshot\"\u003e\n \u003cimg src=\"/images/screenshot2.png\" width=\"50%\" height=\"50%\" alt=\"Screenshot\"\u003e\n \n ## Import\n We have to find a new host. Since Bintray shuts down we do not deploy to any repository since 1.4.0.\n We are sorry and try to find time to setup a new repository as host soon.\n\n PickPic was hosted on Jcenter. Add this to your project's `build.gradle`.\n \n ```groovy\n repositories {\n     jcenter()\n }\n ```\n \n Then add this to your app's `build.gradle` and replace `\u003ctag\u003e` with the version you want to use:\n \n ```groovy\n pickpic_version = \"\u003ctag\u003e\"\n \n dependencies {\n     implementation \"com.lovoo.android:pickapp:$pickpic_version\"\n }\n ```\n \n ```groovy\n pickpic_version = \"\u003ctag\u003e\"\n \n dependencies {\n     implementation (\"com.lovoo.android:pickapp:$pickpic_version\") {\n         exclude group: 'com.lovoo.android', module: 'pickfacebook'\n         exclude group: 'com.lovoo.android', module: 'pickcam'\n     }\n }\n ```\n \n Depending on the function you need you could also leave out some modules like `com.lovoo.android:pickfacebook` (see chapter `Modules`).\n\n## Usage\nStart the `PickPicActivity` for result and pass a `PickPicConfig` that fits your needs.\n\n```kotlin\n    private fun startPicker() {\n        val config = PickPicConfig(\n            style = R.style.AppTheme_NoActionbar,           // your app theme\n            minCount = 2,                                   // button will be active when 2 pictures are selected\n            maxCount = 10,                                  // limit selection count to 10\n            sendIcon = R.drawable.ic_upload,                // provide icon for the button\n            header = \"Please choose 2 or more pictures\",    // provide text for the title\n            title = \"My Activity Title\",\n            faqUrl = \"https://www.myDomain.com/myPictureGuidelines\"\n        )\n\n        Intent(this, PickPicActivity::class.java).let {\n            PickPicActivity.applyConfig(it, config)\n            startActivityForResult(it, 101)\n        }\n    }\n```\n\nWait and handle the Activity result to fetch the selected pictures\n\n```kotlin\n    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {\n        if (requestCode == 101) {\n            val result = PickPicActivity.getResult(data)\n            \n            // handle the selected Uri's for your use case\n            \n            return\n        }\n\n        super.onActivityResult(requestCode, resultCode, data)\n    }\n```\n\nYou are free to call the provided PickPickActivity or do your own implementation and use the Fragments and Adapter that are provided by the modules.\n\n## Facebook implementation\nYou have to set up your app as described in [Facebook docs](https://developers.facebook.com/docs/android).\nOverwrite these strings with your own Facebook app id and protocol scheme:\n```xml\n    \u003cstring name=\"facebook_app_id\"\u003eyour_app_id\u003c/string\u003e\n    \u003cstring name=\"fb_login_protocol_scheme\"\u003eyour_protocol_scheme\u003c/string\u003e\n```\nDo not forget to apply your APK for Facebook review to unlock picture permission.\n\n## Customization\nDesign can be changed easily by overwriting the style attributes and resources. It's also possible to overwrite whole layouts, but keep in mind that some view ids and classes may be mandatory.\nSo please don't change an AndroidX RecyclerView to a SupportRecyclerView or worse GridLayout :)\nWhen changing the style attributes, please keep in mind that you need to copy the whole theme\n\nExample: [styles.xml](pickapp/src/main/res/values/styles.xml)\n\nOr extend your app theme from PickPic `\u003cstyle name=\"ExampleAppTheme\" parent=\"PickPicAppTheme\"\u003e` \n\nPickPic provides only English as translation, so that you can decide which languages you offer on top.\nTo localize PickPic in your languages just provide translations for all PickPic strings.\n\nExample: [strings.xml](app/src/main/res/values-de/strings.xml)\n\n## Modules\nPickPick is divided in different modules:\n\n| Module | Description | Dependency Path | External Dependencies | Documentation |\n| --- | --- | --- | --- | --- |\n| _PickCore_ | The base of PickPick | `com.lovoo.android:pickcore:$pickpic_version` | androidx.exifinterface:exifinterface\u003cbr\u003eandroidx.appcompat:appcompat\u003cbr\u003eandroidx.recyclerview:recyclerview\u003cbr\u003eandroidx.lifecycle:lifecycle-livedata | [link](pickcore/javadoc/pickcore/index.md) |\n| _PickUI_ | The basic UI implementation | `com.lovoo.android:pickui:$pickpic_version` | _pickcore_\u003cbr\u003eandroidx.vectordrawable:vectordrawable\u003cbr\u003eandroidx.constraintlayout:constraintlayout | [link](pickui/javadoc/pickui/index.md) |\n| _PickCam_ | The camera capture implementation | `com.lovoo.android:pickcam:$pickpic_version` | _pickcore_\u003cbr\u003eandroidx.appcompat:appcompat\u003cbr\u003eandroidx.constraintlayout:constraintlayout\u003cbr\u003eandroid.arch.work:work-runtime\u003cbr\u003eandroid.arch.work:work-runtime-ktx\u003cbr\u003eandroid.arch.work:work-rxjava2 | [link](pickcam/javadoc/pickcam/index.md) |\n| _PickFacebook_ | Facebook module for PickPic | `com.lovoo.android:pickfacebook:$pickpic_version` | _pickui_\u003cbr\u003ecom.google.code.gson:gson\u003cbr\u003ecom.facebook.android:facebook-android-sdk | [link](pickfacebook/javadoc/pickfacebook/index.md) |\n| _PickApp_ | A ready to use PickPicActivity that can be configured | `com.lovoo.android:pickapp:$pickpic_version` | _pickfacebook_ (alternative _pickui_)\u003cbr\u003e_pickcam_ (optional)\u003cbr\u003ecom.google.android.material:material\u003cbr\u003eio.reactivex.rxjava2:rxjava\u003cbr\u003eio.reactivex.rxjava2:rxandroid\u003cbr\u003ecom.github.bumptech.glide:compiler\u003cbr\u003eandroidx.lifecycle:lifecycle-compiler | [link](pickapp/javadoc/pickapp/index.md) |\n\nFor _PickApp_: The Facebook Tab will only appear if _PickFacebook_ is packed within your dependencies.\nFor _PickApp_: The Camera Capture will only appear if _PickCam_ is packed within your dependencies.\n\nPermissions, such as storage and camera, are handled by PickPic. Camera permission will be only requested when using the camera functionality and when your manifest declares this permission.\n\n# License\n\n```\nCopyright 2018 LOVOO GmbH\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.`\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flovoo%2Fandroid-pickpic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flovoo%2Fandroid-pickpic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flovoo%2Fandroid-pickpic/lists"}