[Fire HD 8 and HD 10 Android Development] Datastream33:
What's going on guys?

Well my penguin loving people, Fire Toolbox V3.0 is finally ready for release!

I know it's been a while since the Windows version has been released, and for that I sincerely apologize. Been tinkering with the Installer, and compiling a script to help me build the Python port much more efficiently and quickly. Anyway, you're not here to listen to excuses so let's get into the nitty gritty about what V3.0 has to offer!

Disclaimer: I will be taking text from the Windows release post if needed, as I don't think it's necessary to repeat myself when it comes to some of these improvements/additions. I hope that's ok with you.

Maxing Compatibility with the Fire Max 11​

With the unfortunate discovery of Max having the same restrictions as FireOS 7.3.2.2+, the device identification code has been adjusted to treat the Max 11 as "restricted". This means the Toolbox will present the options to use the workarounds that were developed for tablets running FireOS 7.3.2.2+.

However, when it comes to Custom Launchers, the activation methods will be a tiny bit different for the Max 11. Because it runs Android 11, the Custom Navbar activation method can unfortunately not be used due to Google removing support for custom navigation bar layouts. But, interesting enough, it has been reported that the Launcher Hijack method works once more, with the 5 second delay no longer being present. As a result, the Custom Navbar option will be disabled for the Max 11, and the Launcher Hijack method will be enabled and set as the default option (as it's the best of the workarounds).

Updates to the Toolbox Updater You Say?​

You bet ya! As a nice quality of life improvement, the Updater will now successfully adopt the Toolbox's current theme instead of defaulting to the Terminal theme. Furthermore, the Updater will also check to see if your computer is connected to the internet before checking for updates... fixing the crash that would occur when the check fails due to a missing connection. Basic stuff I know, but it's finally in there!

ADB Logcat - New Filter(s) Who 'Dis?​

Looking for something specific in the ADB Logcat? Well, in V3.0 you can now filter the log to find what you're looking for even easier. The buffer filtering options include:

All - Logs from every buffer.

Main - Most logs created by running applications.

System - Messages and logs created by the OS.

Radio - Messages and logs relating to the various radios (wifi).

Events - Binary system events.

Crash - Logs created when an application or service crashes.

Default - Shows logs from the main, system, and crash buffers only.

In addition to the filters, you can now also run "logcat" in the ADB Shell to open the ADB Logcat window instead of navigating to the Logging section in the Toolbox's Settings.

The Custom Launcher Tool, and "Custom Launcher" Option Changes?​

I'm happy to announce that the "Other..." option has now made it's way into the Custom Launcher tool as a launcher option! Yay!

Speaking of the "Other..." option, it will perform checks on the user supplied APKs to make sure the launcher is compatible with the plugged tablet. It also checks for the architecture, and ensures the app has a launch-able activity that the workarounds can call when invoking the launcher.

I've also taken the liberty of fixing a bug that would prevent Fire Launcher from being detected as disabled.

Some Updates to the OTA Updates subtool​

Now when it comes to restricting OTA, the Toolbox now provides a means of selecting which Wi-Fi networks you'd like to meter. However, it's important to note that the Toolbox can only include the networks your tablet has already connected to. But don't worry if can't connect a network just yet, as options for Metering Networks and Unmetering Networks have been added to the Networking tab in the Modify System Settings tool allowing you to meter and unmeter a network at any given time. This way you don't have to unrestrict OTA and restrict again just to meter a different Wi-Fi network.

Sideloading More Improvements​

As with the Custom Launcher tool, the Sideload Apps now performs checks to ensure the APK to be sideloaded is compatible with the tablet. I've also taken the opportunity to add the "Run after Install" installation flag.

Furthermore, the tool now also double checks for the launch-able activity to ensure the app can be launched if the "Run after install" installation flag is enabled.

Settings Database and Old Gen (2014 - 2017) Tablets​

Just recently, I discovered that Android 5 (which FireOS 5 runs) doesn't have an option for listing keys/values in the database tables. As a result, the ability to include the Database Keys in System Backups has been disabled. Also, the Settings Database Modifier has also been disabled for old gen devices as well. I'm looking into alternatives methods for obtaining the database keys/values but haven't found anything as of yet. If anyone has any ideas please don't hesitate to share them!

Modifying the System UI Modifier Subtools​

When applying custom quick settings tiles, it was noted that the custom tiles we be reset back to default on reboot. This is a known behavior and is handled in the windows version. Thankfully, the Python port now also shares the same solution. When setting custom tiles, the Toolbox will now ask you if you'd like to install Automate (if it isn't already) and import a flow that will retain your custom tiles on reboot. Furthermore, on the Navigation Bar Modifier side, we've also fixed a bug that would prevent the "Padding" and "Spaces" items from being moved up and down in the list.

Some of Those Known Issues​

Let's talk about some issues with the port (feel free to let me know any other issues you come across):

The Installer and Manjaro - The one is very interesting. It seems that Manjaro handles Python and Pip a little differently then most other distros. It refuses the use of Pip, and requires the use of pipx.. which is something to do with virtual environments? It's also difficult to create virtual environments due to the Python home and path variables not being set. If anyone running Manjaro has an idea of how to read pip modules on Manjaro please do let me know. For now, I'm not sure the Toolbox will run on Manjaro until something is sorted out.

The Installer and Tumbleweed - For whatever reason, the Toolbox cannot read tumbleweed's os-release file, so the Installer cannot determine what package manager it uses. Therefore, the Installer will not resize the window... making the Next buttons unreachable. I'm planning on increasing the window size for all distros in order to get around this issue. Until then, please reach out via PM and I'll send you the Toolbox build.

Custom Navbar issues - Brought to light by the legend @blaacksheep, it seems there's an issue with the Custom Navigation Bar on FireOS 7.3.2.7. It's noted that when changing the navigation bar layout manually or through the Navigation Bar Modifier subtool it causes the custom navbar key to disappear and the default home key returns. The database key that holds the navbar layout (sysui_nav_bar) appears to be correct. but some how isn't? This appears to be a bug on both the port and Windows version.

MacOS and Chromebook support - I've had a few folks reach out and ask if it's possible to run the Toolbox on macOS or a Chromebook. Unfortunately, I do not have a Mac nor do I know anyone that has one. It was also be considered piracy if I ran macOS in a vM... so It's with a sad heart that i confirm that the Toolbox may never run on macOS. As for Chromebooks, I believe it's possible to run Linux programs by enabling developer mode. If anyone has a Chromebook and is willing to try and get the Toolbox running I'd be more then willing to provide a guide and instructions to see if we can get things figured out.

Changelog​

Hey, for those of you who like changelogs, don't worry, I've got you covered:

Downloads​

Name​

Python Version​

Installer​

Fire Toolbox V3.0 (Beta)​

3.10.x​

Download​

Fire Toolbox V3.0 (Beta)​

3.11.x​

Download​

NOTICE: You must obtain the correct version for your installed Python version. Run "python3 -V" in the Terminal to get the installed python version for your distro.

Final Closing Thoughts​

In this post I'd also like to announce the plans for the next build. I'm planning on adding in the Setup Tour, and providing QOL improvements similar to the ones seen on the windows version. This includes pointers to the 2nd main menu button, theme selection on first startup, kill ADB on exit, a "Read All" button for the Notification Center (will add this to the Windows version as well), and various other small changes/improvements. If you guys have any suggestions please do let me know. Feedback is very important to me, and is 1000% welcomed... positive or negative.

Again, I'd like to sincerely apologize for taking so long to get this build out to you guys. You've all been very patient and supportive, and I'd like to thank you all so much! As always, you guys are the bomb!

Of course, shoutout to @blaacksheep for helping test the build and providing insight into bugs/issues that were overlooked. You're helping to make a better experience for everyone! Cheers man!

Thank you all for taking the time to read this post. I really do appreciate it!

Well, that's it for now my friends! Talk with you soon, and Happy Toolboxing! :D