[APP][ANDROID TV] Projectivy Launcher

Search This thread

ivannns

New member
Mar 6, 2023
2
1
Its great launcher, best alternative to android tv home screen. I notice only one issue, channel "next" on Syncler app has grey thumbnails. Is there a fix? TIA
projectivity.jpg
 
  • Like
Reactions: karkand

s99me

New member
Dec 23, 2018
4
1
Hi @spocky12

Amazing work, as most people have said this is the best launcher for TV. Please find below some observations for your consideration.

Thanks for your work, I will be buying Premium to support your work (but please see last feature request bullet point).

Bugs:

- Bug with back button (continuous press) to the Home screen works for all apps, unless the app has parental lock and then Home button is only option
- Bug with "Enable internal idle detection" on CCwGTV, where after Idle timeout reached (and notice displayed about user inactivity and shutdown in 60s), then the shutdown will just trigger a menu panel in center screen for "Lockdown, Power off, Restart" and nothing else

Documentation:

- Documentation warning that IF a user is disabling Google TV Launcher on CCwGTV [4K/sabrina or HD/boreal], will stop YouTube login from occurring and will prevent YouTube account switching
- As commented before, documentation full list of Premium features (for example, only 1 App can be parental locked unless Premium is purchased - currently allows parental lock to be added then displays Premium screen, so you have to click back and then the app is unlocked)

Feature Requests:

- Feature request, option for Crash Reporting (not automatically opt-in, compliance with GDPR for EU citizens)
- Feature request, option for Analytics Reporting (not automatically opt-in, compliance with GDPR for EU citizens)
- As commented before, feature request to allow customization of launcher lead space (for example, it is too large if trying to get all Apps in big tiles on the screen to help grandparents etc)
- Feature request for Premium, when Parental Control is enabled then "Display info on "Menu" double press and Settings button in system bar should be require parental code
- Feature request for Premium, integrated button mapper (for example, on CCwGTV the YouTube remote button will stop working and requires a remap to open the app)
- Feature request for Premium, when Category is using "Multiline" (aka. Grid as most launchers would describe this) then allow "Number of Cards per row"
- Feature request for Premium, when Category is using "Multiline" (aka. Grid as most launchers would describe this) with M/L/XL then instead of automatically hiding each row before the next category have a "Show all rows" option. Only S size currently provides multiline grid.
- Feature request for Premium, allow "button sequence to lock remote" for Parental Control (for example, double press of volume-up and then double press of volume-down will lock remote, stops children from changing what is playing if you leave the room)
- Feature request for Premium, lower price (e.g. $3 USD) but yearly subscription/renewal (instead of one-time payment, therefore providing long-term development support)
 
Last edited:

StannerG

Member
Jul 6, 2010
14
1
Rostov-na-Donu
lenovo-forums.ru
I join the previously written thanks for the excellent launcher!
I, too, in the part of the applications do not show pictures on the channels, only gray cards, although there are descriptions of the offers!
I also ask you to make cyclic movement with the remote control buttons up/down in the pop-up menus - that is, pressing the up button moves the cursor to the last item and vice versa. When you organize applications into categories after installation, you have to scroll down to the end of pop-up menu to add/move an application to a selected category. these items below.
And a huge request to implement saving and restoring settings!
 
  • Like
Reactions: ivannns

mrmagicm

Member
Sep 7, 2013
11
0
FOLLOWING your REQUEST Spocky!!
I found a little "annoyance" in Projectivity launcher....I've put the launcher on my android TV....and there is a Battery icon at the top right...is there no way that the app detects it installs on a "android tv" or "android box" and that it removes the battery icon that is only necessary on Smartphones?
No way also to remove a notification? I have rotation installed, and forcing it in landscape mode has created a permanent notification inside the notification menu on left of the battery icon.
Battery icon : it's been requested (and developped) because some portable projectors work on battery. It should not be displayed if the system reports that there is no battery. I suppose yours is not reporting it correctly. Just for my information, what's the battery percentage displayed on your device ?

I try projectivity on a android box H96 MAX V58 RK3588, so there is no battery inside, Strangely, It displays 50% battery, but there isn't any battery, so I guess Projectivity doesn't detect there is no battery.
Also some apps installed appear in mobile apps, and some app installed appear in TV apps, si there is no way to change what section where the app is to be put, maybe an option to create an "unique" TV sections would be nice and all apps would go inside? Would there also be a way to have a "noise" selection and loudness when you move the cursor on the front menu? because on the box I have, there isn't any and I used to this on my android tv.
 
Last edited:

rb1213

Senior Member
Jul 15, 2013
149
26
OnePlus One
LG G3
FOLLOWING your REQUEST Spocky!!

Battery icon : it's been requested (and developped) because some portable projectors work on battery. It should not be displayed if the system reports that there is no battery. I suppose yours is not reporting it correctly. Just for my information, what's the battery percentage displayed on your device ?

I try projectivity on a android box H96 MAX V58 RK3588, so there is no battery inside, Strangely, It displays 50% battery, but there isn't any battery, so I guess Projectivity doesn't detect there is no battery.
Also some apps installed appear in mobile apps, and some app installed appear in TV apps, si there is no way to change what section where the app is to be put, maybe an option to create an "unique" TV sections would be nice and all apps would go inside? Would there also be a way to have a "noise" selection and loudness when you move the cursor on the front menu? because on the box I have, there isn't any and I used to this on my android tv.
there is a setting to hide the battery
and if you long click an app, you can move it to a different category (not all categories are available)
 

Grigorijs

Senior Member
Apr 7, 2016
109
59
I notice only one issue, channel "next" on Syncler app has grey thumbnails.
I have the same issue Ass With Emby Suggestions.
I, too, in the part of the applications do not show pictures on the channels, only gray cards, although there are descriptions of the offers!

The same issue as wrote above: grey logos of the channels displayed instead normal logos.

IMG_20230316_130047.jpg
 

gohaaron

Senior Member
Dec 20, 2013
222
44
OnePlus 9R
The channel previews and icons are still broken for almost every app except Netflix... Hopefully dev is working on a fix... Also still waiting for an option to restore to default wallpaper!
 
Amazon is doing all their possible to block the users into their OS...
Channel support is broken (advertised as programmatically supported, but not returning anything), Home button events are taken by the system to prevent override, custom accessibility services aren't displayed, their system wide settings are baked inside of they launcher app so that users can't disable it without disabling the system settings
However you can still enable the accessibiliy service manually (until a future update ?) with ADB : adb shell settings put secure enabled_accessibility_services com.spocky.projengmenu/com.spocky.projengmenu.services.ProjectivyAccessibilityService
@spocky12 This is doing my head in

I've got an old Firestick Lite 3rd Generation and the latest Fire TV Cube and ProjectIvy works like a dream. Thank you.

But I have a Fire TV Stick 4k (code name "mantis") which refuses to co-operate. The ProjectIvy icon in the Apps spaces is the Androind man rather than the proper one and the adb command above to enable accessibility does nothing and

Code:
and shell settings get secure enabled_accessibility_services

returns nothing/a null string.

I've tried using Accessibility Manager and this does get something to "stick" but it is not the full path to ProjectIvy as in the adb shell settings set comment in your post - the adb "get" command returns

Code:
com.spocky.projengmenu/.services.ProjectivyAccessibilityService

I have restored defaults and let it upgrade multiple times and only installed ProjectIvy so I'm confident that there is no other app interfering (unless it is a default installed one).

Any ideas what I can try next?

TIA
 
Last edited:

Qutayba Khader

Senior Member
Jun 30, 2015
172
60
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 :
    1. enable "usb debugging" in your device's "Developer" options (in settings) (to enable "developer options", see here)
    2. Download adb for your OS (check here)
    3. Start command line (terminal)
    4. type adb connect IP_OF_YOUR_DEVICE:5555 to connect through the network
    5. type adb shell to open a shell console
    6. 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)
    7. to unfreeze an app type : cmd package install-existing PACKAGE (replace PACKAGE with the same value as above)
    8. to get a list of manually uninstallable apps, check the rainman.v2.json file on my github
  • 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.

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)

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
- 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)
- 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
- fixed a bug preventing permission to be granted to "install 3rd party apps"
- improved image picker intent compatibility
- *** 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 :p) - 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...)

- 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) :eek:
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.
- 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
- rebranded app (yes, again :D) 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 ?
- 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 :D ?)
- added ability to reduce input lag and disable noise reduction by long pressing "back" button.
- added auto start to hdmi (as stock launcher), so that users who changed launcher won't miss this feature.


Thanks for the best Android Tv launcher ever, everthing is working on my nvidia shield, just a small useful features like (local backup/ weather widgets / date / clock ) will be grate ,

Thanks again :)
 

HunterNet

Member
Mar 24, 2023
19
8
Tested the best launcher and the best solution for lasts android home tv upp. to 2.3.1ver. with shame adds , thanks to google and increible service .

Some remarks seen on last apk:

-noticed the same problems reported b4 with some gray icons on some apks.
-missed the old option on old tv launchers pressing the left arrow can't push the apk icon for open the main apk on videos . One need go up and press the correct apk window.
-the running videos like on Haystack News and similar, don't show on live windows , showing the static window only on launcher.
-Maybe a wifi Icon connection status at upper right should help more than a battery icon on a smart tv and finally i see much space lost on upper screen.

For the rest i wanna say you have maked the best tv launcher i never seen . Congrats sincerely , i start using it today and i wish i'll use thill my smart tv or me dies. Tank you so much , sincerely.

pojectivyok.jpg
 
Last edited:
Its great launcher, best alternative to android tv home screen. I notice only one issue, channel "next" on Syncler app has grey thumbnails. Is there a fix? TIAView attachment 5854981
on your thumbnail setting in Syncler do you currently use the "fan made" feature for your covers? Try turning off all the sideways settings so they are vertical and resync your android home settings and let me know. I dont have any issues with Syncler but mine are are all normal posters that arent sideways and they are from TMDB i bel6.
 

ivannns

New member
Mar 6, 2023
2
1
on your thumbnail setting in Syncler do you currently use the "fan made" feature for your covers? Try turning off all the sideways settings so they are vertical and resync your android home settings and let me know. I dont have any issues with Syncler but mine are are all normal posters that arent sideways and they are from TMDB i bel6.
That was the problem. Thank you.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 13
    Spring has finally sprung! 🌸
    I've been burning the midnight oil on this one, folks.

    A major spotlight this time is on wallpapers. I’ve given the wallpaper manager a complete makeover, now packed with cool new features like Lottie animations. Ever fancied watching your garden grow in real-time while you’re sprawled on the couch, munching on chips? Thanks to support for video wallpapers (yes, RTSP is included), now you can! But here's the real cherry on top: plugin support. Hey devs, if you’re on the hunt for inspiration, how about tapping into fresh wallpaper sources (Bing, Unsplash...), diving into live HD cams, movie trailers, or even showcasing artist pics during "now playing" updates?

    Next up: the UI. I’ve polished the main interface till it sparkles, introducing a host of customizable features that let you decide what stays and what goes.

    And let’s not forget performance – my middle name (well, not really, but you get the gist). I've gone back to the drawing board, rewriting a ton in Kotlin (I hear you, “See you in 10 years for the Compose integration!” 😜). Expect things to be zippier and lighter on your device's memory.

    Of course, what’s six months of hard work without a few surprise bugs popping up to say hello? I’ve been running the development version of Projectivy across all my screens, fingers crossed I haven’t missed anything too glaring. But as tradition dictates, I’m rolling this out to you tech wizards first. Let’s squash these bugs together, shall we? This might sound like the perfect definition for "beta phase", but rest assured, it’s way more stable than your average beta (my optimism knows no bounds, doesn't it?). I'm giving us a dozen of days to hunt down bugs and wrap up localization updates. Once we hit the sweet spot of 99% crash-free sessions, I'll bring it to the Play Store for another fun round of bug bingo – typically the rare or device-specific critters, paving the path to a new 4.5x version. Then, it’s nap time for me... or perhaps I'll finally catch up on any series released since October. Or, you know, check if my kids have grown taller.

    Stay tuned for 4.6x, featuring icon pack support among other delights – and I promise, it won’t take another six months.

    Enjoy, and let the adventure begin!
    4
    Last minute bug that only appears when the app is compiled as release 😒.
    Can someone ask mother nature to postpone spring ?
    3
    I will wait for the update! Can't, off the top of my head recall the missing settings. Will check them again when the new update arrives.
    4.51 is released ! As the 4.50 release was less than one day old, 4.51 replaced it totally (the changelog is at the bottom)
    There's no option to configure Selected Program. When configuring User defined wallpaper it also crashes back to homescreen.
    "Selected program" is not meant to be configured, it just displays as wallpaper the "poster art" for the currently focused card (which on my tests is pretty much always the same as the thumbnail displayed on the card)
    Yeah, the crash is what was reported by @dctrbnsttr and is related to me rushing a last feature last night :)
    Thanks for the update, spocky12. I am running 4.50 on an Android 12 Google TV onn. box (2013) (SGZ2.230609.049.A1/11261715). Projectivy is set as my default launcher, not through overriding of the home button through its accessibility service (it's not enabled), but by way of having Google TV Home (LauncherX) and the setup wizard disabled via ADB.


    Happenings/thoughts:

    • The background I had set in the previous/Play Store version had disappeared. I tried to set a new background, but whenever I selected "User defined", Projectivy would consistently crash. I worked around this by opening the image with the "Set wallpaper" activity in MiXPlorer again. After that, the wallpaper options worked fine. Related logcat:
      Code:
      AndroidRuntime: FATAL EXCEPTION: main
      AndroidRuntime: Process: com.spocky.projengmenu, PID: 20879
      AndroidRuntime: java.lang.NullPointerException: Attempt to read from field 'java.lang.String P7.k.z' on a null object reference
      AndroidRuntime:        at W5.d.q0(SourceFile:464)
      AndroidRuntime:        at androidx.leanback.app.J.K(SourceFile:38)
      AndroidRuntime:        at Q5.c.K(SourceFile:25)
      AndroidRuntime:        at l0.c0.e(SourceFile:71)
      AndroidRuntime:        at l0.c0.l(SourceFile:124)
      AndroidRuntime:        at l0.V.z(SourceFile:27)
      AndroidRuntime:        at l0.V.R(SourceFile:82)
      AndroidRuntime:        at l0.V.x(SourceFile:77)
      AndroidRuntime:        at g.W.run(SourceFile:1075)
      AndroidRuntime:        at android.os.Handler.handleCallback(Handler.java:938)
      AndroidRuntime:        at android.os.Handler.dispatchMessage(Handler.java:99)
      AndroidRuntime:        at android.os.Looper.loopOnce(Looper.java:201)
      AndroidRuntime:        at android.os.Looper.loop(Looper.java:288)
      AndroidRuntime:        at android.app.ActivityThread.main(ActivityThread.java:7839)
      AndroidRuntime:        at java.lang.reflect.Method.invoke(Native Method)
      AndroidRuntime:        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
      AndroidRuntime:        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
    • Pressing the home button while on Projectivy's home screen causes a reproducable crash:
      Code:
       AndroidRuntime: FATAL EXCEPTION: main
      AndroidRuntime: Process: com.spocky.projengmenu, PID: 5410
      AndroidRuntime: java.lang.IllegalStateException: Cannot start headers transition
      AndroidRuntime:        at com.spocky.projengmenu.ui.home.MainFragment.X0(SourceFile:76)
      AndroidRuntime:        at Z5.n.run(SourceFile:18)
      AndroidRuntime:        at android.os.Handler.handleCallback(Handler.java:938)
      AndroidRuntime:        at android.os.Handler.dispatchMessage(Handler.java:99)
      AndroidRuntime:        at android.os.Looper.loopOnce(Looper.java:201)
      AndroidRuntime:        at android.os.Looper.loop(Looper.java:288)
      AndroidRuntime:        at android.app.ActivityThread.main(ActivityThread.java:7839)
      AndroidRuntime:        at java.lang.reflect.Method.invoke(Native Method)
      AndroidRuntime:        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
      AndroidRuntime:        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
    • On the onn. box, the "Amlogic additional settings" button has never worked. While there is no "com.droidlogic.tv.settings.MainSettings" in "com.droidlogic.tv.settings", there is "com.droidlogic.tv.settings.more.MorePrefFragmentActivity" in the "com.droidlogic.tv.settings" package, which does expose some hidden settings like overscan adjustment.
    • Will there possibly be an to hide the white/translucent background on the connectivity and settings status bar icons, which wasn't there in the previous version? Personal taste, of course, but I find it more distracting than just seeing the bare icons on their own.
    1- yep, same bug mentionned before. Due to a wrong variable initialization (didn't see it as on my tests it was already set). Thanks for the call stack. Fixed
    2- due to a bug in the framework throwing an exception when it tries to hide the left headers and they are disabled. It was probably there before this release in one way or another. Fixed
    3- Thanks for the feedback, I've added this activity
    4- Added a setting to change the container opacity
    3
    Just found this app and just finished catching up lol great app just what I was looking for but as I sideloaded 4.50 on to my shield I cant get premium. Is there another way to upgrade or buy a pint for the dev to support his work.
    Delete 4.51> Install Playstore version 4.36 > Purchase Premium > Delete 4.36 > Install new .APK (will have premium)
    3
    Thank you very much for the great launcher!

    I would like to suggest a few features:
    1. Ability to add a shadow for status bar items (clock, settings icon etc.). Currently when the upper right corner of the background is light (has a similar color than the status bar items), the status bar items become invisible.
    2. Ability to specify how often the background changes.
    3. Ability to "lock the home screen". When locked, any long pressing or attempts to reorder items would show a toast that launcher is locked and it needs to be unlocked in settings before any changes can be made (many phone/tablet launchers have this kind of functionality).
  • 47
    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 :
      1. enable "usb debugging" in your device's "Developer" options (in settings) (to enable "developer options", see here)
      2. Download adb for your OS (check here)
      3. Start command line (terminal)
      4. type adb connect IP_OF_YOUR_DEVICE:5555 to connect through the network
      5. type adb shell to open a shell console
      6. 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)
      7. to unfreeze an app type : cmd package install-existing PACKAGE (replace PACKAGE with the same value as above)
      8. to get a list of manually uninstallable apps, check the rainman.v2.json file on my github
      9. 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
    From 4.03 onwards, changelog will be available here.

    - 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
    - fixed a bug preventing permission to be granted to "install 3rd party apps"
    - improved image picker intent compatibility
    - *** 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 :p) - 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...)

    - 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) :eek:
    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.
    - 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
    - rebranded app (yes, again :D) 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 ?
    - 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 :D ?)
    - added ability to reduce input lag and disable noise reduction by long pressing "back" button.
    - added auto start to hdmi (as stock launcher), so that users who changed launcher won't miss this feature.
    15
    Hey,

    Sorry for not being active recently. After my summer break, I had to catch up with Projectivy issues (and real life projects as well).
    I'll release a new bugfix version soon, after then new features will be added.
    Regarding Android 6.01 Google services, I'll host them on another server and update the links accordingly (this should take a few days max). No app update will be required.
    13
    Spring has finally sprung! 🌸
    I've been burning the midnight oil on this one, folks.

    A major spotlight this time is on wallpapers. I’ve given the wallpaper manager a complete makeover, now packed with cool new features like Lottie animations. Ever fancied watching your garden grow in real-time while you’re sprawled on the couch, munching on chips? Thanks to support for video wallpapers (yes, RTSP is included), now you can! But here's the real cherry on top: plugin support. Hey devs, if you’re on the hunt for inspiration, how about tapping into fresh wallpaper sources (Bing, Unsplash...), diving into live HD cams, movie trailers, or even showcasing artist pics during "now playing" updates?

    Next up: the UI. I’ve polished the main interface till it sparkles, introducing a host of customizable features that let you decide what stays and what goes.

    And let’s not forget performance – my middle name (well, not really, but you get the gist). I've gone back to the drawing board, rewriting a ton in Kotlin (I hear you, “See you in 10 years for the Compose integration!” 😜). Expect things to be zippier and lighter on your device's memory.

    Of course, what’s six months of hard work without a few surprise bugs popping up to say hello? I’ve been running the development version of Projectivy across all my screens, fingers crossed I haven’t missed anything too glaring. But as tradition dictates, I’m rolling this out to you tech wizards first. Let’s squash these bugs together, shall we? This might sound like the perfect definition for "beta phase", but rest assured, it’s way more stable than your average beta (my optimism knows no bounds, doesn't it?). I'm giving us a dozen of days to hunt down bugs and wrap up localization updates. Once we hit the sweet spot of 99% crash-free sessions, I'll bring it to the Play Store for another fun round of bug bingo – typically the rare or device-specific critters, paving the path to a new 4.5x version. Then, it’s nap time for me... or perhaps I'll finally catch up on any series released since October. Or, you know, check if my kids have grown taller.

    Stay tuned for 4.6x, featuring icon pack support among other delights – and I promise, it won’t take another six months.

    Enjoy, and let the adventure begin!
    11
    Hey, 4.32 is published on Github, hopefully fixing most of the recently reported bugs, and adding a few improvements as well.
    Next, I'll focus on the Google Play release.