Attemption to get 3 of 3:
- big buttons
- full buttons set
- big visible area of the running application
Generally designed for two-handed input in landscape mode.
Mimic side-sliders physical keyboard. Enforces landscape screen-mode
Current status: community expectations
FAQ: v0.5 and higher
1. What's the idea, advantages, strong sides?
- Big, semitransparent, only and just for landscape.
Enforces landscape by itself. Designed for two-handed usage.
Also - automatically switches system back to the previous IME,
so you'll be using whatever keybard you like in portrait.
- (from v0.6) working hotkeys on Ctrl+key
(...on android 3.0 and higher; try Menu+key on android 2.x)
2. How to launch?
- Settings > Languages and Input
Enable "Bumper", and set it as the default keyboard.
3. Where is the preferences?
- Settings > Languages and Input.
Search for button/line marked "Bumper".
4. Wow, i've just enabled it, and the phone/tabled are now fixed in landscape! Make everything back!
- Slow down, that's the point! Keyboard enforces your device to stay in landscape.
So, the main way to get things back - choose/launch another one.
5. That's weird. Are you suppose I'll go to the Settings each time?!
- Of course no! You only have to enable "Bumper" in accessibilities,
this will create quick-access area at the top-right corner of the screen.
6. I've enabled accessibility, and see weird semitransparent pink box.
- You are on the right way. It is the "quick-access area". Now, you can do next things:
a. tap it: force keyboard appear/hide
b. swipe-down: show keyboard picker
c. swipe right-to-left: minimize area into notification
d. swipe left-to-right: switch back to the previous IME, if "Bumper" is ongoing
e. long press: preferences
7. Do I need to use keyboard picker dialog each time i wanna lauch Bumper?
- Yeas, there are no other "non-root" way to switch the system to new IME - only you can do it, manually.
From the other hand, currently set IME is able to freely switch system to the any other enabled IME (and die after that, ha-ha)
8. I wanna change layout/labels/language, or add new. What I have to do?
First of, you have to create somewhere folder, and specify it's path in the preferences.
After that, you are free to put your custom files according to subfolders structure:
- "layouts" - there are button grids expected
- "labels" - what to draw on the keys
- "kcms" - similar to android kcm files, except of "axis" and "map" signatures are not currently supported
- "themes" - appearance
9. I wanna change layout/labels/language, any readings?
You can unpack apk as a simple zip, and check for content inside of "assets" folder.
All used files are the plain text, so you'll need any text editor.
Key names:
keycode names in cm11 sources
they are again, in cm12 sources
Notes about labels:
Instead of .kcm files, there are sequences of the Unicode characters allowed.
But the space character is allowed only stand-alone, so use \u0020 insead.
More info:
Related targets:
- KCM* files community, for more languages support
- Button-grids and layout-localization community, just for project's growing
- Linux-on-phone community can also find it usefull, I think
*KCM-parser currently used allows only "key" description in file, "map" and "axis" signatures will cause errors
Dev notes:
- since I'm a newbie in development, project will grow slowly
- but when I'll not be scared of own code anymore, I'll make it open-source
- you are free to make repacks/reposts. (WTFPL)
- you are free to make own similar projects. Just post link here, maybe i'll use your one =)
- behaviour is sensitive to the whole **** going on deep inside android, can't fight with that
Credits:
- will be added during beta test, but you can ask in PM
Download: alpha 0.8 (2016 mar 13)
Lack some language? Make your own .kcm
Application Not Responding in LG Optimus 4x HD [ICS]
Update: alpha 0.4
What's new:
- added correct portrait-mode support
- added non-overlay mode for landscape (breaks the whole idea, lol)
- support of autopopup
- added basic (primitive) settings
There are still 2 separated versions due to hardcoded reasons.
You are free (and welcomed) to make own repacks based on ru-en version if you need 2 languages.
External data support - update 0.4.2
It's a starting point for the comunity: now you can freely add custom files.
Ho to load files from sdcard:
1. Create the "root" folder somewhere you wish.
2. Make subfolders you need, you'll be placing files here*:
- "layouts" for key layouts
- "labels" for displayed key names
- "kcms" for .kcm files - languages support
3. Specify the path to the "root" folder in preferences.
This files are plain text, so you can modify them by simple notepad
Examples may be unpacked directly from apk, they contain small helping notes
* - "root" subfolders structure are similar to "assets" structure inside the apk.
Files from the "assets" are listed dynamically, so it's easier now to make own repacks, but the "defaults" are still hardcoded.
What's new:
- additional files may be loaded from sdcard
- preferences to switch layouts and labels
- preferences to manage languages
- vibration may be switched off
If you want to write your own layout, check out for the keycode names:
keycode names in cm11 sources
they are again, in cm12 sources
Dev (mine) request: post here .kcm files of not yet supported languages, they'll be included in the future builds. And share the keyboard layouts.
Update 0.4.3 - Small fixes
What's new:
- fixed unicode character sequence reading from .labels.txt files
- added quick-toast notification on language switch
- added Ukranian kcm and labels (due to my location)
Remind you: For more languages be supported, make appropriate .kcm files
How to load files dynamically from sdcard:
If you unpack apk like a zip, you'll find "assets" folder with 3 subfolders:
- layouts //grids of keys
- labels //names of the keys, displayed to user
- kcms //languages
Make somewhere on the sdcard "root" folder with similar subfolders you need,
and specify the path to this "root" folder in the app preferences.
That's all. Now, files will be listed from this subfolders.
I'm thinking on way of keys autorepeat realization, so it'll be the next ferature.
Bumper alpha 05 - back to original concept
What's new:
- removed portrait mode support (instead - previous IME is auto-enabled)
- removed non-transparent mode
- trigger is now on separated service (which have to be enabled in "accessibilities")
There are also updated first post, to match changes.
Bumper alpha 06 - autorepeat & hotkeys support
What's new:
- keys are autorepeating!
- hotkeys (Ctrl+X/C/V/A/arrows) are working! on android 3.0+
- Enter now calls for fields action
Any feedbacks? Any custom .kcm files or grids?
Notes about hotkeys:
- I haven't reimplemented the existing wheels, just made better communication with android, so hotkeys on Ctrl work on 3.0+ since it was presented in android 3.0
- As far as I know it could be possible to use Menu+X/C/V combinations on
Android prior to 3.0. Can't test it without device.
- Opera mini freezes/crashes on Ctrl+key combinations outside of input fields (you could force Bumper appear anywhere, remember?). Not my fault. AFAIK it behaves similar with physical keyboards.
Bumper alpha 07 - themeable, little improvements
What's new:
- customizable themes*
- quick access area now looks nice
- new gesture on QAA: long press -> preferences
- QAA contains CAPS/SCROLL/NUM lock's ligths/lamps
- CapsLock at the first row (where was big dead key)
- better stability during typing
*place theme files into [directory_in_preferences]/themes/
Bumper alpha 0.8 - sticky modifiers, fn key support
What's new
- sticky mode (affects Shift's/Ctrl's/Alt's)*
- fn+key -> another key**
- "key_toggled: " field in the themes
- theme files are checked for the errors, like other files do
- changed included set of keyboards
- minor fixes
*first tap - key is sticked, second - toggled, third - released
You could use modifiers as before (till pressed), since sticked state will not be set in case of non-modifier was pressed when modifies was being holded
** Check for assets inside of apk for more info
It seams like I have 8-10 followers, who are waiting for each update...
Don't be silent!
P.S. Updates... There will be no any new features for some months, I think.
This experimental input method for Android TV devices includes both a control mapper and a variety of options for text entry.
Jump to the latest release.
Control Mapper:
Remap buttons
Use buttons as hotkeys to quickly launch favorite apps
Switch your Sony Touchpad Remote to/from mouse pointer mode (Sony Bravia only)
Create several control mapper profiles and assign each app to the appropriate profile
Keyboard:
On-screen keyboard
T9 style entry with a TV remote with number and color keys
Dictate the contents of any text field using your remote with onboard microphone
Note: This means voice search will not be summoned when a text field has focus.
Notes:
Motion controls (e.g. analog sticks) cannot yet be remapped. An extremely limited form of this functionality is expected to eventually be released for all users. Full support will require the app to be signed with the platform key.
It might be possible to remap your controls in such a way that you have difficulty using your TV. Don't do that.
v2016.09.17
* Can now intercept the GUIDE key on Sony Bravia TV's
* Vendor-neutral improvements in the dispatch of special keys. Because CMAK cannot intercept most of these keys, you will generally have to choose them from the list instead of recording them.
* When choosing a key to dispatch from the list, CMAK will now detect special keys that are relevant to your TV and list them above everything else. This should dramatically reduce the need to scroll the list and reduce the amount of guessing necessary when special keys have terrible names.
For the benefit of anyone else who has a Sony Bravia, these are the special keys on my TV:
3D_MODE
Does not correspond to any key on my remote, but displays the "3D Mode" configuration dialog.
BUTTON_1
The DISCOVER button on my remote.
BUTTON_2
The ACTION MENU button on my remote.
BUTTON_3
The SYNC MENU button on my remote.
BUTTON_4
The NETFLIX button on my remote. It is suggested that if you want to map a key to Netflix, that you use an app shortcut instead.
BUTTON_5
Has no apparent function on my TV.
BUTTON_6
Does not correspond to any key on my remote, but opens the "Playstation Now" app. It is suggested that you if you want to map a key to Playstation Now, that you use an app shortcut instead.
BUTTON_7
Has no apparent function on my TV.
BUTTON_8
Does not correspond to any key on my remote, but opens the "Google Play Movies" app. It is suggested that you if you want to map a key to Google Play Movies, that you use an app shortcut instead.
BUTTON_15
BUTTON_16
These have no apparent function on my TV.
GUIDE
The GUIDE button on my remote. CMAK can also intercept this button and remap it.
HELP
The HELP button on my remote.
TV
The TV button on my remote.
TV_CONTENTS_MENU
Does not correspond to any key on my remote, but opens a dialog that says the feature is not available.
TV_INPUT
The TV INPUT button on my remote.
TV_INPUT_COMPOSITE_1
Does not correspond to any key on my remote, but switches the input to VIDEO 1.
TV_INPUT_COMPOSITE_2
TV_INPUT_COMPONENT_1
TV_INPUT_COMPONENT_2
Does not correspond to any key on my remote, but switches the input to COMPONENT.
TV_INPUT_HDMI_1
TV_INPUT_HDMI_2
TV_INPUT_HDMI_3
TV_INPUT_HDMI_4
Does not correspond to any key on my remote, but switches the input to the corresponding HDMI input.
TV_INPUT_VGA_1
Has no apparent function on my TV.
TV_ZOOM_MODE
The WIDE button on my remote.
v2016.09.18:
This release resolves a major problem discovered in the build process and should improve stability.
CMAK is now available on Google Play: https://play.google.com/store/apps/details?id=by4a.keyboard.leanback
v2016.09.29
Optional non-staggered key layout
Added new "Peripheral Manager" but it's not good for much yet
Various internal fixes and improvements
If you're using CMAK, please post your feedback!
4a_j said:
v2016.09.29
Optional non-staggered key layout
Added new "Peripheral Manager" but it's not good for much yet
Various internal fixes and improvements
If you're using CMAK, please post your feedback!
Click to expand...
Click to collapse
Is it opensource by any chance???
Awesome Idea
I am too using Sony Bravia... with Dishtv (india) this is really a great app.... :good::good:
i really needed such an app... what i am trying to do is map some dummy buttons on my remote to special key for STB_POWER
unfortunatley this is not working.....
as of now everytime i need to goto Action Menu >> Right >> Right >> STB_POWER >> Confirm
i was very happy to find this key in the key to dispatch but to my bad luck this isn't working yet....
also cmake is not available in India Playstore i had downloaded manually any country restrcitions ???
if this starts working for me i need not break my head to send ircc commands via tasker http wifi etc..... trying hard to fix that aswell.... that too seems very complicated and unreliable as of now as it has too much dependency :fingers-crossed:
Hi
There is no t9 keyboard entry for my remote and even i can't find t9 keyboard option in cmak settings
4a_j said:
CMAK is now available on Google Play:
Click to expand...
Click to collapse
The app does not appear to be available in Canada. I'm getting a "Sorry! This content is not available in your country yet" message when clicking on the link. Any way you could make it available in Canada?
Thanks!
I would like to remapper this button (GLOBOPLAY - Orange Button) in TCL remote control, is it possible?
TCL 49C2US Android TV 6.0.
Don't work for me, any tutorial ?
I can't seem to get the Control Mapper to worn on my Shield. I set a button to launch the Control Mapper, but it never actually launches when I press it. I'm on Shield Experience 7.1.0 (Android TV 8.0). Any ideas?
EDIT: Turns out you have to hold the button for a few seconds. All good here now. Thanks!
Hi all.
Not sure how to use this. I have an Android TV Box with a remote that has numbers. I was hoping to be able to use the numbers as a T9 to enter text into the Box.
I installed CMAK but haven't found the way to use it yet. Can someone help me, please? Thanks in advance!
it`s no good without instruccions
Introduction
Projectivy Launcher is a launcher dedicated to Android Tv, offering special features for Xiaomi family projectors/TVs.
With the new major version that extends the use to all Android TV devices, and for better understanding, the original thread has been split :
The original thread will focus on Xiaomi/Fengmi/Wemax projectors, offering a faq, links to custom recoveries, guide for rooting, links to download stock ROMS and OTAs.
This thread will focus on the launcher itself.
Description
It's a multi purpose launcher that can be used without root, but adds interesting features on rooted ones. It can be installed on most Android Tv devices (to provide automatic boot on HDMI input for example). A bunch of functionnalities are dedicated to devices with amlogic/mediatek SOCs and/or Xiaomi devices.
It can be used as a launcher replacement, or as a standalone app if you only need a side feature.
You don't need root to use this app, except for the features maked with [ROOT] below.
Here are the current features :
Global UI : long press any card/icon to display a contextual menu allowing you to start/uninstall app as well as hide or rearrage it as you like (ie : move or add it to another section)
Input :
Shortcuts to change source to HDMI 1 to 3, AV, as well as opening an onscreen menu to choose the source. These will be useful if you disable the stock launcher, as you will probably lose the stock widget with Tv preview and change source buttons.
Tv Apps :
... : Android Tv dedicated apps will appear here
Mobile Apps :
... : any app not dedicated to Android Tv (whose icon usually doesn't display on Android Tv launchers) will appear here
Display :
Display settings : Add ability to create different display profiles (premium version required for more than 1) that can be applied automatically when changing input source and dynamic range. Most features that could be changed in previous versions (zoom, input lag...) of this app can be added to a display profile and thus automatically available upon boot with no action on your side. The profile editor can also display many calibration screens to help you setup your device as you need. Unless you're using a device based on Android Tv 6, you'll need to have a rooted device. If it's not working for you, you can probably benefit from the calibration patterns it can display (FHD, 4K, Jitter, HDR, DV...)
Zoom : Changes the Zoom in/out factor for video display (external inputs as well as any video player) [ROOT] and also enables access to stock zoom feature if available (to zoom/unzoom full display, not only video, but can't go below 80%)
Force 4k UI rendering [ROOT] : this may cause lags when rendering the UI
Settings :
Projectivy settings:
launcher
Parental control : protect apps with a parental code (totally or during a specific time frame)
Override stock launcher : try to replace the stock launcher even if it hasn't been disabled (which is still the preferred way)
Card size : size of the apps icons
Wallpaper : choose between no wallpaper, user defined one, or random wallpapers from different reddit channels
Use dynamic colors : change main color based on your wallpaper, à la Material You
Show status bar
Unselected lines opacity
Display left headers
Show sections title
Show time
Show app title
Input
Rename HDMI inputs
Disable HDMI inputs so that they're not displayed in the launcher
Prefer internal Tv View : replace the stock HDMI Input app with a custom one. It doesn't support CEC (only system apps can do it), but it might be useful for specific usage
Power control
Startup to : android, specific app or specific Hdmi input
Automatically shutdown when HDMI signal stops (experimental) : trigger a power off when the Hdmi Input app exits automatically (which usually means the input device has been shut down)
Prevent automatic shutdown when idle : some systems automatically shutdown if no user interaction has happened recently, this can prevent this behavior (useful if you start your device with CEC and never touch its remote control
Enable internal idle detection : if use did not touch the remote control for the given time, sned a poweroff or standby command
Device settings : launches the projector/tv/box settings
Additional settings : launches amlogic/mediatek settings app (if available)
Android settings : launches the Android stock settings
Engineering menu : launches the [MiTv/FengOs/Fengmi] engineering menu
Applications :
Remote Control : displays a QR code to my Web Remote Control, working on any device, dedicated to MiTv devices based on Android 6
Freeze stock apps [ROOT] : freezes/hides/disables stock apps/bloatware (for unrooted devices, please check below, in Remarks section, point 3). On MIUI, make sure you install another keyboard (ie "LeanbackIme Keyboard", from the "Install 3rd party apps" menu) as it will disable the stock one. Possibility to specify a package name to disable manually.
(Un)Freeze launchers [ROOT] : (un)freezes/hides stock Xiaomi TvHome, FengOs launcher or Google Leanback launcher. Make sure you have another compatible launcher installed before freezing it (for unrooted devices, please check below)
Install 3rd party apps : lets you choose apps to install. Most will require Aptoide Tv installed. Good news, it's able to download and install it automatically ! If your device is rooted and is on Android 6.01, Google services/apps can be installed too (see more in the Google Apps section) :victory:
Uninstall Google Apps [ROOT] : if you installed Google Apps / services with the feature described above, you can safely uninstall them (but why would you want that ?)
Freeze Google Play [ROOT] : prevents google Play self-update. This is useful on some models, where new Google Play app refuses to install apps due to some incompatibility issue (such as Zodiac)
System :
Accessibility Service : This is a multi-purpose service, that fixes Google Play on Googlized xiaomi devices, binds the stock remote control "Voice recognition" button to Google Assistant (if you installed Google Services), allows your device to automatically start an external input or app on boot, adds a shortcut to open these tools or change picture profile by double pressing the menu button... *** In one word : you want it enabled ***
Custom Props Override [ROOT/MAGISK] : changes some custom props so as to get a more stock Android Tv behavior. This will enable Google services disabled by Xiaomi, allow your "Usb debugging" option to stick across reboots, allow bypassing safetynet... If you install Google Services you need to install them.
About :
ProjecTivy Launcher : displays details about this app
This device : displays many details about this device, and temperature sensors values is available.
This wallpaper : shows details regarding the wallpaper currently displayed
Remarks :
Using any of the above features (even [ROOT] ones) should be safe and shouldn't prevent you from installing stock OTA updates afterwards (no system file is modified). If anything goes wrong, don't hesitate to tell me, but anyways, at worst, factory reset or flashing the full stock ROM will fix any issue, so there isn't any risk of bricking your device.
Except if you have stock launcher or leanback launcher installed (which will force you to use them if installed), if multiple other compatible launchers are installed, a popup will ask your choice at each boot and home button press.
Concerning the (un)freeze apps/launcher, if your device is not rooted, this app currently can't do it automatically, but you can do it manually by connecting a computer to your device with ADB and executing a few command lines :
enable "usb debugging" in your device's "Developer" options (in settings) (to enable "developer options", see here)
Download adb for your OS (check here)
Start command line (terminal)
type adb connect IP_OF_YOUR_DEVICE:5555 to connect through the network
type adb shell to open a shell console
to freeze an app type : pm uninstall -k --user 0 PACKAGE (replace PACKAGE with com.mitv.tvhome for Xiaomi stock launcher, cn.formovie.fengos.desktop for FengOs launcher and com.google.android.leanbacklauncher for Google Leanback launcher)
to unfreeze an app type : cmd package install-existing PACKAGE (replace PACKAGE with the same value as above)
to get a list of manually uninstallable apps, check the rainman.v2.json file on my github
Note: seems that freezing Google TV Launcher on CCwGTV [4K/sabrina or HD/boreal], will stop YouTube login from occurring and will prevent YouTube account switching
Evolution : If you have another device and want this app to support it (meaning using another list of installable/uninstallable apps), don't hesitate to make a PR on my github.
Note on Privacy and Permissions usage
The only data that comes out of the phone is for anonymous usage (firebase analytics) in order to prioritize and improve what's used the most, and crash reporting (firebase crashlytics). Both can be disabled starting from 4.30.
No user data is saved on a private server of shared with any other 3rd party service.
Here are the permissions explicitely requested in Projectivy Launcher along with their usage :
- ACCESS_NETWORK_STATE : get information about current network (ex: statusbar icons, current device IP address)
- INTERNET : seems obvious
- READ_EXTERNAL_STORAGE (max sdk 28) : read a Projectivy config file that could be placed on the device before it's installed (for rooted devices)
- INSTALL_SHORTCUT : manage pinned shortcuts
- RECEIVE_BOOT_COMPLETED : start an app on startup (Projectivy is probably the only Tv launcher supporting this)
- REQUEST_INSTALL_PACKAGES (only on non play store version) : install 3rd party apps (ex: aptoide)
- REQUEST_DELETE_PACKAGES : allow users to delete apps
- READ_TV_LISTINGS : ability to show channels/watch next
- BILLING : to buy premium
A few other permissions are required by libs dependencies (mostly Google libs) :
READ_EPG_DATA/WRITE_EPG_DATA : Google tv channels lib
WAKE_LOCK, ACCESS_WIFI_STATE... : Google Firebase
There is also a Notification Listener service that can access your device notifications to display these notifications and now playing data *if enabled*
Last thing you can see that might freak you out : Projectivy can spy on your device activity : this is because of the Accessibility service (that offers a lot of low level insights, *if enabled*).
It's used :
- to launch apps on boot when manufacturers disabled the BOOT_COMPLETED (hello Xiaomi)
- for parental control
- for remote control button remapping
Premium
Premium version on Google Play will give you :
- ability to choose a custom background image
- unlimited parental control protected apps (only 1 in free version)
- unlimited display profiles (only 1 in free version) ***Only on supported devices (if it doesn't work on the free release, that won't change on premium)***
- the satisfaction of supporting this project
- more to come
As of now, this unfortunately can't be bought outside of Google Play because there doesn't seem to be any easy means of doing without taking too much of my time (managing a dedicated server, database, preventing hacks, managing refunds... none of this could be done until this becomes a full time job).
Known issues
- HDMI 1 and HDMI 3 swapped (FengOS, Vava on AmLogic devices) : on recent firmwares, HDMI1 and HDMI3 inputs are swapped in PL. This is a bug in the OS low level libs that send HDMI1 input id when HDMI3 is requested (and the opposite). Can't be easily detected (thus fixed) on my side unfortunately. Just select HDMI1 when you need HDMI3 and vice-versa.
- long press on volume buttons doesn't work on FengOs : there's a bug on FengOs -> as soon as an accessibility service is enabled (Projectivy Launcher, but also Button Mapper for example), the long press volume buttons doesn't work anymore. Worse : unlike any other button, the accessibility service is not notified that a volume button has been pressed, preventing me from developping a workaround :/ Disabling the accessibility service fixes this behavior (but this disables several Projectivy Launcher features)
- unable to add or remove programs from watch next (as on the stock android tv launcher) : the stock launcher has special permissions that allows it to modify "watch next" even if the programs belong to another app. This unfortunately can't be done on a 3rd party launcher
Download / Installation
This app can be downloaded here or installed from Google Play.
Install the apk as usual :
- copy the apk to an usb thumb drive
- plug it into your device
- browse and select apk to install it (you may need to enable "unknown sources installation" from your device's settings)
Not for commercial use. If you want to redistribute it, please contact me.
Changelog
4.24 :
- Added turkish localization (thanks Eray)
4.23 :
- Added spanish localization (thanks SRGago)
- Added traditional chinese localization (thanks Retic)
- Added ukrainian localization (thanks Veydzher)
- Added estonian localization (thanks Rimasx)
- Updated russian localization (thanks Stanner)
- Added home button double-press redirecting to recent apps screen
- Added ability to go back to the 1st card of the 1st row when you press home button on the launcher home screen
- Added ability to go back to the 1st card of the current row when you press back button on the launcher home screen
- Fixed crash when apps names had special characters
- Fixed no card is selected on start
- Fixed leftmost cards sometimes not displayed on multi-row categories
- Fixed "shutdown on HDMI signal stop" sometimes erroneously triggered on FengOs when volume buttons were used
- Fixed notifications sometimes not updated
- Fixed parental control check bypassed for settings when launched from the right handside menu
- Reduced the clock size a bit (will be customizable in a future build)
- Many other fixes and improvements
4.22 (Google Play only):
- Added the required changes so that the accessibility service is accepted on Google Play
4.21:
- Fixed a bug in compilation that prevented category settings to be displayed
- Fixed some channels showing duplicated programs
4.20:
- Added support for channels (YouTube, Netflix, Amazon...) and Watch Next
- Added support for pinned shortcuts (Projectivy has to be defined as the default Android launcher)
- Added notifications support (showing also "now playing", but not clickable yet)
- Added battery support in status bar
- Added a default launcher choice popup (for supported devices)
- Added "auto-start app/input at boot" support without accessibility services (for supported devices)
- Added ability to change Projectivy Launcher language independently of the OS language
- Added russian translation (thanks vlaf33 )
- Added chinese translation (thanks Chengnan)
- Added support for HDMI 4 input shortcut
- Added multiline support for categories
- Added per category customization settings (scale, show app names...)
- Added more wallpapers sources
- Added dynamic colors gradient wallpaper
- Added Fengmi engineering menu support for international models (Fengmi Theater...)
- Added prompt for category deletion
- Added "Ambient Mode" (android screensaver) launch on "Back" double-press
- Improved contextual menu
- Improved touchscreen/airmouse support
- Improved app startup delay (almost twice as fast as before)
- Decreased memory used
- Improved general UI (more colored, much smoother animations, support for multiple aspect ratio cards on the same category...)
- Fixed no wallpaper resulting in grey colored background instead of no background at all
- Fixed wallpaper not displaying fullscreen on some devices
- Fixed auto power-off with no hdmi signal
- Fixed primary activity for an app was sometimes replaced by the secondary one (ex: tasker)
- Added an alternate accessibility settings (that fixes volume long timeout on FengOS)
- Many other fixes and improvements
Spoiler: 4.03
- Google Play only version to remove "install third party apps" as they now refuse this feature (xda version available here will still support this feature)
Spoiler: 4.02
- added support for most Tvs HDMI inputs (using their stock app)
- added ability to show mediatek hidden settings in the calibration screen
- added ability to hide the startup reminder when the accessibility service is not enabled
- added translations for FengOs/FengMi engineering menus (now, you'll find your way to the autofocus setting) (requires the accessibility service)
- added ability to start apps/inputs from their contextual menu (with 2 different entries for inputs : using internal tv view or not)
- fixed HDMI input randomly visible on MiTV devices
- fixed volume level display timeouts after 20s on FengOs
- fixed settings not opening on Oreo
- fixed internal Tv View not working on old Android versions
- fixed Google Play might lose connection while purchasing
- fixed crash on some Sony Bravia Tvs
- fixed out of memory errors in calibration screen
- fixed stock launcher might not be overriden in rare cases
- fixed toast messages might crash the app when navigating to the accessibility service
- fixed internal Tv View might use a previous input if the current one is not found
- fixed crash happening on some rooted devices
- fixed crash at startup on some chinese Tv brands
- fixed noise reduction/deinterlacing/zoom not always working on some MiTV devices
- fixed app setting in contextual menu not always working on some conditions
- other misc fixes and improvements
Spoiler: 4.01
- fixed a bug preventing permission to be granted to "install 3rd party apps"
- improved image picker intent compatibility
Spoiler: 4.00
- *** UI / Design ***
- rebranded to "Projectivy Launcher" as this app is now first and foremost a launcher for any Android Tv device (luckily there's no marketing department or they would have made a heart attack by now ^^)
- refreshed the general app design
- improved customizability (change cards size, enable or disable section title display, app name display, opacity...)
- added ability to create/manage/reorder categories
- each card (app, setting, input) can be managed through its contextual menu
- display randomized wallpapers (changes each 60s)
- user-defined wallpapers [Premium]
- a randomized wallpaper can be defined as the user-defined one [Premium]
- dynamic colors based on your current wallpaper (à la "Material You" on Android 12)
- apps are now correctly sorted by name by default
- HDMI inputs can be renamed and hidden
- added languages : German (thanks Stefan), French (thanks Spocky ) - contact me if you want to help translating to your language. If your android settings don't allow you to choose this language (ex : on most chinese Xiaomi projectors), install MoreLocale from "Install 3rd party apps" section
- each feature/setting is now available in a side panel menu, that can be opened with your remote control's "menu" button or by clicking on the menu icon in the top right corner of the screen
- *** Compatibility / Performance ***
- vastly improved startup time
- optimized for smoothness/reactivity in general
- hugely decreased memory used
- added compatibility with old mitv3 (and more generally Android 5.1.1)
- many bugs fixed
- *** Features ***
- added ability to override the current launcher (the preferred way is still to freeze/uninstall it). This app will then automatically launch on boot and intercept calls to the stock launcher so as to start itself above it
- added parental control management (=requiring a code to start an app/input). This is by no means hacker proof, but kids/random guests should be stopped. [Premium for more than 1 app]
- parental control can be active only for a period of the day.
- prevent automatic system power off when idle
- added an internal idle detection with ability to shutdown after a specific inactivity time
- added ability to automatically shutdown if the HDMI input display app stops by itself (meaning no more HDMI signal). While not foolproof, this can handily replace a missing CEC shutdown function on your device
- added HDR / DV calibration patterns
- added an internal tv viewer to replace the vendor one. It doesn't support CEC (android limitation) but will allow more customization in the future
- "about / this device" now shows information regarding which display range is supported (HLG, HDR10, DV...)
- added a direct link to configure the accessibility service
- added ability to autostart on the "last used input"
- added ability to reinstall/unfreeze frozen packages/launchers [root]
- added remote control shortcut to change the current source input (double tap menu, then left/right)
- app self update support
- [FengOS] added a direct link to a second engineering menu (useful to get temperature logs)
- [FengOS] added a link to the input source popup
- [Mediatek] added a link to advanced configuration (advanced picture settings, MEMC with DV, and more...)
Spoiler: 3.56
- fix : fixed a bug in the display profiles structure binding them to the tools version they were created on (causing a reset of the profiles on each new release of the tools)
Warning : this version will reset your display profiles (even if you're coming from 3.55). Please make sure you've noted the values so that you can recreate them. Sorry for the inconvenience, this won't happen again.
Spoiler: 3.55
- feature : set sharpness step to 1 instead of 10 in display profile manager on MiTv devices
- feature : third party remote control buttons HDMI 1/2/3 and keyboard keys F1/F2/F3 are directly bound to HDMI input change (side effect : for home automation systems, sending adb keyevent KEYCODE_TV_INPUT_HDMI_3 will start input HDMI3 for example).
- feature : added ability to disable auto power off on user inactivity when cold booted (MiTv) [root]
- feature : display profile manager can now display HDMI inputs in calibration preview
- fix : "android" display profile incorrectly applied on projector startup
- fix : some apps were not available in autostart app dropdown menu
- fix : crash when no display profile available
- fix : crash when starting some activities
- fix : autostart app not always working on FengOs
- fix : "install 3rd party apps" option not always available when it should
Spoiler: 3.54
- rebranded app (yes, again ) to "ProjecTivy Tools". No more "Mi" because it's not dedicated solely to Xiaomi products anymore.
- availability in Google Play
- redesigned some UI parts (and no more transparent background as per Google Play Android Tv requirement)
- feature : ability to start an app on boot
- feature : ability to block Google Play updates (for zodiac and maybe other devices)
- feature : access to native zoom UI from MiTv when available (zooms the whole UI, not just video, from 80 to 100%, no root needed)
- feature : accessibility service features (remote control shortcuts, mic button binding) can be enabled individually
- feature : information display relative to current source input (resolution, dynamic range)
- feature : launcher shortcuts (hdmi inputs, media explorer) can now be hidden if not used
- feature : app can fully replace a launcher (optimisations, lists all Android Tv and Mobile apps)
- feature : can replace launcher even when security measures prevent it (FengOs)
- feature : added english translations to FengOs settings app
- fix : long press back to improve input lag restored
- fix : improved stability of the accessibility service (notably on Android 8+)
- fix : better management of the direct downloads in "install 3rd party apps" (errors correctly managed, cancelation possible, support for android 8+)
- fix : added support for magisk 20+
- fix : improved overall compatibility with android 8.1/9
- feature : added compatibility with FengOs for most features
- feature : display profiles management (premium feature for more than 1 profile)
- feature : display profiles can be set automatically on input and/or dynamic range change
- feature : display profiles can be switched manually from the remote control
- feature : display profile editor displays multiple calibration helper screens
- feature : display profiles can manage : contrast/brightness/hue/saturation/sharpness, color temperature gain AND offset (not available in stock projector UI), dynamic color/contrast switches, noise reduction and interlacing switches (to reduce input lag), video zoom, backlight (more options than on the stock UI), tv backlight (for tvs)
- did I mention display profiles don't require root on Android 6 ?
- ...and should work on most amlogic devices (xiaomi, vava, xgimi...), at least on android 6 devices ?
Spoiler: 3.00
- rebranded app to "Mi ProjecTivy Tools" because why not.
- stability : added a screen resolution check at boot. If a wrong resolution is set in the Android tv settings, the device won't be locked on the chessboard screen anymore, it will switch back to the default resolution (rainman and batman supported)
- stability : set this app as a Tv Launcher, so if all launchers are mistakenly disabled, the device will boot on it so that a launcher can be reinstalled
- UI : made menu buttons dynamic, so they won't show on your device if the feature is not supported
- UI : rewrote all submenu interface to use Android Tv UI. This vastly improved look and usability
- UI : changed menu icons
- UI : if accessibility service is running, the app can be opened by double pressing the "menu" button
- feature : added an option to change the zoom in/out factor for video display (external input and all media players)
- feature : added option to switch window manager to 4k (interface will likely not be totally fluid, though)
- feature : rewrote the option to decrease input lag so that you can disable "noise reduction" and "deinterlacing" individually
- feature : added a shortcut (qrcode) to MiReCo, the Web Remote Control
- feature : made the shortcuts section dynamic : it will now display all installed apps not natively compatible with Tv launchers (like the "Tv App Repo" app)
- feature : added "about this device" section that displays many details as well as the temperature sensors values
- improvement : made the hdmi input shortcuts compatible with international (android tv 8+) devices
- improvement : rewrote code to automatically start on a selected external input. This brings support for international models. IT WON'T USE the stock device settings anymore to select the input. Use the included parameter in "Input Settings"
- feature : added a shortcut to the stock "media explorer" directly in Tv launchers
- feature : added a warning if accessibility service is not enabled
- fix : fixed compatiblity with Netflix (not the Tv version, unfortunately, but the interface is totally usable). Due to missing DRM support, resolution is limited to SD.
- internal : many fixes and improvements (and bugs ?)
Spoiler: 2.17
- added ability to reduce input lag and disable noise reduction by long pressing "back" button.
Spoiler: 2.16
- added auto start to hdmi (as stock launcher), so that users who changed launcher won't miss this feature.
Updated to 4.01 to fix a bug preventing the "install 3rd party apps" section to be accessed.
Wow very impressive. The UI looks vastly improved. I just installed it on my Mi Projector 2 Pro and it looks really nice!
However I am still not getting the ability to adjust picture profile. Do I need to root it for it to work?
Very neat new UI, greetings!
@spocky12 , I just updated to your 4.0.1 , it seems like the previous intent is not valid anymore :
C:\RFLINK>.\adb.exe -s 192.168.1.123:5555 shell am start -n com.spocky.projengmenu/.activities.input.SourceHDMI1Activity
Starting: Intent { cmp=com.spocky.projengmenu/.activities.input.SourceHDMI1Activity }
Error type 3
Error: Activity class {com.spocky.projengmenu/com.spocky.projengmenu.activities.input.SourceHDMI1Activity} does not exist.
Did you change something?
FunkyRider88 said:
Wow very impressive. The UI looks vastly improved. I just installed it on my Mi Projector 2 Pro and it looks really nice!
However I am still not getting the ability to adjust picture profile. Do I need to root it for it to work?
Click to expand...
Click to collapse
Thanks for your compliments. I spent literally hundreds hours of work to rewrite most of the UI code, improving it's customisability as well as it's efficiency.
For now, picture profiles will only work on mitv Android 6 devices.
On more recent Android versions :
- amlogic devices will require root (but we don't have any root method right now)
- mediatek devices (Fengmi T1, Xiaomi c2...) *might* be supported in the future
dafunky said:
Very neat new UI, greetings!
@spocky12 , I just updated to your 4.0.1 , it seems like the previous intent is not valid anymore :
C:\RFLINK>.\adb.exe -s 192.168.1.123:5555 shell am start -n com.spocky.projengmenu/.activities.input.SourceHDMI1Activity
Starting: Intent { cmp=com.spocky.projengmenu/.activities.input.SourceHDMI1Activity }
Error type 3
Error: Activity class {com.spocky.projengmenu/com.spocky.projengmenu.activities.input.SourceHDMI1Activity} does not exist.
Did you change something?
Click to expand...
Click to collapse
Thank you !
You're right, rewriting + refactoring led to changes in activity names:
com.spocky.projengmenu/.ui.guidedActions.activities.input.SourceHDMI1Activity
(Note that it might change again in the future as I've just realized they shouldn't be classified in the guidedActions, so don't hesitate to ask if an update changes it)
Big thanks, this is really excellent! Great to see the continued development into Projectivy.
I am running it on a rooted Wemax Pro. I have a few questions:
* Is Projectivy meant to replace ATV launcher? Or do both co-exist? How to select, which launcher to use?
* What's the latest on Youtube? Best to use the one that can be downloaded under 3rd party app or directly from the Google Play store? I tried to do via Productivy and get the error message "incompatible device. Please download another version of the application and try again, error code (-113)"
* I also tried to download PLEX from Google Play store and see the following error message: "Can't install app: Plex [...{ can't be installed. Try again, and if the problem continues, get help troubleshooting (error code: 910)"
Thanks for any help you may have for me!
Please add Vava Chroma triple laser to the list of currently supported devices - it is a mediatek based device. Thanks.
One odd thing: "Input" is greyed out in "launcher settings". So, I cannot add the HDMI sources to the main screen. Anything I am missing?
Hi @spocky12 great job on the new app.
I've installed it on my Wemax One Pro, an issue that I am having is with Google Play store, which i cannot get to launch. When I click the icon the screen goes blank for a second and just returns to the launcher.
I also had the issue on the previous incarnation of the app.
I'm also running Magisk 24.3 and rooted.
I've deleted cache and also tried re-installed, still the same thing.
Great job. The only problems I see is missing option to select HDMI input and a option to restore hidden application. Maybe I can't find it
stevepalmer1977 said:
Big thanks, this is really excellent! Great to see the continued development into Projectivy.
I am running it on a rooted Wemax Pro. I have a few questions:
* Is Projectivy meant to replace ATV launcher? Or do both co-exist? How to select, which launcher to use?
* What's the latest on Youtube? Best to use the one that can be downloaded under 3rd party app or directly from the Google Play store? I tried to do via Productivy and get the error message "incompatible device. Please download another version of the application and try again, error code (-113)"
* I also tried to download PLEX from Google Play store and see the following error message: "Can't install app: Plex [...{ can't be installed. Try again, and if the problem continues, get help troubleshooting (error code: 910)"
Thanks for any help you may have for me!
Click to expand...
Click to collapse
Projectivy is a complete launcher replacement. I suppose you can still use ATV if you prefer, there's nothing in Projectivy preventing the execution of any other launcher. How you choose which one you want depends on your OS. On mitv (and probably any stock Android tv device), if the stock launcher is disabled, Android asks which one you want.
On FengOs, they disabled this behavior, so if the stock launcher is disabled and no launcher is started, Projectivy starts automatically.
Regarding YouTube, if you have Google play, it is probably the best way to install it.
On Chinese devices without any Google services, installing from Aptoide usually works. However, I couldn't understand the compatibility issues between Aptoide and Xiaomi app installer : sometimes, a specific version of YouTube will install fine and others won't. And in the future it might stop installing correctly. The one I link to from Projectivy is the latest version that is allowed too install on my device without any error message (at least it was, 2 months ago). If it doesn't work, chances are that another one will install fine, just browse the available versions in Aptoide.
As for Plex, is probably an incompatibility with Xiaomi's app installer, no idea why it did this though.
valtchov said:
Please add Vava Chroma triple laser to the list of currently supported devices - it is a mediatek based device. Thanks.
Click to expand...
Click to collapse
Did you test Projectivy on this device ? If so, what are the problems you encountered ?
stevepalmer1977 said:
One odd thing: "Input" is greyed out in "launcher settings". So, I cannot add the HDMI sources to the main screen. Anything I am missing?
Click to expand...
Click to collapse
This is probably a bug.
To prevent HDMI input section from being displayed on devices that don't have such inputs (ex: tv boxes), I hide this section when the Android tv framework is unavailable or when no HDMI input (plugged or not) is returned by the system.
I will test again on mitv devices, I might have overlooked something.
stevevalo said:
Hi @spocky12 great job on the new app.
I've installed it on my Wemax One Pro, an issue that I am having is with Google Play store, which i cannot get to launch. When I click the icon the screen goes blank for a second and just returns to the launcher.
I also had the issue on the previous incarnation of the app.
I'm also running Magisk 24.3 and rooted.
I've deleted cache and also tried re-installed, still the same thing.
Click to expand...
Click to collapse
I'll have a look at it, thanks for the bug report.
x_fight said:
Great job. The only problems I see is missing option to select HDMI input and a option to restore hidden application. Maybe I can't find it
Click to expand...
Click to collapse
As written above, the hidden HDMI input section is a bug I need to explore (works fine on FengOs).
As for restoring a hidden app, you can do it : open the settings panel (contextual menu button on your remote control or select the settings icon next to the hour) and select the first entry (manage categories), then select the category where you want to restore an app.
Thanks @spocky12, happy to test once you have a test release with the HDMI issue solved? Also, let me know if any logs to provide for troubleshooting.
Hello , It can be installed on XIAOMI C2 ?
Thanks
Thanks. Loaded onto Feng OS 2.0.
@spocky12 I can't update apps anymore, each time I went into Google Play Store, it asked me to sign in. I signed on and the same page kept showing asking to sign in again.
I've updated to ProjectTivy 4 launcher but still same issue. Can anyone help?
Mijia Youth Edition (conan)
Hi, great job!
Hope you remember me....
Just a question:is there the possibilty to update android ? I'm still running with 6.0.1 and start to be a little obsolete.
Thanks!
Ciao,
M
Hi, im using my new HP BP5000 with a sucks custom OS in Android 8.0, codename: shadow / sugarcane (not sure which one to read from). Tried to enable accessibility services but it seems locked.
I was able to enable it by force write in adb for another app called "tvquickactions", but I got an error when I try to do that for this launcher with error below, can you help?
adb shell pm grant com.spocky.projengmenu android.permission.WRITE_SECURE_SETTINGSOperation not allowed: java.lang.SecurityException: Package com.spocky.projengmenu has not requested permission android.permission.WRITE_SECURE_SETTINGS
Also I tried the hdmi switching adb command that you posted above, but I still got the same class error
adb.exe -s 192.168.1.100:5555 shell am start -n com.spocky.projengmenu/.ui.guidedActions.activities.input.SourceHDMI1ActivityError type 3Error: Activity class {com.spocky.projengmenu/com.spocky.projengmenu.ui.guidedActions.activities.input.SourceHDMI1Activity} does not exist.
running 4.01, thanks for helping and creating this!
I just installed this on my Mi Smart Compact Projector (Gen 1, Global, M005MGN).
Great job on this slick UI ! Although I can't root this device to really tweak it, the features included in non-root Projectivy are plenty to suit my needs ATM.
Just a quick question before I start to mess with ADB. I see in your instructions that we can "freeze" packages, but your command is pm uninstall. Shouldn't I use pm disable, if I simply want to freeze(not remove) the package?
My concern is if I want to restore and I don't have the original package file handy, I will need to restore factory defaults to get it back and then I have to start all over. I was thinking DISABLE gives me a chance to see what I would be missing, and if I want the stock app back, I could just re-enable it.
Thanks for your work and response to my "noob" question.
Hi Spocky, great work as usual! The new version looks amazing. However, I would like to contribute and buy Premium, but I don't want any of the google bullsh*t. Any way to donate/get premium otherwise?
Thanks!
This app is a godsend. No other launcher can change inputs on me. Unfortunately on my TV the stock launcher is what starts the Input menu. I have to leave the launcher running in the background in order to use the input list.
Is it possible to add an input list internal to the app? The relevant activity is. https://github.com/AndroidTVDevelop...id/tvlauncher/inputs/InputsPanelActivity.java
Also please consider adding the ability to pin shortcuts. This way I can say take the apps page of settings and bind it to a button. Otherwise this is not possible, correct me if I'm wrong.
My concern is if I want to restore and I don't have the original package file handy, I will need to restore factory defaults to get it back and then I have to start all over. I was thinking DISABLE gives me a chance to see what I would be missing, and if I want the stock app back, I could just re-enable it.
Click to expand...
Click to collapse
You sorta need to do both. Uninstal then user-disable again if you don't have root. You can reinstall the package again if its a system/rom app as it doesn't REALLY get removed.