[APP][5.0+][2020.12.22] CF.lumen v3.74 - Android Apps and Games

About
CF.lumen adapts the colors on your Android device based on the position of the sun, or your custom configuration.
When using the default settings, your display will get a warmer tint (lower color temperature) when the sun is down, vastly reducing strain on the eyes. This will take some getting used to, though! The colors also match closer to common artificial light sources, than the daytime light you get from the sun. Blue light makes your brain want to stay awake, and a lower color temperatures reduces the amount of blue displayed; using this in the evening also reduces your brain's effort to keep you awake at night, and can be beneficial to your sleeping pattern.
During sleeping hours by default a red filter is used. Red strains your eyes the least, and retains your night vision.
Light sensor
The light sensor can be used to automagically adjust the color: switch to the sleep filter in full dark, or to the day filter (usually none) under bright lights.
Because light sensor quality varies wildly between devices, a calibration option is provided. Most devices seem to work fine with sliders set all the way to the left, others need them to be set all the way to the right. Experiment as needed, but be warned that some devices simply cannot distinguish between evening indoor lighting and full darkness, and this feature may thus not work well for you.
Color filters
Several filters are provided. Those named after a color (red, green, blue, amber, salmon) do not limit the display to those colors, but convert the displayed image to grayscale first, then display that image in levels of the selected color, instead of levels of all channels (white). This preserves details that would otherwise be lost.
Grayscale, invert colors, temperature adjustment and custom R/G/B adjustment filters are also provided.
Colorblindness
The master color filter setting also has an option for colorblindness enhancement, with settings for protanopia/anomaly, deuteranopia/anomaly and tritanopia/anomaly. These options redistribute colors across the spectrum, in theory enhancing clarity and color detail.
No claims are made to the effectiveness of these filters, but positive reports have been received from testers. Also note that these filters were thought up by Google engineers - CF.lumen just includes them.
Pro version
Upgrading to CF.lumen Pro will support my developments, remove all nags, unlock the option to start at device boot (make sure you test your configuration first), and unlocks notification options. It also enabled Tasker integration.
In Pro mode, the notification adds convenient buttons to quickly disable the current filter or switch to sleep mode, and you can switch the notification to when enabled mode, which shows the notification only when a color filter is active.
In non-Pro mode, the notification only asks you to upgrade to Pro. It may seem that notification is just there to annoy you, but it actually prevents Android from randomly killing the background service taking care of all the work. Getting rid of it without getting the service killed can be done by going to Settings -> Apps -> CF.lumen and unticking Show notifications.
As in the past CF.lumen was part of Chainfire3D, if you have the Pro package of the latter installed, Pro mode will also be enabled.
Drivers
CF.lumen currently supports three driver backends to adjust the display: the original CF.lumen driver, the KCAL kernel driver, and the rootless (non-root) overlay. See the driver section below for further details.
Performance
When no color filter is active, there should not be any noticeable performance impact. When a filter is active, impact depends on device and what you are doing. On some devices we have tested there was no performance impact at all, on others it was slightly noticeable.
Performance characteristics change based on the driver you are using. See the driver section below for further details.
History
Nightmode - now called 'sleep mode' in CF.lumen - was actually the kick-off of Chainfire3D's development, and the later arrival of the original CF.lumen additionally containing the functionality to change color temperature based on the sun's position. Completely different (and no longer possible) techniques were used to get similar results. There were fewer options, and the filters limited display to the selected channels instead of the currently used much higher quality method of displaying luminance levels on the selected channel.
Future
Keep in mind that Android's rendering system changes over time. This app was possible in the old days of Android, and then wasn't possible for a long time. Only with KitKat did it become possible to make this work again. As such, you should be aware that this app may simply stop working on future Android versions without the possibility of a fix.
Scary permissions
By far most permissions are used only for Google Maps to set your location, and Google Play to provide for In-App Purchases. I cannot make any claims as to what information the Google components do or do not send to Google servers, but no information is sent to me or anyone else (than Google).
Download
Get CF.lumen at Google Play
It needs Android 5.0 Lollipop or newer!
Screenshots

Walkthrough video
GIF
Drivers
CF.lumen currently supports several driver backends to adjust the display: the original CF.lumen driver, the KCAL kernel driver, the PCC/RGB kernel driver, and the rootless (non-root) overlay. Driver selection will only be presented to you if multiple drivers are actually supported on your device.
Drivers: performance background
Software compositing is when your device takes the different surfaces on screen (the app's display, the status bar, the navigation bar, a popup window, these are all surfaces), draws them into a single buffer, then lets the hardware display this buffer. Virtually all modern devices can also do hardware compositing, where these different surfaces are presented to display hardware themselves, skipping one drawing step. It should be noted however, that hardware compositing only supports three surfaces (usually), so only the most basic scenes can be rendered this way. If more than the number of supported surfaces are displayed, the system falls back to software compositing automatically. Performance is slightly lower when this happens, but it happens all the time, and I doubt you've ever noticed it without looking for it.
One specific note about this is that "secure" content (DRM protected video rendering, for example) can only be hardware composited, as the software is not allowed to gain access to the surface. So if you are experiencing video disappearing, it's because the system has switched to software compositing. This can be due to CF.lumen's driver, a color overlay, or even just a system popup pushing the number of surfaces beyond the number of supported surfaces by the hardware compositor.
Drivers: CF.lumen
The CF.lumen driver requires software compositing, as it changes the colors displayed during the software compositing step. Of course, it lets the system go back to hardware compositing if it's not actively changing colors. This can slightly impact performance.
This driver changes colors on the surface content level, and can perform all sorts of calculus before deciding what to display. This usually gives it the highest possible image quality output. For example, in the color channel modes (red - night mode, green, blue, amber, salmon), the image is first converted to a luminance-based grayscale image, and then output in the selected color channels. This dramatically improves clarity and detail over only displaying the selected channels. Taking red mode as an example, this means that green and blue image content still shows up in a shade of red, whereas normally all colors devoid of a red component would show up as full black. Because of the surface-based manipulation, the invert filter may sometimes show unexpected results.
This driver affects both full-screen screenshots as well as app screenshots. Aside from normal screenshot/cast purposes, these are also used by the system for animations and in the recent task lists, and thus it may sometimes appear like a filter is applied twice during rotation or while browsing the tasks list.
Since v3.65 this driver comes in three different modes:
Drivers: CF.lumen: Compatibility mode
This driver mode should work on virtually all devices out there, however, on many firmwares it comes with an extra large performance penalty. Rendering quality is generally excellent, but various internal actions of Android itself (such as screen on, pattern unlock, app install, etc), as well as any app that triggers Android's accessibility options, may temporarily interfere with the rendering. This can cause a flash of the original colors being shown, instead of our manipulated colors.
Drivers: CF.lumen: Performance mode
This driver mode overrides Android's rendering system in a different way. While it doesn't work on all devices and firmwares, if it does work, it is often significantly faster than the compatibility mode. It also doesn't suffer from short flashes of the original colors being shown. This mode causes visible artifacts on some devices, though it isn't common.
Drivers: CF.lumen: Anti-flicker mode
This driver mode is a hybrid of compatibility and performance modes. It uses the same subsystem as performance mode, and thus it doesn't work on all devices and firmwares. This mode keeps the rendering from compatibility mode, but attempts to prevent the short flashes of the original colors being shown.
Drivers: KCAL
The KCAL driver is quickly becoming a popular kernel mod for Qualcomm devices. It allows color adjustments in the display hardware itself. There is no performance difference with this driver, but of course your kernel must support it. This is the fastest driver.
This driver changes colors on the display level, and is limited in the operations it can perform. It is fast, but the image quality can be less. In color temperature modes (probably your most used mode) there is no difference with the CF.lumen driver. In the color channel modes however, there is no luminance conversion. If you select for example the red mode, you will only see the red component of colors. Pure blue, pure green, or any color which is a mix of blue and green but not red, will appear black.
A gamma correction option is available for this driver. Some devices automatically gamma correct the values CF.lumen gives the kernel, the app needs to know about this, so it can take this into account in its calculations.
This driver affects neither full-screen screenshots nor app screenshots. It does not support the colorblind filter.
Drivers: PCC/RGB
This driver is very closely related to the KCAL driver, as they use the same hardware, so please read that section. Some kernels provide support for one but not the other. If both are supported, KCAL generally gives you a few more options than PCC/RGB, but there is no performance difference between the two.
This driver does not support the grayscale, invert or colorblind filters.
Drivers: rootless
The rootless fallback driver (for non-root users) uses a color overlay. This is an additional surface, causes at least one additional expensive full-screen rendering step, and is likely to throw your system into software compositing mode most of the time. This is the slowest (and ugliest) driver.
Image quality wise, it is no competition for the other drivers, but not everyone has root. Like the other screen color tint apps on the market (there are quite a few, and while CF.lumen is older than all of those, it is certainly not the best known or most popular one), a color overlay is used. Where the other drivers properly manipulate the displayed colors, this driver is more like putting a half-transparent colored sheet over a picture. While it somewhat does the job, it lowers contrast significantly.
On Android 6.0, various Android functions refuse to work when an overlay is present. This includes apps asking for permission, installing apps, etc. The app attempts to detect these situations and automatically turn off the filter. If you spot a situation where the filter is not automatically temporarily disabled, please let me know.
This driver affects only full-screen screenshots (but not full-screen animations), not app screenshots. It does not support the grayscale, invert, or colorblind filters.
Non-GApps firmwares
This app uses Maps for manual location setting, and Play for purchasing Pro. An increasing number of users do not have GApps, for privacy, security, and other concerns. If the app is installed on such a firmware, your location will be determined using the normal location API (without manual override, so your phone has to be able to determine your location). As I do not want to deprive anyone from the potential health benefits of sleeping better, the app operates in Pro mode if you do not have the Play store installed (PayPal'ing me beer money is always an option).
The APK is attached to this post for those not using Google Play (only).
Under no circumstances are you allowed to (re-)distribute this APK
(v2.00: 32, v2.05: 180, v2.10: 164, v2.16: 288, v2.25: 118, v2.40: 555, v2.50: 546, v2.60: 39, v2.61: 132, v2.66: 27, v2.71: 563, v2.74: 388, v2.75: 1042, v3.00: 4320; v3.65: 1376)

Changelogs
2020.12.22 - v3.74
- (c) 2020
- Remove references to G+
- Android 11 support
- Android 10+: Show warning about notification options not working
- Android 10+: Disable rootless mode
- Android 10+: Disable advanced/injection/anti-flicker/performance driver (needs further investigation to make work)
- Add foreground service permission
- Built for API 29
- Fix notification spam issue
- Fix maps crashing
2018.12.20 - v3.72-TEST
- Pie: Fix soft-bar transparency
- Pie: Fix boot-up launch
- Pie: Fix maps not working
- Pie: Fix greylist violations
- Oreo/Pie: Fix notifications
- Fix Magisk detection / root warning
- Fix system settings modification permission handling
- Fix location permission handling
- Fix performance driver injection on some 7.0 devices
- Fix several deadlocks
- Add option to detect which driver mode is the fastest
- Support for new KCAL paths
- Replaced root sockets with Binder-based IPC
- Removed colorblind options (available in Developer Options on all recent devices)
- Greyscale/Saturation filter: allow up to 2.0x factor (oversaturate)
2018.11.28 - v3.71-TEST
- (c) 2018
- Basic Pie fixes (far from complete!)
- Updated libsuperuser and librootjava
- CF.lumen performance driver: fixed injector for newer Android versions
2017.02.09 - v3.70
- (c) 2017
- Upgrade grayscale filter from a toggle to a saturation slider
- CF.lumen driver: fix 'performance mode' on Nougat (bypass new linker protections)
- CF.lumen driver: fix darken filter math issue (still doesn't work on invert, though)
2016.03.30 - v3.66
- CF.lumen driver: smoother filter switching
- CF.lumen driver in Performance mode: fix disable hardware overlays option sticking when CF.lumen is disabled
- Tasker: fix black screen on filter selection
- Tasker: fix brightness change on filter selection
2016.03.01 - v3.65
- Reworked raw remote control receiver
- Fix logcat spammed with notification errors regarding a missing icon
- Fix issue with "Bright light" setting
- Fix flicker on location update
- Reduce frequency of notification updates
- Add color checker to rgb/custom and temperature filter selection dialogs
- Underlined numbers next to sliders can now be tapped to input a text value
- CF.lumen driver: fix not closing properly when switching to KCAL
- CF.lumen driver: better monitor accessibility settings
- CF.lumen driver: added anti-flicker and performance modes
- KCAL driver: add gamma correction feature
- KCAL/CF.lumen drivers: Tune color temperature algorithm
- PCC RGB driver added
- Add "Darken filter" setting to "Brightness" option (sub-zero)
- Made "Brightness" setting on filter selection an icon
- Moved "Auto-update location" option to the Map activity
2016.02.18 - v3.62
- Fix driver not initializing on various devices
2016.02.17 - v3.61
- Slight performance improvement in root driver
- Change timeout handling code in root service
- Fix background ANR
2016.02.16 - v3.60 - RELEASE NOTES
- Play release of v3.53
2016.02.16 - v3.53 BETA
- Add notice to reboot first after installation if old driver found
- Fix some options in the settings screen not being disabled when they should be
- Adjust light sensor calibration texts and min/max values
- Add option to auto update location (enabled by default, passive listener, no power use)
- Add welcome message
2016.02.13 - v3.52 BETA
- Fix issue with system-based SuperSU
- Fix old driver not always being reset when switching drivers
- Fix KCAL driver not always resetting when setting to disabled (screen power cycle also works)
- Fix rootless overlay being applied twice on service restart
- Periodically and on certain actions, reset color matrix
2016.02.08 - v3.51 BETA
- Fix grayscale channel rendering
- Allow master mode without location
- Improve Marshmallow doze/standby handling
- Fix filters sometimes not showing on initial setup in Rootless mode
- Added warning if drawing over other apps is disabled in M+Rootless mode
- Added capability to detect permission dialogs and hide overlay in M+Rootless mode
2016.02.08 - v3.49 BETA
- Should work again on MIPS
- 4.4 support dropped, now 5.0+
- Fix FC on SuperSU prompt
- Completely new CF.lumen driver code
- Improved driver switching
- (C) 2016
2015.10.28 - v3.16
- Detect Enforcing SELinux without supolicy availability and warn user
2015.10.27 - v3.15
- Fixed a case of the new root driver not being injected (and thus nothing happening)
2015.10.26 - v3.11 BETA - RELEASE NOTES
- Fixed freezing issue
- Fixed Note5 (and others?) support
2015.10.19 - v3.10 BETA - RELEASE NOTES
- New root driver method
- Adjusted slider layouts
- Dropped MIPS support
2015.02.24 - v3.00 - RELEASE NOTES
- (C) 2015
- Added KCAL driver (see XDA thread for details)
- Added Rootless driver (see XDA thread for details)
- Added freeload option
- Backuptool script updated (requires un-/reinstall of driver to become active)
2014.12.22 - v2.75
- Change notification flags
- Fix driver detection issue which could lead to bootloops on devices with symlinked busybox
- Work-around one case of bootloops, detect that case, and warn about it
2014.12.02 - v2.74
- Fix remote control issue
2014.11.19 - v2.72
- Fix issue with in-app billing
2014.11.14 - v2.71
- Hide notification from (secure) lockscreens on L
- Check free space before installing driver
2014.11.06 - v2.70
- Tasker integration (Pro only)
2014.11.05 - v2.66 - RELEASE NOTES
- Android 5.0 fixes
- 64-bit fixes
- Performance improvement
2014.10.22 - 2.61
- Fix UI bug where settings wouldn't open sometimes
2014.10.22 - 2.60 - RELEASE NOTES
- Fixed a name issue with the recovery installer
- Automatically restart service when app is updated
- Expanded theme options, including material (basic)
- SELinux policy patches for LPX13D
- Experimental support for arm64, x86-64, mips64
2014.07.02 - 2.51
- Fix: ignore light sensor triggered sleep if forced awake during sleep hours
2014.07.01 - 2.50
- Installer fixes for latest AOSP
- Installer fixes for Android "L" Preview
- Added wake button to notification during sleep mode, which goes to sundown mode and is the default tap response - in contrast to disable, which disables all filters and is the default tap response while not sleeping
- Fixed issue where starting CF.lumen would not start the driver/service when not using Pro, and nothing would happen regarding screen colors, no matter which buttons you push
2014.04.16 - 2.40 - RELEASE NOTES
- Added brightness control to filters (actionbar option)
- Added option to wake from sleep mode when an alarm goes off
- Added option to install via custom recovery
- Added backuptool support (survive custom ROM nightlies) - un/re-install driver to activate if coming from an older version
- Fixed setting sleep filter to disabled using day filter at night instead of sundown filter
- Fixed filters occasionally sticking while modifying settings
2014.04.14 - 2.25 - RELEASE NOTES
- Various UI tweaks
- Added gradual filter fading, configurable for sunrise, sunset, sleep and sensor events
- Added notification icon options (keep notification but hide icon)
- Added light sensor based wake from sleep option
- Added driver update needed notification
- Added option to switch between light, dark, and device themes
- Added quick toggle menu items to main activity
- Improved (Pro) notification behavior - en/disable now default tap option when active
- Fixed kelvin and R/G/B choices not being saved between filter selections
- Fixed "Upgrade to Pro" from notification sometimes not working
- Fixed text wrapping on light calibration dialog
2014.04.11 - 2.15
- Fixed driver installation problem when using Superuser instead of SuperSU
2014.04.11 - 2.10
- Fixed crash on driver (un)install
2014.04.10 - v2.05
- Fixed a number of force closes
2014.04.10 - v2.00
- Initial public release

Is there any practical difference between this and Lux?
Sent from my Nexus 5 using XDA Premium 4 mobile app

rlaw said:
Is there any practical difference between this and Lux?
Sent from my Nexus 5 using XDA Premium 4 mobile app
Click to expand...
Click to collapse
See walkthrough video on YouTube, and you will get the answer.
Sent from my Nexus 4 using Tapatalk

Is it possible that you could add Tasker compatibility? If not, are there public intents available to control cf.lumen through Tasker intents? Thanks for updating this great app.

EDIT: The latest update(s) fixed my problems. Thanks CF! Will buy if I like the app after a few days of use.
BUG:
I would love to include a logcat, but I simply don't have the time today or tomorrow. If needed, I'll post one this weekend.
When the app runs for the first time: grant su access, then I see the "please install cf.lumen driver". I click install, device reboots after a few secs, after reboot I wait for some time before opening the app again. When I open it, it asks me the same thing: install the driver. Wasn't the driver installed, or doesn't it detect the driver?
PHONE: Nexus 4, ROM: Paranoid Android 4.2 BETA 4 (that's Android 4.4.2 if you don't know), KERNEL: franco.Kernel #204.
On my first try I had Nexus Display Control (also by Franco) installed. My guess was the apps aren't compatible. After uninstalling both apps, reboot, installed cf.lumen again, install driver, reboot: same problem. So for now no cf.lumen for me. Just eye strain.
I hope this helps you find the bug or incompatibility I have!

4.0+
Excellent, and we need it for Android 4.0+

No love for 4.1 - 4.3 makes me a sad panda

kodirovshchik said:
Excellent, and we need it for Android 4.0+
Click to expand...
Click to collapse
+1. Although I favour the cool-factor and performance of custom ROMs, it's always nice to be able to get a similar experience on stock ROM (which is ICS for me), considering that there are no stable custom ROMs on my device at the moment. I'm actually in the midst of custom ROM development for my device, though I work on CM10.2. (There are others who work on KitKat). It would be much appreciated if the @Chainfire could add support for lower Android versions.

rlaw said:
Is there any practical difference between this and Lux?
Click to expand...
Click to collapse
Seems to me (haven't actually tried), Lux (like several other solutions) uses an overlay for things like colortemperature and nightmode, which usually gives a lot worse image quality.
It's auto-brightness features on the other hand should work fine, and is something not really available from CF.lumen. Maybe one day one app will also be able to control the other.
jackattack said:
Is it possible that you could add Tasker compatibility? If not, are there public intents available to control cf.lumen through Tasker intents? Thanks for updating this great app.
Click to expand...
Click to collapse
This is not available right now, but I've added it to my to-do list.
erikieperikie said:
BUG:
I would love to include a logcat, but I simply don't have the time today or tomorrow. If needed, I'll post one this weekend.
When the app runs for the first time: grant su access, then I see the "please install cf.lumen driver". I click install, device reboots after a few secs, after reboot I wait for some time before opening the app again. When I open it, it asks me the same thing: install the driver. Wasn't the driver installed, or doesn't it detect the driver?
PHONE: Nexus 4, ROM: Paranoid Android 4.2 BETA 4 (that's Android 4.4.2 if you don't know), KERNEL: franco.Kernel #204.
On my first try I had Nexus Display Control (also by Franco) installed. My guess was the apps aren't compatible. After uninstalling both apps, reboot, installed cf.lumen again, install driver, reboot: same problem. So for now no cf.lumen for me. Just eye strain.
I hope this helps you find the bug or incompatibility I have!
Click to expand...
Click to collapse
A logcat will not help for this (its not a crash) - we'll need to investigate some other way. Can you confirm /system/lib/libcflumen.so is present?

SirBindy said:
No love for 4.1 - 4.3 makes me a sad panda
Click to expand...
Click to collapse
Codename13 said:
+1. Although I favour the cool-factor and performance of custom ROMs, it's always nice to be able to get a similar experience on stock ROM (which is ICS for me), considering that there are no stable custom ROMs on my device at the moment. I'm actually in the midst of custom ROM development for my device, though I work on CM10.2. (There are others who work on KitKat). It would be much appreciated if the @Chainfire could add support for lower Android versions.
Click to expand...
Click to collapse
If I could easily do this, I would, but I can't, so I won't.

Chainfire said:
A logcat will not help for this (its not a crash) - we'll need to investigate some other way. Can you confirm /system/lib/libcflumen.so is present?
Click to expand...
Click to collapse
Same issue here on N4 running CM11 M5 4.4.2. I do not have the system/lib/libcflumen.so file. I tried pressing install and reboot a couple of times to no avail.
Edit: just got an update from the play store. Ironically this update that says it fixes force closes now causes the app to force close when pressing ok to install the driver. Using ART by the way.

It does not seem to work at all in Cm11. It crashed once but even when it does not it don't change anything. It does flicker a small black square though.

The app crashes when I tap okay for the driver installation. I am using a Nexus 4 on 4.4.2 SlimKat build 3 with Matr1x 13.5 kernel and ART. I've added a Logcat for you, not sure if I did it right, let me know if it doesn't contain all the information you need. I think ART might be breaking it.

Max Dark level - 100
Min Bright level - 250
Could you change Min Bright level to 101? Its logical, and I really need it on my nexus 7 2013.
Or, even better, could you make dynamic Max Dark/Min Bright level?
Max Dark - ( N ),
Min Bright - ( N + 1 )

I also get fc after driver install on cm11 with my vs980. No work:/
Sent from my LG-VS980 using Tapatalk

I stand by XXCoder and tacosdelicioso on the CM11 issue. App crashes when asking for reboot, soon after permissions are given. I am running ART, FYI.
Enviado de meu XT925 usando Tapatalk

Dante897 said:
The app crashes when I tap okay for the driver installation. I am using a Nexus 4 on 4.4.2 SlimKat build 3 with Matr1x 13.5 kernel and ART. I've added a Logcat for you, not sure if I did it right, let me know if it doesn't contain all the information you need. I think ART might be breaking it.
Click to expand...
Click to collapse
Happens the same to me. Using latest temasek v64, devil's kernel and dalvik.

FCs on me as soon as I press OK to restart to install the driver. Happens every single time. Restarted manually and opeed it up again and same thing

Related

[App] BattMonX (Droid X Battery State Monitor via LED Status)

All,
I realized after posting in the general app announcement thread that you/we Droid X users might want to be aware of this app written specifically for the Droid X (but might be useful to other phones too).
So, here's the link to the general app announcement thread and a brief summary of what this app is all about:
[App] BattMonX (Droid X Battery State Monitor via LED Status)
BattMonX is a utility for the Motorola Droid X to turn on the LED indicator light while the phone' screen is off to indicate its battery state: charged, discharging, or charged/full.
The Droid X does not currently indicate the battery charging state via the LED indicator light as other phones do.
This app is free in the Market. Search for "BattMonX".
This app is intended bridge that gap until such functionality is restored by VZW/Motorola.
QR code, screenshots, more details are in the link provided above.
Thanks and enjoy!
I missed this feature coming from my Blackberry thank you!
Sent from my DROIDX using XDA App
Ubermicro13 said:
I missed this feature coming from my Blackberry thank you!
Sent from my DROIDX using XDA App
Click to expand...
Click to collapse
You are most welcome! Its been a fun project to work on. I hope to get the set-on-boot / run-on-boot thing figured-out soon. Stay tuned.
Coming from the HTC Droid Eris, I was used to this feature too.
There were lots of us on launch day that were posting as to whether anyone had a lit LED while the phone was being charged. I actually saw my LED light up (not through a text notification or anything) very briefly during the first OTA update we got, but never since then.
Anyway, glad to have finally learned enough Android programming to have made this feature available to folks. By the way, I've been keeping my discharging state LED color set to blue--looks cool .
Cheers!
nice idea but if you run a custom rom it usually adds this already without the need for another app. im running tranq and it has it
luke1333 said:
nice idea but if you run a custom rom it usually adds this already without the need for another app. im running tranq and it has it
Click to expand...
Click to collapse
Thanks for the feedback. I didn't know this (I'm still running stock 2.2 (although rooted)).
The app development request came from someone running ApeX, so it must not be in that particular ROM yet.
I'm a little curious as to why VZW/Motorola didn't include this support natively...
Anyway, cheers!
scary alien said:
Thanks for the feedback. I didn't know this (I'm still running stock 2.2 (although rooted)).
The app development request came from someone running ApeX, so it must not be in that particular ROM yet.
I'm a little curious as to why VZW/Motorola didn't include this support natively...
Anyway, cheers!
Click to expand...
Click to collapse
yeah no problem its a great app if you run stock 2.2 i agree 100%!!
I'm on Fission 2.2.2 and they don't light up either. Until now that is.
Sent from my DROIDX using XDA App
DRTMI said:
I'm on Fission 2.2.2 and they don't light up either. Until now that is.
Sent from my DROIDX using XDA App
Click to expand...
Click to collapse
Nice!
Thank you and cheers!
v1.3 just uploaded: now supports set-on-boot option
Just a quick thread bump to let everyone know that I've updated the app to version 1.3 that now includes a set-on-boot / run-on-boot option.
Select this option via the menu (menu -> More -> Set on Boot -> select True or False).
Enjoy!
By the way, thanks for all of the great feedback and support from everyone--its made creating this app for everyone worthwhile. I very much appreciate it! Cheers!
version 1.4 of BattMonX just published
Version 1.4 of BattMonX has been uploaded to the Market.
Changes to this version include:
* Support of five new LED color codes (dark orange, orange, dark violet, dark green, deep sky blue)
* Support for low-battery condition indicator:
selectable low-battery percentage threshold (10%, 20%, 30%, 40%)
action to take when threshold is reached (none, LED on, LED blink)
LED color selection for low-battery condition (will take precedence over other battery states)
Hope you find this app and these changes useful. Thanks for all of the great feedback!
Cheers!
v1.6 just uploaded: now works w/SMS text notifications
All,
Just a quick thread-bump to let everyone know about the latest release of the app: version 1.6 now works with SMS text notifications!
So now, you should be able to run the app all of the time and still get notified when a text message comes in.
The timeliness of the seeing the SMS notification is still dependent on the polling interval you are using, but app steps aside when the SMS notification comes in and then resumes when its been acknowledged (by reading the text) or cleared (by the notification pull-down's Clear button).
Please note that the app doesn't actually control the color or blinking status of the SMS text notification, my app just allows it to come in and been seen--so I cannot change its color or behavior.
I also added the option / ability to make the LEDs blink (or stay on like before) for the charging / discharging / charged state like the functionality I added for the low-battery condition in v1.4.
Enjoy the app and its recent changes--I hope you find the app useful.
Also, I do very much appreciate everyone's feedback and support! Thank you!
v1.7 just uploaded to Market (very useful fixes and improvements)
version 1.7 changes include:
- added strategy to auto-recover from Android auto-killing the app's service; should make the app much more stable and without unwanted shutdowns
- replaced multiple menu settings w/standard Settings/Preferences menu item
- dynamically determine battery status directory (I did this to see if the app would work on more phones (with mixed success); should allow for users that don't see that the app was written for the Droid X to at least see if it will work on their phone (does not appear to work on a stock HTC Evo 4G, HTC Droid Eris))
- re-instituted screen lock to portrait mode to prevent orientation change from causing FCs
- fixed integer parsing issue causing some reported crashes (probably just experienced by non-Droid X phones)
- added option for 3 minute polling-interval
- added larger range for low-battery percentage threshold
- fixed issue where LED would not blink when charging
Anyway, if you have any issues, comments, questions, etc., please contact me at [email protected].
Cheers and have a great New Year!
v1.8 just published to the Market
All,
I've just published version 1.8 to the Market and updated the main thread (http://forum.xda-developers.com/showthread.php?t=859651) with information and screenshots... Lots of new features and improvements. Change log for 1.8 includes:
- supported new experimental features:
* ability to keep LED on while the screen is on (root only)
* support white LED color when used with the "LED is Always ON" experimental (root-only) feature/setting
- updated w/better strategy for dynamically locating battery state and LED notification files to TRY to support non-Motorola Droid phones
- added 'Suspend' feature to turn off LED and pause battery status monitoring until resumed (un-checked)
- added strategy to make app more timely/responsive to SMS text notifications and preference/setting changes
- fixed set-on-boot and charging-color preference mis-match and other minor preference/settings issues (this was causing a few folks issues...if you still have an issue, try an un-install and fresh re-install--this will clear-out the saved preferences)
- supported amber LED color in addition to the original red/green/blue LED colors (for phones that support an amber LED color)
Anyway, this version should be much more stable and responsive than the prior versions (although v1.7 was pretty solid, ).
Enjoy, and please visit https://sites.google.com/site/scaryalienware/battmonx for full details and screen shots. Shoot me an email at [email protected] for any issues, comments, questions, etc.
Cheers!
v2.2 uploaded to the Market
Uploaded version 2.2 of the app to the Market last night. Here's the highlights:
- added more strategies for making the app more responsive when screen off & unplugged (I implemented a partial wakelock for one minute after the screen is turned off and unplugged from power source)
- added 'Set LED Colors by Percent Charged' feature (i.e., you can assign a different color to each 10% range of battery percent-charged)
- added 'Rainbow Mode' (under Fun Stuff) to cycle through the various LED colors
- added 'Keep CPU On' feature to allow you keep the CPU awake/on when the screen is turned off (this is only true when monitoring is active);
*** Warning *** use of this option will consume more battery!
- added preset-color buttons to LED color tester (easier to test main colors)
Hope you enjoy this new version.
Cheers!
Notes re. other versions not previously listed:
- v1.9 was just a very minor update to not display percent signs in menu items that was causing FCs in some Milestone phones running non-stock ROMs
- v2.0 was the original release of what is now v2.2; I had to rescind v2.0 to fix a loop (and the FCs) caused when using the color none/off under certain circumstances
- v2.1 was a re-publish of v1.9 until I could fix the FC issue in v2.0
Thanks again!
v2.3 just uploaded to the Market
New version just published.
Here's the change log:
Version 2.3 - 14-Mar-2011:
- support option to display status bar notification icon with battery percent charged
- support option to turn off use of LED battery state indication
- more accurate app behavior for Moto Droid-class phones via 1% charge delta vs. original 10% delta
- support blink action for monitor-by-percent charged mode (screen off only)
- additional logic to try to support other phones like Sony Ericsson Xperia x10 family
- lots of app cleanup; re-organized preferences / settings menus
Check it out and let me know what you think!
Cheers!
version 2.4 just published to the Market
New version just released. I hope you find these changes useful.
Cheers!
RECENT CHANGES (version 2.4 - 26-Mar-2011):
- app should now work on all Android devices by using system intents (now the default setting) vs. reading battery status files (still supported)
- supported low-battery condition sound or vibrate alert
- supported high battery temperature monitoring similar to low-battery monitoring (especially useful for those who overclock or tether)
- notification changes: make app launch when pull-down notification selected; option to allow notification to be cleared; add battery temperature & voltage to notification shade details
- make low-battery & high-temp monitoring independent from the two main monitoring modes
- show change log at first/fresh install
- revised menus to reference 'status' instead of 'LED' to indicate support of both status bar icon and LED
- fixed issue w/LED color none/off not showing status bar notification
- supported logging of trace messages to SD card file for debugging if needed
- added donate button
- lots of minor fixes and improvements
BattMonX v2.6 just published to the Market...quite a few changes this time around.
Here's the change log:
Version 2.6 - 1-May-2011:
- thanks to all who have donated or purchased the donate version (very much appreciated!)
- re-post LED notification when clear notifications button is pressed
- support special (green only) status bar icons with large number format percent charged values
- add support for time-based suspend schedules
- support status bar icons with lightning bolt charging indicator
- support option to toggle display of percent charged value in status bar icon
- support special large low-battery mode for batteries that don't calibrate well
- fixed issue w/noticing plugged vs. un-plugged re. display of lightning bolt in status bar icon
- revise / update application icon (sorry, had to remove the bat logo)
- make pop-up dialogs cancelable via back button
Looks like I forgot the v2.5 change log last time:
Version 2.5 - 29-Mar-2011:
- fix issue to handle 1% charge_counter file not always being present
- cleanup Current Settings screen (consolidated percent-charged settings info)
- added new debugging feature (ability to toggle app's logging of system messages)
BattMonX v2.9 published to the Market
All,
Version 2.9 of BattMonX has been uploaded to the Market. This version includes code to auto-recognize the 1% charge_counter file used on many Motorola phones. It also addresses the product-name changes that CyanogenMod ROMs impose that kept prior versions of this app from recognizing a Moto Droid family phone and auto-identifying their battery status and LED notification files.
Donate version of this app will be uploaded shortly.
Cheers and thanks for everyone's support and kind feedback.
RECENT CHANGES
Version 2.9 - 09-Jul-2011:
- improve auto-identification of charge_counter file (especially for Moto Droid X's running CM7;
this should also help other phones that support the charge_counter file)
- several minor updates and fixes
Version 2.8 - 13-Jun-2011:
- minor fixes to better support Moto Droid phones recent GingerBread 2.3 update:
* auto-recogize GB's different LED directory (w/o needing to manually locate files)
* fix LED-always-on reboot issue for Moto Droid's running GingerBread
* if you have problems or experience unusual issues coming from v2.7, please try an un-install and re-install
Version 2.7 - 22-May-2011:
- revised and improved service start/suspend/shutdown and notification clear handling
- cleanup current settings display and other logged values (especially debugging info)
- lots of minor cleanup and improvements
- turned off debug msg logging by default for fresh installs (option to enable is still present)
I'm not going to use this because I use my LED for other things, but its a great app. I tested it and it works great on my DX.
Tivo7 said:
I'm not going to use this because I use my LED for other things, but its a great app. I tested it and it works great on my DX.
Click to expand...
Click to collapse
Thank you very much for the kind words!
You can still use the mode where it will just display a status bar icon with the current battery percentage (just turn off the LED notifications in the menu settings).
Cheers!

[APP][4.0+] 500 Firepaper v3.00

500 Firepaper provides a live wallpaper and a daydream showing you the latest images from /r/EarthPorn throughout the day.
You never need to look at that boring old wallpaper again, or search for hours for a nice new one. This app will show you quality photographs from all over the world - different ones each day!
NOTICE: This app switched from using the 500px API to showing images from Reddit's /r/EarthPorn sub, as 500px is shutting down their API. Please read the statement on my G+ page - https://plus.google.com/+Chainfire/posts/W52tb4kp8zN
Configurable options include the refresh interval, brightness of the images, oversaturation, and blurring.
Please note that high resolution imagery and animation takes quite a bit of memory, so obviously this app is aimed at high-end devices.
If you are a Muzei user, 500 Firepaper also presents itself as an art source to Muzei.
FAQ
What does buying Pro get me?
I've already made all the features available to you for free. Supporting my developments is optional, but certainly appreciated.
Why is there no save feature ?
Not allowed per API terms
Three finger tap to go to the next image doesn't seem to work, what now ?
On some devices (like the HTC One) you need to put down your fingers one-by-one.
Why does this use so much RAM ?
High-resolution imagery takes a lot of memory in uncompressed form, and multiple buffers are required. But fear not, should your device need the memory while the wallpaper/daydream is not visible, the memory occupied by the app will automagically be released and repurposed.
Can the cached images be put somewhere else, like on my sd card ?
No, they cannot.
Do you want a balloon ?
No, but thanks for asking.
Notices
This application uses the Reddit(tm) API and is not endorsed or certified by Reddit or Reddit Inc. All images (c) their respective owners.
No personal or private information about you or your device is collected or transmitted by this app.
Why ? (you can skip this if not interested)
So this really isn't anything special and probably nobody cares about it. But here it is anyway.
I actually started writing something a little bit like this years ago (which was called Firepaper) which had loads of advanced options, but due to Android 2.x and the constant fighting with memory limitations, I never released anything. Then past February I thought about doing something with 500px, and wrote a lot of the code, but for some reason never finished it. This weekend I had some time to spare and didn't feel like working on any of my usual apps, and I was annoyed with the Nexus 5 wallpaper, so I finished this up (this is something I actually want for my own phone).
There's other live wallpapers and daydreams that do similar things. But due to the nature of background syncing, caching and transferring images I didn't really feel like trusting somebody else to get that right, and not drain my battery when I need it most or rake up the data charges. Not that I'm convinced I did it right, but it works for me so far
Download
You can download the app on the Play Store for free:
Download 500 Firepaper
DO NOT REDISTRIBUTE
In other words, please don't post the APK elsewhere, rather just link to this thread.
Changelogs
2018.05.29 - v3.00 - RELEASE NOTES
- Switch out 500px API for Reddit's /r/EarthPorn
2017.09.15 - v2.80 - RELEASE NOTES
- New API keys
- Grand algorithm reworking:
--- API call rate limiting
--- Daily quotas
--- Cache period extension
--- Display order randomization
- Fixed bug where images would auto-change for a few seconds
2015.12.03 - v2.70 - IMPORTANT NOTICE
- Broke up with 500px
2015.03.16 - v2.65
- Fix low resolution display (use 'clear cache' feature or wait a few days for it to clear up)
- Fix for Muzei art source which would stop working after a while
- Fix black screen on some devices during wallpaper startup
2015.02.25 - v2.60
- Significantly reduce the number of requests to 500px API servers (more speed, less bandwidth)
2015.02.24 - v2.59
- Fix issue with pinned images not sticking
- Further cache tuning
2015.02.22 - v2.57
- Reduce default cache size
- Fix removed image (at 500px) triggering a download loop
- Fix fallback image download failure
2015.02.15 - v2.55
- Add value display to slider dialogs
- Add orientation bias setting
- Add min and max cache size settings
- Add cache settings category (moved some settings around)
- Improved memory utilization in history browser
- Improved cache clearing behavior
2015.02.14 - v2.50
- (C) 2015
- Adjust wallpaper selection icon on Lollipop
- Fix blurry images due to 500px API changes. Use "clear cache" option to force fix.
2014.12.22 - v2.45
- Exit Daydream on unused key press
- Added button to share title, author, and link from history browser
- Fix possible loop issue during image change
- Fix pinned images not staying pinned when refresh set to 'every screen off' or 'every home display'
2014.12.02 - v2.42
- Icon replacements
2014.11.26 - v2.40
- Hardware acceleration now default
- Fix Pro not showing on secondary devices
- Basic L theming (more and new icons coming soon)
- TV compatibility
2014.10.21 - v2.32
- Fix some black screen issues
2014.10.19 - v2.30
- Android-TV related changes
- Fixed high CPU due to network failure
2014.05.10 - v2.27
- Fixed crash on close
- Fixed occsasional rapid succession refresh
2014.05.09 - v2.26
- Crash fix on 4.0 and 4.1 devices (ditched DexGuard)
2014.05.09 - v2.25
- Hardware acceleration: reduce flicker
- Hardware acceleration: fixed an auto-refresh issue
- Hardware acceleration: double tap to deblur
- Muzei: fixed an auto-refresh issue
- Added wakelock timeouts (just in case)
- Adjusted rotation refresh behavior
- Separated all components into their own processes for better memory management
- Blur setting no longer affects daydream
- Pinned image no longer affects daydream or Muzei
- Reworked parallax scrolling
- Reduced background resource usage
- Touch detection adjusted again
2014.05.03 - v2.06
- Fixed crash on launch (DexGuard again!)
2014.05.03 - v2.05
- History Browser no longer automatically closes when selecting it from recent apps
- Fixed some premature refresh issues
- Fixed refreshing of unseen images
- Clear cache now also removes orphaned files
- About a dozen reported minor crashes fixed
- Hardware acceleration: transition effect changed
- Three-finger tap detection adjusted
2014.04.29 - v2.00 - RELEASE NOTES
- Triple tapping the wallpaper now opens the history browser
- Complete reworking of the history browser
--- Twopane layout now vertically oriented in portrait mode
--- During navigation position is remembered (singlepane)
--- Improved thumb loading
--- Implement auto-release memory cache
--- Use disk cache if image available
--- Load shown image first
--- Swipe to navigate
--- Animations
--- Margins
- Revamped cache algorithms, spreading throughout the day
- Clear history moved to main screen
- Garbage bin icon in history browser now deletes only current image
- Added experimental hardware acceleration (some caveats)
- Reworked touch detection code
- Improved LWP setup wizard (skips a screen if possible)
- Allow user to set default image (shown when no other image can be displayed)
- (Pro) Pin wallpaper to the screen for X days (or manually progressed, if sooner) (LWP only, no daydream or Muzei)
2014.02.26 - v1.70
- Fixed "Transportation" category: un- and re-select it in config to fix
- Added option to clear history
- Fix a number of potential crashes that could cause black screen
- Batch together incremental image downloads
- Adjusted image download strategy if not limited to Wi-Fi. Should reduce data usage in that case.
2014.02.13 - v1.60 - RELEASE NOTES
- Added Muzei support
- Dream: hide navigation bar pre-KitKat
2013.12.15 - v1.53
- Fixed (one) possible issue where image will not refresh
- Fixed issue with In App Purchase detection (again)
2013.12.14 - v1.51
- Fixed some categories not working (if you have this problem, use "Clear cache" option)
- Fixed issue with In App Purchase detection
- Changed nag frequency to at most once a day
2013.12.13 - v1.50
- Added blur option
- Added oversaturate option
- Added history browser
- Added setup wizard
- Added donation
- Fixed another black bar issue
- Fixed some spelling errors
- Current image now survives restarts (rotation on some launchers, reboot)
- Parallax disabled by default
2013.11.20 - v1.20
- Fix possible crash at normal daydream exit
- Fix freeze at power cord pull while daydreaming
- Changed triple tap algorithm - no longer pops up during fast swiping
- Triple tap to open 500px is now optional
- Loading a new image on rotation is now optional
- Added option to refresh image each time the home screen is shown
2013.11.18 - v1.12
- Fix crash on startup - if still happening: Settings->Apps->500 Firepaper->Clear data
2013.11.18 - v1.11
- NOTE: UPDATING WILL CLEAR CACHE
- Triple tap opens 500px
- Added NSFW switch
- Longer refresh intervals for LWP
- Fixed a scaling bug that could cause horrible pixelation
- Change to interval settings now active immediately instead of at next image
- Fixed miscalculation that could cause black bars
2013.11.12 - v1.04
- Evermore crash fixes
- Optimized away some redundant drawing operations
- Fixed some rendering issues
- More aggressive memory management (reduce memory use when device low on memory)
2013.11.12 - v1.03
- Fixed some more crashes
- Fixed some spelling errors
- Added option to disable parallax effect
2013.11.11 - v1.02
- Fixed some crashes
- Fixed some issues with daydream on S4/Note3
2013.11.11 - v1.0
- Initial release
Thank you! This sounds great! From a trusted developer as well. I'll give it a whirl on my new Nexus 5.
Where are stored the images till they became cleared?
Nice work!
Sent from my One using XDA Premium 4 mobile app
It crashd on first run
Anyway,after that working well
i9300 - Android 4.3 last stock rom
It also crashed on me immediately. It has worked flawlessly after that
Sent from my SM-N900V using XDA Premium 4 mobile app
Nice work Chainfire, needed also a new wallpaper on my Nexus 5
Gesendet von meinem Nexus 5
Thanks guys. Thanks for the crash reports also. Seems live wallpapers and daydreams are handled slightly different across devices and I mostly tested on Nexus 5 and Nexus 10.
I've already fixed a couple of crashes, and some trouble with daydreams specifically on S4/Note3. Play should update in a few hours.
Keep the crash reports coming, and don't forget to mention such details as your exact device and Android version, and if possible provide a logcat.
Chainfire said:
Thanks guys. Thanks for the crash reports also. Seems live wallpapers and daydreams are handled slightly different across devices and I mostly tested on Nexus 5 and Nexus 10.
I've already fixed a couple of crashes, and some trouble with daydreams specifically on S4/Note3. Play should update in a few hours.
Keep the crash reports coming, and don't forget to mention such details as your exact device and Android version, and if possible provide a logcat.
Click to expand...
Click to collapse
Works very well on the N5, the 3 fingered system works a treat :angel:
Thanks once again for yet another great app, something the nexus 5 definitely needed.
azzinder said:
Where are stored the images till they became cleared?
Nice work!
Click to expand...
Click to collapse
In the app's files directory under /data/data/<packagename>/files ...
Installed on N5 & N7 2013, and for now, works like a charm Thank you.
Great app, uses quite the amount of memory though (up to 102MB now) on the N10. Also annoying that even with a static live wallpaper like this, the scrolling still becomes choppy on the N10...
Exactly what I wanted! There used to be an app on the market with changed the wallpaper periodically from images from 500px, but it stopped working a long time ago Now this is even better Btw, working fine on official Xperia Z Ultra
App works flawlessly on Xperia z1 aswell. This app is really neat.
I got feature request but i'm not sure if its even possible to create. Do you think it would be possible to make the live wallpaper set the picture its currently displaying as the lockscreen wallpaper aswell? Would be neat to have the same wallpaper on my lockscreen aswell. :laugh:
Anyway Chainfire great work as allways, Keep up the great work!
CazeW said:
Great app, uses quite the amount of memory though (up to 102MB now) on the N10. Also annoying that even with a static live wallpaper like this, the scrolling still becomes choppy on the N10...
Click to expand...
Click to collapse
That sort of memory use is to be expected when working with high resolution imagery (and Java, heh). It shouldn't become much more than that though.
I don't really see it being choppy on my N10 but my homescreen is pretty much completely empty. The N10 isn't that fast graphics wise due to it's ridiculous resolution, and unfortunately live wallpaper drawing are not hardware accelerated unless OpenGL is used, which is a whole other world of hurt waiting to happen (development wise) and quite overkill for this purpose.
Maybe I should make an option to disable the parallax in the stock launcher, that should speed it all up a bit.
veghov said:
App works flawlessly on Xperia z1 aswell. This app is really neat.
I got feature request but i'm not sure if its even possible to create. Do you think it would be possible to make the live wallpaper set the picture its currently displaying as the lockscreen wallpaper aswell? Would be neat to have the same wallpaper on my lockscreen aswell. :laugh:
Anyway Chainfire great work as allways, Keep up the great work!
Click to expand...
Click to collapse
That's up to the lockscreen, I'm not going to implement anything specifically for that. On Android 4.4, the lockscreen actually shows you the LWP as well.
I think parallax effect not working but well pics are awesome... thnx :good:
LG Optimus G Pro E988
stock LG (rooted) ROM 4.1.2
Any feedback about battery consumption... since i have a travelling job i stay away from the charging point have to look at battery consuption
Edit: I don't know why but wallpaper changes with every auto rotation + in landscape mode size of wallpaper doesn't fit full screen. There is a black strip in the left (actually upperside) and right (lowerside) of display ...
Parallax effect not working on N9005 and why when I exit the setting after pressing the shorcut to setting, it will not get back to the app?
works prefect in Samsung galaxy S4 mini.... except from the first crash. Thanks a lot for your whole work!
It works flawlessly without any crash on Galaxy Note II, Android 4.3 (Touchwith). Great work as always Chainfire. :good:

[APP][4.0+]UPDATE filtxr - light, simple screen dimmer app, with notification control

[APP][3.0+] filtxr - light, simple filter app with notification control (ads free)
I use to do night reading and play games before sleep, even I adjust the brightness to lowest, it hurts my eyes too. I find some apps from Google Play Store to solve my problem, but most of them don't meet my requirement so I decide to develop mine. Hope it can helps you too. =)
filtxr: a simple, intuitive screen dimmer app. get rid of your eye strains while using your phone or tablet in low light condition.
Features:
- intuitive and friendly user interface
- we provide 4 filter modes, choose them depend on your requirement
- comfortable mode: makes your reading more comfortable with natural render
- pure mode: pure black
- night vision mode: get a better sleep by turning on before sleep
- eye care mode: reduce the harm of blue light to your eyes
- time setting, set the time interval for the filter
- control your filter with notification !
https://play.google.com/store/apps/details?id=com.dwils.filtxr
latest update, now it becomes more handy !!
Version 1.3
- revamp time setting, now it is on time and reliable
- add option to hide status bar and notification icon
- stability and performance improvements
Version 1.2
minor adjustment on UI
add fine tuning
add filter control on notification
fix and redesign notification
stability and performance improvements
Version 1.1
remove ads
new notification with control for Android 3.0+
fix UI for some device
fix filter bug
minor adjustment on launcher icon
stability and performance improvements
After a couple of updates, filtxr becomes better and better, thanks for the support, if you haven't try it, what are you waiting for? make yourselves comfortable when using device at night !
wilson0313 said:
After a couple of updates, filtxr becomes better and better, thanks for the support, if you haven't try it, what are you waiting for? make yourselves comfortable when using device at night !
Click to expand...
Click to collapse
It's working very well on Nougat (7.1.2), although the last update was in 2014. Thank you, Wilson! And don't abandon your work, update it!

[APP][5.0+][ROOT][2017.02.09] Recently v1.40 - Make recents useful again on Lollipop

With Android 5.0 Lollipop's release, the recents view (multitask button) became overview, and instead of showing you only actually running apps, it also shows you apps that have ran in the past. Over time, this screen ends up listing pretty much every app you have ever run, becomes completely useless, and wastes a perfectly good (soft-)button.
Recently aims to restore sanity, by limiting which apps are shown. In its aggressive 'running tasks only' configuration, it will show you only apps that are actually running right now. Because Android can be fairly aggressive itself with killing off apps, apps you have used just a minute ago may disappear from the list in this setup, and configuring Recently to remove entries that have not actually run the past few days may be the better option.
Aside from listing only running apps or apps that have run in a certain timeframe, Recently also allows you to limit by number of entries shown. Note that actually running apps will always be shown, regardless of this setting - only entries from apps that aren't actually running are ever removed.
Advanced
A number of more advanced options are available as well, such as showing a 'Clear All' button in the recents view (doesn't work on all devices), limiting the number of Google Searches that show up (originating from the Google search bar and Google Now), and hiding the Settings app.
Additionally, you can force remove tasks and documents that are running but have not been accessed longer than the configured age limit. This is a rather extreme measure that will result in tasks being killed, do not use it lightly.
Pro
Purchasing the Pro version supports my developments and will allow you to start Recently automatically at boot.
Future
This app is built specifically for Android 5.0 through 7.x. Future versions of Android may work differently, the recents/overview screen may be changed by Google, etc. At some point, this app may stop working because of this.
FAQ
Aren't task killers bad?
No tasks are killed by Recently by default - it only removes entries from the recents list that are not actually running at time of removal. Some of the advanced options can cause tasks to be killed however, but these are clearly marked. Task killing can ultimately be bad for performance and battery life, so be sure you know what you're doing and why.
What resources does this use?
Virtually none. There are no wakelocks at all. Battery impact should be less than 1% worst case.
Nothing happens?
(1) Make sure you have enabled the switch in the top right of the settings screen
(2) Make sure you aren't using a custom kernel that disables logging
(3) Make sure you give it a minute or so after first enabling it
When I press the back and the multitasking button really quickly, my last used app that is now closed is still listed
The delay in this case is about a second after the app close animation finishes
I just pressed the back button on an app, and I'm in 'running apps only' mode, but the app is still listed
Not all apps actually close when you press the back button. Most do, but some don't.
Nothing is happening at all, and I'm finding an 'unexpected EOF' error in logcat
Sometimes the app can't access logs. This is usually because multiple apps are trying to read from logcat at the same time. The app will keep trying periodically. Rebooting usually gets rid of this problem.
I can't get it to work
This may or may not be related, but Recently requires SuperSU if SELinux is in Enforcing mode. Another root solution will work if SELinux is in Permissive mode.
Download
You can grab Recently from Google Play
(v1.00: 448; v1.01: 1556; v1.10: 640; v1.15: 222; v1.16: 212; v1.17: 1802; v1.20: 12046; v1.30: 2713; v1.36: 294; v1.40: 3290)
Changelogs
2017.02.09 - v1.40
- (c) 2017
- Fixed Nougat compatibility
2016.02.12 - v1.37
- Minor adjustments to running app detection
2016.01.29 - v1.36
- (C) 2016
- Fixed breakage on 32-bit devices
2016.01.28 - v1.35
- Fixed some M-related background crashes
- Fixed some 64-bit related background crashes
2015.10.07 - v1.30
- Basic M compatibility - SuperSU or permissive SELinux required
- Made the clear all button FABulous
2015.04.17 - v1.20
- Fix background process not killing anything on some new firmwares
2015.03.17 - v1.17
- Further reduced SU calls
2015.03.16 - v1.16
- Fix periodic root popup
2015.03.15 - v1.15 - RELEASE NOTES
- Workaround CM's # in statusbar
- Fix never quitting with CM's SU
- Multi-user support - works for all users, but with admin's config
- Fix settings screen margins on tablets
2015.03.13 - v1.10 - RELEASE NOTES
- Age limit is now a slider, with more (shorter) options
- Added option to show a clear all button (doesn't work on all devices)
- Added option to limit Google Search results in recents
- Added option to hide Settings app
- Added option to force remove stale tasks
- Added option to force remove stale documents
- The app itself no longer shows up in recents
- Never remove the home, recents or foreground tasks
2015.03.10 - v1.01 - RELEASE NOTES
- Fix an issue with purchasing not working
2015.03.10 - v1.00
- Initial release
--- another reserved post ---
Downloading
Cool , Gonna try it out !
Nice...
Trying it now..
Very nice! Should have been stock in the first place
Thanks!! You're the best
Sent from my HTC One_M8 using Tapatalk
Thanks!!
What about CF auto root for the Verizon S5 Running lollipop?!
It would be nice if the running apps are highlighted somehow to differentiate from the other ones, but I guess that's not the point of the app, just saying.. (though I don't have lollipop so I may be wrong)
Anyway, one of the reasons I don't have lollipop - gone.
Pro.. got thanks
I downloaded but I have no idea what it does. Can someone share?
please share pro
This will make me save a lot of boring swipes. Another genius move from you, thank you sir.
Any way to tell if we have a kernel with logging on or not?
Running euphoria that uses lean kernel but app does not appear to work.
JustusIV said:
Any way to tell if we have a kernel with logging on or not?
Running euphoria that uses lean kernel but app does not appear to work.
Click to expand...
Click to collapse
Just run logcat and see if it outputs anything.
Miraries said:
It would be nice if the running apps are highlighted somehow to differentiate from the other ones, but I guess that's not the point of the app, just saying.. (though I don't have lollipop so I may be wrong)
Anyway, one of the reasons I don't have lollipop - gone.
Click to expand...
Click to collapse
@Chainfire
Could you make 'Recents' looks like that in KK? These cards view is slower than simpler one in KK.
puturaya20 said:
please share pro
Click to expand...
Click to collapse
Are you serious? Buy it!
Much needed setting! Looks useful! Trying it now!
puturaya20 said:
please share pro
Click to expand...
Click to collapse
Seriously dude? Respect the awesome developer by buying it!
---------- Post added at 01:24 AM ---------- Previous post was at 01:23 AM ----------
jamboss said:
I downloaded but I have no idea what it does. Can someone share?
Click to expand...
Click to collapse
Umm, this simple explanation might help : http://www.xda-developers.com/root-restore-kitkats-recent-view-on-lollipop/
Awesome app Chainfire! one problem, when i click on "Upgrade to Pro" nothing happens :/

[APP][ANDROID TV] Projectivy Launcher

Introduction
Projectivy Launcher is a launcher dedicated to Android Tv, offering special features for Xiaomi family projectors/TVs.
With the new major version that extends the use to all Android TV devices, and for better understanding, the original thread has been split :
The original thread will focus on Xiaomi/Fengmi/Wemax projectors, offering a faq, links to custom recoveries, guide for rooting, links to download stock ROMS and OTAs.
This thread will focus on the launcher itself.
Description
It's a multi purpose launcher that can be used without root, but adds interesting features on rooted ones. It can be installed on most Android Tv devices (to provide automatic boot on HDMI input for example). A bunch of functionnalities are dedicated to devices with amlogic/mediatek SOCs and/or Xiaomi devices.
It can be used as a launcher replacement, or as a standalone app if you only need a side feature.
You don't need root to use this app, except for the features maked with [ROOT] below.
Here are the current features :
Global UI : long press any card/icon to display a contextual menu allowing you to start/uninstall app as well as hide or rearrage it as you like (ie : move or add it to another section)
Input :
Shortcuts to change source to HDMI 1 to 3, AV, as well as opening an onscreen menu to choose the source. These will be useful if you disable the stock launcher, as you will probably lose the stock widget with Tv preview and change source buttons.
Tv Apps :
... : Android Tv dedicated apps will appear here
Mobile Apps :
... : any app not dedicated to Android Tv (whose icon usually doesn't display on Android Tv launchers) will appear here
Display :
Display settings : Add ability to create different display profiles (premium version required for more than 1) that can be applied automatically when changing input source and dynamic range. Most features that could be changed in previous versions (zoom, input lag...) of this app can be added to a display profile and thus automatically available upon boot with no action on your side. The profile editor can also display many calibration screens to help you setup your device as you need. Unless you're using a device based on Android Tv 6, you'll need to have a rooted device. If it's not working for you, you can probably benefit from the calibration patterns it can display (FHD, 4K, Jitter, HDR, DV...)
Zoom : Changes the Zoom in/out factor for video display (external inputs as well as any video player) [ROOT] and also enables access to stock zoom feature if available (to zoom/unzoom full display, not only video, but can't go below 80%)
Force 4k UI rendering [ROOT] : this may cause lags when rendering the UI
Settings :
Projectivy settings:
launcher
Parental control : protect apps with a parental code (totally or during a specific time frame)
Override stock launcher : try to replace the stock launcher even if it hasn't been disabled (which is still the preferred way)
Card size : size of the apps icons
Wallpaper : choose between no wallpaper, user defined one, or random wallpapers from different reddit channels
Use dynamic colors : change main color based on your wallpaper, à la Material You
Show status bar
Unselected lines opacity
Display left headers
Show sections title
Show time
Show app title
Input
Rename HDMI inputs
Disable HDMI inputs so that they're not displayed in the launcher
Prefer internal Tv View : replace the stock HDMI Input app with a custom one. It doesn't support CEC (only system apps can do it), but it might be useful for specific usage
Power control
Startup to : android, specific app or specific Hdmi input
Automatically shutdown when HDMI signal stops (experimental) : trigger a power off when the Hdmi Input app exits automatically (which usually means the input device has been shut down)
Prevent automatic shutdown when idle : some systems automatically shutdown if no user interaction has happened recently, this can prevent this behavior (useful if you start your device with CEC and never touch its remote control
Enable internal idle detection : if use did not touch the remote control for the given time, sned a poweroff or standby command
Device settings : launches the projector/tv/box settings
Additional settings : launches amlogic/mediatek settings app (if available)
Android settings : launches the Android stock settings
Engineering menu : launches the [MiTv/FengOs/Fengmi] engineering menu
Applications :
Remote Control : displays a QR code to my Web Remote Control, working on any device, dedicated to MiTv devices based on Android 6
Freeze stock apps [ROOT] : freezes/hides/disables stock apps/bloatware (for unrooted devices, please check below, in Remarks section, point 3). On MIUI, make sure you install another keyboard (ie "LeanbackIme Keyboard", from the "Install 3rd party apps" menu) as it will disable the stock one. Possibility to specify a package name to disable manually.
(Un)Freeze launchers [ROOT] : (un)freezes/hides stock Xiaomi TvHome, FengOs launcher or Google Leanback launcher. Make sure you have another compatible launcher installed before freezing it (for unrooted devices, please check below)
Install 3rd party apps : lets you choose apps to install. Most will require Aptoide Tv installed. Good news, it's able to download and install it automatically ! If your device is rooted and is on Android 6.01, Google services/apps can be installed too (see more in the Google Apps section) :victory:
Uninstall Google Apps [ROOT] : if you installed Google Apps / services with the feature described above, you can safely uninstall them (but why would you want that ?)
Freeze Google Play [ROOT] : prevents google Play self-update. This is useful on some models, where new Google Play app refuses to install apps due to some incompatibility issue (such as Zodiac)
System :
Accessibility Service : This is a multi-purpose service, that fixes Google Play on Googlized xiaomi devices, binds the stock remote control "Voice recognition" button to Google Assistant (if you installed Google Services), allows your device to automatically start an external input or app on boot, adds a shortcut to open these tools or change picture profile by double pressing the menu button... *** In one word : you want it enabled ***
Custom Props Override [ROOT/MAGISK] : changes some custom props so as to get a more stock Android Tv behavior. This will enable Google services disabled by Xiaomi, allow your "Usb debugging" option to stick across reboots, allow bypassing safetynet... If you install Google Services you need to install them.
About :
ProjecTivy Launcher : displays details about this app
This device : displays many details about this device, and temperature sensors values is available.
This wallpaper : shows details regarding the wallpaper currently displayed
Remarks :
Using any of the above features (even [ROOT] ones) should be safe and shouldn't prevent you from installing stock OTA updates afterwards (no system file is modified). If anything goes wrong, don't hesitate to tell me, but anyways, at worst, factory reset or flashing the full stock ROM will fix any issue, so there isn't any risk of bricking your device.
Except if you have stock launcher or leanback launcher installed (which will force you to use them if installed), if multiple other compatible launchers are installed, a popup will ask your choice at each boot and home button press.
Concerning the (un)freeze apps/launcher, if your device is not rooted, this app currently can't do it automatically, but you can do it manually by connecting a computer to your device with ADB and executing a few command lines :
enable "usb debugging" in your device's "Developer" options (in settings) (to enable "developer options", see here)
Download adb for your OS (check here)
Start command line (terminal)
type adb connect IP_OF_YOUR_DEVICE:5555 to connect through the network
type adb shell to open a shell console
to freeze an app type : pm uninstall -k --user 0 PACKAGE (replace PACKAGE with com.mitv.tvhome for Xiaomi stock launcher, cn.formovie.fengos.desktop for FengOs launcher and com.google.android.leanbacklauncher for Google Leanback launcher)
to unfreeze an app type : cmd package install-existing PACKAGE (replace PACKAGE with the same value as above)
to get a list of manually uninstallable apps, check the rainman.v2.json file on my github
Note: seems that freezing Google TV Launcher on CCwGTV [4K/sabrina or HD/boreal], will stop YouTube login from occurring and will prevent YouTube account switching
Evolution : If you have another device and want this app to support it (meaning using another list of installable/uninstallable apps), don't hesitate to make a PR on my github.
Note on Privacy and Permissions usage
The only data that comes out of the phone is for anonymous usage (firebase analytics) in order to prioritize and improve what's used the most, and crash reporting (firebase crashlytics). Both can be disabled starting from 4.30.
No user data is saved on a private server of shared with any other 3rd party service.
Here are the permissions explicitely requested in Projectivy Launcher along with their usage :
- ACCESS_NETWORK_STATE : get information about current network (ex: statusbar icons, current device IP address)
- INTERNET : seems obvious
- READ_EXTERNAL_STORAGE (max sdk 28) : read a Projectivy config file that could be placed on the device before it's installed (for rooted devices)
- INSTALL_SHORTCUT : manage pinned shortcuts
- RECEIVE_BOOT_COMPLETED : start an app on startup (Projectivy is probably the only Tv launcher supporting this)
- REQUEST_INSTALL_PACKAGES (only on non play store version) : install 3rd party apps (ex: aptoide)
- REQUEST_DELETE_PACKAGES : allow users to delete apps
- READ_TV_LISTINGS : ability to show channels/watch next
- BILLING : to buy premium
A few other permissions are required by libs dependencies (mostly Google libs) :
READ_EPG_DATA/WRITE_EPG_DATA : Google tv channels lib
WAKE_LOCK, ACCESS_WIFI_STATE... : Google Firebase
There is also a Notification Listener service that can access your device notifications to display these notifications and now playing data *if enabled*
Last thing you can see that might freak you out : Projectivy can spy on your device activity : this is because of the Accessibility service (that offers a lot of low level insights, *if enabled*).
It's used :
- to launch apps on boot when manufacturers disabled the BOOT_COMPLETED (hello Xiaomi)
- for parental control
- for remote control button remapping
Premium
Premium version on Google Play will give you :
- ability to choose a custom background image
- unlimited parental control protected apps (only 1 in free version)
- unlimited display profiles (only 1 in free version) ***Only on supported devices (if it doesn't work on the free release, that won't change on premium)***
- the satisfaction of supporting this project
- more to come
As of now, this unfortunately can't be bought outside of Google Play because there doesn't seem to be any easy means of doing without taking too much of my time (managing a dedicated server, database, preventing hacks, managing refunds... none of this could be done until this becomes a full time job).
Known issues
- HDMI 1 and HDMI 3 swapped (FengOS, Vava on AmLogic devices) : on recent firmwares, HDMI1 and HDMI3 inputs are swapped in PL. This is a bug in the OS low level libs that send HDMI1 input id when HDMI3 is requested (and the opposite). Can't be easily detected (thus fixed) on my side unfortunately. Just select HDMI1 when you need HDMI3 and vice-versa.
- long press on volume buttons doesn't work on FengOs : there's a bug on FengOs -> as soon as an accessibility service is enabled (Projectivy Launcher, but also Button Mapper for example), the long press volume buttons doesn't work anymore. Worse : unlike any other button, the accessibility service is not notified that a volume button has been pressed, preventing me from developping a workaround :/ Disabling the accessibility service fixes this behavior (but this disables several Projectivy Launcher features)
- unable to add or remove programs from watch next (as on the stock android tv launcher) : the stock launcher has special permissions that allows it to modify "watch next" even if the programs belong to another app. This unfortunately can't be done on a 3rd party launcher
Download / Installation
This app can be downloaded here or installed from Google Play.
Install the apk as usual :
- copy the apk to an usb thumb drive
- plug it into your device
- browse and select apk to install it (you may need to enable "unknown sources installation" from your device's settings)
Not for commercial use. If you want to redistribute it, please contact me.
Changelog
4.24 :
- Added turkish localization (thanks Eray)
4.23 :
- Added spanish localization (thanks SRGago)
- Added traditional chinese localization (thanks Retic)
- Added ukrainian localization (thanks Veydzher)
- Added estonian localization (thanks Rimasx)
- Updated russian localization (thanks Stanner)
- Added home button double-press redirecting to recent apps screen
- Added ability to go back to the 1st card of the 1st row when you press home button on the launcher home screen
- Added ability to go back to the 1st card of the current row when you press back button on the launcher home screen
- Fixed crash when apps names had special characters
- Fixed no card is selected on start
- Fixed leftmost cards sometimes not displayed on multi-row categories
- Fixed "shutdown on HDMI signal stop" sometimes erroneously triggered on FengOs when volume buttons were used
- Fixed notifications sometimes not updated
- Fixed parental control check bypassed for settings when launched from the right handside menu
- Reduced the clock size a bit (will be customizable in a future build)
- Many other fixes and improvements
4.22 (Google Play only):
- Added the required changes so that the accessibility service is accepted on Google Play
4.21:
- Fixed a bug in compilation that prevented category settings to be displayed
- Fixed some channels showing duplicated programs
4.20:
- Added support for channels (YouTube, Netflix, Amazon...) and Watch Next
- Added support for pinned shortcuts (Projectivy has to be defined as the default Android launcher)
- Added notifications support (showing also "now playing", but not clickable yet)
- Added battery support in status bar
- Added a default launcher choice popup (for supported devices)
- Added "auto-start app/input at boot" support without accessibility services (for supported devices)
- Added ability to change Projectivy Launcher language independently of the OS language
- Added russian translation (thanks vlaf33 )
- Added chinese translation (thanks Chengnan)
- Added support for HDMI 4 input shortcut
- Added multiline support for categories
- Added per category customization settings (scale, show app names...)
- Added more wallpapers sources
- Added dynamic colors gradient wallpaper
- Added Fengmi engineering menu support for international models (Fengmi Theater...)
- Added prompt for category deletion
- Added "Ambient Mode" (android screensaver) launch on "Back" double-press
- Improved contextual menu
- Improved touchscreen/airmouse support
- Improved app startup delay (almost twice as fast as before)
- Decreased memory used
- Improved general UI (more colored, much smoother animations, support for multiple aspect ratio cards on the same category...)
- Fixed no wallpaper resulting in grey colored background instead of no background at all
- Fixed wallpaper not displaying fullscreen on some devices
- Fixed auto power-off with no hdmi signal
- Fixed primary activity for an app was sometimes replaced by the secondary one (ex: tasker)
- Added an alternate accessibility settings (that fixes volume long timeout on FengOS)
- Many other fixes and improvements
Spoiler: 4.03
- Google Play only version to remove "install third party apps" as they now refuse this feature (xda version available here will still support this feature)
Spoiler: 4.02
- added support for most Tvs HDMI inputs (using their stock app)
- added ability to show mediatek hidden settings in the calibration screen
- added ability to hide the startup reminder when the accessibility service is not enabled
- added translations for FengOs/FengMi engineering menus (now, you'll find your way to the autofocus setting) (requires the accessibility service)
- added ability to start apps/inputs from their contextual menu (with 2 different entries for inputs : using internal tv view or not)
- fixed HDMI input randomly visible on MiTV devices
- fixed volume level display timeouts after 20s on FengOs
- fixed settings not opening on Oreo
- fixed internal Tv View not working on old Android versions
- fixed Google Play might lose connection while purchasing
- fixed crash on some Sony Bravia Tvs
- fixed out of memory errors in calibration screen
- fixed stock launcher might not be overriden in rare cases
- fixed toast messages might crash the app when navigating to the accessibility service
- fixed internal Tv View might use a previous input if the current one is not found
- fixed crash happening on some rooted devices
- fixed crash at startup on some chinese Tv brands
- fixed noise reduction/deinterlacing/zoom not always working on some MiTV devices
- fixed app setting in contextual menu not always working on some conditions
- other misc fixes and improvements
Spoiler: 4.01
- fixed a bug preventing permission to be granted to "install 3rd party apps"
- improved image picker intent compatibility
Spoiler: 4.00
- *** UI / Design ***
- rebranded to "Projectivy Launcher" as this app is now first and foremost a launcher for any Android Tv device (luckily there's no marketing department or they would have made a heart attack by now ^^)
- refreshed the general app design
- improved customizability (change cards size, enable or disable section title display, app name display, opacity...)
- added ability to create/manage/reorder categories
- each card (app, setting, input) can be managed through its contextual menu
- display randomized wallpapers (changes each 60s)
- user-defined wallpapers [Premium]
- a randomized wallpaper can be defined as the user-defined one [Premium]
- dynamic colors based on your current wallpaper (à la "Material You" on Android 12)
- apps are now correctly sorted by name by default
- HDMI inputs can be renamed and hidden
- added languages : German (thanks Stefan), French (thanks Spocky ) - contact me if you want to help translating to your language. If your android settings don't allow you to choose this language (ex : on most chinese Xiaomi projectors), install MoreLocale from "Install 3rd party apps" section
- each feature/setting is now available in a side panel menu, that can be opened with your remote control's "menu" button or by clicking on the menu icon in the top right corner of the screen
- *** Compatibility / Performance ***
- vastly improved startup time
- optimized for smoothness/reactivity in general
- hugely decreased memory used
- added compatibility with old mitv3 (and more generally Android 5.1.1)
- many bugs fixed
- *** Features ***
- added ability to override the current launcher (the preferred way is still to freeze/uninstall it). This app will then automatically launch on boot and intercept calls to the stock launcher so as to start itself above it
- added parental control management (=requiring a code to start an app/input). This is by no means hacker proof, but kids/random guests should be stopped. [Premium for more than 1 app]
- parental control can be active only for a period of the day.
- prevent automatic system power off when idle
- added an internal idle detection with ability to shutdown after a specific inactivity time
- added ability to automatically shutdown if the HDMI input display app stops by itself (meaning no more HDMI signal). While not foolproof, this can handily replace a missing CEC shutdown function on your device
- added HDR / DV calibration patterns
- added an internal tv viewer to replace the vendor one. It doesn't support CEC (android limitation) but will allow more customization in the future
- "about / this device" now shows information regarding which display range is supported (HLG, HDR10, DV...)
- added a direct link to configure the accessibility service
- added ability to autostart on the "last used input"
- added ability to reinstall/unfreeze frozen packages/launchers [root]
- added remote control shortcut to change the current source input (double tap menu, then left/right)
- app self update support
- [FengOS] added a direct link to a second engineering menu (useful to get temperature logs)
- [FengOS] added a link to the input source popup
- [Mediatek] added a link to advanced configuration (advanced picture settings, MEMC with DV, and more...)
Spoiler: 3.56
- fix : fixed a bug in the display profiles structure binding them to the tools version they were created on (causing a reset of the profiles on each new release of the tools)
Warning : this version will reset your display profiles (even if you're coming from 3.55). Please make sure you've noted the values so that you can recreate them. Sorry for the inconvenience, this won't happen again.
Spoiler: 3.55
- feature : set sharpness step to 1 instead of 10 in display profile manager on MiTv devices
- feature : third party remote control buttons HDMI 1/2/3 and keyboard keys F1/F2/F3 are directly bound to HDMI input change (side effect : for home automation systems, sending adb keyevent KEYCODE_TV_INPUT_HDMI_3 will start input HDMI3 for example).
- feature : added ability to disable auto power off on user inactivity when cold booted (MiTv) [root]
- feature : display profile manager can now display HDMI inputs in calibration preview
- fix : "android" display profile incorrectly applied on projector startup
- fix : some apps were not available in autostart app dropdown menu
- fix : crash when no display profile available
- fix : crash when starting some activities
- fix : autostart app not always working on FengOs
- fix : "install 3rd party apps" option not always available when it should
Spoiler: 3.54
- rebranded app (yes, again ) to "ProjecTivy Tools". No more "Mi" because it's not dedicated solely to Xiaomi products anymore.
- availability in Google Play
- redesigned some UI parts (and no more transparent background as per Google Play Android Tv requirement)
- feature : ability to start an app on boot
- feature : ability to block Google Play updates (for zodiac and maybe other devices)
- feature : access to native zoom UI from MiTv when available (zooms the whole UI, not just video, from 80 to 100%, no root needed)
- feature : accessibility service features (remote control shortcuts, mic button binding) can be enabled individually
- feature : information display relative to current source input (resolution, dynamic range)
- feature : launcher shortcuts (hdmi inputs, media explorer) can now be hidden if not used
- feature : app can fully replace a launcher (optimisations, lists all Android Tv and Mobile apps)
- feature : can replace launcher even when security measures prevent it (FengOs)
- feature : added english translations to FengOs settings app
- fix : long press back to improve input lag restored
- fix : improved stability of the accessibility service (notably on Android 8+)
- fix : better management of the direct downloads in "install 3rd party apps" (errors correctly managed, cancelation possible, support for android 8+)
- fix : added support for magisk 20+
- fix : improved overall compatibility with android 8.1/9
- feature : added compatibility with FengOs for most features
- feature : display profiles management (premium feature for more than 1 profile)
- feature : display profiles can be set automatically on input and/or dynamic range change
- feature : display profiles can be switched manually from the remote control
- feature : display profile editor displays multiple calibration helper screens
- feature : display profiles can manage : contrast/brightness/hue/saturation/sharpness, color temperature gain AND offset (not available in stock projector UI), dynamic color/contrast switches, noise reduction and interlacing switches (to reduce input lag), video zoom, backlight (more options than on the stock UI), tv backlight (for tvs)
- did I mention display profiles don't require root on Android 6 ?
- ...and should work on most amlogic devices (xiaomi, vava, xgimi...), at least on android 6 devices ?
Spoiler: 3.00
- rebranded app to "Mi ProjecTivy Tools" because why not.
- stability : added a screen resolution check at boot. If a wrong resolution is set in the Android tv settings, the device won't be locked on the chessboard screen anymore, it will switch back to the default resolution (rainman and batman supported)
- stability : set this app as a Tv Launcher, so if all launchers are mistakenly disabled, the device will boot on it so that a launcher can be reinstalled
- UI : made menu buttons dynamic, so they won't show on your device if the feature is not supported
- UI : rewrote all submenu interface to use Android Tv UI. This vastly improved look and usability
- UI : changed menu icons
- UI : if accessibility service is running, the app can be opened by double pressing the "menu" button
- feature : added an option to change the zoom in/out factor for video display (external input and all media players)
- feature : added option to switch window manager to 4k (interface will likely not be totally fluid, though)
- feature : rewrote the option to decrease input lag so that you can disable "noise reduction" and "deinterlacing" individually
- feature : added a shortcut (qrcode) to MiReCo, the Web Remote Control
- feature : made the shortcuts section dynamic : it will now display all installed apps not natively compatible with Tv launchers (like the "Tv App Repo" app)
- feature : added "about this device" section that displays many details as well as the temperature sensors values
- improvement : made the hdmi input shortcuts compatible with international (android tv 8+) devices
- improvement : rewrote code to automatically start on a selected external input. This brings support for international models. IT WON'T USE the stock device settings anymore to select the input. Use the included parameter in "Input Settings"
- feature : added a shortcut to the stock "media explorer" directly in Tv launchers
- feature : added a warning if accessibility service is not enabled
- fix : fixed compatiblity with Netflix (not the Tv version, unfortunately, but the interface is totally usable). Due to missing DRM support, resolution is limited to SD.
- internal : many fixes and improvements (and bugs ?)
Spoiler: 2.17
- added ability to reduce input lag and disable noise reduction by long pressing "back" button.
Spoiler: 2.16
- added auto start to hdmi (as stock launcher), so that users who changed launcher won't miss this feature.
Updated to 4.01 to fix a bug preventing the "install 3rd party apps" section to be accessed.
Wow very impressive. The UI looks vastly improved. I just installed it on my Mi Projector 2 Pro and it looks really nice!
However I am still not getting the ability to adjust picture profile. Do I need to root it for it to work?
Very neat new UI, greetings!
@spocky12 , I just updated to your 4.0.1 , it seems like the previous intent is not valid anymore :
C:\RFLINK>.\adb.exe -s 192.168.1.123:5555 shell am start -n com.spocky.projengmenu/.activities.input.SourceHDMI1Activity
Starting: Intent { cmp=com.spocky.projengmenu/.activities.input.SourceHDMI1Activity }
Error type 3
Error: Activity class {com.spocky.projengmenu/com.spocky.projengmenu.activities.input.SourceHDMI1Activity} does not exist.
Did you change something?
FunkyRider88 said:
Wow very impressive. The UI looks vastly improved. I just installed it on my Mi Projector 2 Pro and it looks really nice!
However I am still not getting the ability to adjust picture profile. Do I need to root it for it to work?
Click to expand...
Click to collapse
Thanks for your compliments. I spent literally hundreds hours of work to rewrite most of the UI code, improving it's customisability as well as it's efficiency.
For now, picture profiles will only work on mitv Android 6 devices.
On more recent Android versions :
- amlogic devices will require root (but we don't have any root method right now)
- mediatek devices (Fengmi T1, Xiaomi c2...) *might* be supported in the future
dafunky said:
Very neat new UI, greetings!
@spocky12 , I just updated to your 4.0.1 , it seems like the previous intent is not valid anymore :
C:\RFLINK>.\adb.exe -s 192.168.1.123:5555 shell am start -n com.spocky.projengmenu/.activities.input.SourceHDMI1Activity
Starting: Intent { cmp=com.spocky.projengmenu/.activities.input.SourceHDMI1Activity }
Error type 3
Error: Activity class {com.spocky.projengmenu/com.spocky.projengmenu.activities.input.SourceHDMI1Activity} does not exist.
Did you change something?
Click to expand...
Click to collapse
Thank you !
You're right, rewriting + refactoring led to changes in activity names:
com.spocky.projengmenu/.ui.guidedActions.activities.input.SourceHDMI1Activity
(Note that it might change again in the future as I've just realized they shouldn't be classified in the guidedActions, so don't hesitate to ask if an update changes it)
Big thanks, this is really excellent! Great to see the continued development into Projectivy.
I am running it on a rooted Wemax Pro. I have a few questions:
* Is Projectivy meant to replace ATV launcher? Or do both co-exist? How to select, which launcher to use?
* What's the latest on Youtube? Best to use the one that can be downloaded under 3rd party app or directly from the Google Play store? I tried to do via Productivy and get the error message "incompatible device. Please download another version of the application and try again, error code (-113)"
* I also tried to download PLEX from Google Play store and see the following error message: "Can't install app: Plex [...{ can't be installed. Try again, and if the problem continues, get help troubleshooting (error code: 910)"
Thanks for any help you may have for me!
Please add Vava Chroma triple laser to the list of currently supported devices - it is a mediatek based device. Thanks.
One odd thing: "Input" is greyed out in "launcher settings". So, I cannot add the HDMI sources to the main screen. Anything I am missing?
Hi @spocky12 great job on the new app.
I've installed it on my Wemax One Pro, an issue that I am having is with Google Play store, which i cannot get to launch. When I click the icon the screen goes blank for a second and just returns to the launcher.
I also had the issue on the previous incarnation of the app.
I'm also running Magisk 24.3 and rooted.
I've deleted cache and also tried re-installed, still the same thing.
Great job. The only problems I see is missing option to select HDMI input and a option to restore hidden application. Maybe I can't find it
stevepalmer1977 said:
Big thanks, this is really excellent! Great to see the continued development into Projectivy.
I am running it on a rooted Wemax Pro. I have a few questions:
* Is Projectivy meant to replace ATV launcher? Or do both co-exist? How to select, which launcher to use?
* What's the latest on Youtube? Best to use the one that can be downloaded under 3rd party app or directly from the Google Play store? I tried to do via Productivy and get the error message "incompatible device. Please download another version of the application and try again, error code (-113)"
* I also tried to download PLEX from Google Play store and see the following error message: "Can't install app: Plex [...{ can't be installed. Try again, and if the problem continues, get help troubleshooting (error code: 910)"
Thanks for any help you may have for me!
Click to expand...
Click to collapse
Projectivy is a complete launcher replacement. I suppose you can still use ATV if you prefer, there's nothing in Projectivy preventing the execution of any other launcher. How you choose which one you want depends on your OS. On mitv (and probably any stock Android tv device), if the stock launcher is disabled, Android asks which one you want.
On FengOs, they disabled this behavior, so if the stock launcher is disabled and no launcher is started, Projectivy starts automatically.
Regarding YouTube, if you have Google play, it is probably the best way to install it.
On Chinese devices without any Google services, installing from Aptoide usually works. However, I couldn't understand the compatibility issues between Aptoide and Xiaomi app installer : sometimes, a specific version of YouTube will install fine and others won't. And in the future it might stop installing correctly. The one I link to from Projectivy is the latest version that is allowed too install on my device without any error message (at least it was, 2 months ago). If it doesn't work, chances are that another one will install fine, just browse the available versions in Aptoide.
As for Plex, is probably an incompatibility with Xiaomi's app installer, no idea why it did this though.
valtchov said:
Please add Vava Chroma triple laser to the list of currently supported devices - it is a mediatek based device. Thanks.
Click to expand...
Click to collapse
Did you test Projectivy on this device ? If so, what are the problems you encountered ?
stevepalmer1977 said:
One odd thing: "Input" is greyed out in "launcher settings". So, I cannot add the HDMI sources to the main screen. Anything I am missing?
Click to expand...
Click to collapse
This is probably a bug.
To prevent HDMI input section from being displayed on devices that don't have such inputs (ex: tv boxes), I hide this section when the Android tv framework is unavailable or when no HDMI input (plugged or not) is returned by the system.
I will test again on mitv devices, I might have overlooked something.
stevevalo said:
Hi @spocky12 great job on the new app.
I've installed it on my Wemax One Pro, an issue that I am having is with Google Play store, which i cannot get to launch. When I click the icon the screen goes blank for a second and just returns to the launcher.
I also had the issue on the previous incarnation of the app.
I'm also running Magisk 24.3 and rooted.
I've deleted cache and also tried re-installed, still the same thing.
Click to expand...
Click to collapse
I'll have a look at it, thanks for the bug report.
x_fight said:
Great job. The only problems I see is missing option to select HDMI input and a option to restore hidden application. Maybe I can't find it
Click to expand...
Click to collapse
As written above, the hidden HDMI input section is a bug I need to explore (works fine on FengOs).
As for restoring a hidden app, you can do it : open the settings panel (contextual menu button on your remote control or select the settings icon next to the hour) and select the first entry (manage categories), then select the category where you want to restore an app.
Thanks @spocky12, happy to test once you have a test release with the HDMI issue solved? Also, let me know if any logs to provide for troubleshooting.
Hello , It can be installed on XIAOMI C2 ?
Thanks
Thanks. Loaded onto Feng OS 2.0.
@spocky12 I can't update apps anymore, each time I went into Google Play Store, it asked me to sign in. I signed on and the same page kept showing asking to sign in again.
I've updated to ProjectTivy 4 launcher but still same issue. Can anyone help?
Mijia Youth Edition (conan)
Hi, great job!
Hope you remember me....
Just a question:is there the possibilty to update android ? I'm still running with 6.0.1 and start to be a little obsolete.
Thanks!
Ciao,
M
Hi, im using my new HP BP5000 with a sucks custom OS in Android 8.0, codename: shadow / sugarcane (not sure which one to read from). Tried to enable accessibility services but it seems locked.
I was able to enable it by force write in adb for another app called "tvquickactions", but I got an error when I try to do that for this launcher with error below, can you help?
adb shell pm grant com.spocky.projengmenu android.permission.WRITE_SECURE_SETTINGS​Operation not allowed: java.lang.SecurityException: Package com.spocky.projengmenu has not requested permission android.permission.WRITE_SECURE_SETTINGS​
Also I tried the hdmi switching adb command that you posted above, but I still got the same class error
adb.exe -s 192.168.1.100:5555 shell am start -n com.spocky.projengmenu/.ui.guidedActions.activities.input.SourceHDMI1Activity​Error type 3​Error: Activity class {com.spocky.projengmenu/com.spocky.projengmenu.ui.guidedActions.activities.input.SourceHDMI1Activity} does not exist.​
running 4.01, thanks for helping and creating this!
I just installed this on my Mi Smart Compact Projector (Gen 1, Global, M005MGN).
Great job on this slick UI ! Although I can't root this device to really tweak it, the features included in non-root Projectivy are plenty to suit my needs ATM.
Just a quick question before I start to mess with ADB. I see in your instructions that we can "freeze" packages, but your command is pm uninstall. Shouldn't I use pm disable, if I simply want to freeze(not remove) the package?
My concern is if I want to restore and I don't have the original package file handy, I will need to restore factory defaults to get it back and then I have to start all over. I was thinking DISABLE gives me a chance to see what I would be missing, and if I want the stock app back, I could just re-enable it.
Thanks for your work and response to my "noob" question.
Hi Spocky, great work as usual! The new version looks amazing. However, I would like to contribute and buy Premium, but I don't want any of the google bullsh*t. Any way to donate/get premium otherwise?
Thanks!
This app is a godsend. No other launcher can change inputs on me. Unfortunately on my TV the stock launcher is what starts the Input menu. I have to leave the launcher running in the background in order to use the input list.
Is it possible to add an input list internal to the app? The relevant activity is. https://github.com/AndroidTVDevelop...id/tvlauncher/inputs/InputsPanelActivity.java
Also please consider adding the ability to pin shortcuts. This way I can say take the apps page of settings and bind it to a button. Otherwise this is not possible, correct me if I'm wrong.
My concern is if I want to restore and I don't have the original package file handy, I will need to restore factory defaults to get it back and then I have to start all over. I was thinking DISABLE gives me a chance to see what I would be missing, and if I want the stock app back, I could just re-enable it.
Click to expand...
Click to collapse
You sorta need to do both. Uninstal then user-disable again if you don't have root. You can reinstall the package again if its a system/rom app as it doesn't REALLY get removed.

Categories

Resources