Permission Ruler (Root Preferred) - Android Apps and Games

Never have to worry again about your privacy, with Permission Ruler!
Prerequisites:
If your device is rooted, you can use this app directly.
If your device runs LineageOs or derived ROMs (such as ResurrectionRemix) you can use this app without root.
Otherwise you can use this app just to see app permissions and manage them manually, through system settings.
Regain your privacy, rule your permissions!
Do you want to stop your apps using dangerous permissions when the screen is off? Did you ever asked yourself if an app can spy on you through your microphone when the device lays on your table? (the answer should be no: apps shouldnìt be able to spy on you that easily, but they can access your files, or get your location, etc.)
Then you want Permission Ruler!
Every time you turn off the screen, Permission Ruler will automatically revoke all permissions from all your apps for you, so you don't have to worry about your privacy or wasting your battery.
Permission Ruler will give you:
• Increased privacy (when the screen is off no app can do dangerous things)
• Increased battery life (since the apps can't do whatever they want, they will run less time, consuming less battery life)
• Simple usage: click on the only button in the main page when you install it, and forget it
• Lock permissions, revoking but not granting them back automatically
• Ignore specific apps
• Manually manage permissions through the app (will send to system settings)
• Don't grant permissions back automatically to apps not used recently
Special features (donate version)
• Ignore specific permissions of specific apps
• Lock specific apps/permissions
• Manage system apps
• Speed up Permission Ruler and use even less battery
Who can use it?
Anyone can use the app, but there are some limits.
To allows the app to automatically grant and revoke permissions you need Root permissions. An experimental support has been developed for custom ROMs derived from LineageOs (such as ResurrectionRemix).
How does it work?
When you turn off your screen, Permission Ruler will revoke all permissions from all apps (unless they are ignored). When you turn on the screen, it will grant all permissions back (unless they are locked).
Why should I use it?
Usually a phone lays for more than 70% time with the screen off. This means that if you grant a permission to an app to use a feature, that app will get that permission forever, even if you use that feature for less than 30% of the time.
Also, It's highly probable you granted permissions to an app you use a few times a year (like traveling/hotel booking apps, etc.). By default Permission Ruler will not grant permissions back to apps not used recently.
Warning:
Pause the app before uninstalling or deleting its data, so it will grant permissions back to all apps needed.
Download links:
Permission Ruler Normal Version
Permission Ruler Donate Version
XDA:DevDB Information
Permission Ruler, App for all devices (see above for details)
Contributors
sianos
Version Information
Status: Stable
Current Stable Version: 1.2.09
Stable Release Date: 2019-05-02
Created 2019-05-07
Last Updated 2019-05-07

Changelog
Version 1.6.02 (2021/11/29)
Improved support across all Android versions
Added Nearby Devices permissions for Android 12
Fixed count of whitelisted apps
Version 1.5.55 (2021/04/13)
few updates in internal methods to improve their stability
fixed rare issues on theme change
several graphical changes to make the app more modern:
- fixed size of elements
- removed top bar
- dark theme now uses green instead of blue, like the light theme
- bottom bar is now white/black
- few graphical simplifications
Version 1.5.52 (2021/01/15)
- Fixed apps with green checks mistakenly shown in allowlist
- Fixed custom protection mode on newer devices
- Few general ui fixes
Version 1.5.50 (2020/11/21)
This is a big update:
- Big changes in internal processes to grant/revoke permissions to make them faster
- Removed "Lazy" protection mode
- Added "Custom" protection mode (customize your own protection)
- Updated ui, theme and colors (especially dark theme) and improved app responsiveness
- Use of inclusive terminology
- Some graphical fixes
- Removed option to manage non-recent apps
Version 1.5.20 (2020/09/29)
Added full support for Android 11
Version 1.5.18 (2020/08/20)
Keyboards are now whitelisted by default (for after-unlock speedup)
Permission tab now allows to whitelist a permission for an app without opening the app details (only donate version)
Version 1.5.13 (2020/05/27)
Reviewed dark theme
Few small fixes
Version 1.5.02 (2020/03/02)
Last few improvements to permissions info gathering speed
Slightly improved currently open app detection
Version 1.5.01 (2020/01/31)
Few ui fixes
Added french, spanish and arabic translations
Version 1.5.00 (2020/01/17)
Added Overlay permission management!
Added dutch translation
Preparation for important update regarding permission info recognition
Version 1.4.18 (2019/12/23)
Custom schedule now officially out of beta!
improved permission info gathering speed
greatly improved ui performance
Fixes:
- dark theme changes on-fly
- custom schedule now works at seconds precision, instead of minutes
- rare issue with custom schedule not granting permissions back on non-root devices
Version 1.4.13 (2019/11/22)
New Feature: custom scheduling! (in beta)
This allows the use of Permission Ruler just in a specified interval of time (e.g. evening and night)
Improved performance of app/permission information gathering
Fixed a rare crash introduced in the last version
Version 1.4.05 (2019/10/21)
Completed support for Android Q and its dark theme
Few fixes for crashes due to uninstalled apps
Few ui updates
Small reduction to app size
Version 1.4.01 (2019/08/23)
Improved support for Android Q: Location can be granted only to apps currently open, too
Cleaned up dashboard
Improved performance with protected apps
Additions:
Permission list page
Long clicks on apps and permissions to open details
Fixes:
False negative no root error message on non-signature spoofing roms
Reduced icon sizes on some device
Custom OEMs' permission grouping
Version 1.3.10 (2019/07/01)
Added dark theme!
Added functional support for Android Q
Fixed issues for apps that don't request a previously requested permission anymore
Fixed status button not animating after rotation
Several fixes for very rare crashes
Version 1.3.00 (2019/06/02)
Reduced app size by ~30%
Fixed app freezing when rotating device when viewing app list or permission list in app detail page
Improved Dashboard and Settings graphics
Added default whitelist
FastWork option now integrated directly in donate version (which grants permissions in almost half the time)
Ported permission priority to normal version from donate one (making granting/revoking process slightly faster)
Added buttons for rating the app and send feedbacks via email: I'd like to know what you think about my app
Added explanation for default whitelisted permissions which cause known issues
Fixed support for 64 bit devices
Few performance improvements in graphical environment

Reserved

Great application, saves your RAM and lets you better understand your smartphone permissions, by letting you try different combination to manage your installed applications. Is it gonna be possible to manage advanced permissions without root?

Pagos1988 said:
Great application, saves your RAM and lets you better understand your smartphone permissions, by letting you try different combination to manage your installed applications. Is it gonna be possible to manage advanced permissions without root?
Click to expand...
Click to collapse
Thanks!
It's not gonna be possible to use it without root. If it was possible, any app could do it, making permissions lose any utility.
There's a workaround for custom ROMs, at least the ones based on LineageOS, which involve installing a "compatibility layer" as a system app (this is done by the app itself automatically, under direct user permission).

New version released (1.3.10)!
Changelog:
Added dark theme
Added functional support for Android Q
Fixed issues for apps that don't request a previously requested permission anymore
Fixed status button not animating after rotation

New version released (1.4.01)
Improved support for Android Q: Location can be granted only to apps currently open, too
Cleaned up dashboard
Improved performance with protected apps
Additions:
Permission list page
Long clicks on apps and permissions to open details
Fixes:
False negative no root error message on non-signature spoofing roms
Reduced icon sizes on some device
Custom OEMs' permission grouping

New version released (1.4.01)
Improved support for Android Q: Location can be granted only to apps currently open, too
Cleaned up dashboard
Improved performance with protected apps
Additions:
Permission list page
Long clicks on apps and permissions to open details
Fixes:
False negative no root error message on non-signature spoofing roms
Reduced icon sizes on some device
Custom OEMs' permission grouping

New version released (1.4.05)
Completed support for Android Q and its dark theme
Few fixes for crashes due to uninstalled apps
Few ui updates
Small reduction to app size

New version released (1.4.13)
New Feature: custom scheduling! (in beta)
This allows the use of Permission Ruler just in a specified interval of time (e.g. evening and night)
Improved performance of app/permission information gathering
Fixed a rare crash introduced in the last version

Just seen this thread, very important app imo, strange that its not popular on xda.
Keep up the good work I will report bugs if found any

basem_ym said:
Just seen this thread, very important app imo, strange that its not popular on xda.
Keep up the good work I will report bugs if found any
Click to expand...
Click to collapse
Thanks!
It really means a lot for me

New version released (1.4.18)
Custom schedule now officially out of beta!
improved permission info gathering speed
greatly improved ui performance
Fixes:
- dark theme changes on-fly
- custom schedule now works at seconds precision, instead of minutes
- rare issue with custom schedule not granting permissions back on non-root devices

New version released (1.5.00)
Added Overlay permission management!
Added dutch translation
Preparation for important update regarding permission info recognition

Hi! I just saw this thread.
This app looks good, and it seems it's working fine for me. No battery drain and permissions are really removed to apps (sometimes they are asked again).
But why should I grant root, if it can work without root (I'm on Lineage)?
Anyway, really good job! :good:

sportage91 said:
Hi! I just saw this thread.
This app looks good, and it seems it's working fine for me. No battery drain and permissions are really removed to apps (sometimes they are asked again).
But why should I grant root, if it can work without root (I'm on Lineage)?
Anyway, really good job! :good:
Click to expand...
Click to collapse
Thanks!
Normal permission management is slightly faster using root, maybe even imperceptible.
Special permissions (window overlay) is way faster with root.
As per permissions asked again, it's because after some time you don't use an app, its permissions are no more granted back automatically (there is an option to grant them, too, but makes the app slower).
Thanks again for trying my app!

I'm trying to use this app to revoke permissions for Google Assistant to use the microphone while my device is locked. Even though I added the Google App to the managed Apps and have a green checkmark for the microphone permission, it doesn't seem to be working, as Google Assistant is still able to pick up my voice when the screen is locked. Is there something else that I can do?

badham123 said:
I'm trying to use this app to revoke permissions for Google Assistant to use the microphone while my device is locked. Even though I added the Google App to the managed Apps and have a green checkmark for the microphone permission, it doesn't seem to be working, as Google Assistant is still able to pick up my voice when the screen is locked. Is there something else that I can do?
Click to expand...
Click to collapse
Try to manually revoke the microphone permission through the app and check if assistant is still listening (to check if revoking that permission really stops assistant to listen).
If so, grant it back and try to change the protection level to "Ruler" and retry.
Remember to wait at least 10-15 seconds to be sure to let the app revoke all permissions when you turn off the screen.
I just tried with my own phone (usually I ignore assistant) and it stops listening when screen is off and after turning on the screen for a couple seconds (my phone is not too fast).
Let me know if it works, and thanks for trying Permission Ruler!

New version released (1.5.01)
Few ui fixes
Added french, spanish and arabic translations

New version released (1.5.02)
last few improvements to permissions info gathering speed
slightly improved currently open app detection

Related

[APP] gMapsSpeed | Speed info and speeding alerts for Google Navigation | Update!

Description
Get speed information and speeding alerts for your Google Navigation!
Trial features:
- Display overlay with speed information on your screen
- Display last two digits of your speed in notification area
- Choose between km/h and mph
- Starts automatically when connected to car dock
Pro features:
- Speeding alerts
- Smart alert volume adjusting to background noise
- Configurable speed overlay behaviour (hide, show only if Navigation is running)
- Trial notice removal
- And you will support independent developer and encourage me to add new awesome features!
This is a beta version supported via xda-developers forums, but e-mail communication is also available, especially for Pro users customer support.
Download
gMapsSpeed (Google Play)
gMapsSpeed Pro (Google Play)
Changelog
Code:
0.5:
- Since new version of Google Maps does not allow me to detect if navigation is running, the feature was replaced with "Only show speed overlay if Maps are running"
0.4:
- Due to new Google Play policies, PayPal payment option had to be removed
- Holo theme implemented
0.3:
- Fixed performance issues
- Option to hide notification icon
0.2:
- Market license support
Johny_G said:
Description
- Speeding alerts
Click to expand...
Click to collapse
What data are those based on? There's no speed data available in Google Maps so you do need some source to determine the allowed speed, what is that source?
Currently, it is the simple user-defined threshold system that is also used by some HUD-style applications, but I'm trying to implement something smarter for later releases .
hm, too bad, makes it pretty much useless
We will see what I'll figure out - having database of speeds is impossible with my budget, but I have some ideas how to make it better. But I personally use the threshold system, and it is actually not bad and it saved me from some unmeant speeding situations. And do not forget, that car's speedometer shows about 5% lower speeds compared to reality, so you know by sound when you reached the actual speed.
where i live there's no general speed limit but limits are different all the time (30,50,60,70,80,90,100,110,120,130) so manual tresholds just won't do it :-(
Oh, I see :-(
Just a small update today. The speed alerts will be improved later.
Changelog
0.2:
- Market license support
Like the app, just what I need. After minor update the app freezes however.
In what situation?
No exception. The first version worked flawlessly. This version gets stuck as soon as you open it.
Is there a way to revert to the first version? That one worked.
HTC Incredible S. Standard OS Android 2.3.5
Oh, I see it. Will resolve it ASAP.
Got a solution! I will implement one little feature and publish the update later today. Thanks for reporting!
Hey OP...
Quick question...I purchased the app in the market and on my phone i opened the beta app and registered it, now my question is why does the app in my app drawer still say beta? Did I not register correctly? Please help
The app is still in beta stage, but your purchase authorized you to use the Pro features. As it makes it to final version, you will get all the new features with no extra charge .
The update is here!
Changelog
0.3:
- Fixed performance issues
- Option to hide notification icon
App works again, performance issue fixed. Thank you for the swift response.
Found this app on the market and I have a question about the pro version. The main feature I like about pro is only showing the overlay when navigation is running. The only major problem is that it keeps the GPS active even if navigation isn't being used.
Are there any future plans for implementing a feature that will auto start this app when the navigation app is opened, along with closing it when navigation ends? This will prevent from having to manually open and close an additional app each time.
Sent from my SPH-D710 using xda premium
This is not easy to handle since Android does not tell you when app has been started. Only way I can think of is some service, but it might cause serious battery drain. But I can turn off the GPS if not visible. It might help.
I'd imagine, if it's possible it would only be for root users. I'm not a dev, just brainstorming really. The overlay looks great and it's 2nd to none right now.
Sent from my E4GT using xda premium

Xposed Modules For Theming A110Q

modify your ROM - without modifying any APK (developers) or flashing (users)!
Advantages:
No need to modify any APKs. This means:
No need to decompile, change things in smali, compile, sign, ...
It will work for odexed and deodexed ROMs.
Your mod is not bound to a specific version of the ROM. Unless there is a major change in the methods called for a certain functionality, your mod will continue to work even when you upgrade your ROM. Hell, it will probably even work with different ROMs.
Multiple mods can be installed at the same time, even if they change the same package. So you can use these battery icons and those quick toggles. Even hooking the same method twice is possible. Of course, this only works properly if the mods are not trying to do incompatible things.
It does its magic at runtime. That means you can implement options to let the user decide if they prefer the bikeshed to be painted in red or blue. Or you can have some extra logic for certain ROMs without building different mod versions.
It can be disabled easily without having to reflash.
It's open source.
Download:
You can download the installer from http://dl.xposed.info/latest.apk. The attached XposedBridgeApi*.jar is only needed for developers.
How to install:
First step for everything you do: Create a nandroid backup and make sure you know how to restore it!
I'm not responsible for anything you do with your phone/tablet/rice cooker.
There is also the risk to soft-brick your device. In such a case, restoring a backup is the easiest way to get rid of it (other possibilities mentioned below).
For the framework:
Download the Xposed Installer APK and install it
Launch the Xposed Installer, go to the "Framework" section and click on "Install/Update"
Reboot
Done!
You can verify this by starting the Xposed Installer again. If app_process jumped back to an older version (or none at all), you probably have a ROM with S-On or similar, which reverts any changes to /system after a reboot.
For any modules you want to install:
Download <module>.apk and install it
Launch the Xposed Installer and go to the "Modules" section (you will also get there if you click on the notification warning you that the module is not enabled yet)
Enable the module by checking the checkbox
Reboot
Done!
(note that you can install the framework and enable/disable multiple modules at once and reboot afterwards)
In case you get into a boot loop:
You can flash the attached Xposed-Disabler-Recovery.zip by Tungstwenty. It will be copied to your (external) SD card when you install Xposed as well. The only thing it does is copying /system/bin/app_process.orig back to /system/bin/app_process, which you can also do yourself (e.g. with adb shell in recovery mode).
You could also create a file /data/data/de.robv.android.xposed.installer/conf/disabled, which causes Xposed to be bypassed as well.
Modules:
The official repository for Xposed modules, which can also be access from within the app itself (with download/update support), can be found at http://repo.xposed.info
You can also have a look at this index: http://forum.xda-developers.com/show....php?t=2327541
Please don't use this thread for problems with modules! Use the thread of the module instead.
How to write a module:
If you are an interested developer, give it a try. The development tutorial will help you get started. Further documentation (e.g. how to replace resources) is here. And of course, you can ask your development questions in this thread.
If you have suggestions for new functions the framework could provide (which means they should be useful for more than your module), you can do this here as well. However, requests that I or somewhen else should write a module for xyz are NOT allowed here. Again, this thread is only about the framework.
Changelog:
1.0: Initial version
1.1: ???
1.2: Installer
1.5: Resource replacing
1.6: Some fixes and improvements [629 downloads]
2.0 rc2: Lots of thing redone. Supports (temporarily) replacing native libraries, lots of additions and changes for developers. [3,234 downloads]
2.0: Removed the native library replacement again, support for 4.1 and 4.2, Instagram crash fixed, ... [631 downloads]
2.0.1: Fixed a crash when a module tries to hook a function with "long" or "double" parameters [930 downloads]
2.0.2: Fixed a problem which resulted in a boot loop [4,310 downloads]
2.1: Various improvements, e.g. earlier callbacks for module loading. For details, see this post. [345 downloads]
2.1.1: Fixed a bug in drawable replacements [5,421 downloads]
2.1.2: Small fixes, added Chinese and Russian translations [11,415 downloads]
2.1.3: Reverted a change in 2.1.2 that caused bootloops; new translations and some more fixes [46,803 downloads]
2.1.4: Support for Galaxy S4 and HTC One plus a few minor fixes/enhancements (details) [208,176 downloads]
2.2: Builtin updater/module downloader, extended UI, support for Android 4.3 and more (details) [241,267 downloads]
2.3: x86, Knox, MIUI support (experimental), context menu in modules list and more (details) [18,219 downloads]
2.3.1: "Segmentation fault" during installation fixed [679,333 downloads]
2.4: Support for Android 4.4, performance improvements, log viewer, active check (details) [101,613 downloads]
2.4.1: Fixed bootloop on some x86 ROMs
Source code:
https://github.com/rovo89/Xposed (the C++ part)
https://github.com/rovo89/XposedBridge (the Java part)
https://github.com/rovo89/XposedInstaller (Installer app)
Thanks to:
Tungstwenty for his many contributions, both in code and thoughts
XDA admins, news writers and supporters for making Xposed known to so many people
All those volunteers who help answering questions about Xposed
The people who donated to get me a Nexus 5 for earlier KitKat support
aljohanei for Arabic translations
hero355 for Azerbaijani translations
David_Vaz for Spanish, Catalán, and Galician translations
kecinzer for Czech translations
BobQuentok for German translations
sirodoht for Greek translations
tonymanou for French translations
Adam77Root for Hungarian translations
AngSanley for Indonesian translations
Vincenzo Cerminara for Italian translations
DubelBoom for Hebrew translations
WedyDQ10 for Japanese translations
Martinusbe, Gertlily for Dutch translations
czeci for Polish translations
marciozom13 for Portugese translations
michfood for Russian translations
pyler for Slovak translations
TheNorth34 for Turkish translations
Cye3s, liveasx for Chinese translations
If you want to contribute more translations please use this file as a template. I can't accept translations based on decompiled APKs. Submissions on GitHub as pull request are preferred because it's easier for me.
Original Forum : http://forum.xda-developers.com/showthread.php?p=24267797
Xposed Disabler in case of brick http://forum.xda-developers.com/attachment.php?attachmentid=2568891&d=1391958634
1.Xtheme Engine Thread - http://forum.xda-developers.com/showthread.php?p=49952644#post49952644
2.Android Tuner
The most comprehensive toolbox to save battery, tweak, tune, backup, secure and monitor any Android devices running any ROMs, any kernels.
What is Android Tuner: http://www.3c71.com/what
☺ Replaces 20+ apps easily worth 30€ or more ☺
Life-time support, updates and new features for all your current and future devices.
Supporting me is only a couple of beers ☺
☺ Getting started: http://www.3c71.com/getstarted
☺ App screenshots: http://www.3c71.com/screenshots
☺ App benchmarks: http://www.3c71.com/benchmarks
☺ Best on rooted phones, works well on stock phones too
◊ Permissions requested: http://www.3c71.com/permissions
◊ Open-source APIs used: http://www.3c71.com/opensource
♦♦ Feature set (some require root access, try free version first) ♦♦
► Device manager *1
◊ Device profiles (CPU, IO, components)
◊ Tasks scheduler (app management, clean-up, etc)
◊ Device watchers to automatically activate a profile, run tasks or display alarms
◊ Battery savings using profiles and tasks
► File explorer *1
◊ Batch copy/paste, zip, delete, move, share and stream files and folders
◊ Change files/folders permissions and ownership
◊ Access all your Samba network shares
► Application manager *1
◊ Backup and verify app apk/data (multiple versions), sms and call-logs
◊ System app uninstaller and update cleaner
◊ Share and backup apps to e-mail, DropBox, GDrive, etc...
◊ Move any apps to user, system, SD or link2SD
◊ Freeze/unfreeze apps, crystallize (eg hibernate/greenify) and control app startup and events
◊ Zip align, clear cache, wipe dalvik-cache, fix permissions and optimize databases
◊ Control app notifications, permissions, locker (secure access), rotation and force screen-on *2
◊ Usage and standby statistics (find app draining your battery)
► Network manager
◊ Set WiFi access point priority
◊ Configure Android firewall, TCP Congestion, DNS *1
► Task manager
◊ Check CPU, network and memory usage
◊ Kill (default) or force-stop *1 any apps or kernel processes
◊ Automatic task killer, memory booster, memory cleaner
► System Control *1
◊ CPU governor, frequency, voltage, GPU controls, thermal and MPDecision controls
◊ Build.prop and sysctl editor (basic and advanced mode)
◊ Boost, analyze and benchmark SD cards
◊ Android memory manager, memory cleaner, SD linker (directory binder)
◊ fsync, sweep2wake, gamma and fast charge control
◊ Safe: restore defaults from app or recovery and CPU settings on boot-loop
► System Monitoring
◊ All Android applications or all processes, battery, CPU, network, memory
◊ Component states (WiFi, Bluetooth, GPS, 3G, Phone, APN)
► Status bar notifications
◊ Battery, cpu, memory, sd, temperature optionally with graphics in drop-down
◊ Add battery remaining bar on top or bottom
◊ Remove original battery icon
► Highly Configurable Widgets
◊ Resizable gauge widget
◊ 1x1 and 2x1 (PRO ONLY) text widgets
◊ 2x1-5x2 graphic widgets (PRO ONLY)
◊ 1x1 and 4x1-1x4 (PRO ONLY) toggle widgets *1
◊ 4x4 summary widget (PRO ONLY)
► System Toggles (manual widgets or in profiles)
◊ GPS, WiFi localization
◊ WiFi, BT, BT discoverable, APN, NFC, airplane
◊ Tethering (USB, WiFi, BT)
◊ Brightness, screen time-out, stay awake, flashlight
◊ Ringer, vibrate, synchro, background data
◊ Debug (over WiFi), unknown sources, USB storage, reboot
► Terminal Emulator & Script Editor
◊ Command history
◊ Run or test any scripts, optionally on boot
◊ Share scripts, commands and outputs
► System Logs Reader *1
◊ Logcat or kernel messages
◊ Advanced filtering and search
and much more that meets the eye ☺
*1 Requires root and kernel support for full feature
*2 Requires root and Xposed framework
Download Android Tuner From Play Store Or Buy Full Version
3.Gravity Box
GravityBox - tweak box - Xposed module for devices running Android 4.1/4.2/4.3 ROMs
Version 2.9.6 [JellyBean]
READ THIS POST CAREFULLY BEFORE PROCEEDING ANY FURTHER
Hey!
After countless hours of coding and searching for proper entry points to inject code to incorporate fixes and mods, here it is:
GravityBox - a complex Xposed module targeted for devices running Android 4.1/4.2/4.3, which turns vanilla ROM into
feature-packed "non-flashing" custom ROM.
Originally, this module was designed for MTK6589 devices which lack custom ROMs built from source due to MediaTek closed-source policy.
Later on, it was adjusted to support other (non-MTK) devices running vanilla or close-to-vanilla AOSP ROMs.
Introduction
The app utilizes amazing Xposed framework coded by recognized
developer rovo89 which, briefly, provides interface for injecting code into any app, including system services allowing modifications of applications and system services at run-time. One of the biggest advantages of GravityBox is that it is not bound to any specific device. Actually, it should run on any device having vanilla Android 4.1/4.2/4.3 (ROM close enough to AOSP).
This project wouldn't be possible without rovo's Xposed framework, so huge kudos to him.
Feature highlight
GravityBox provides 2 main groups of features:
Fixes - help to fight typical MTK6589 bugs like:
--- Date&Time settings crash
--- Caller ID mismatch
--- Split conversation in messaging
--- Wakelock in calendar app periodically turning on the screen
--- Waelock in messaging app turning on the screen every time new message arrives
--- Missing TTS settings in Language&Input
--- Missing extended developer options
Mods
--- the set of additional useful features that make using the system more easy and fun
--- CyanogenMod Pie controls
--- Expanded Desktop
--- Statusbar QuickSettings tile management with tile reordering
--- Lockscreen targets
--- Statusbar color and transparency
--- Statusbar Brightness Control
--- Statusbar icon colors
--- Additional QuickSettings tiles:
------- Sync on/off, WiFi AP on/off, GravityBox shortcut, Torch, Network mode (2G/3G/2G+3G switch), Sleep, QuickRecord,
QuickApp, GPS on/off, Ringer mode, Volume tile
--- Quick pulldown - switches to QuickSettings when status bar is pulled down near edges
--- Auto-switch to QuickSettings when there are no notifications
--- Center clock in statusbar
--- Battery indicator style
--- Navigation bar tweaks
--- Low battery warning policy
--- Disable LED flashing when battery low
--- Disable LED while charging
--- Auto-hiding of signal icons for empty SIM Slots
--- Advanced power-off menu (reboot, recovery)
--- Volume key cursor control
--- Skip tracks by volume key long-press while screen off (thanks to rovo89)
--- More volume levels for music stream
--- Option to control safe headset media volume
--- Button for clearing all recent tasks at once
--- Fullscreen caller photo
--- CRT screen off animation
--- Minimal brightness setting
--- Autobrihtness levels adjustment
--- Lockscreen tweaks - show widgets maximized, lockscreen background style (color fill, custom image)
--- Lockscreen rotation
--- Phone tweaks - flip action, disable vibrate on call connect
--- Hardware key actions - menu long-press/double-tap, back long-press, home long-press
--- MasterKey vulnerabilities patched (thanks to @Tungstwenty)
--- Dithered Holo background
--- Option to use solid black Holo background
--- Expandable volume panel
--- Option to unlink ringtone and notifications volumes
--- Notification drawer style (background color, image for portait/landscape, transparency)
--- Button backlight modes (default, disabled, always on while screen is on)
--- Button backlight notifications (for devices that lack Notification LED)
--- Navigation bar ring targets
--- GravityBox Actions (shortcuts)
... more to come
Compatibility
Some words about GB's main concept. One thing I didn't like about xposed modules was that it was always necessary to reboot a device after making a change to some option. Since GB's main concept was to turn MTK devices running stock ROM into something that's close enough to a feature-packed custom ROM, I had to take a decision - for it to be as much comfortable as possible and to really behave like a custom ROM, I had to design it to support most of the preference changes to be done on the fly without needing to reboot a device. While this sounds nice, it also brings couple of "drawbacks". For changes to be made on the fly, it is necessary to make some preparations when device starts. This means, even if you don't use the particular feature, the necessary preparation/modification is already there and is waiting for the user to come and change that option.
This means it is not possible to "completely deactivate" particular feature if it causes trouble on your device or if you installed GB because you want to use only one particular feature you can't find elsewhere.
This results in issues on ROMs/devices that have parts that are diverting from default Android implementation too much, or are running heavily modified custom ROMs.
If you experience weird issues after installing GB, even if you didn't activate a particular feature, it is not because of GB is broken, it is because it is not compatible with your ROM. It is very similar as if you installed ROM built from source for Nexus to some Xperia device - it won't work.
Next thing, GB is a complex module and is not suitable for 1 purpose scenario. This means, if you are running custom ROM built from source (CM, PAC, ...), and you are missing a certain feature, your best option is to go ask creators of those ROMs to implement those additional features. Supplementing missing features on well-known custom ROMs built from source by installing xposed modules (especially complex ones) is definitely not a good way to go and can cause more trouble than good.
And finally, the last. GB being a complex module, it shouldn't be combined with other complex modules often racing for the same goal. They can conflict/fight on the same playground and there's no way you can deterministically say which one's going to win.
They can even lose both.
So in summary:
- this module is designed to run on vanilla or close-to-vanilla Android 4.1, 4.2 and 4.3 (AOSP)
- supports majority of MTK6589, MTK6577, MTK8389 devices
- supports "Google devices" like Nexus, HTC One Google play edition, and others running vanilla Android 4.1/4.2/4.3
- Samsung Touchwiz, HTC Sense, MIUI, LeWa, etc. are NOT supported. It is not guaranteed this module will work on these at all so try at your own risk. This module is simply too complex to support all kind of ROM brands that were vastly modified by vendors.
- DO NOT USE WITH CUSTOM ROMS LIKE CM,AOSPA,ROOTBOX,AOKP,SLIM, ETC... IT MAKES NO SENSE AND CAN CAUSE CONFLICTS AND UNEXPECTED BEHAVIOUR
- I will not implement any exceptions that will adapt this module to a specific custom ROM. Please, do understand, it is unmanageable.
- I will not provide any support for devices violating these compatibility rules
Prerequisites
To use this module, the following conditions must be met
- You have a device running Android 4.1/4.2/4.3 that's based on AOSP (vanilla or close-to-vanilla Android)
- ROM must be rooted (XposedInstaller requires root to be able to install framework into system)
- You have working custom recovery allowing you to make a backup before installing Xposed framework
GravityBox has been developed and tested on THL W8 5" XHDPI device (MTK6589)
Installation
If you are using my GravityMod2 ROM, don't follow these instructions to update!
There's a flashable ZIP for updating GravityBox in GravityMod2 thread!
These instructions are only for those not running GravityMod2 ROM!
1) Backup your current ROM in custom recovery. I am serious. Don't skip this step.
2) Get the Xposed installer from Download section from Xposed official thread (the latest version is typically available at this link: http://dl.xposed.info/latest.apk)
3) Install and run Xposed installer and follow the instructions to activate Xposed framework
4) Reboot. If device doesn't boot that means that the Xposed framework is not compatible with ROM you are currently
running. You don't need to continue with the next steps. You will have to restore your ROM from backup.
5) Download, GravityBox.apk attached at the end of this post, rename it to GravityBox.apk and install it
6) Make sure GravityBox app is installed to internal memory. If it was installed to phone storage or external storage,
move it to the internal memory, first
7) Run Xposed installer, go to Modules menu and activate GravityBox by checking the checkbox
8) Reboot
9) Launch GravityBox from app drawer or from Xposed installer and set options as desired
Reporting bugs
If you experience problems with certain feature, provide the full-detailed info that can help me
to reproduce the bug and attach debug.log file you'll find in either:
/data/xposed directory in case of Xposed Installer version prior to 2.3
or
/data/data/de.robv.android.xposed.installer/log in case of XposedInstaller 2.3+
In case you experience SystemUI crashes or other apps Force Closing, or device soft reboots, attach logcat from time
crash occurs. (use adb logcat *:E or your favorite logcat app from Play Store).
Please, don't attach big logs. Only the portion where error is clearly seen.
Disable all other xposed modules before reproducing bug to make sure it is really GravityBox related
Remember, this app was developed and tested on one particular MTK6589 device so it is not guaranteed that
it will work flawlessly on yours.
Multilanguage support
Volunteers are welcome to translate GravityBox to other languages.
Simply download this file: https://github.com/C3C0/GravityBox/r...es/strings.xml
Use Notepad++ to edit strings and then send me edited file so I can include translations into next release.
Source code
GravityBox is opensource. Sources are available in my gihub: https://github.com/GravityBox/GravityBox
If you're a dev and have some ideas for additional features, feel free to fork it, work on it
and send the pull requests.
Copyright notice
https://github.com/GravityBox/Gravit...llybean/NOTICE
Support development
Coding, maintaining and supporting this project costs me a lot of my precious time. If you find this project useful, you are welcome to support its development via donation. This form of support is meant to compensate for my time dedicated to the community + eventually, help me to afford newer device to keep up with AOSP evolution thus providing continuous support as Android evolves. Thanks!
Info about premium features and PayPal transaction ID verification system
1) Those who supported development via PayPal donation can use their PayPal transaction ID to unlock premium features.
As of v2.9.5, there's one premium feature: Backup/restore of GB settings.
2) If you contributed to the project by providing translations, code fragments, or by any other way
you can apply for a free transaction ID by contacting me via PM.
3) Be aware that there's a system that can identify potential transaction ID
abuse. E.g. when one ID is being used by more users. Such IDs will get blocked automatically.
This can also happen when you previously exposed your ID in public forum and other users took
advantage of it. If this is the case, contact me via PM so I can issue new, special ID.
In case you own more devices, you can use one transaction ID on up to 10 of them.
4) If you are using your own custom builds of GB for personal use, you will get hash mismatch
upon verifying your ID as verification system accepts requests only from official releases of GB.
If you want to be able to verify IDs with your custom build, contact me via PM so I can setup
a special hash for your build.
If you are using a custom build that you provide for broader group of users (e.g. in a custom ROM),
it is necessary to ask for new hash everytime your new custom version is released for public use.
These rules are based on mutual trust so please, do not violate them.
Credits
- @bgcngm for his code contributions to the project
- @MohammadAG for Xperia specific contributions to the project
- @rovo89 for his ultimate Xposed framework and "Volume keys to skip track" mod
- @peptonib for starting me up with this project
- THL W8 owners for providing support and feedback
- CyanogenMod project
- ParanoidAndroid project
- SlimBean, RootBox, AOKP, OmniROM projects
- Sergey Margaritov for ColorPickerPreference
- @Tungstwenty for MasterKey vulnerabilities patch
- All those who provided translations for different languages (Mr.Premise, peptonib, kidmar, ch-vox, romashko, Indiant, lelemm, oicirbaf, unavix, LuHash, WedyDQ10, mp3comanche, awaaas, liveasx, samsonbear, Eric850130, xtrem007, benjoe1, asmb111, ...)
- and finally, all those who keep the project alive by supporting me via donations (you know who you are)[/COLOR
Changelog
https://github.com/GravityBox/Gravit.../CHANGELOG.txt
XDAevDB Information
GravityBox [JB] Xposed Framework Module, a Tool/Utility for the Android General
I WILL NOT BE HELD RESPONSIBLE FOR BRICKED DEVICES ALTHOUGH I AM WILLING TO HELP
PLEASE GIVE SOME TIME TO UPDATE THIS WITH MODULES
Credits : Komal Singh
This thread is nothing more then a copy and paste job of other developers threads.
[FRAMEWORK ONLY!] Xposed - ROM modding without modifying APKs (2.4.1)(02.12.2013)
[APP][JB][XPOSED] GravityBox v2.9.6 - tweak box for Android 4.1/4.2/4.3 [10/02/2014]
This violates the rules of xda.
Thread Closed

[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][4.1+] HEBF Optimizer - Battery saver and root toolbox (2021/05/31)

Code:
*** Disclaimer
I am not responsible for any side effects (if any) or damages (if any) caused by this application.
This is not a 100% systemless app. If you are having problems, please just uninstall it then reboot.
Introduction
Created in the midst of a broken heart, HEBF Optimizer is an application that aims to increase the performance of your device, also by focusing on battery performance, we didn't forget it.
The application also features a useful and smart toolbox that you can use whenever you want.
"HEBF" stands for "empty heart, full battery"
Click to expand...
Click to collapse
Images
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Features
VIP Battery Saver:
VIP Battery Saver puts your device into a deep battery saving mode by setting the CPU governor along with several other parameters of your choice such as force-stopping apps ("hibernating"), forcing the device into idle state (doze) and disabling checked features (WiFi, bluetooth, etc). VIP can be used with Tasker to be triggered in certain events or scheduled within the app itself. It is a very useful option if want to keep your device alive as longer as possible.
Game Booster:
In contrast to VIP Battery Saver, this Game Booster ramps up the CPU to obtain better instant performance. It can also trigger the DnD mode and force-stop apps as well to avoid interruptions while gaming.
This is also a root toolbox:
HEBF provides a nice interface for power users to tweak their device. There are some advanced stuff like the Window Manager, ART Compiler Filter and well known stuff like a CPU and RAM Manager, Fstrim and a Cleaner section. There are also several general battery, performance internet twaks you can apply, all within a single app.
Click to expand...
Click to collapse
Installation instructions
Make sure you meet the requeriments:
Android 4.1+
Root access (although the app has a rootless version, it will be dropped out soon)
Download and install the .apk file or get the app in Google Play. See below get the downlod links.
Click to expand...
Click to collapse
Changelogs
Code:
Current version: 2.4.6, 2020-07-18
[new] Added Kernel Panic switch
[new] Added option to activate VIP Battery Saver when the screen goes off
[changed] CPU Manager is now deprecated and will be later removed, please use SPKM instead
[changed] Removed DPI Changer, please use the Window Manager instead
[changed] Removed VIP Profiles
[changed] Overall improvements to VIP Battery Saver behavior
[changed] Updated Games database
Click to expand...
Click to collapse
Downloads
Note: Android File Host build may take longer to be updated. Please use XDA Labs instead.
Download
Google Play | XDA Labs | AFH
Click to expand...
Click to collapse
Thanks to/Credits
Code:
* @Lennoard
* Android VIP
* Beta Testers and translators
XDA:DevDB Information
HEBF Optimizer, App for the Android General
Contributors
IvsomEmidio, Lennoard
Source Code: https://github.com/Lennoard/HEBF
Version Information
Status: Stable
Current Stable Version: 2.4.6
Stable Release Date: 2020-07-18
Current Beta Version: 2.3.5
Beta Release Date: 2019-11-16
Created 2016-06-18
Last Updated 2020-07-18
Downloads
Play Store (Stable Version)
2.2.0 available on beta
HEBF Google+ Community
Facebook Page
HEBF Blog
Reserved
Changelogs:
1.0.1b
Second beta release
Now HEBF notifies you when the thumbnails size is over 300Mb!
Fixed Force Close when switching to Landscape mode
Tweaks revisions
Added Force connection type indicator
Color changes
Text revisions
Added more cleaner options
Collapsing AppBar Layout on About screen. The new FloatingActionButton takes you to the build folder at AFH
HEBF now verifies whether the necessary files exists and shows a warning if does not
Updated credits
Updated licenses dialog
v1.0.2b
Third beta release
Attempt to fix Force Close bug at the first time (By asking for READ first)
Fixed and improved busybox detection (We hope so) Thanks to @Omario-242
Updated translations
We started to work on lighter performance tweaks
Source code clean up (Partial)
Application log (/system/etc/HEBF/app.log) (@Marília de Oliveira) BR
v1.0.3
v1.0.3 Released
HOT: Fixed FC due storage permissions on Android 6.0+ FOREVER
Now I don't need to kill myself
Changelog:
4rd beta release
Fixed Force Close bug at the first time (No luck before)
Version changes
Library updates
Updated translations
Fixed notification icon size
Added clean thumbnails at boot
v1.0.4 Pre-Stable
*Hot:* Added German translations by @VenityZ
*Hot:* Added profiles menu
Improved application's performance
Updated Tweaks (Thanks again to the myth @Paget96 for his mythness)
Small color changes
Improved dialogs look
Fixed notification icons
Removed cleaner scripts at boot
Removed strange shadow above the toolbar
Improved ART Fix Switch system
v1.0.5
Updated Tweaks
Added Kernel Panic
Added Settings screen
Fixed battery calibration dialog
Separated faster boot into 2 options
Removed tweaks Cards if they don't match with the Android version
Improved tweaks explanations (more coming real soon)
v1.1.2 (Especial Version)
Updated tweaks
Improved descriptions
Added widgets, check them out!
3 options for the Floating Action Button at the Main screen, check them out!
Added Force English language on settings
Better management of new versions: if a new version is installed, a notification will ask you to copy the files again
Added Power saver for multicore CPUs
Decreased margins size on landscape mode
DPI Changer and Hostname changer now show the current value as a hint
Added manufacturer's bloatware remover (Limited)
Force copy option now shows a progress dialog
New options for Google Play Services drain fix (Experimental)
WhatsApp files cleaner now shows the current size of the folders
Reduced necessary thumbnails size for a notification to show
Added Low Memmory Killer - minfree manager
Added Reduce in-call delay
Added Better rendering quality
Added use GPU for rendering
Added TCP tweaks
Added Google DNS
Added Better 3G connection
Added NET tweaks
Added Improve browsing
Added Better streaming
Improved block buttons layout
Improved CardView's ripple effect
Bug fixes
v1.1.4
Fixed problems with root access
Fixed problems with profiles and infinite progress dialogs
Fixed problems with the introduction of the application, which suddenly ends sooner than expected making an error appear asking to copy the files again.
General improvements for 4.4-
Other bug fixes.
v1.3b
Updated German translations by Christof Schäfer
Added Russian translations by XDA Member @Hanabishi Recca
Added tablet layouts
Added Telegram and Screenshots Cleaner
Added Low RAM Device flag
Adblocker updated
Improved application performance
UI and design changes
Improved navigation
Better support
General improvements for everyone on 6.0+
Bug fixes
v1.5.1- Hanabi
Fixed issues for 4.4-
Added a Build.prop Editor [Advanced options]
Added a Run as Root option [Advanced Options]
FStrim updated
Prevent service to be killed on boot so it can be finished correctly
Fixed back button not working for some screens
v1.5.2- HNOH
- Non-launcher shortcuts for apps [Android 7.1]
- DNS Changer added [Advanced Options]
- Entorpy Manager added [Advanced Options]
- Adaptive LMK control added
- Added Fsync control
- Design and layout changes
- Added a splash screen
- Enhanced logging [Settings]
- Small changes of information
v1.5.3
- Presets added to Build.prop editor
- Low Memory Killer updated (improved logic + apply at startup)
- Game Mode Removed
- Game Booster added
v1.5.4 (PLAYSTORE BETA)
Battery information
Notification improvements
Spanish translation reviewed by Alekss Ro
Initial Hindi translation by XDA Member @sohamsen
Added Turkish translation by Umut TURUNÇ
Hint for current DNS [Manual DNS @advanced Options]
Layout changes
v1.5.4-March Rain
Added presets for build.prop editor
Updated Low Memory Killer (RAM management profiles + improved logic + apply on boot)
Battery information
Spanish translation reviewed by Alekss Ro
Initial Hindi translation by XDA Member @sohamsen
Added Turkish translation by Umut TURUNÇ
The return of the SELinux switch
Notification improvements
Hint for current DNS [Manual DNS @advanced Options]
Layout changes
Removed Game mode
Game Booster added
Logging improved
Code improvements
2.0.0 FÊNIX
[!] Preferences were reset, some settings may have been lost
New Intro screen
Added a dashboard screen
Added a device info screen
Added a CPU Manager screen (basics for now)
Changed colors: The blood color of my broken heart is red, not pink
Decreased margins size
You can now stop HEBF services individually
You can now schedule fstrim and select which partitions to trim
Improved Game Booster and its widget
Improved ART Compiler Filter option
Improved VIP Battery Saver
added a widget and a Quick Settings Toggle
Improved Backup / Restore: you can now share, import or export a backup as a configuration file. It also supports directly opening confuguration.zip files
Moved uncategorized options to the "Tools" screen
Removed Wi-Fi sleeper
Added Wi-Fi Settings (user lvl 3)
Added Instant Doze option (6.0+)
Info about the DNS server (External link)
Better logging system
Google Play Services Drain Fix is back with a different approach
Widgets updated
Updated Settings screen
Liquid Smooth UI updated
Lots of bug fixes including:
/data/data junk size not being shown
Crash due permission denied errors
Root shell
Fsync path
Whatsapp cleaning failure
ANR while reapplying changes
Text not being shown in some small screens
VIP Battery saver improviments and new UI
Game Booster UI
Tweaks UPDATED
And much more (See GitHUB)
2.2.0 MATE
[!] Preferences were reset, some settings may have been lost
HEBF Account and its features; login using it or your Google Account
AppOps (if supported)
Auto start Manager
Create, save, restore and share backups using the Google Cloud
Quickly disable data, WiFi, location, bluetooth and sync to save battery
CPU Manager improved (added support for big.LITTLE - still a bit buggy )
CPU Tunables edit mode now adapts for numerical input
Doze idling mode selection
Whitelist / blacklist apps for Doze
Unforce idle button
Cleaner improved
Cloudflare DNS
Updated ART Compiler filters for Android 8.0+
Adaptive icon for Android 8.0+
Build.prop Editor improved (search props, better non-prop detection, fixed permission denied issues)
You can now create a script from scratch in the Scripts Runner
Scripts Runner will warn about scripts containing "sleep" and "exit" commands
Sysctl\'s navigation improved
You can now schedule mediaserver kill
You can now open .hebf files to restore a backup
Layouts for landscape mode and tablets
Boost widget
New white theme
HEBF Emulated Command Line
Root processes will be opened less often
Initial support for non-rooted devices
Themes improved
Fixed some problems with the settings screen
Other bug fixes
ROOTLESS Now Avaliable
Auto Optimizer job
and much, much more.
Tweaks summary
Fstrim
Discards "trims" unused blocks on a mounted filesystem, reducing the lag by running
Code:
fstrim -v /cache
fstrim -v /system
fstrim -v /data
using the fstrim binary (duh ).It is recommended that you fstrim at least once in a week.
Zipalign
Optimizes the android package files (and its uncompressed data) alignment. It is not "necessary" on 5.0+ apks
Let us quote developer.android.com :
Zipalign is an archive alignment tool the provides important optimization to Android application (.apk) files. The purpose is to ensure that all uncompressed data starts with a particular alignment relative to the start of the file. Specifically, it causes all uncompressed data whitin the .apk, such as images or raw files, to be aligned on 4-byte boundaries.
[...]
The benefit is a reduction in the amount of RAM consumed when running the application.
Click to expand...
Click to collapse
AdBlocker
[COLOR="#A400"]Not avaliable in the Play Store version, and may not be here for too long.[/COLOR]
Modifies the hosts file (/system/etc/hosts) to block all the advertisements, including in-app ads.
Faster boot
Sets the shutdown mode to hibernate and enables the Quick Power On feature, speeding up the boot time.
Disable bootanimation
Reduces the boot time by disabling the bootanimation (It may seem that your device will not turn on correctly, but it is normal).
Improve battery
Avaliable for 5.0- and 5.0+ (yes), Optimizes the Wi-Fi scan interval, enables the power saving mode, disables the error reports without performance impacts to improve your battery life.
Google Play Services drain fix
Not avaliable in the Play Store version.
Fixes the battery drain caused by some of the Google Play Services background services.
WARNING: IT WILL DISABLE THE SERVICES, ENABLE THIS OPTION ONLY IF YOU ARE OK WITH IT AND IF YOU ARE EXPERIENCING DRAIN.
Avaliable services:
Location
Check-in
System update
User report
Reenabling the services may take some time, please be patient
Wi-Fi Sleeper
Increases your battery life by controlling, preventing and scheduling the Wi-Fi to switch itself on/off.
The value set for WiFi idle wait is 15 seconds
Power saver for multicore CPUs
This CPU balance attempts to run the workload in the system on minimum number of CPU packages and tries to keep rest of them idle for longer duration, helping other packages to be in idle state and save power.
First, it checks whether your device has the power suspend mode and then set the value according to your selection to ys/kernel/power_suspend/power_suspend_mode
Let's quote android.com
The power states of the system on a chip (SoC) are: on, idle, and suspend. “On” is when the SoC is running. “Idle” is a medium power mode where the SoC is powered but doesn't perform any tasks. “Suspend” is a low-power mode where the SoC is not powered. The power consumption of the device in this mode is usually 100 times less than in the “On” mode.
Click to expand...
Click to collapse
And kernel.org:
The kernel supports up to four system sleep states generically, although three
of them depend on the platform support code to implement the low-level details
for each state.
The states are represented by strings that can be read or written to the
/sys/power/state file. Those strings may be "mem", "standby", "freeze" and
"disk", where the last one always represents hibernation (Suspend-To-Disk) and
the meaning of the remaining ones depends on the relative_sleep_states command
line argument.
Click to expand...
Click to collapse
Note that in Android is a bit different but the thought is the same
Disable manufacturer bloatware
Not avaliable in the Play Store version. Currently only available for Sony
Freezes some useless packages and applications, you choose which.
Performance tweak
Enables the performance tunning mode, decreases the colors number to 16bpp (16 bits per pixel) and optimizes the "fling" velocity (smooth scroll) for a general improvement with minimal impact on battery.
The 16bpp mode is most noticiable in darker areas.
Best Multitasking
Tunes the Low memory killer parameters for a better multitasking profile, based on the amount of RAM available.
Gaming mode
Optimizes the FPS limit, enables purge of assets and frees more RAM for performance improvements in games.
Reduce in-call delay
Reduces the delay to receive or end a call
Better scrolling
Might drain
Improves the scrolling responsiveness and speed.
Liquid smooth UI
Can drain
Optimizes the touch pressure scale for improved user interface elements.
Improve rendering quality
May drain
Optimizes the screen composition properties and enables overlay UI mode for a better graphics quality.
Use GPU Acceleration
Will drain
Enables the hardware accelerated UI, forces GPU screen composing and disables the vsync for a much better performance at the cost of battery.
TCP tweaks
Improves various TCP values for the IPv4 protocol such as timeout and sockets reuse.
Use Google DNS
An public alternative to your current DNS provider. Google DNS (8.8.8.8 and 8.8.4.4) will improve the security and speed up the browsing.
Guess what, it is free.
Improve 3G speed and signal
Improves a set of RIL and HSDPA properties, prefix and GPRS classes to improve the quality of the connection.
Improve browsing speed
Tweaks for the buffer size of the connection types, from LTE to GPRS. Results in a better browsing experience.
Better video streaming
Tweaks for the stagefright (the Android media library, not the bug). Results in smoother video streams.
Force connection type indicator
Attempts to force the connection indicator to show (The 4G/LTE, H+, H, 3G, E or in some unfortunately cases, G icon on statusbar). Requires a AOSP or AOSP based Custom ROM.
ART Fix
Only forAndroid 5.0+
Sets the dex2oat as interpret only, making the applications load faster.
The dex2oat is the new runtime since Lollipop, it compiles the dex file directly so your processor can execute the code natively. This process to take the dex and prepare for a direct process is called OAT.
According to Google, interpret only would skip all compilation and relies on the interpreter to run code. This should cause:
Apps will load faster as dex2oat won't touch the code again, so, no more waste of storage too.
There will be less time to that screen "Optimizing app X of X"
Battery calibration
Calibrates your battery by erasing the batterystatus.bin file generated by the Android OS containing battery statistics (which sometimes gets corrupted). YOU MUST ONLY CALIBRATE WITH BATTERY LEVEL AT 100%.
Kernel Panic
Kernel panic is an action performed when the system detects a fatal software / hardware error from which it can't recover. Similar to the blue screen of death, of which I was victim. (Dayumm :/ )
Disabling it may slightly reduce lags and avoid random reboots.
Disable logging
If you don't want to see the Android striving to record everything that is happening in all applications, enable this option.
Some say that this can save battery...
SELinux Changer
Tries to changes the Security Enhancements status (SELinux) by running
Code:
setenforce [ ]
On Android 4.4 and later, the default value is enforcing, unless changed by a custom kernel.
DPI Changer
Changes the LCD density. Smaller values are equal to larger screen space
Default DPI for some screen resolutions:
Code:
240x320(ldpi) - 120
320x480(mdpi) - 160
480x854(hdpi) - 240
540x960(hdpi as well) - 240
720x1280(xhdpi) - 320
1080x1920(xxhdpi) - 480
Warning: Please disregard the above information if you are running this application on a Tablet.
Hostname Changer
Another extra feature to change the hostname (the device's name when connected to a Wi-Fi or Ethernet network).
The default name is someting like android-0d02d3352rd2
See:
The best App for tweaking! ❤
God job, my team! ?
Nice APP! It helped me so much
Sent from my Moto G 2014 using XDA-Developers mobile app
DeluxeMark said:
Nice APP! It helped me so much
Sent from my Moto G 2014 using XDA-Developers mobile app
Click to expand...
Click to collapse
Thank you, please keep an eye on it and report anything you judge necessary!
Would be possible to add a section for RAM manager? It was perfect
Sent from my Moto G 2014 using XDA-Developers mobile app
DeluxeMark said:
Would be possible to add a section for RAM manager? It was perfect
Sent from my Moto G 2014 using XDA-Developers mobile app
Click to expand...
Click to collapse
We're looking into it with the "profiles" concept but please, formalize the feature request here
Crashed on first start up on my Sony Xperia Z3 with Android N Preview 3
Did a restart of the app and it seems to work just fine.
Somehow it doesn't detect the busybox installation as it constantly gives
out the error message (I have sterricsons busyboy installed and updated).
Enabled a few tweaks here and there,
Will probably give feed back if I notice any improvements.
Omario-242 said:
Crashed on first start up on my Sony Xperia Z3 with Android N Preview 3
Did a restart of the app and it seems to work just fine.
Somehow it doesn't detect the busybox installation as it constantly gives
out the error message (I have sterricsons busyboy installed and updated).
Enabled a few tweaks here and there,
Will probably give feed back if I notice any improvements.
Click to expand...
Click to collapse
This crash is due storage permission being reseted for some reason, just in case it still remains crashing, check it on Settings.
We'll put it on FAQ soon.
About the busybox... That's a problem. Is it installed at /system/xbin?
And finally, Android N support is currently not guaranteed so surely there is work to be done
Thank you for your feedback, we appreciate your help
Lennoard said:
The crash is probably due the storage permission for some reason being reseted. Just in case it still remains crashing, check it on Settings
About the busybox... That's a problem. Is it installed at /system/xbin?
And finally, Android N support isn't guaranteed so surely there is work to be done
Thank you for your feedback, we appreciate your help
Click to expand...
Click to collapse
Doesn't chrash anymore, even after a reboot.
About busybox, it is installed to su/xbin (default on N?) tried to change it int the installer to system/xbin but it doesn't work.
Will it affect the app as it can only access system/xbin?
Than N isn't fully supported yet is clear to me
I like to experiment with beta apps!
EDIT: I now simply copied the busybox file from su/xbin to system/xbin and it seems to work,
at least there's no error pop up anymore
Omario-242 said:
Doesn't chrash anymore, even after a reboot.
About busybox, it is installed to su/xbin (default on N?) tried to change it int the installer to system/xbin but it doesn't work.
Will it affect the app as it can only access system/xbin?
Than N isn't fully supported yet is clear to me
I like to experiment with beta apps!
EDIT: I now simply copied the busybox file from su/xbin to system/xbin and it seems to work,
at least there's no error pop up anymore
Click to expand...
Click to collapse
Niiiiiiiiiice Hacky solution it's cool because it will work lol
You can also check by typing
Code:
busybox echo "Testing"
on the terminal, check where the terminal is grabbing the binary to work (generally /system/xbin & bin so that's why that question)
Peace bro
EDIT: you *might* have to chmod and chown the /system/xbin/busybox
Code:
mount -o rw,remount /system
chmod 755 /system/xbin/busybox
chown 0:2000 /system/xbin/busybox
mount -o ro,remount /system
Lennoard said:
Niiiiiiiiiice Hacky solution it's cool because it will work lol
You can also check by typing
Code:
busybox echo "Testing"
on the terminal, check where the terminal is grabbing the binary to work (generally /system/xbin & bin so that's why that question)
Peace bro
EDIT: you *might* have to chmod and chown the /system/xbin/busybox
Code:
mount -o rw,remount /system
chmod 755 /system/xbin/busybox
chown 0:2000 /system/xbin/busybox
mount -o ro,remount /system
Click to expand...
Click to collapse
It already has the right permissions and owner set up.
But the terminal command dosn't seem to work.
Not a single reaction after typing the commands
Testing... Nice work ??
Sent from my D5803 using XDA Free mobile app
---------- Post added at 11:26 AM ---------- Previous post was at 11:18 AM ----------
Gave FC to open the application later after the application worked correctly.. How can I find out the directory of the application Log?
Sent from my D5803 using XDA Free mobile app
Omario-242 said:
It already has the right permissions and owner set up.
But the terminal command dosn't seem to work.
Not a single reaction after typing the commands
Click to expand...
Click to collapse
It should print what is inside the double quote
Lennoard said:
It should print what is inside the double quote
Click to expand...
Click to collapse
Either I'm stupid or my device, now it works
But that does'nt tell me which of the busybox installations is used (system/xbin or su/xbin), does it?
Marília de Oliveira said:
How can I find out the directory of the application Log?
Click to expand...
Click to collapse
The full log of the app isn't stored, according to Google, it can lead to performance issues. (Not sure about that G)
But, you can grab the logcat using the "CatLog" app from the post #4, then you just add a "hebf" filter and start the app again
Peace
EDIT: We will add the log storage in the next build, it's beta anyway
---------- Post added at 04:43 PM ---------- Previous post was at 04:26 PM ----------
Omario-242 said:
But that does'nt tell me which of the busybox installations is used (system/xbin or su/xbin), does it?
Click to expand...
Click to collapse
Well, I've made a test.
Moved the busybox to su/xbin (This folder doesn't exist here :v)
And the terminal is returning this on the attached image
So, if you typed busybox echo "Test" and it returned "Test" correctly, the system is using the path that actually works whatever it is.
So if the shell can do it , I think there's no problem with su/xbin.
I'm gonna just add a exception on the busybox check Fragment on the app and there we go
New Beta Uploaded : 1.0.2b
See changelog for more details!
1.0.1b and 1.0.2b are with FC bug on Android 6.0+ at the first launch we are working on it plase wait for v1.0.3b

[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