[prjkt.io] nicholaschum:
Substratum Release 820

Substratum Crash Handler: We now have a way to catch force closes and an easy way to send them to us! If you face a crash, please use our new UI and click stack trace, then send it to us through our JIRA!

Type4 Introduction: This allows themers to add support for assets theming, such as Telegram Emojis or SwiftKey Themes! Possibly even Gboard assets! Check out +Harsh Shandilya, +OhayouBaka!, +Sai Prasanna, +Andrew Traynham and +Bryan Owens' themes to get a taste of Type4s!

ZipAligning Overlays: All compiled overlays with newer versions of Substratum will now be ZipAligned for overall system performance, HUGE thanks to @arter97! This should solve many system performance issues if you faced any in the past! This will also set a standard for overlays compiled from now on! No new platform commits needed, all will be handled by our substratum in-app compiler!

A bunch of cleanup: Thanks a lot to [MENTION=4880721]iskandar1023[/MENTION] and [MENTION=6552280]MSF Jarvis[/MENTION], we have cleaned even more of the underlying code including the splash screen codes and overlay manifest code! Also thanks a lot to everyone in our CI-feedback channel on Telegram for reporting bugs immediately to us, including [MENTION=1289361]Mazda[/MENTION], @r1l_Alex, [MENTION=6227169]mosimchah[/MENTION], [MENTION=5526655]fhem[/MENTION] and many more! The latest build has been serving us greatly the past few days, including many of the force closes being resolved!

UI Changes: We have made the LogChar dialog more like the Crash Activity's dialog, more materialized and streamlined. We also moved the toggle all overlays button in the Overlay List fragment, out of the floating action menu, so people know it's there!

Full changelog:

SubstratumCrash: Allow the crash log to be selectable

ProfileManager: Take account for the other crasher

ProfileManager: Ensure null checks are put in place if overlay outdated

ManagerFragment: Bring out the toggle from the floating menu

Substratum: Start fixing lint warnings

AppCrashReceiver: If no overlays are enabled, bail out early

FloatUI: Update the FloatUI button

Type4: Allow FloatUI to show proper type4s

Introducing Type4 assets overlaying template

Overlays: Suppress exception print when /res is empty

Overlays: Drop the progress wheel lower

Update contributor list

InformationActivity: All toasts to lunchbars, omnomnom...

InformationActivity: Glide; do not use any cache

SubstratumBuilder: Fix late install for special overlay

CompilerCommands: Remove log printing entire manifest

SubstratumCrash: Filter out the list of exceptions to Resources.java

EncryptedAssets: Update the snackbar with proper instructions

RecoveryFragment: Safeguard the context while uninstalling overlays

Revert "GarbageCollection: Call GC on reloads of fragments/activities"

References: Null check when it detects what device is being used

OverlayFunctions: More crash fixes

MainActivity: Do not show outdated dialog when the user is too fast

Refactor and clean up

GarbageCollection: Call GC on reloads of fragments/activities

LogChar: It's no longer a figure of speech, it's a noun

LogChar: Completely materialize the UI

SubstratumCrash: When the app crashes randomly, catch it

Overlays: OnResume should refresh the fragment list

CompilerCommands: Append missing Substratum_Target metadata

Substratum: Fix tinting for Jira navdrawer icon

CompilerCommands: Completely rewrite how we generate overlay manifests

ThemeManager: Simplify the shouldRestartUi methods

gradle: Update dependencies

gradle: Add option to use D8 preview

Substratum: Change Jira link to service desk

MainActivity: Add Jira to the substratum resources section

ThemeManager: We changed the method name

ThemeManager: Only restart systemui once on overlay uninstall

OverlayFunctions: Fix various crash when switching overlays

i don't know what to say about this tbh

SplashScreenActivity: Add timeout for each wait loop

SplashScreenActivity: Always show loading spinner

Disable Firebase crash collection on debug build

OverlayFunctions: Do not hardcode sysui reboot

Merge pull request #126 from arter97/dev

ZipAlign APKs

AOPTCheck: avoid unnecessary object creation