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

I hope everyone is having a wonderful Thursday night so far, and everyone is safe and healthy!

Toolbox V30.0 just dropped, and I gotta say... this one's a good one! So without further ado, let's just jump right into it!

Restrict Them OTAs!​

In V30.0 we have a brand-new method to help tackle OTAs. This method works by revoking all "dangerous" permissions such as the Storage permission (as an example), restricting background data usage (meaning they can only use data (to download) when the app is in the foreground), and clears the cache of all OTA Packages. If the method is run, you may notice that it recommends that you factory reset the tablet before running it (this isn't required through). This is recommended because by factory resetting it effectively removes all apps installed by DeviceSoftwareOTA such as the Amazon Freevee app (as an example).

As reported by @Jumbo100, FireOS 7.3.2.6 was released a few days ago and so far my tablet has remained on FireOS 7.3.2.4. I have no blocking at the router level present, nor a DNS app installed. The tablet was factory resetted and this method was run against it (a few days ago). So far it seems to be holding up, and no apps have been installed by DeviceSoftwareOTA as of this post. It remains to be seen if this experience is the same with this method for everyone else... but I suppose only time will tell!

Some Fine changes to the Google Services Tool...​

Firstly, I'd like to discuss the issues with Play Services on FireOS 8. Looking back through the thread, I came across this post by @sfair74 and upon reading the error message the Toolbox provided on a failed install it all makes sense. It looks like a conflicting provider name is causing the installation to fail. Specifically, the install provider for Android Auto. It seems to be crashing with a provider in android.managedprovisioning. I'm guessing it's a policy that's been set to deny the install provider from running. Of course, I could be 100% wrong in this area, but that's what it looks like to me. Planning on picking up a 12th gen for Christmas to look further into it.

Anyway, with all of that being said, I'd like to use that to segway into the next change brought about in V30.0. Because play services don't install on FireOS 8, it's now possible to have the Toolbox download and install Aurora Store instead. All you have to do is launch the Play Services tool, and execute it. It will then detect your FireOS version and ask you if you want to install Aurora instead of play services. I'm planning on updating this later to include this option for all FireOS versions as well.

Finally, for this block, let's discuss the last few changes to the Google Services tool. It's been noted that Play Services updates itself automatically in the background, so I've decided to remove the Update Play Services subtool in the Manage tool simply because it's not needed. Lastly, after installation of Play Services is successful, the Toolbox will now present the ability to manage them after install... as intended.

The Toolbox Updater Has Been Updated?​

I know right? Could only stand it being broken for so long. Ok, maybe using the term "broken" isn't entirely accurate... anyway, let's jump into the fixes/improvements that were made to the updater. The motivation for this update, finally, fixed the incorrect folder name update pathing issue when a successful update occurs. As you know, when going from one version to the next... the Updater is supposed to automatically rename the Toolbox's root directory to the new version. Well, let's just say that it wasn't working at all and was causing confusion. Due to the generated script's pathing variable being incorrectly defined, it leads to this situation. Anyway, it's now been fixed and should update the folder name as intended.

Next, I've taken the liberty of completely rewriting the Updater in a way that allows us to now determine what the base version is... making it possible to only show micropatches that apply to that specific base version. Meaning, if a micropatch is put out for V31.0, but the installed version is V30.0 (just as an example) then that micropatch will not show up in the Updater until you've updated to V31.0. This prevents the issue some users were having where files were missing that were supposed to be received in the base update before the micropatch. And overall, the code was refactored and improved as well.

Notifications, Notifications, Notifications... Oh, You Heard Me the First Time?​

Awesomely, the Notification Center has been overhauled as well to resolve some of the major issues we had with it. Firstly, notifications are parsed a lot more effectively and takes less processing power doing so. Plus, notifications are now marked as read by actually reading them (instead of closing the Notification Center, and they all get marked as read). This means, notifications are less likely to be missed. Selective broadcasting is also now a thing... notifications can now be sent to selective versions of the Toolbox. So for example, a notification was sent out to versions below 30.0 informing that V30.0 was released, while on V30.0 that message didn't show up. Pretty cool, huh?

Wait, What Does That Command Do? Introducing Aliases!​

This is perhaps my favorite out of all the changes in tonight's update. As a long time Linux user (I use Arch btw) I've had my fair share of command line usage... and the biggest thing that's been a treat to do is create and use aliases. If you aren't sure what aliases do, they are effectively short handles for commands... for example, say I'm constantly running the same long command every day: "cd ~/Download;ls;rm -r *;ls" well by using an alias I can instead type (after defining it): "cleardl" and it will run the same command. A lot quicker and more efficient if you ask me.

Anyway, with that explanation out of the way... I'm excited to announce that ADB Shell now supports aliases! All you need to do is type: "alias -a NAMEOFALIAS=COMMAND" and press ENTER. This will attempt to create that new alias. To view aliases, just use the "alias -v" command, and delete an alias use the "alias -r ALIASNAME" command.

For example:

1. alias -a cleardl=cd ~/Download;ls;rm -r *;ls

2. alias -v

3. alias -r cleardl

You can also just execute: "alias", and it will remind you of what switches are supported. Furthermore, unlike Linux's aliases implementation you do not need to close out of your session to use the new alias... it will be available immediately after it's added! In addition, I've taken the liberty of adding a default alias... named "reset navbar" and as expected it resets your navbar layout back to default. I hope you find this new addition useful, and please feel free to play around it with!

Easier Access to VPN Settings?​

Hey, @blaacksheep this one's for you my friend! In the Modify System Settings > Networking tab you'll find a new subtool to help launch VPN Settings without having to use Activity Launcher! ;)

Wait, that's not everything that his update has to offer! Please take a look at the changelog below for more info on what's changed in V30.0:

Ready to download and install V30.0? Head on over to the Downloads section of the OP and get you a copy of the installer or the portable build! As a side note, the update will NOT appear in the Toolbox Updater, as the Updater itself has received an update. Please manually download and install it via the links in the OP.

I just wanted to, again, take the time to show my appreciation and gratitude towards this community. I generally don't see all positive interactions on the internet, except in this community! You guys are all lovely people, and the way you all interact pleasantly with one another is something I just find awesome. Thank you all for the massive support you've shown not only to each other... but to me as well. Again, shoutout to the people who've donated recently... I really do appreciate it!

And again, thank you, @blaacksheep and @Jumbo100 for everything you guys have done for this community. Don't know where we'd be without you guys! Thanks a ton!

Well, that's all I've got for now. I hope you guys enjoy the update... and until next time guys, peace!