[prjkt.io] nicholaschum:
Public Release 841

Following the official XDA article, we will be rolling out the Andromeda app that is current sitting on our alpha testers page for what felt like weeks! The desktop companion is available to download NOW with instructions on our thread here: https://xdaforums.com/apps/substratum/andromeda-desktop-clients-release-notes-t3668682

Android Oreo Andromeda Integration: We are ready, but won't be releasing Andromeda's plugin just yet until the XDA portal goes live :)

Manager Fragment Changes: Thanks to +Yechiam Weiss, we have a swapping button that swaps the current state of each of the overlays. We retained the disable all button just in case you don't want to swap overlay states.

Android Oreo Rooted Tweaks: We added extra features like a silent SystemUI restart mode, so that if you don't want to restart your SystemUI in a destructive behaviour, you can disable it in Settings and it will clear all non-ongoing notifications to refresh the notification color cache.

Android Oreo Integration: We have full support for most of the new APIs for third party developers now too, meaning that our code is fully streamlined for Oreo's Adaptive Icons from external apps as well as our app fully adaptive icon'd!

Random image glitch fixes: We have migrated off Glide for both Priority Switcher and Hero Image loading. Some people may have noticed that you may get some incorrect images when you move too fast or just completely random. This remedies that issue and no longer causes sporadic incorrect images from being shown. We have tried multiple levels of caching and removal of caching as a whole with no avail. Our new implementation works for our usage case.

FloatUI Oreo Fixes: A severe crash has been found and fixed due to API-level changes. Thanks to +Ivan Iskandar!

Deprecation of Libraries and overall clean up: Thanks to +Harsh Shandilya, we have reduced a significant amount of dependencies that Substratum uses. He also fixed up many small, but destructive bugs (that happened rarely). Also fixes to the BinderService as well as cleaning up the commit validator. Not only that, but many dynamic context fixes to reduce re-calls causing null pointers.

Substratum exclusivity sandbox: If an overlay was NOT installed and created by Substratum, it will no longer remove it. Allowing users on Android Oreo to create their own overlays that they want to use with the built in Android Oreo Framework theme picker. This does not mean you can use overlays from other devices/recompiled as Substratum will no longer detect them as a whole. Thanks to +Ivan Iskandar!

Full Changelog:

Public Release 841

Overlays: Adjust when to hide/show the progress bar

Move FinishReceiver to application class

Fix compile enable special overlays on Oreo

Wait for package to properly installed before continue on andromeda

Upgrade gradle dependencies

Revert "Substratum: Change notification to IMPORTANCE_LOW for Andromeda"

InformationActivity: Do not show Restart SystemUI for Andromeda users

RecoveryFragment: Remove the poorly setView'd dialog

AndromedaBinderService: Unique notification id for bad notification

InformationActivity: Add icons to EnableDisable sheet fab entry

IA/Overlays: Replicate enable/disable button functionality from ManagerFragment.

Andromeda: Mitigate

Substratum: Change notification to IMPORTANCE_LOW for Andromeda

Beta release 840

AndromedaBinderService: Don't keep launching InfoActivity

Beta release 839

MainActivity: Do not just finish, restart the app

Beta release 838

MainActivity: Harsh forgot to update LogChar SharedPreference

Internal release 837

Substratum: Fix crash when clicking Featured content

Internal release 836

AndromedaBinderService: Introduce a simple service keep-alive mechanism

OverlayFound: If Andromeda was installed, relaunch Substratum

MainActivity: Modularize the root requester

Release 835

Clean up and reformat

Manifest: Remove unused permission

Release 832

ManagerFragment: Something went wrong crashing Samsung devices

ManagerFragment: Add back enable overlay function

Release 831

Subs: better workaround to get Current User Id

Release 830

Strings: Andromeda timed out string should be more friendly

Release 829

MainActivity: Add missing break in nav drawer

Release 828

TeamFragment: Update Nick and Syko's pics

Strings: Troubleshooting -> FAQs

MainActivity: Officially endorse our Reddit community /r/Substratum

SubstratumFloatInterface: Android System overlays will now show state

RecoveryFragment: Do not show the dialog on Samsung devices

Release 827

ManagerFragment: Repair the logic in sorting overlays

CrashActivity: Enforce textColorPrimary on buttons

SettingsFragment: Adjust the Restart SystemUI toggle

Release 826

SettingsFragment: When clicking About Samsung, launch Theme Killer

SettingsFragment: Add about sungstratum section

ManagerFragment: Pick off where Harsh started

Revert "ManagerFragment: Fix FAB glitch when switching sorting modes"

MainActivity: Initialize context earlier

Release 824

SettingsFragment: Add about andromeda section

References: Ivan, whatchu doing...

Strings: Be more descriptive with the warning

SettingsFragment (O): Warn the user when they disable auto restart sysui

Adjust adaptive icon and add back round icon

MainActivity: Get ready for Andromeda users

ManagerFragment: Clean up redundant casts after variable reassignment

ManagerFragment: Re-add some functionality for OMS

ManagerFragment: When an overlay is not selected, show toast

ThemeManager: Do not fallback on any state

Clean up after commit fast forward

build: use new dependency configuration

Upgrade Glide to version 4.1.1

Castaway Season 2

SubstratumFloatInterface: Disaster mitigation

Add andromeda fingerprint check

Upgrade gradle plugin and dependencies

Deprecate the OMS library

PriorityAdapter: Directly use drawable for icons

ThemeManager: Don't list overlay not built by substratum

MainActivity: Don't clean up overlay not built by substratum

Change adaptive icon background

Reduce bloat size a little bit

Revert "SplashScreenActivity: Do not withdraw blacklisted packages"

Refactor and format after fast forward

ManagerFragment: Fix derp on logic for OMS users in previous commit

ManagerFragment: Replaced "Enable Selected" and "Disable Selected" with "Enable/Disable Selected" which is only visible for OMS, while for RRO only "Disable Selected" is visible.

ManagerFragment: Added a simple check for non-OMS that hides the "Enable Selected" button in the FAB, can now safely remove OMS checks in that button.

Substratum: Add Yechiam to contributors

Substratum: Remove "hide disable overlays" toggle

ManagerFragment: Fix FAB glitch when switching sorting modes

Overlays: Don't always unselect everything

SubstratumFloatInterface: Simplify loading of framework overlays

InformationActivity: Clean-up variable usages

MainActivity: Reduce the getApplicationContext() calls

SplashScreenActivity: Do not withdraw blacklisted packages

Refactor and format after cherry pick

Showcase: Add Samsung Tab

Showcase: Add new section for wallpapers

Libraries: Remove numberprogressbar

Substratum: Remove the automatic LogChar cleanup toggle

SettingsFragment: Use a StringBuilder to set title

ValidatorDialog: Add some padding around the progressbar

Overlays: Always set progressBar to View.GONE when start{Enable,Disable} exit

CommitValidator: Nuke the progress bar

AndromedaBinderService: Do not fire notifications multiple times

AndromedaBinderService: If Andromeda Server not running, launch the app

AndromedaBinderService: Various changes

ThemeManager: Blacklist all SystemUI derivates for Samsung

SettingsFragment: Don't silently consume exception

ThemeManager: Don't crash out if cmd overlay list returns null

MainActivity: Remove link to thecyberfibre and fix-up XDA link

Substratum: Remove libraries we don't use any more

Revert "Overlays: Force-start BinderService when processing events"

Move andromeda notification to its own channel

Overlays: Force-start BinderService when processing events

OverlayList: Add sorting options

Substratum: Deprecate the Lemniscate library

SubstratumFloatInterface: Clean up how we populate the overlays list

AndromedaBinderService: Do not attempt bind if bind not available

BinderService: Only show notification if Oreo

BinderService: Andromeda calls shouldn't have been placed here

Substratum: Ensure andromeda checks only on API26 and Andromeda Mode

AndromedaIntegration: When the service dies, alert the user.

ThemeManager: Use hidden Andromeda folder

ThemeAdapter: Allow users to uninstall themes on Andromeda Mode

SettingsFragment: Do not show commit validator on Andromeda mode

ValidatorAdapter: Fix the missing package name

SubstratumFloatInterface: Use TYPE_APPLICATION_OVERLAY to show dialog

MainActivity: Andromeda does not support SystemUI restarts

InformationTabsAdapter: Allow for tabs to be disabled easily

WallpaperAdapter: Remove unused code

InformationActivity: Do not use Glide when loading hero images

PriorityAdapter: Do not use Glide to load priority app icons

ThemeManager: Fix checking of overlays for priorities

ThemeManager: Change how we refresh SystemUI

AndromedaIntegration: Allow for a more securely bridged connection

MainActivity: Try to fix the start of Samsung

References: Allow the grabAppIcon function to support Adaptive Icons

RecoveryFragment: Do not show sounds on Andromeda

MainActivity: Clean up root check conditions

MainActivity: Fix root check

ThemeManager: add null check before splitting

AndromedaIntegration: Priority switching is instant now

AndromedaIntegration: Introduce the stock Android O Backend "Interfacer"

SplashScreenActivity: Always show progress spinner

ThemeManager: If on Oreo, you get an option to skip restarting SysUI

References: Bring back checkOreo for SDK checks