{"id":19901381,"url":"https://github.com/lissy93/anti-theft-charge","last_synced_at":"2025-10-28T22:09:53.287Z","repository":{"id":18850065,"uuid":"22066245","full_name":"Lissy93/anti-theft-charge","owner":"Lissy93","description":"🔋 Safely charge your phone in public places without the worry of it being stolen","archived":false,"fork":false,"pushed_at":"2022-11-21T23:50:31.000Z","size":20724,"stargazers_count":42,"open_issues_count":0,"forks_count":5,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-07T08:33:15.293Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Lissy93.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-07-21T13:53:45.000Z","updated_at":"2025-01-09T02:52:33.000Z","dependencies_parsed_at":"2023-01-11T20:29:58.078Z","dependency_job_id":null,"html_url":"https://github.com/Lissy93/anti-theft-charge","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lissy93%2Fanti-theft-charge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lissy93%2Fanti-theft-charge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lissy93%2Fanti-theft-charge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lissy93%2Fanti-theft-charge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Lissy93","download_url":"https://codeload.github.com/Lissy93/anti-theft-charge/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252122273,"owners_count":21698305,"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-11-12T20:14:50.764Z","updated_at":"2025-10-28T22:09:48.242Z","avatar_url":"https://github.com/Lissy93.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e🔋 Anti Theft Charge\u003c/h1\u003e\n\u003cp align=\"center\"\u003e\n  \u003ci\u003eSafely charge your phone in public places without the worry of it being stolen\u003c/i\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ctable align=\"center\"\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\n        \u003cimg width=\"300\" src=\"demo/atc-initial-app-start.gif\" title=\"Launching app and starting service\" /\u003e\n        \u003cimg width=\"300\" src=\"demo/atc-device-protected.gif\" title=\"Arming and unplugging device\" /\u003e\n      \u003c/td\u003e\n    \u003ctr\u003e\n  \u003c/table\u003e\n\u003c/p\u003e\n\n\n[![codebeat badge](https://codebeat.co/badges/f920568a-0d1c-444f-ae62-9e06ff23b351)](https://codebeat.co/projects/github-com-lissy93-anti-theft-charge-master)\n\n\n### Intro\nEver need to charge your phone in a pubic space, like a train, hostel or airport? Worried that if your eyes leave your device for just a few seconds it could be snatched? ATC is a simple app, that once enabled will sound an alarm at top volume if your device is unplugged when the screen is off /locked. This should be enough to deter the thief and draw your attention.\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eAbout\u003c/b\u003e\u003c/summary\u003e\n\nDeveloped in 24 hours at AngelHack London 2014, won 2nd prize 🏆. Had 100,000 downloads on the Play Store 📲, before it was removed for not having a Privacy Policy 😅. Rewrote it in Kotlin in 2017, just for fun, while I was in hosipital after an accident (i was high af 💊). But decided not to publish it, since there is enough crap on the App Store already 💩.\nBut if you'd like to use it, [here is the APK](demo/app-release.apk). The source was last updated in 2019.\n\nI used to sleep in hostels, I'd have  my phone on charge by my pillow. After I wrote this app, there were several occasions when people tried to take my device, but they got the fright of their life when the loud alarm went off, each time dropping it and running off 🏃, or claiming they thought it was their phone 😂. So it served it's purpose well 🙌.\n\n\u003c/details\u003e\n\n### How it works\nAll the logic is in [this directory](app/src/main/java/com/aliciasykes/anti_theft_charge). When the state is set to armed, a service runs in the background watching for power changes and calling an intent that starts the alarm accordingly.\n\n - [**`ArmDisarmFunctionality.kt`**](app/src/main/java/com/aliciasykes/anti_theft_charge/ArmDisarmFunctionality.kt) - Manages the UI animations.\n - [**`AlarmUtil.kt`**](app/src/main/java/com/aliciasykes/anti_theft_charge/AlarmUtil.kt) - Manages the alarm functionality\n - [**`ChargingUtil.kt`**](app/src/main/java/com/aliciasykes/anti_theft_charge/ChargingUtil.kt) - Determines connectivity status\n - [**`NotificationUtil.kt`**](app/src/main/java/com/aliciasykes/anti_theft_charge/NotificationUtil.kt) - Handles the notification functionality\n - [**`PowerConnectionService.kt`**](app/src/main/java/com/aliciasykes/anti_theft_charge/PowerConnectionService.kt) - Watches for power connectivity changes\n - [**`Restarter.kt`**](app/src/main/java/com/aliciasykes/anti_theft_charge/Restarter.kt) - Keeps the app running in the background, when it is armed\n\n\n### Contributing\nIf you want to improve something, add a feature or fix a bug, feel free to submit a [pull request](https://github.com/Lissy93/anti-theft-charge/compare), or [raise an issue](https://github.com/Lissy93/anti-theft-charge/issues/new). Thank you!\n\n\n### License\nThis project is open source, feel free to do anything you like with the code.\n[Licensed under MIT](LICENSE.md).\n\n---\n\n\u003cp  align=\"center\"\u003e\n  \u003ci\u003e© \u003ca href=\"https://aliciasykes.com\"\u003eAlicia Sykes\u003c/a\u003e 2014 - 2019\u003c/i\u003e\u003cbr\u003e\n  \u003ci\u003eLicensed under \u003ca href=\"https://gist.github.com/Lissy93/143d2ee01ccc5c052a17\"\u003eMIT\u003c/a\u003e\u003c/i\u003e\u003cbr\u003e\n  \u003ca href=\"https://github.com/lissy93\"\u003e\u003cimg src=\"https://i.ibb.co/4KtpYxb/octocat-clean-mini.png\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\n\u003c!-- Dinosaur --\u003e\n\u003c!-- \n                        . - ~ ~ ~ - .\n      ..     _      .-~               ~-.\n     //|     \\ `..~                      `.\n    || |      }  }              /       \\  \\\n(\\   \\\\ \\~^..'                 |         }  \\\n \\`.-~  o      /       }       |        /    \\\n (__          |       /        |       /      `.\n  `- - ~ ~ -._|      /_ - ~ ~ ^|      /- _      `.\n              |     /          |     /     ~-.     ~- _\n              |_____|          |_____|         ~ - . _ _~_-_\n--\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flissy93%2Fanti-theft-charge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flissy93%2Fanti-theft-charge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flissy93%2Fanti-theft-charge/lists"}