• Stars
    star
    146
  • Rank 252,769 (Top 5 %)
  • Language
    Java
  • License
    Other
  • Created over 5 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Notification LED for Samsung/Pixel phones with in-screen camera cut-out (punch-hole)

This is the sauce for the Holey Light app.

LICENSE is GPLv3.


Holey Light is a LED emulation app. It animates the edges of the camera cut-out (AKA punch-hole) as replacement for the sadly missing LED on many modern devices.

Additionally, it provides a notification display for when the screen is "off", replacing - or working in conjunction with - the Always-On Display feature. As this display is not around the camera hole, it is aptly named the Unholey Light.

While it was originally written for the Samsung Galaxy S10, the latest version at the time of writing supports all Samsung devices and several Google Pixels as well (as long as they have a camera hole inside the screen).

My personal test devices is the plain S10, if things are out of whack on the other models, let me know.

There is a link to XDA thread at the bottom, which is the place for discussing this app. There's also a Telegram channel where I sometimes even respond.

Features

  • Emulates notification LED
  • Four different display modes: Swirl, Blink, Pie, Unholey Light
  • Configurable animation size, position, and speed
  • Customizable color for each notification channel
  • Selects initial notification color by analyzing dominant color of app icon
  • Displays during screen "off", sub-1% battery use per hour in Unholey Light mode
  • Separate configuration modes for different power and screen states
  • Ability to mark notifications as seen based on various triggers
  • Respects Do-Not-Disturb and AOD schedules
  • Can hide AOD completely, partially, and/or keep the clock visible
  • Additional AOD Helper package for further battery usage reduction

Questions you could and/or should ask

Can I get this or that feature?

Maybe. I am building this for me, and you get to use it if you want. If I want your feature for myself, I may add it. If not, you could always pull request :)

The issue tracker is the TODO list, you might ask for it there.

Aren't there other apps that do this?

Yes there are. Holey Light was one of the first few, and certainly the first to exploit Samsung-specific power saving modes.

This was years ago now. Today there are probably a dozen apps that do the same thing with various amounts of success, compatibility, tracking, ads, and payment.

This one is mine, this one is free, and you get teh sauce.

I heard you built this entire thing just so you could call an app "Holey Light"?

That is absurd. Who would even do such a thing. Certainly not me. /s

Something something ETA?

No.

Battery use

Holey Light tries to use as little battery as possible. Various different modes use different amounts. The Unholey Light (which as the name implies, is not centered around the camera hole) uses least by staying on-screen without the CPU having to be awake.

See tech.md for a more in-depth description.

Rendering

Entire section moved to tech.md

Burn-in

Both the app and Android shift pixels around to reduce risk of burn-in.

See tech.md for a more in-depth description.

Freedom!

This app is 100% free, without ads, without tracking, but with GPLv3 sauce.

In-app purchases exist to donate if you are so inclined, this does not unlock additional features, change app behavior, or entitle you to anything.

Changelogs and release notes

See the changelog page.

Download

You can grab it from Google Play.

Alternatively, APKs are available from the APK directory, both for the main APK (which may become outdated here) and the AOD Helper package (which must stay updated because this is its main distribution channel).

Screenshots: Full options - 1 - 2 - 3 - 4 - 5 - 6 - 7

Feedback

It puts it in the XDA thread or in the GitHub issue tracker.

The workings of the app are quite intricate, so describe what is happening in minute detail.

TODO

You can find the TODO list in the issue tracker.

Translations

app/src/main/res/values/strings.xml is the master English file that needs to be translated.

I add strings in chronological orders, so you can just look at the bottom of the file for new entries.

Enjoy!

Or not.