{"id":13989131,"url":"https://github.com/garena/dev-alert-android","last_synced_at":"2025-07-22T10:31:22.347Z","repository":{"id":140208030,"uuid":"83263511","full_name":"garena/dev-alert-android","owner":"garena","description":"This lightweight library provides visual alerts to developers and QA when an issue happens during development/testing phase.","archived":false,"fork":false,"pushed_at":"2017-09-01T02:47:55.000Z","size":107,"stargazers_count":78,"open_issues_count":2,"forks_count":12,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-11-29T08:38:10.344Z","etag":null,"topics":["android","android-development","android-library"],"latest_commit_sha":null,"homepage":null,"language":"Java","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/garena.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}},"created_at":"2017-02-27T03:18:56.000Z","updated_at":"2023-05-11T13:18:23.000Z","dependencies_parsed_at":"2024-01-15T16:45:07.060Z","dependency_job_id":null,"html_url":"https://github.com/garena/dev-alert-android","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/garena/dev-alert-android","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/garena%2Fdev-alert-android","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/garena%2Fdev-alert-android/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/garena%2Fdev-alert-android/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/garena%2Fdev-alert-android/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/garena","download_url":"https://codeload.github.com/garena/dev-alert-android/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/garena%2Fdev-alert-android/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266475074,"owners_count":23934877,"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-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"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","android-development","android-library"],"created_at":"2024-08-09T13:01:32.055Z","updated_at":"2025-07-22T10:31:21.887Z","avatar_url":"https://github.com/garena.png","language":"Java","funding_links":[],"categories":["Java"],"sub_categories":[],"readme":"# DevAlert\nThis lightweight library provides visual alerts to developers and QA when an issue happens during development/testing phase.\n\nIn traditional android development, when an issue occurs, we use logs to dump the unexpected state or exception trace. Printing to logcat is not enough at times as:\n\n-  Logs can be overlooked by developers if we are not constantly monitoring.\n-  Logs maybe on a remote device which is inaccessible.\n\nUsing this library, you can provide visual warning to the developer/ QA when something goes wrong on your test or internal builds so that critical issues can be highlighted as and when they happen.\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"http://i.imgur.com/lPTL6op.gif\" width=\"300\"/\u003e\n\u003c/p\u003e\n\n## Example\nIn the example below, the `ParseException` may occur only for some specific response from server and is not always reproducible.\n\n```java\ntry {\n    Data data = parser.parse(response.body().json());\n} catch(ParseException ex) {\n    Log.d(TAG, ex);\n    DevAlert.reportError(TAG, \"Response data is corrupt\", ex);\n}\n```\n\nWhile development or testing, when the issue happens, even if the developer/QA is not actively looking or monitoring the log for this issue, will get instantly notified.\n\n\n## How to Use\nAdd the dependency in `build.gradle`:\n\n```\ndependencies {\n    ...\n    ...\n    compile 'com.garena.devalert:dev-alert:0.1.2'\n}\n```\n\nInitialise the library in the `Application` class:\n\n```java\npublic class SampleApplication extends Application {\n\n    @Override\n    public void onCreate() {\n        super.onCreate();\n        DevAlert.init(this, BuildConfig.DEBUG);\n    }\n}\n```\n\nReport errors or warning from anywhere in the app:\n\n```java\n// report error\nDevAlert.reportError(TAG, message, exception);\n\n// report warning\nDevAlert.reportWarning(TAG, message, exception);\n```\n\n## Other Possible Use-Cases\n\n\n1. Report exceptions from background threads without crashing the app.\n\n2. If you are building a library or SDK, you can provide better feedback to other developers who are going to use it. (If you have worked with React-Native, it provides a similar functionality.)\n\n3. Create custom rules for the health check of your app and visually alert the developer/QA when these rules are violated. For example: database calls on UI thread or adding heavy code in onCreate.\n\n## Advance Usage\nYou can configure the library to show selective errors or warnings use the `DevAlertConfig:`\n\n```java\nDevAlertConfig config = new DevAlertConfig.Builder()\n      .showErrors(true)\n      .showWarnings(false) // hide warnings\n      .ignoredTags(Arrays.asList(\"MODULE_A\", \"MODULE_B\")) // hide these tags\n      .build();\nDevAlert.init(getApplication(), isDevMode, config);\n```\n\n## More Info\n\nHere is an informal blog post https://engineering.garena.com/introducing-devalert-garena-open-source/ which lists some scenarios in which we have used this library to improve our product.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgarena%2Fdev-alert-android","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgarena%2Fdev-alert-android","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgarena%2Fdev-alert-android/lists"}