{"id":15040746,"url":"https://github.com/android/socialite","last_synced_at":"2025-05-15T12:02:20.542Z","repository":{"id":215604303,"uuid":"731723779","full_name":"android/socialite","owner":"android","description":null,"archived":false,"fork":false,"pushed_at":"2025-05-08T03:41:47.000Z","size":11668,"stargazers_count":496,"open_issues_count":66,"forks_count":102,"subscribers_count":54,"default_branch":"main","last_synced_at":"2025-05-08T04:33:11.269Z","etag":null,"topics":["sample"],"latest_commit_sha":null,"homepage":null,"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/android.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","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,"zenodo":null}},"created_at":"2023-12-14T18:17:09.000Z","updated_at":"2025-05-07T18:02:26.000Z","dependencies_parsed_at":"2024-01-05T12:24:24.445Z","dependency_job_id":"e9c55d15-66c5-4021-899c-a5e3a50edbce","html_url":"https://github.com/android/socialite","commit_stats":null,"previous_names":["android/socialite"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/android%2Fsocialite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/android%2Fsocialite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/android%2Fsocialite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/android%2Fsocialite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/android","download_url":"https://codeload.github.com/android/socialite/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254337612,"owners_count":22054253,"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":["sample"],"created_at":"2024-09-24T20:45:00.644Z","updated_at":"2025-05-15T12:02:20.516Z","avatar_url":"https://github.com/android.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SociaLite: An Android Sample App\n\nSociaLite demonstrates how to use various Android platform APIs to implement features that\nare commonly seen in social network apps, leveraging a variety of\n[Jetpack APIs](https://developer.android.com/jetpack/getting-started) to achieve complex\nfunctionality that works reliably on more devices and requires less code. These are some of the\nJetpack APIs used:\n\n - [Core](https://developer.android.com/jetpack/androidx/releases/core) Notifications and other platform features\n - [Compose](https://developer.android.com/jetpack/androidx/releases/compose) Declarative UI generation\n - [Media3](https://developer.android.com/jetpack/androidx/releases/media3) Displaying and editing photos and videos\n - [CameraX](https://developer.android.com/jetpack/androidx/releases/camera) Capturing photos and videos\n - [Room](https://developer.android.com/jetpack/androidx/releases/room) Persisting messages in a SQLite database\n - [Window](https://developer.android.com/jetpack/androidx/releases/window) Detecting foldable device states\n\nThe app also integrates the Gemini API that powers chatbot capabilities:\n\n - [Google AI Client SDK](https://developer.android.com/ai/google-ai-client-sdk) Generative AI with Gemini 1.5 Flash\n\n\n\u003e 🚧 **Work-in-Progress:** This sample is still in the early stage of development, and we're excited to add more features over time.\n\n## App Overview\n\n![Screenshots of SociaLite showing the Timeline Screen, the Chat List Screen, and the Chat Screen](docs/images/screenshots.png \"SociaLite screenshots\")\n\nThe main interaction in SociaLite centers around the animal avatars and their associated chat\nthreads. When you send a message to one of these avatars, they will respond in 5 seconds. If you\nclose the app within that time and you've granted notification permissions, you'll see a\nnotification for that reply.\n\nHere are the screens that make up SociaLite:\n\n - *Timeline Screen:* A vertical scrolling page of all of the photos and videos sent in chats.\n - *Chat List Screen:* A list of all the chat threads with a variety of animal personalities.\n - *Chat Screen:* An individual message thread where you can send text and media\n    messages (from the in-app camera or with a\n    [Photo Picker](https://developer.android.com/training/data-storage/shared/photopicker)).\n - *Camera Screen:* Clicking the camera icon in the Chat Screen opens the in-app camera for taking photos and videos.\n - *Video Edit Screen:* After taking a video with the in-app camera, users can do some minor edits on this screen.\n - *Settings Screen:* A basic settings screen for tasks like resetting the chat history.\n\n## How to run SociaLite\n\n1. Clone the repository\n2. Open the whole project in Android Studio.\n3. Sync \u0026 Run `app` configuration\n\n\u003e Note: The Google AI client SDK for Android used in this code sample is\nrecommended for prototyping only. For non-prototyping use cases, we strongly\nrecommend that you use [Vertex AI for Firebase](https://firebase.google.com/docs/vertex-ai/migrate-to-vertex-ai?platform=android).\n\n### (optional) Add Gemini API:\n4. Create a Gemini API key in [Google AI studio](https://aistudio.google.com/app/apikey),\n5. Add your Gemini API key as `API_KEY` to your [`local.properties`] file,\n6. Sync \u0026 Run `app` configuration,\n7. In the app, go to Settings and tap the \"AI Chatbot\" button.\n\n## Reporting Issues\n\nYou can report an [issue with a sample](https://github.com/android/socialite/issues) using\nthis repository. When doing so, make sure to specify which sample you are referring to.\n\n## Contributions\n\nPlease contribute! We will gladly review any pull requests.\nMake sure to read the [Contributing](CONTRIBUTING.md) page first though.\n\n\u003e Note: make sure to run `./gradlew spotlessApply` before uploading a PR.\n\n## License\n\n```\nCopyright 2023 The Android Open Source Project\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    https://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%2Fandroid%2Fsocialite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandroid%2Fsocialite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandroid%2Fsocialite/lists"}