[APP][ANDROID TV] Projectivy Launcher

Search This thread

jhedfors

Senior Member
Oct 16, 2009
1,530
778
St Paul, MN
Moto G6
OnePlus 6T
Sorry, I have absolutely no time to elaborate now, but I wanted to release the fixed version before the weekend: https://github.com/spocky/miproja1/releases/tag/4.31
The release on the Play Store should follow as soon as I have free time (hopefully next week).
Thank you!

Long-press settings option is brilliant, and I can now see the Prime Video cards!

I could not understand what this new feature was about though: "Added : long press on the left header of a channel category will start the associated app".

Also, I tried to purchase premium in the Play Store version but it would not let me select the Play Store account I wanted to use.
 
Last edited:

lvdoan

Senior Member
Jan 31, 2013
132
56
Sorry, I have absolutely no time to elaborate now, but I wanted to release the fixed version before the weekend: https://github.com/spocky/miproja1/releases/tag/4.31
The release on the Play Store should follow as soon as I have free time (hopefully next week).
Thanks, @spocky12 for the update with many fixes. Highly appreciate your hard work.
However, I noticed that the seekbar color in various settings make the seekbar almost unreadable when the background of the launcher was set to (Reddit) wallpapers other than dynamic colors:
(EDIT: This only happened now and then.)
1686384525721.png

1686384581824.png

I don't know if this has been done on purpose.

On the contrary, when the background of the launcher was set to dynamic colors, the seekbar could be seen very clearly:
1686384810240.png
 
Last edited:

bacusa_unlimited

New member
Nov 9, 2019
2
0
Hello tks alot for the apps, i tried it for about 3 days and so far the only little trouble is how to change user profile, i'm using tcl c635 google tv, and when the launcher running pressing android setting then pressing the profile picture doest bring up profile selection menu, only blink and back to the launcer. The work around is multiple step, either open setting, go to account and choose profile or open youtube and switch account on youtube.

Anyone have any sugggestion for apk or shortcut to achieve this profile switching?

Thank you
 

HunterNet

Member
Mar 24, 2023
17
7
thank you for the new version i started testing and ....
** automatic fallback on HTTPS URLs if channel thumbs link to (unsupported) HTTP resources


Now the gray or normal windows do not appear , the category appears empty in the channel and simply nothing appears in the menu
I think the same thing happens with the a3player apk with previous versions of projectivy the empty category appears in channels and does not show anything in the main menu
On the stock AndroidTV launcher the category appears perfectly full on channels and on ofcourse on the main menu.
Graychannelsprob.jpg
Finally worked on RTVE installing a modded old version b4 and updating to the latest one. Great @spocky12
Ill try do the same with a3player searching more , now i know a bit more
 
Last edited:

Peat1980

Member
Sep 30, 2018
40
5
Hello tks alot for the apps, i tried it for about 3 days and so far the only little trouble is how to change user profile, i'm using tcl c635 google tv, and when the launcher running pressing android setting then pressing the profile picture doest bring up profile selection menu, only blink and back to the launcer. The work around is multiple step, either open setting, go to account and choose profile or open youtube and switch account on youtube.

Anyone have any sugggestion for apk or shortcut to achieve this profile switching?

Thank you
If you only want to switch youtube accounts just use SmartTubeNext. 🤔
 

spocky12

Recognized Developer
Thanks, @spocky12 for the update with many fixes. Highly appreciate your hard work.
However, I noticed that the seekbar color in various settings make the seekbar almost unreadable when the background of the launcher was set to (Reddit) wallpapers other than dynamic colors:
(EDIT: This only happened now and then.)
View attachment 5929669
View attachment 5929671
I don't know if this has been done on purpose.

On the contrary, when the background of the launcher was set to dynamic colors, the seekbar could be seen very clearly:
View attachment 5929673
Definitely not on purpose (and never experienced it myself)
That's weird, the code used to tint the checkboxes is the same than the one for the seekbars. I can't understand how you could have a screenshot like the second one, with 2 different colors at the same time.
for @spocky12

Bug in new version , channels options don`t working , on the main screen too .
View attachment 5930327View attachment 5930329View attachment 5930331

Me too. Confirmed that Channel option not working in v4.31.
I'm having a hard time trying to reproduce this bug. Your pictures show that going to a channel options from the main settings->channels provides a screen that isn't bound to what you see in the launcher (changing the options there won't do anything on the launcher screen). Am I correct ?
Is that the same if you go to the channel settings from the left hand side menu ?
Are all the channels affected (ex: try to enable a channel you've never enabled before) ?
Are any "standard" categories affected as well ?

Really good app, is there anyway to get the VPN status in the top right corner?
Not yet
 

lvdoan

Senior Member
Jan 31, 2013
132
56
Definitely not on purpose (and never experienced it myself)
That's weird, the code used to tint the checkboxes is the same than the one for the seekbars. I can't understand how you could have a screenshot like the second one, with 2 different colors at the same time.
The first two pictures were taken on 2 different devices (ONN 4k TV box running stock Android 10 and X96 Max running Slimbox fw 9). That's why they had different colors. If the focus was not on the seekbar you can hardly see its slider.

As for Edit Channels option, I clean installed v4.31 on one of my devices and saw no problems enabling or disabling channels. But on a device (running Slimbox FW) updated from v4.30 to 4.31, the channels already enabled before would not turned off (removed from the home screen, ex: SmartTubeNext) when I disabled them. In the below screenshot you can see a strange behavior that History and Recommended of SmartTubeNext had been disabled:
1686533436114.png

1686533391645.png


But on the previous screen they were still shown as enabled and their channels were displayed on the home screen too:
1686533298308.png


Channels not enabled before would not be displayed on the home screen when enabled (ex: Youtube which had been played from time to time). I don't know if this issue was OS related or not.

As for Edit Categories option, I saw no problems enabling/disabling exisiting categories or add/remove categories.
 

Attachments

  • 1686535562646.png
    1686535562646.png
    605.5 KB · Views: 7
Last edited:
  • Like
Reactions: HunterNet

Peat1980

Member
Sep 30, 2018
40
5
I can confirm this channels behaviour on my shieldtv after upgrade to v4.31.
The visible toggle for channels does nothing here. They stay as they were configured before. It does not matter if they were accessed from launcher menu or channel menu. 🤔
 
  • Like
Reactions: HunterNet

HunterNet

Member
Mar 24, 2023
17
7
I'm having a hard time trying to reproduce this bug. Your pictures show that going to a channel options from the main settings->channels provides a screen that isn't bound to what you see in the launcher (changing the options there won't do anything on the launcher screen). Am I correct ?
Is that the same if you go to the channel settings from the left hand side menu ?
Are all the channels affected (ex: try to enable a channel you've never enabled before) ?
Are any "standard" categories affected as well ?

@spocky12
You're correct
Standard categories working well

apk's with channel problems detected :
Smartube
Spotify
Haystack News
Youtube

apk's with no problem:
Live TV
Xiaomi TV
RTVE Play
unknow with the bad programmed AtresPlayer channels mistery still on it
 

Peat1980

Member
Sep 30, 2018
40
5
App categories could hide / show without problems.
Same behaviour on my Sony A90J.
Tried all app channels on both devices.
Only the watch next row shows / hides.
All other channels stay as they were configured before.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 1
    Hey guys, I just Update the launcher via Google play to the latest Version.

    Im using the Xiaomi Mi 4K Laser Projector

    I love the launcher, but I found 2 bugs/issues:

    1. If I press the Power Button on my remote, normally the Power menu appears with 4 different options (shut down, restart, screen off,...). But now, after pressing the power button the screen goes off....but the projector is still running. I can wake the screen up by pressing power again. But I can't turn my projector off...only if I pull the cable... Very annoying.

    2. When I change the volume I can't see what value I am at the moment, the speaker pop-up doesn't show up....but the volume changes.
    1
    Hi @spocky12

    Excellent launcher! Been using it for a few days and it's been perfect so far. Two feature requests if you're willing to consider it.

    1. Allow the user to adjust the speed for Dynamic colors background feature.
      • I find that the speed is a bit too slow and the dynamic color background doesn't update quickly enough. The color of the background is still the same as the last update by the time I select and enter the app.
    2. A setting to disable displaying the category headers.
      • The category headers are "collapsed" by default but if I press left too many times, they get revealed. A setting to disable this all together would prevent "scrolling too far".
    Thank you!
    1
    Hello @spocky12 Is google play/service installation broken?
    I am on the latest version of the launcher but keep getting request unsuccessful error.

    Also once I freeze the apps they cant be unfrozen on the current version?
    I used freeze recommended apps to freeze the bloats and whatnot, but I cant use the unfreeze recommended to unfreeze. It just says 0 unfreezed.

    I am on rainman and rooted.
    1
    Hello @spocky12 Is google play/service installation broken?
    I am on the latest version of the launcher but keep getting request unsuccessful error.

    Also once I freeze the apps they cant be unfrozen on the current version?
    I used freeze recommended apps to freeze the bloats and whatnot, but I cant use the unfreeze recommended to unfreeze. It just says 0 unfreezed.

    I am on rainman and rooted.
    same here .. after resetting projector there is no way to install google play services (i need it just for premium..)
    1
    Hi @spocky12

    There is an issue when selecting a user defined wallpaper when pressing 'Pick Image' in Appearance>Background. Outputs an error message: "You don't have an app that can do this". I believe this is an Android 12 'scoped storage' issue, but Manage settings>Export/Import works fine so I'm not sure. (A work around I suggest is implementing image url support)

    Many thanks.

    Projectivy Launcher v4.35
    Device: Google CCwGTV HD
    Android TV OS version 12
    Kernel version 5.4.210-android12-9-g4922ac4aca96
    ATV OS Build STTE.230319.008.R1
    ATV OS Security patch: 1 Apr 2023
    Non-rooted, stock launcher disabled via adb
    Do you have a file explorer app installed? I have the CCwGTV 4k version with MiXplorer installed, and it works without any issues.
  • 40
    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
    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.
    11
    Sorry, I have absolutely no time to elaborate now, but I wanted to release the fixed version before the weekend: https://github.com/spocky/miproja1/releases/tag/4.31
    The release on the Play Store should follow as soon as I have free time (hopefully next week).
    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.
    10
    Happy June 15th!
    Hey, I guess it's time for a new release !
    As usual, there will probably be bugs.
    As usual, I'm gonna wait a few days before releasing it on Google play (maybe a bit more, as I need to change the release type to app bundle).

    I won't have time to update this thread during the weekend, so for now, head to my github for the download and changelog !
    8
    Hey,

    Sorry for the silence. Next release is approaching. There wont be live wallpapers (not even sure this is possible on android tv) or widget support in this version. Grey channels thumbnails should mostly be fixed.

    Superb app, it makes using my chinese projector MiProjLED1 a much enjoyable experience without the crap chinese launcher for cases where installing a global/better ROM is not possible.

    But the "Automatically shutdown when HDMI signal stops" feature doesn't work sadly, I'm even using their in-house Mi Box S but nothing is triggering the shut down for this projector. Funnily enough, only the automatic turn on (via CEC I suppose) works. Is it possible if you could check?

    I can provide logs, anything you need as I'm rooted, to help you check, let me know if I can help.
    I'll throw a look. Are you sure you enabled the accessibility service ?
    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)
    Thanks for all the suggestions ! Some wil be added in the next release. Several might come in a future build.
    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!
    I've simplified the ability to add/remove apps on categories. Next version should be much easier to customize.
    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.
    Projectivy displays the battery if the system tells it that a battery is present. That's a bug on your rom.
    Regarding mobile/tv sections, they are split for a reason. But you could still make a custom category with all of them.
    @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
    I think I have a Mantis (that's the only fireTv I have), I'll have a look (maybe it's been updated since I checked).
    I want to be Premium on my Android TV but there's an error.
    What's the message ?
    Hello,
    1. I am using one these AndroidTV 11.0 S905W2 boxes from Amazon and I could not make my APK the Home Activity via ADB.exe
      I need a launcher to make my APK
      (A) the MainActivity (the only and only app to run on boot) and
      (B) have the option to rotate the screen to Portrait on boot for *some* boxes.
      I have been using Launcher Manager (LM (FOS) - 1.1.8.apk com.wolf.lm) to configure manually my APK as the home activity but it has nothing about (B) screen rotation.
      FYI, there is NO screen rotation mention/option in the "Developer Options" menu of this box.

    2. Regarding "MainActivity" aapt.exe output reveals there is a launchable-activity: name='org.mumti.MainActivity' so I don't know why adb does not succeed??

    3. adb -s 192.168.1.120:5555 shell cmd package set-home-activity org.mumti/org.mumti.MainActivity
    4. The reason adb fails setting my APK MainAcitivity may have to do with a post I read relating to the possibility that my APK is made of Java classes that are spread across more than one DEX file (Dalvik EXecutable) I am don't direct control over the building of my APK as it is developed with a hybrid framework (JavaScipt/HTML) and an Android/JAVA wrapper is put around it in the build process.

    5. Reading here about your "Projectivy Launcher" sounds it does a lot of stuff I really don't need perhaps you can point me to a light sample app or code preferably Kotlin application that would launch my APK as the home screen.

    6. FINALLY: let me know if I missed totally and there is a better forum for my questions. Thank you.
    You can find a few Android Tv launchers on Github, there you should be able to compare with what you've done and fix your app.
    I would love to slightly move the cards down so it looks exactly like Google TV right now they are too high up which makes it look slightly off to me as they aren't on Google TV

    I would also like to be able to move the clock and hide the settings icon at the top

    I would also like am option to get rid of the darkened second row Google TV doesn't darken the cards like that

    An option that would be nice is to change the entire wallpaper after the card you're in similar to Google TV but rather than showing screenshots of movies it uses the current card

    I would also pay for live wallpaper support that uses Screensaver apps l would pay 5 dollars to unlock that
    There's no wallpaper manager in Android Tv, so not sure I can support live wallpapers, but it's on my todo list.
    the purpose of this launcher is to have a light TV launcher that is still functional for a TV, if you all keep asking to add features it will Use a lot more RAM & cpu !
    ....if you really need all those features , you can just use google TV launcher. (or another one)
    so please leave this launcher Light.
    Don't worry, I keep on optimizing Projectivy. Features I add should not impact perfs and/or ram (or at least if they do, you should be able to enable/disable them)
    I love this launcher and bought premium months ago. Does anybody know why the app doesn’t always realize that I bought premium? It’s always when i see a really cool wallpaper that I want to set as user wallpaper. This doesn’t happen all the time but I am always on wifi with it so idk what causes the app to not verify I bought premium. Thanks in advance for any insight
    This is weird. I'll check the code, but I think the checks are dynamic (there's not only 1 check at launch), so if internet is available on your device, Google Play should report you have premium (it does here).
    I absolutely love this launcher and just paid for premium. Thank you for all your hard work! I have a few suggstions/requests:

    1. Add the ability to backup and restore all launcher settings. Backup could just be a json or xml file on the sdcard. This would make it simple to apply the same settings to multiple devices or setting Projectivy back up from scratch.
    2. Add the ability to move the first/top row up or down as needed to be able to fill the "whitespace" above the top row.
    3. When clicking the back button on the homescreen to return to the first icon of the first row, prevent the splash screen for the launcher from displaying.
    4. When selecting a background image, the file browser that is used requires a mouse to navigate. At least this is how it behaves on my devices (Nvidia Shield Pro 2019 and Onn 4k). Perhaps build a custom browser to browse files on the sdcard using just a remote. Doesn't need to be fancy, just list the files and allow the user to navigate directories and select an image. Remote control navigation being the key point here.
    1. next release ;)
    2. next release ;)
    3. Looks like a bug
    4. That's not so easy. I became hard to develop a file browser (at least, Google play won't validate the app if it's not its main purpose). They say you should rely on other apps to do such things (apps should only acces their own folders), but unfortunately, Android Tv doesn't offer many options for file browsers, galleries... PErhaps you can try installing anothe rfile manager ?
    This is a great project! It works and looks amazing!

    I actually don't need it for a TV, but I'm using it on my slightly hacked Lenovo Clock 2 because it is the _only_ method I've found to start an app on boot. The clock reboots daily (not the best device) and I need to open up my browser app after reboot.

    Would it be possible to share the launch an app on boot code with the world as a standalone app? Is that code only effective when it's run from a launcher? I just need to start a browser every time my device starts, without user interaction.

    Thanks!
    The most reliable way I found to do it is by using the Accessibility Service.
    I installed it on my CCWGTV and think it's great. However, adding my smarttube feed to the home screen was not an option (just youtube). Also, some of my "Next Up" programs were opening in TVBro, which I don't want.

    I uninstalled TV Bro and I thought that fixed it, but when I click on an HBO show , it says something like "There's no app to open that."

    Also, Netflix isn't an option to display as a channel with upcoming programs
    I've fixed a bug related to this. Sometimes, android doesn't find the appropriate default app to launch a channel.
    has anyone found a way to completely "lock down" all the settings. From what I can tell the parental controls only prevents opening actual apps but not the settings for the launcher itself

    Example I don't want anyone to be able to rearrange the apps, categories, etc. Basically if there is a way to prevent the opening of the "gear" menu at the top and maybe the left side panel that would be great.
    Next release ;)
    Notifications are not showing on my NVIDIA Shield TV Pro using the Play Store version of Projectivy.

    I would like to have less empty space at the top of the screen when looking at the top categories.
    When looking at my top category, the top half of the screen is just empty space currently, and I can only see the top category and half of the next category.
    If it was moved up towards the top of the screen, we could see more categories below, which I would prefer.


    EDIT: Looking through the thread a bit more, I see this has already been suggested.
    Also wanna say thanks for making this app. I just discovered it yesterday and I'm really liking it.
    You need to enable notifications for projectivy in the system settings.
    I would love to see a Backup/Restore feature on this. I recently came upon the launcher for a need to restrict settings and once I get my homescreen perfect I need to replicate it, and that would be so time consuming on all of my devices, a backup, save to network folder and restore would really help out in getting my config to all my android tv devices way easier.

    Is there a workaround to be able to be able to get this done manually somehow? I just have a few devices for my vacation rentals and I need them to be identical after I finish setting up one device. So same locks, same app positions etc.
    Next release
    Running Premium 4.24 on my Xiaomi 4k UST - there is no Option for Installaing Third Party Apps under Applications. Is this a bug?
    Google Play doesn't support apps the instal other apps. You need to install the xda version.

    Hi all, is it possible to Disable the animations in the launcher?
    which animations are you talking about ? apps appearing ?
    But I have one big problem. There is an app called "Toggo", de.toggo (german kids TV). Installed from play store. It doesn't show up in the launcher.
    I'll have a look
    i found an bug, smart tube next suggestions do not refresh even when i have restarted tv and refresh many times in the apps
    steamio shows new content, but stube next doesn't
    does it work on stock launcher ?