{"id":18483732,"url":"https://github.com/ouattararomuald/android-image-slider","last_synced_at":"2025-10-14T03:09:24.763Z","repository":{"id":50472651,"uuid":"136355397","full_name":"ouattararomuald/android-image-slider","owner":"ouattararomuald","description":"Android image slider","archived":false,"fork":false,"pushed_at":"2020-03-11T14:15:05.000Z","size":676,"stargazers_count":48,"open_issues_count":3,"forks_count":12,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-09T15:00:59.479Z","etag":null,"topics":["android","image-slider","image-viewer","kotlin"],"latest_commit_sha":null,"homepage":"https://ouattararomuald.github.io/android-image-slider/","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/ouattararomuald.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-06-06T16:19:56.000Z","updated_at":"2024-10-24T09:14:57.000Z","dependencies_parsed_at":"2022-09-24T13:10:34.814Z","dependency_job_id":null,"html_url":"https://github.com/ouattararomuald/android-image-slider","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/ouattararomuald/android-image-slider","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ouattararomuald%2Fandroid-image-slider","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ouattararomuald%2Fandroid-image-slider/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ouattararomuald%2Fandroid-image-slider/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ouattararomuald%2Fandroid-image-slider/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ouattararomuald","download_url":"https://codeload.github.com/ouattararomuald/android-image-slider/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ouattararomuald%2Fandroid-image-slider/sbom","scorecard":{"id":714624,"data":{"date":"2025-08-11","repo":{"name":"github.com/ouattararomuald/android-image-slider","commit":"6119fe6b2e8258b927d87fea35fcdd900970b49e"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.9,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Maintained","score":0,"reason":"project is archived","details":["Warn: Repository is archived."],"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Code-Review","score":0,"reason":"Found 0/18 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Binary-Artifacts","score":9,"reason":"binaries present in source code","details":["Warn: binary detected: gradle/wrapper/gradle-wrapper.jar:1"],"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 24 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T09:12:29.356Z","repository_id":50472651,"created_at":"2025-08-22T09:12:29.356Z","updated_at":"2025-08-22T09:12:29.356Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279017786,"owners_count":26086141,"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","status":"online","status_checked_at":"2025-10-14T02:00:06.444Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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","image-slider","image-viewer","kotlin"],"created_at":"2024-11-06T12:37:04.732Z","updated_at":"2025-10-14T03:09:24.717Z","avatar_url":"https://github.com/ouattararomuald.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![CircleCI](https://circleci.com/gh/ouattararomuald/android-image-slider.svg?style=svg)](https://circleci.com/gh/ouattararomuald/android-image-slider)\n[![](https://img.shields.io/maven-central/v/com.ouattararomuald/slider.svg)](https://search.maven.org/search?q=g:com.ouattararomuald%20a:slider)\n[![](https://img.shields.io/badge/code--style-square-green.svg)](https://github.com/square/java-code-styles)\n\n# Image Slider\n\nAn image slider for android that let you pick the image loader library that best suits your needs.\n\n\u003cimg src=\"https://imgur.com/Id4u1i8.gif\" width=400/\u003e\n\n## Usage\n\nCreate a simple slider with the following code:\n\n**activity_main.xml**\n```xml\n\u003ccom.ouattararomuald.slider.ImageSlider\n  android:id=\"@+id/image_slider\"\n  android:layout_width=\"match_parent\"\n  android:layout_height=\"wrap_content\"\n/\u003e\n```\n\n**MainActivity.kt**\n```kotlin\nclass MainActivity : AppCompatActivity() {\n  \n  companion object {\n    private const val SLIDE_NUMBER = 10\n  }\n\n  private lateinit var imageSlider: ImageSlider\n  private val imageUrls = arrayListOf(\n    \"http://i.imgur.com/CqmBjo5.jpg\", \n    \"http://i.imgur.com/zkaAooq.jpg\", \n    \"http://i.imgur.com/0gqnEaY.jpg\"\n  )\n\n  override fun onCreate(savedInstanceState: Bundle?) {\n    super.onCreate(savedInstanceState)\n    setContentView(R.layout.activity_main)\n\n    imageSlider = findViewById(R.id.image_slider)\n    imageSlider.adapter = SliderAdapter(\n      this,\n      PicassoImageLoaderFactory(),\n      imageUrls = imageUrls,\n      descriptions = Data.generateDescriptions(imageUrls.size)\n    )\n  }\n}\n```\n\n`Slider` comes with Picasso as dependency to load images. If you want to use another library,\nyou must extend `ImageLoader#Factory` and pass your factory to `SliderAdapter` (see Wiki).\n\n\n## Download\n\nDownload the [latest AAR](https://search.maven.org/#search%7Cga%7C1%7Cg%3A%22com.ouattararomuald%22%20AND%20a%3A%22slider%22) or grab via Gradle:\n\n```gradle\nimplementation 'com.ouattararomuald:slider-coil:3.0.1' // If you use Coil\nimplementation 'com.ouattararomuald:slider-glide:3.0.1' // If you use Glide\nimplementation 'com.ouattararomuald:slider-picasso:3.0.1' // If you use Picasso\n```\n\nIf you want to use another image loading library include:\n\n```gradle\nimplementation 'com.ouattararomuald:slider:3.0.1'\n```\n\nand create you custom `ImageLoader` by implementing `ImageLoader#Factory` (see `glide-loader` or `picasso-loader`).\n\nor Maven:\n\n```xml\n\u003c!-- If you use Coil --\u003e\n\u003cdependency\u003e\n  \u003cgroupId\u003ecom.ouattararomuald\u003c/groupId\u003e\n  \u003cartifactId\u003eslider-coil\u003c/artifactId\u003e\n  \u003cversion\u003e3.0.1\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n```xml\n\u003c!-- If you use Glide --\u003e\n\u003cdependency\u003e\n  \u003cgroupId\u003ecom.ouattararomuald\u003c/groupId\u003e\n  \u003cartifactId\u003eslider-glide\u003c/artifactId\u003e\n  \u003cversion\u003e3.0.1\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n```xml\n\u003c!-- If you use Picasso --\u003e\n\u003cdependency\u003e\n  \u003cgroupId\u003ecom.ouattararomuald\u003c/groupId\u003e\n  \u003cartifactId\u003eslider-picasso\u003c/artifactId\u003e\n  \u003cversion\u003e3.0.1\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n```xml\n\u003c!-- If you want a custom image loader --\u003e\n\u003cdependency\u003e\n  \u003cgroupId\u003ecom.ouattararomuald\u003c/groupId\u003e\n  \u003cartifactId\u003eslider\u003c/artifactId\u003e\n  \u003cversion\u003e3.0.1\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\nSnapshots of the development version are available in [Sonatype's snapshots repository](https://oss.sonatype.org/content/repositories/snapshots/).\n\n## Contributing\n\nContributions you say? Yes please!\n\n**Bug report?**\n\nIf at all possible, please attach a minimal sample project or code which reproduces the bug.\nScreenshots are also a huge help if the problem is visual.\n\n**Send a pull request!**\n\nIf you're fixing a bug, please add a failing test or code that can reproduce the issue.\n\n**Build steps**\n\n1. Build artifacts with `./gradlew assemble`\n1. Run Tests `./gradlew test`\n1. Run Instrumented Test `./gradlew :sample:connectedAndroidTest`\n1. Run Android Lint `./gradlew lint`\n1. Run Kotlin Lint `./gradlew detekt`\n\n## License\n\n```\nCopyright 2018 Ouattara Gninlikpoho Romuald\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%2Fouattararomuald%2Fandroid-image-slider","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fouattararomuald%2Fandroid-image-slider","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fouattararomuald%2Fandroid-image-slider/lists"}