MCPcopy Index your code
hub / github.com/SimenCodes/heads-up

github.com/SimenCodes/heads-up @v1.14

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.14 ↗ · + Follow
362 symbols 909 edges 33 files 45 documented · 12%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Heads-up notifications

With this app, any device can get the heads-up notifications introduced in Android 5 “Lollipop”, no root required. And the popups actually look like those in Android Lollipop. But according to Addictivetips (and a lot of the users), this app “has done more than just replicate a feature of Lollipop. Even if you aren’t dying to try Lollipop and some of its new features, this app is worth a try“.

Hi everyone!

As you might have noticed, I don’t really have time to work on Heads-up anymore. Heads-up will keep working, but I won’t add any new features. Maybe someday in the future, but right now I’ve got too much other exciting stuff going on :)

I’d like to say thank you for using Heads-up, leaving over 30,000 awesome reviews on Google Play, sending me thousands of emails with feedback, and translating it into 30 languages. And of course a huge thank you to those who donated as well!

Seems like you’ve been busy telling your friends about Heads-up too, we’ve been getting over 1,000 new users daily for a total of almost 900,000 downloads!

I’d never be able to pull this off without you!

Cheers,

Simen

Looking for help? Scroll down to "Common Issues"

Features

  • Displays notifications as a floating popup
  • Easily control which notifications to display
  • Quick actions: mark messages as read in one tap (Android 4.1+, doesn't work with all devices and apps)
  • Display the heads-up on lock screen as well
  • Battery friendly! (Email me if you notice significant battery consumption after installing)
  • Choose how long you want the notifications to display
  • Pocket detection / active display (causes a tiny increase in battery usage if you get a ton of notifications)
  • Display notifications on the lock screen until dismissed
  • Privacy on the lock screen
  • Multiple themes
  • Choose popup positioning and opacity
  • Don't display heads-up while using certain apps
  • Display a popup for the currently playing song
  • Compact/expandable mode
  • Full notification

Translating

If you speak another language, I'd appreciate if you could help us translate this the app! Go to the Crowdin page

Common issues

If no popups appear:

The universal problemsolver list - Did you remember to enable the service by pressing the "Enable/disable" button and then setting Heads-up to ON in the next screen? - Make sure the service actually is running. Does it show up under System Settings > Apps > Running? - If not, reboot the phone. Does that help? - [4.2 and earlier] Do you have any other accessibility services running? Some other services, like Pushbullet, blocks Heads-up from reading notifications. - Uninstall the app completely, reboot the phone, and install it again. Make sure you are using the latest version. After enabling the service inside the app, reboot the phone. - Allow more priority levels in the settings. - Some phones block Heads-up from displaying popups. Check that "draw on top" or "display popups" is enabled in System Settings > Apps > Heads-up.

XIAOMI, ZTE and MIUI users:

Before you can use this app, you'll probably need to give it some slack when it comes to security.

  1. Go to System Settings > All > Apps > Downloaded > Heads-up notifications.
  2. Toggle the switch that says 'Show popup windows' (second option).
  3. At the bottom, go to 'Manage permissions'.
  4. Set 'I trust this app' to on.

It might also be necessary to reset the app data/settings.

Huawei users:

While I don't have any Huawei devices to test this with, a user said the following works on Huawei Ascend P7:

Open the app 'phone manager', click settings in the top right corner. Select "dropzone management" and give the app permission.

If this doesn't work, try the instructions for XIAOMI/ZTE/MIUI users.

Lollipop users:

A fix for the "Don't disturb" and "Block current app" features is on its way.

Device talking?

This is a bug in Samsung's firmware. See post on my website. If you don't need Text-To-Speech, you can also go to System Settings > Apps > All, and disable everything with TTS or Text-To-Speech in the name.

Uninstalling:

If you find that the uninstall button is disabled, go to Settings > Security > Device administrators > Heads-up, and tap Disable.

Only one notification

Yup, that's right. Heads-up does only show one notification. Period. See issue #34.

Something else?

Something I haven't covered here? I have answered all kinds questions in the issue tracker. If your question hasn't been answered there (protip: use the search button), ~~feel free to ask!~~ you're unfortunately out of luck (I don't provide support Heads-up anymore, see note at the top of this page). ~~*Let me know that you've tried the steps here when asking qustions. If you don't, the first thing you'll get is a link to this list.~~

Contact

Want to get in touch? Feel free to email me about anything else than questions about Heads-up.

Extension points exported contracts — how you extend this code

GameView (Interface)
(no doc) [8 implementers]
app/src/main/java/codes/simen/l50notifications/ui/LLand.java
StopListener (Interface)
(no doc) [3 implementers]
app/src/main/java/codes/simen/l50notifications/ui/LLand.java
DismissCallbacks (Interface)
The callback interface used by SwipeDismissTouchListener to inform its client about a successful dismissal of th [1 implementers]
app/src/main/java/codes/simen/l50notifications/util/SwipeDismissTouchListener.java

Core symbols most depended-on inside this repo

d
called by 55
app/src/main/java/codes/simen/l50notifications/util/Mlog.java
v
called by 30
app/src/main/java/codes/simen/l50notifications/util/Mlog.java
frand
called by 20
app/src/main/java/codes/simen/l50notifications/ui/LLand.java
reportError
called by 14
app/src/main/java/codes/simen/l50notifications/OverlayServiceCommon.java
doFinish
called by 13
app/src/main/java/codes/simen/l50notifications/OverlayServiceCommon.java
L
called by 11
app/src/main/java/codes/simen/l50notifications/ui/LLand.java
irand
called by 9
app/src/main/java/codes/simen/l50notifications/ui/LLand.java
sendResult
called by 8
app/src/main/java/codes/simen/l50notifications/ui/RequestBroadcastDialog.java

Shape

Method 308
Class 51
Interface 3

Languages

Java100%

Modules by API surface

app/src/main/java/codes/simen/l50notifications/ui/LLand.java72 symbols
app/src/main/java/codes/simen/l50notifications/OverlayServiceCommon.java38 symbols
app/src/main/java/codes/simen/l50notifications/ui/SettingsActivity.java21 symbols
app/src/main/java/codes/simen/l50notifications/theme/ThemeClass.java20 symbols
app/src/main/java/codes/simen/l50notifications/ui/WelcomeActivity.java16 symbols
app/src/main/java/codes/simen/l50notifications/ui/ActivityAppList.java14 symbols
app/src/main/java/codes/simen/l50notifications/util/RoundDrawable.java12 symbols
app/src/main/java/codes/simen/l50notifications/util/SwipeDismissTouchListener.java11 symbols
app/src/main/java/codes/simen/l50notifications/ui/SetupActivity.java11 symbols
app/src/main/java/codes/simen/l50notifications/NotificationListenerService.java11 symbols
app/src/main/java/codes/simen/l50notifications/KeyguardRelock.java10 symbols
app/src/main/java/codes/simen/l50notifications/DecisionMaker.java10 symbols

For agents

$ claude mcp add heads-up \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact