{"id":23131206,"url":"https://github.com/emartech/android-mobile-inbox","last_synced_at":"2025-04-04T07:27:44.547Z","repository":{"id":41051184,"uuid":"272467306","full_name":"emartech/android-mobile-inbox","owner":"emartech","description":null,"archived":false,"fork":false,"pushed_at":"2024-10-08T06:51:02.000Z","size":249,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-09T18:35:45.962Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Kotlin","has_issues":false,"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/emartech.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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}},"created_at":"2020-06-15T14:54:19.000Z","updated_at":"2024-10-08T06:51:05.000Z","dependencies_parsed_at":"2024-01-23T10:14:17.075Z","dependency_job_id":"9cae422f-9c23-401e-9aed-00b500188e84","html_url":"https://github.com/emartech/android-mobile-inbox","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emartech%2Fandroid-mobile-inbox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emartech%2Fandroid-mobile-inbox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emartech%2Fandroid-mobile-inbox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emartech%2Fandroid-mobile-inbox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/emartech","download_url":"https://codeload.github.com/emartech/android-mobile-inbox/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247137675,"owners_count":20889909,"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":[],"created_at":"2024-12-17T11:12:18.084Z","updated_at":"2025-04-04T07:27:44.524Z","avatar_url":"https://github.com/emartech.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# android-mobile-inbox\n\n[![REUSE status](https://api.reuse.software/badge/github.com/emartech/android-mobile-inbox)](https://api.reuse.software/info/github.com/emartech/android-mobile-inbox)\n\nWith [Emarsys SDK](https://github.com/emartech/android-emarsys-sdk), you can [fetch inbox messages](https://github.com/emartech/android-emarsys-sdk/wiki#7-messageinbox) for a user.\n\nThis library is a plug and play inbox, that you can reuse and customise to your own branding.\n\nSetup\n-----\nMake sure to already have the Android [Emarsys SDK](https://github.com/emartech/android-emarsys-sdk) added as a dependency in your Gradle file, and configured by calling `Emarsys.setup()` in your Application class, then add the `emarsys-mobile-inbox` module to your project.\n\nThe project provides different components to suit a variety of use-cases:\n\n- `EmarsysInboxActivity` - An Activity that manages its own Fragments and lifecycles. Minimum setup required. Add it to your `AndroidManifest.xml` file and use an Intent to launch it.\n- `EmarsysInboxFragment` - A Fragment that manages the navigation between `EmarsysInboxListFragment` and `EmarsysInboxDetailFragment`. Can be embedded in any Activity as the [primary navigation fragment](https://developer.android.com/guide/navigation/navigation-programmatic).\n- `EmarsysInboxListFragment` - A Fragment that shows a list of messages in the user's inbox. Can be embedded in any Activity and will use `EmarsysInboxViewModel` to notify it about any events, such as a message being selected. The Activity can then choose to either handle the selected Message itself, or transition to a `EmarsysInboxDetailFragment`.\n- `EmarsysInboxViewModel` - A ViewModel that can be used to easily extend your own Activities and Fragments with the Emarsys Messaging Inbox functionality.\n\nRequirements\n----\n- The minimum Android version should be at least API level 24.\n- Requires compileSdkVersion 31 or higher.\n- Emarsys SDK is using AndroidX.\n\n## Configurable variables\n----\n```kotlin\nEmarsysInboxConfig.headerView = { context -\u003e\n  createHeaderView(context)\n}\n\nEmarsysInboxConfig.headerBackgroundColor = \u003cCOLOR\u003e\nEmarsysInboxConfig.headerForegroundColor = \u003cCOLOR\u003e\nEmarsysInboxConfig.bodyBackgroundColor = \u003cCOLOR\u003e\nEmarsysInboxConfig.bodyForegroundColor = \u003cCOLOR\u003e\nEmarsysInboxConfig.bodyTintColor = \u003cCOLOR\u003e\nEmarsysInboxConfig.bodyHighlightTintColor = \u003cCOLOR\u003e\nEmarsysInboxConfig.activityIndicatorColor = \u003cCOLOR\u003e\nEmarsysInboxConfig.notOpenedViewColor = \u003cCOLOR\u003e\nEmarsysInboxConfig.imageCellBackgroundColor = \u003cCOLOR\u003e\n\nEmarsysInboxConfig.favImageOff = \u003cRESOURCE_ID\u003e\nEmarsysInboxConfig.favImageOn = \u003cRESOURCE_ID\u003e\nEmarsysInboxConfig.defaultImage = \u003cRESOURCE_ID\u003e\nEmarsysInboxConfig.highPriorityImage = \u003cRESOURCE_ID\u003e\n\nEmarsysInboxConfig.actionEventHandler = { context, eventName, payload -\u003e\n  \n}\n\nEmarsysInboxConfig.actionButtonStyler = { button -\u003e\n  button.setTextColor(Color.WHITE)\n  button.cornerRadius = 10\n}\n```\n\nTODO\n----\n- Distribution with AAR/Maven.\n\nSubmodules\n-----\nIf you want to add this repository as a submodule of your project, so that you can pull new changes directly to your project and not have the inbox as a part of it:\n- In terminal, run:\n`git submodule add https://github.com/emartech/android-mobile-inbox \u003cName you want the submodule to have\u003e` and `git submodule update --init --recursive`\n- settings.gradle should look like this:\n\n  ```\n  include ':\u003csubmodule name\u003e'\n  include ':app'\n  rootProject.name = \"\u003croot project name\u003e\"\n  project(':\u003csubmodule name\u003e').projectDir = new File('\u003csubmodule name\u003e/emarsys-mobile-inbox')\n  ```\n\n- build.gradle (:app) should include:\n`implementation project(':\u003csubmodule name\u003e')`\n- If, at any moment, the inbox folder appears empty, run `git submodule update --init --recursive` . If it doesn't appear at all, run `git submodule add --force https://github.com/emartech/android-mobile-inbox \u003csubmodule name\u003e`\n\nContributing\n----\nShould you have any suggestions or bug reports, please raise an [Emarsys support request](https://help.emarsys.com/hc/en-us/articles/360012853058-Support-at-Emarsys-Raising-a-support-request).\n\nCode of Conduct\n----\nPlease see our [Code of Conduct](https://github.com/emartech/.github/blob/main/CODE_OF_CONDUCT.md) for detail.\n\nLicensing\n----\nPlease see our [LICENSE](https://github.com/emartech/android-mobile-inbox/blob/master/LICENSE) for copyright and license information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femartech%2Fandroid-mobile-inbox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Femartech%2Fandroid-mobile-inbox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femartech%2Fandroid-mobile-inbox/lists"}