{"id":15578367,"url":"https://github.com/saschpe/android-customtabs","last_synced_at":"2025-04-08T12:09:22.448Z","repository":{"id":57730835,"uuid":"85346945","full_name":"saschpe/android-customtabs","owner":"saschpe","description":"Chrome CustomTabs for Android demystified. Simplifies development and provides higher level classes including fallback in case Chrome isn't available on device.","archived":false,"fork":false,"pushed_at":"2025-03-25T09:30:11.000Z","size":5496,"stargazers_count":383,"open_issues_count":8,"forks_count":50,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-04-01T11:02:30.647Z","etag":null,"topics":["android","android-development","android-library","apk","chrome","library"],"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/saschpe.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":"2017-03-17T19:17:10.000Z","updated_at":"2025-03-25T09:30:16.000Z","dependencies_parsed_at":"2025-01-19T00:34:35.215Z","dependency_job_id":"6167c7aa-a49d-44de-847c-202f6b62bd87","html_url":"https://github.com/saschpe/android-customtabs","commit_stats":{"total_commits":175,"total_committers":2,"mean_commits":87.5,"dds":"0.011428571428571455","last_synced_commit":"953c19b5767dc434994e387453d58e1c67c45ad5"},"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saschpe%2Fandroid-customtabs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saschpe%2Fandroid-customtabs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saschpe%2Fandroid-customtabs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saschpe%2Fandroid-customtabs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/saschpe","download_url":"https://codeload.github.com/saschpe/android-customtabs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247838444,"owners_count":21004580,"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","android-development","android-library","apk","chrome","library"],"created_at":"2024-10-02T19:09:43.540Z","updated_at":"2025-04-08T12:09:22.413Z","avatar_url":"https://github.com/saschpe.png","language":"Kotlin","readme":"# Android CustomTabs\n![Maven Central](https://img.shields.io/maven-central/v/de.peilicke.sascha/android-customtabs)\n[![Android Arsenal](https://img.shields.io/badge/Android%20Arsenal-Android%20CustomTabs-brightgreen.svg?style=flat)](https://android-arsenal.com/details/1/5872)\n[![License](http://img.shields.io/:license-apache-blue.svg)](http://www.apache.org/licenses/LICENSE-2.0.html)\n[![Build Status](https://travis-ci.org/saschpe/android-customtabs.svg?branch=master)](https://travis-ci.org/saschpe/android-customtabs)\n\u003ca href=\"http://www.methodscount.com/?lib=saschpe.android%3Acustomtabs%3A2.0.0\"\u003e\u003cimg src=\"https://img.shields.io/badge/Methods and size-core: 100 | deps: 19640 | 25 KB-e91e63.svg\"/\u003e\u003c/a\u003e\n\nChrome CustomTabs for Android demystified. Simplifies development and provides\nhigher level classes including fallback in case Chrome isn't available on device.\n\n# Usage\nHow to create a new custom tab intent and start it with a keep-alive service\nas well as a fallback to plain old WebView should Chrome not be available on\nthe device:\n\n```java\nCustomTabsIntent customTabsIntent = new CustomTabsIntent.Builder()\n        .addDefaultShareMenuItem()\n        .setToolbarColor(this.getResources().getColor(R.color.colorPrimary))\n        .setShowTitle(true)\n        .setCloseButtonIcon(backArrow)\n        .build();\n\n// This is optional but recommended\nCustomTabsHelper.addKeepAliveExtra(this, customTabsIntent.intent);\n\n// This is where the magic happens...\nCustomTabsHelper.openCustomTab(this, customTabsIntent,\n        Uri.parse(\"https://github.com/saschpe/android-customtabs\"),\n        new WebViewFallback());\n```\n\nPreload CustomTabs in your Application.java to warm-up early and reduce start-up\ntime:\n\n```java\n// Preload custom tabs service for improved performance\n// This is optional but recommended\nregisterActivityLifecycleCallbacks(new CustomTabsActivityLifecycleCallbacks());\n```\n\n## Screenshots\n\u003cimg alt=\"Screenshot 1\" src=\"assets/device-art/customtabs-1.png\" width=\"256\" /\u003e\n\u003cimg alt=\"Screenshot 2\" src=\"assets/device-art/customtabs-2.png\" width=\"256\" /\u003e\n\u003cimg alt=\"Screenshot 3\" src=\"assets/device-art/customtabs-3.png\" width=\"256\" /\u003e\n\n# Download\nArtifacts are published to [Maven Central][maven-central]:\n```kotlin\nrepositories {\n    mavenCentral()\n}\n\ndependencies {\n    implementation(\"de.peilicke.sascha:android-customtabs:3.1.1\")\n}\n```\n\n# In use by\n* [Alpha+ Player - Unofficial player for Soma FM](https://play.google.com/store/apps/details?id=saschpe.alphaplus)\n* [GameOn - Get games on sale](https://play.google.com/store/apps/details?id=saschpe.gameon)\n* [Planning Poker - SCRUM Cards](https://play.google.com/store/apps/details?id=saschpe.poker) - Open Source on [Github](https://github.com/saschpe/PlanningPoker)\n\n# License\n\n    Copyright 2017 Sascha Peilicke\n\n    Licensed under the Apache License, Version 2.0 (the \"License\");\n    you may not use this file except in compliance with the License.\n    You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n    Unless required by applicable law or agreed to in writing, software\n    distributed under the License is distributed on an \"AS IS\" BASIS,\n    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n    See the License for the specific language governing permissions and\n    limitations under the License.\n\n[maven-central]: https://search.maven.org/artifact/de.peilicke.sascha/android-customtabs\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaschpe%2Fandroid-customtabs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsaschpe%2Fandroid-customtabs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaschpe%2Fandroid-customtabs/lists"}