[NO ROOT][28.04.2020] FaceNotify - Show notifications only when you look

What ROM are you using?

  • OxygenOS (Pie)

    Votes: 396 73.3%
  • OxygenOs (Oreo)

    Votes: 10 1.9%
  • crDroid

    Votes: 1 0.2%
  • OmniROM

    Votes: 4 0.7%
  • LOS

    Votes: 8 1.5%
  • AOSP

    Votes: 25 4.6%
  • MIUI

    Votes: 33 6.1%
  • Other custom ROM

    Votes: 63 11.7%

  • Total voters
    540

K4CZP3R

Senior Member
Apr 17, 2015
277
336
0
k4czp3r.xyz

FaceNotify by K4CZP3R

Hi, I'm really happy to show you my app.
This app will hide content of your notifications and show it only when it recognizes your face!

I really wanted this IOS-feature on my OnePlus, but could not find an app for this. So I wrote this app!
Installation guide on YouTube

It works with OnePlus 5/5T/6/6T/Xiaomi RN7/Samsung S8/S9/S9+/S10. Other phones are not tested, but it will probably work.
(OS Supported: OxygenOS, crDroid, OmniROM, MIUI)

Send me your logcat dump if you want to have your phone supported! (adb logcat -d > logcat.txt)
Create logcat dump after locking and unlocking your device using face unlock
Upload to gist.github or pastebin and send it to me via PM.
You can send my app log if you are having issues! (Enable it in settings, then send file named Documents/facenotify.txt)


OnePlus and their Oxygen OS Android modification is known as maximizing the stock Android experience. This may be true on the UX front but the exact opposite is valid for background process limits. ~https://dontkillmyapp.com/oneplus
So, try to follow this guide if the service gets killed!

If it still does not work, you can try to install facenotify as system app (will add magisk support for it in the next release!)

Code:
Changelog 2.0.5 (beta)
- Comply with Google Smartlock (FaceNotify will show notifications when Google Smartlock trust your location/bluetooth devices)
Changelog 1.5.6
- Added support for Galaxy S20 (and other new galaxy devices)
- Fixed App Logger crashing the whole app (Permissions error on android 10)

Changelog 1.5.3
- Fixed: scan function would not work because of path differences between phones
- Fixed: LG face recognition, thanks to @Saad Kothiwala

Changelog 1.5.2 (This version is only available through google play)
- Fixed: Notifications not showing after detection
- Added: [B]LG support[/B] (let me know if it works)
- Added: Reboot info at first startup
- Changed: removed hardcoded strings
- This is the last beta release (if everything goes well)

Changelog 1.5.0 (This version is only available through google play)
- Fixed: redirection to face unlock settings (All phones)
- Fixed: device not supported even when it is supported
- Changed: icons in settings
- Fixed: layout of startup check (Now it should work with smaller screen sizes)

Changelog 1.4.9 (This version is only available through google play)
- Changed: versionNameSuffix apperance (x.x.x.beta)
- Added: face unlock settings activity in manifest (this should fix fc on samsung phones)
- Changed: categorized settings
- Fixed: restoreAtInstall would not reset "firstRun" flag
- Deleted: old service functions
- Changed: comp check in settings
- Changed: Face detection scan should be a little bit more faster now
- Changed: logcat check, now system does the heavy part, not the app
- Fixed: Multiple services because startAtBoot service did not check if service is already on
- Fixed: crash on service stop
Fixed: Bug where service would crash because of wrong type of preference

Changelog 1.4.8 (This version is only available through google play)
- Added: Iris, Intelligent scan for samsung devices! (Thanks, @marcovittori and @Mr.Januzi)
- Changed: Backend server api
- Tried to fix: method tester in settings

Changelog 1.4.2 (This version is only available through google play)
- Added: Samsung Galaxy S8/S9/S10 support! (Thanks, @Mr.Januzi)
- Added: Samsung Galaxy S9+ to the supported devices list (SAMSUNG_SM-G965F)
- Fixed: FaceNotify would not work if specified language was set on phone
- Added: Changelog in the app

Changelog 1.4.0 (This version is only available through google play)
- Fixed: now service start itself at boot
- Fixed: Background service (check settings [ignore battery optimisation])
- Changed: Delay after face detection can by any value (in ms)
- Changed: First run screen (clear app data to see it)

Changelog 1.3.3 (This version is only available through google play) 
- Fixed: Crash on start (it was due bad implementation of file reader) 
- Moved: Log viewer to separate activity 
- Changed: Logcat won't contain app facedetection messages (only app logs will do) 
- Changed: Small cosmetic changes

Changelog 1.3.2
- Changed: Detection mode, software is prioritized over hardware

Changelog 1.3.1
- Added: support for MIUI (Tested on Xiaomi Redmi Note 7)
- Added: support for Xiaomi Redmi Note 7 on MIUI
- Changed: Yet another update on background process...
- Added: App log (enable it in settings to log app behaviour)
- Added: Simple "animations" [works with content hiding, not notification hiding]
- Changed: small cosmetic changes
- Changed: cleaned code a little bit
- Changed: "Your phone" name to a human-readable one
- Changed: names of detection modes to (OnePlus (Oxygen OS), AOSP (smartlock), Xiaomi (MIUI))
- Bug 1: In tester, miui option does have Samsung name (it's just a string mismatch) so if there's a true at samsung, choose miui.

Changelog 1.3.0
- Added: support for OmniROM (9.0)
- Added: Another method of background service (need to be tested)
- Added: Bugs to be fixed later
- Added: Will scan logs after the time of unlocking (won't scan old logs which could confuse notification show decision)
- Removed: Not working samsung unlock option
- Bug 1: Sometimes content will overlap 
- Bug 2: You need to tap on a boot notification to start service

Changelog 1.2.7
- Added: Initial support for Samsung Galaxy S9 (probably broken)
- Added: Support for crDroid (on OnePlus 5T, there is a chance it will work on other custom roms)
- Added: Ability to choose 1 of 3 detection options (OOS, Custom ROM, Samsung) [Will add more in the future]
- Added: Test mode in settings, open it, lock your screen and unlock using your face. Then look if a value changes from false to true, if not your phone is not supported :( (send me your logcat)
- Changed: The way of detecting face back to 1.1 (Test)

Changelog 1.2.5 (hotfix)
- Added: Fix button in settings, if your face detection has no effect, please use this button.

Changelog 1.2.4
- Fixed: Restore to defaults had no effect
- Fixed: When hide notification, it would show notification with hidden content
- Fixed: Bug where multiple services will launch causing detection to break
- Fixed: Start on boot not executing

Changelog 1.2
- Added support for non-rooted phones (You will need a one-time adb connection to grant some permissions)
- Added support for OnePlus 5
- Rewrote some functions (preparing for open source release)

Changelog 1.1
- Lowered API, now Oreo devices can install this app
- Added support for OnePlus 5t
- Fixed bug when whole notification will show, but content will be still hidden
- Fixed shortcut to security settings
FaceNotify will need following permissions:
Code:
READ_LOGS - Check status of face recognition (adb shell pm grant k4czp3r.facenotify android.permission.READ_LOGS)
WRITE_SECURE_SETTINGS - Configure notifications settings (adb shell pm grant k4czp3r.facenotify android.permission.WRITE_SECURE_SETTINGS)
DUMP and PACKAGE_USAGE_STATS - Check background service status (adb shell pm grant k4czp3r.facenotify android.permission.DUMP) (adb shell pm grant k4czp3r.facenotify android.permission.PACKAGE_USAGE_STATS)
How to grant these permissions
Linux
1. Download platform-tools to be able to use ADB (google it)
2. Enable USB Debugging on your phone
3. Connect your phone to the computer
4. Enter adb devices
5. If your device is on the list, continue, otherwise repeat from step 2.
6. Grant needed permissions:
6a.
Code:
adb shell pm grant k4czp3r.facenotify android.permission.READ_LOGS
6b.
Code:
adb shell pm grant k4czp3r.facenotify android.permission.WRITE_SECURE_SETTINGS
6c.
Code:
adb shell pm grant k4czp3r.facenotify android.permission.DUMP
6d.
Code:
adb shell pm grant k4czp3r.facenotify android.permission.PACKAGE_USAGE_STATS
7. Permissions are granted and you can use FaceNotify now!


Windows
1. Download FaceNotify - Helper (look at downloads section)
2. Enable USB Debugging on your phone.
3. Connect your phone to the computer
4. Open FaceNotify Helper.exe
5. In the new opened window click Refresh
6. If your device is on the list, select it and continue, otherwise repeat from step 2.
7. Button Grant permissions should become active, click it
8. Accept confirmation message.
9. Permissions are granted and you can use FaceNotify now!

FAQ
Q: Nothing happens when my face is detected
A: Run Fix logs option in settings

Q: I've just installed FaceNotify and started service, it does not work
A: Reboot your phone.

Presentation by 4U Tech

Download from Play Store!
FaceNotify - PlayStore Download


Big thanks to:
@Mr.Januzi- for samsung galaxy s8/s9/s10 support
(and everyone who sent logcats to help me!)

Buy me a beer! paypal.me/KacperSerewis

Sources:
FaceNotify - Helper: https://github.com/K4CZP3R/FaceNotify_helper

XDA:DevDB Information
FaceNotify, Tool/Utility for the OnePlus 6

Contributors
kacperes00

Version Information
Status: Stable
Current Stable Version: 1.5.6
Stable Release Date: 2020-04-28
Current Beta Version: 2.0.5
Beta Release Date: 2020-05-04

Created 2019-04-03
Last Updated 2020-05-10
 

Attachments

Last edited:

tengtengvn

Senior Member
Dec 13, 2008
816
196
0
Silicon Valley
Great idea. Thanks for making this.
Just FYI for other: On the 6T, I only saw a blank page when I first opened the app. Waited a bit and I could see the buttons.

Sent from my ONEPLUS A6013 using Tapatalk
 

jnss98b

Senior Member
Jul 25, 2018
131
18
18
New York
Anybody confirm if it works on 5t?
Someone on the reddit post confirmed that it works. Although it will say "not supported" in the second box

Sent from my ONEPLUS A6003 using XDA Labs

---------- Post added at 06:01 AM ---------- Previous post was at 05:52 AM ----------

Oh damn never thought this would be possible. One caveat though. The transition from hidden to showing the notification content is not smooth. Actually there isn't even an animation. Could you do something with that or is it a limitation of Android?

Sent from my ONEPLUS A6003 using XDA Labs
 
  • Like
Reactions: GeneFitz23

K4CZP3R

Senior Member
Apr 17, 2015
277
336
0
k4czp3r.xyz
Does not seem to be working for me on OnePlus 6.

First time I tap start service, it gives me an error my device is not supported. Second time it activates but does not hide any notifications on lock screen.
Try to change some settings in app, it may be a bug. (will be fixed in the next release)
 

jnss98b

Senior Member
Jul 25, 2018
131
18
18
New York
It's a little inconsistent on OOS 9.0.3. The persistent notification is there, battery optimization is off for this app but somehow it still doesn't work after a period of time and I have to go into the app to disable and then re enable the service for it to work again.

Sent from my ONEPLUS A6003 using XDA Labs