[prjkt.io] nicholaschum:
It is time, folks...Substratum Rootless Official Rollout Release 600

You are EXPECTED to be running on OMS7 Rootless for this to work, for more information building with this, please consult our documentation listed here: https://github.com/substratum/documentation

Contact your ROM developer if they haven't already distributed their OMS7 Rootless builds. ROM Developers! Happy March Security Update. Throw your builds out in the wild!

I'll skim over the new features to look out for! (It would be best to clear the data of the app to get the best, coolest out of the box experience!)

- Completely brand new icons and animations, made by +Kevin Aguilar and +Anthony Nguyen

- Rootless, completely sandboxed. This means that the WHOLE APP does not touch anything on your device anymore other than internal storage for Interfacer to install applications on. Huge credits to +Ivan Iskandar (for integrating changes to Interfacer, Substratum and platform!), +George G., +Randall Rushing, +Surge Raval and many contributors in our [experimental.] chat!

- Streamlined the UI much more, introducing color previews in the Overlay Manager!

- Introducing, #FloatUI! Now you can toggle your overlays from any screen possible! (On Android N, there is an API bug where the foreground app MAY bug out to Substratum when a notification comes in. If it does, just toggle it back) [FloatUI needs additional permissions]

- Changed the strings to make more sense to the common user

- Redesign the Substratum Showcase UI thanks to +Alex Cruz!

- Favorites icon actually gets saved and can be removed now for app shortcut

- Added community links to the navigation drawer for new resources from the community, featuring TheCyberFibre/XDA Portal of Punya Vashist, theme template redirects, Gerrit redirects and direct links to our G+, Telegram chat and XDA support thread!

- Masquerade is now known as Theme Interfacer, reverse compatibility for ROOT-OMS7 has been dropped in its entirety.

- Users are no longer allowed to switch to AOPT (Cutting Edge) due to the nature of it being completely volatile in our development.

- Fixed an issue where there are some cases where themes will be uninstalled when updating from Play Store.

- Added a new changelog button for themers to utilize when launching their themes.

- Due to the sandboxed nature of Substratum, everything is MUCH FASTER than ever before. Overlays compile 2-3x faster including install time (depending on your device).

- Rootless Substratum means that we have dealt with everything in the platform end -- meaning this is SELinux Enforcing ready, with Bootloader Lock and such.

- The app has been completely optimized, when you first launch it, you will realize how fast it is now!

- Substratum now saves your position during a window refresh, so when you're enabling/disabling an overlay in Advanced Manager, it will not kick you back to home.

- Notifications now refrain your SystemUI from going into haywire mode, updating X amount of times - where X is the file % 200 count. This will allow the user enough time to be able to click the cancel button to stop the cache creation process.

- We only have two tiles now, Substratum Tile and FloatUI tile.

- Security mode for ROMs that ONLY want to enforce release-key Substratums! Meaning that if you install a debug key version of Substratum, it will be denied. This is toggleable in your Developer Options > Force Authorize every theme app.

The app will request for Theme Plugin Mode the first time you start. It would be HIGHLY RECOMMENDED to use 6.0.0+ plugin as the algorithm there is MUCH CLEANER. But you can obviously use the old algorithm - if you don't mind it being a bit IO heavy for your legacy themes.

- Supports the latest 7.0.2+ Theme Plugins for themers!

- New languages added: Czech, Polish, Belarusian - all other translations updated (some may be lacking because I push updates like no tomorrow haha!)

TLDR; Substratum has been completely rebased

367 files changed, 12879 insertions, 10658 deletions

Chronological set of changes

It's time for the update...import all translations all at once!

Release 600: Initial Public Release of the new Substratum!

Another string update...

Fix restoring wrong drawer state position

SubstratumUI: Add Homepage into the navdrawer

One more string update...

Community Showcase > Showcase

Showcase: Update strings

TeamFragment: Add Kevin (221 Pixels) and Anthony (LinkedDesigns)

SubstratumUI: Add Featured Content and Resources section

Fix system status checks

SubstratumUI: Add a community section for users (G+/Telegram/XDA)

ThemeUninstallDetector: Do not trip overlay cleansing on theme upgrades

Showcase: Let's be naughty and do recreate on reload

ShowcaseUI: Update for long text clipping and DPI awareness

Showcase: Adapt it to functional state

SubstratumUI: Layout updates

SubstratumUI: Let's do some reorganizing!

Formatting and code clean up for theme extras Java tabs

Clean up some formatting issues before completely breaking the app!

SubstratumRebase: See description for more details

Layouts: make RTL compatible

SheetDialog: try to have dynamic height

AOPT switch: code golf

SubstratumRebase: Update new iconset

Check if ROM has our system feature

ThemeFragment: don't get so trigger happy

Overlays: Use separate array for overlay late install

ReadVariantPrioritizedColor: Remove unnecessary logging!

ReadVariantPrioritizedColor: Remove unnecessary logging!

Settings: Hide AOPT switch when not in debug mode

SubstratumRebase: Get ready for the new icon!

Refactor: Masquerade > Interfacer

Refactor and format after rebase

ScheduledProfileService: minor cleanup

References: Use reflection to check OMS

Further rebranding from Masquerade to ThemeInterface

Buh-bye masquerade, hello ThemeInterface

MainActivity: Save drawer position on recreate

Add masquerade authorization toast

Remove theme extras with on uninstall detector

We forgot to remove the prefs

We can't always assume all type1 xmls only have color values

Move restart SystemUI button to the left

Use bigger resolution profile picture

TeamFragment: Hello [MENTION=1289361]Mazda[/MENTION] !

Add back restart SystemUI button on advanced manager

build: update dependencies

Merge pull request #66 from Mazda/dev

Fix padding issues

Merge pull request #65 from Mazda/dev

Change the restore/defaults manager layout

InformationActivity: Fix uninstall text

Merged branch dev into dev

Switch to our new GitHub organization

Merge pull request #63 from KreAch3R/restart-service

Merge pull request #64 from Mazda/dev

Give substratum tile its own icon

MasqueradeService: new RestartService job

Previews: Set a default color for appropriate types

Previews: Allow @*android/@*packageName color recognition

Previews: Concluding commit (type1a/b/c support, non-color fix)

Previews: Adjust the default (no more red) to hide the whole overlay

Previews: Do not hardcode any strings - ONLY TAKE FIRST XML NODE!

Previews: Fix the adapter behaviour with the text as well

Previews: Stabilize the adapter by setting values to it's instances

Previews: Materialize the preview icons and refactor and format project

Move shortcut modification methods to References class

Remove favorite icon on theme uninstall

Merged branch dev into dev

Merge pull request #62 from KreAch3R/colors

Introduce Color Preview in Advanced UI

Merge pull request #59 from Mazda/dev

Merge pull request #61 from AmolAmrit/patch-1

Update FAQ: It's Susbtratum

Change the showcase layout

Fix priorities not scrolling while using a higher DPI

Merged branch dev into dev

Merge pull request #58 from Mazda/dev

Introduce a showcase info dialog to help the n00bs

Merge pull request #56 from Mazda/dev

Update troubleshooting fragment layout

Redo app shortcut icons

Add FloatUI shortcut tile

References: Fix derp in needsRecreate method

Merge pull request #53 from valiantshadow/dev

Update FAQ for rootless

ShowcaseDatabase: Move to our new organization

Merge pull request #50 from axxx007xxxz/dev

README: Refract new organization name change

ThemeManager: Introduce blacklisting overlays to safeguard the system

InformationActivity: Dynamically change Changelog and Favorites icon

FloatUI: Remove unnecessary null check

ElevatedCommands: Add some comments

Update Eyes of Substratum string a bit

BootAnimationManager: Clean up and add comments

Only recreate on certain conditions

FloatUI: Add a few null checks to stats

TeamFragment: [MENTION=2059706]nathanch[/MENTION]ance > Eyes of Substratum

Reformat and optimize after cherry picks

Restart SystemUI if one of its enabled overlay is updated

ThemeFragment: Minor adjustments

Use own method to uninstall non-overlay packages

PackageModificationDetector: Use unified command to uninstall package

ManageFragment: Don't waste lines

ThemeManager: Use direct interface to populate overlays

Determine restart UI in app

FloatUI: When permissions are not granted in AppShortcut request, warn!

Do not hardcode!

InformationActivity: Revamp the favorites icon, introduce changelogging

Menus: Dynamically swap menu objects instead of loading other menu XMLs

References: With the newest commit to remove shell, use new method!

Remove unnecessary unsupported string preparation for translation

ManageFragment: All dialogs > SheetDialog!

Refactor and format after cherry picks today

SheetDialog: Extend BottomSheetDialog defaults for status bar coloring

ThemeEntryAdapter: AlertDialog > BottomSheetDialog

SettingsFragment: BottomSheetDialog the AOPT dialog!

SubstratumUI: Fix Bottom Sheet Dialog Dismissal

Overlays: Fix derp in overlay variant name

SubstratumUI: Add a BottomSheetDialog to show/hide outdated themes

Add library strings for FloatingView

Overlays: Reduce waiting time

CacheCreator: Recalculate optimized SystemUI refresh modulo algorithm

Overlays: Make sure updated special overlays are installed on the end

Merge pull request #49 from KreAch3R/rootless-checks

BootAnimationUtils: more rootless checks

FileOperations: new rootless createNewFolder

FloatUI: Remove debug toasts and add App Shortcut

MainActivity: Keep checking for permissions

FloatUI: Restart SystemUI accordingly

ManageFragment: Fix disable-all

build: Update dependencies

Overlays: Do install one at a time please

FloatUI: Trigger refresh on FloatUI floating icon on framework change

FloatUI: Allow the user to toggle showing Android System overlays

FloatUI: Filter simple app packages that use same shared format

FloatUI: Introduce the working version of the overlay configurator

FloatUI: Internal changes to depict disabled/enabled (Incomplete)

Merged branch dev into dev

FloatUI: Allow for the dialog to show what is enabled (Not fully done)

Merge pull request #48 from nathanchance/dev

SubstratumTile: Dismiss dialogs/notification panel when pressed

Merged branch dev into dev

Overlays: Remove all entries of getContext() and use global variable

Merge pull request #47 from KreAch3R/githash

debug builds: show git HASH on filename & in Settings

Merge pull request #45 from Mazda/patch-1

FloatUI: Prettify the dialog!

FloatUI: Fix NPE when SystemUI is invoked during overlay tracking

FileOperations: Properly catch FileNotFoundException on delete function

FloatUI: Rewrite algorithm to show proper foreground tasks accurately

FloatUI: Start parsing foreground available overlays (not functional)

Fix RTL layout issue

ThemeEntryAdapter: Show OpenGapps and DynamicGapps as shortcuts

FloatUI: Introduce brand new vectorized icon by [MENTION=1289361]Mazda[/MENTION]--!

ManageFragment: Change inconsistency in dialog title

SubstratumRebase: Fixed derp on home screen wallpaper application

SubstratumRebase: Show finishing status on notification too

FloatUI: Initial commit for the per-app theming floating UI

SubstratumRebase: Code cleanup

BootAnimationUtils: Cross out a TODO as it is done! Yay!

SubstratumRebase: Deprecation of OMS3 + Optimizations (240 files)

SubstratumRebase: Add warning for OMS rootless encrypted device on profiles

SubstratumRebase: Properly check for rootless masquerade

SubstratumRebase: Remove failed AOPT inject dialog

SubstratumRebase: Simplify delete method

SubstratumRebase: I forgot look at this class too

SettingsFragment: Resize the icons and assign the proper colors

SettingsFragment: Show new system status icon thanks to [MENTION=2513744]llevo3[/MENTION]!

SubstratumRebase: Re-enable the root check for non-masq23 devices

Release 599: Prepare for ROM developer initial testing

SubstratumUI: Fix issue when text is not respecting margin during search

SubstratumCertification: Show Root/Rootless Mode + Cert Status

TeamFragment: Head > Lead

TeamFragment: Add the Rootless dev team to contributors

SubstratumRebase: Touch up some strings, ready for translation

SubstratumRebase: Hey it's not a directory!

SubstratumRebase: Remove builder update mode bool related thingies

SubstratumRebase: We are working on rootless, assign false to global var

SubstratumRebase: Introduce global variable to disable root check

Instantiate static variable N_IS_BACK

SubstratumRebase: We don't need this

SubstratumRebase: I forgot to look at those class

SubstratumRebase: Contextual profile scheduling fix

SubstratumRebase: Profile changes

SubstratumRebase: Derp fix

SubstratumRebase: Filter out system partition operation

SubstratumRebase: ManageFragment minor cleanup and refactoring

SubstratumRebase: Move all wallpaper functions to References class

SubstratumRebase: InformationActivity fixes

SubstratumRebase: Add timeout for masquerade IO operations

SubstratumRebase: Let masquerade do the disable-all

SubstratumRebase: Finalize no-root IO commands

SubstratumRebase: Fixed a derp in advance manager

SubstratumRebase: Move compiler binary to data partition

SubstratumRebase: Add no-root methods for IO

SubstratumRebase: Special thingies for encrypted devices

SubstratumRebase: Add disable-all method to References

SubstratumRebase: Logic fix on OverlayList

SubstratumRebase: Don't use direct interface to OMS

SubstratumRebase: Priority changer fixes

SubstratumRebase: Let masquerade do the enable-disable jobs

SubstratumRebase: Minor changes on OverlayList

SubstratumRebase: Final changes to sounds

SubstratumRebase: Minor fix to fonts

SubstratumRebase: Sounds changes

SubstratumRebase: Boot animation changes

SubstratumRebase: OverlayList fixes

SubstratumRebase: Fix logic derp

SubstratumRebase: Fonts part

SubstratumRebase: First attempt

build: Update dependencies

WallpaperAdapter: Minor improvements to cropper

MainActivity: Properly check for ungranted permissions

SubstratumThemeUpdater: Add parent activity on InformationActivity

Remember all, happy theming!