[prjkt.io] nicholaschum:
Substratum Release 818

This is a rather huge update, thanks to all the testers, and would like to welcome [MENTION=6552280]MSF Jarvis[/MENTION] to the development force!

To everyone, our Telegram chats are now consolidated to one public chat holding the links to every other chat. We found out that the links being reposted in each supergroup description was a bit too much, so we instead replaced it with a link portal. We have on-topic chats (strict, subs only) and off-topic chats (that are full of current generation spicy memes!), to join, click here! https://t.me/substratum

Substratum Overlay Signature Change: Thanks to simordred, we now use a precompiled signature, meaning that we eliminate the possibility that if someone wipes the app, the signature that was generated would not be wiped and would fail to install over a current overlay that isn't the same signature. What this means is that we have added a dialog to alert the users when a pre-815 overlay was found, so we kindly ask you to clean out your current overlays so that you can freely update to new overlays in the future.

Substratum App Cleanup: We have removed a bunch of redundant code recently relating to things that aren't released as well as done a bunch of extra null checks all around. We removed a few tweaks that weren't too popular in Settings under the theming section (Dynamic Nav/ActionBar) and we also removed the sheet that pops up asking if you would like to show outdated themes (it is still toggle-able in settings).

I would also like to thank [MENTION=6552280]MSF Jarvis[/MENTION] and [MENTION=4939386]Surge1223[/MENTION] for checking a whole ton of the files for redundancies and cleaning out everything, you guys were awesome! Finally, we'd like to thank [MENTION=4683552]maxwen[/MENTION] for the tip on app icons and drawable casts!

Beta features now ironed out with newest Encrypted Assets: Previously our beta features of automatically recompiling installed overlays were not automatically compiling but instead, force closing Substratum. We have remedied this issue, thanks a lot to +Harsh Shandilya!

Substratum Rescue Updates: Thanks a lot to [MENTION=4939386]Surge1223[/MENTION], we now ensure that all rescue archives are fully up to date at all times! This means that you will never be flashing an old rescue archive again!

Legacy/RRO/Samsung: We have added a new Setting for you to manually adjust overlay priority! This allows you to control how prioritized your overlay is before compiling. We have options for you to have priority counts 1-999! (255 is default)

Themers: By popular request, we have updated the LogChar share format so that it also includes the Theme Name in the file!

Full Changelog

References: Give a more descriptive log to detection of OMS

Public Release 818

References: isOMSRunning fallback to cmd overlay root check for O DP4

Strings: Change SystemUI restart button for enable/disable

Public Release 817

ShowcaseTab: Change Android O cast derp

Public Release 816: It's time!

Substratum: Add all missing casts

It's not that great to uninstall all overlays

ThemeManager: Allow bypassing SystemUI restarts

MainActivity: If user's overlays are outdated, alert them to uninstall

Reroute Telegram links to Link Portal

BootAnimationManager: Fix bootanimation application

References: Correct OMS detection logic

SplashScreenActivity: Do you even english bro

Substratum: Nuke incompatible firmware warning

Substratum: Nuke the dynamic_{actionbar,navbar} prefs

AppIntro: Don't let it to be seen again after clearing data

References: Properly initialize values on succession of AppIntro

Build.gradle: 3.0.0beta1 -> beta2

References: Default to 6.0.0+ template

MainActivity: Do not create a CountDownTimer object

MainActivity: Nuke the Pre-6.0.0 template chooser

Substratum: Fix ThemeUninstallDetector fail

AOPTCheck: Correct FileOperations#copyFromAsset call

WeakReferences: Prepare null check garbage collection per async phase

FirebaseAnalytics: Remove unused method

FileOperations: Fix Oghuzan's derp

Subs: Remove unneeded dependency

Subs: Use pre-generated keystore * And fix some nitpicks

SubstratumBuild: Update support libraries to 26.0.1

TravisCI: Update build tools to 26.0.1

Proguard: Don't warn about the new OMS jar classes and methods

ManagerFragment: Clear out icon overlay filtering logic

Refactor and format after cherry-picks

Proguard: Fix up the new OMS library for release builds

LogChar: Remove the space in the folders name. This is not Windows

Gradle: Update to 3.0.0-beta1 and build-tools 26.0.1

OMS API update test part2: Include new jar for testing next interfacer This new jar has the updated stubs and api updates for current testing

References: Change EXTERNAL_STORAGE_CACHE variable to be full path

API 26 Compatibility: Allow building for target and min api 26

Overlays: Refactoring of the overlay tabs

References: Use ActivityManager to detect OMS

SubstratumRescue: Make sure substratum dirs exist and force copy rescue zips

AOPT: update to new binaries after several commits worth of change

ManagerFragment: Correct legacy warning dialog logic.

ElevatedCommands: Remove unused methods

SettingsFragment: Test maximum value in priorities

InformationActivity: Debug the hero image

Strings: Update our homepage

Overlays: Send the theme name in LogChar attachement

Profiles: Mark it as a beta function for now

RRO: Max out priorities as default

References: Re-ensure further checks for null before comparison

ManagerFragment: Add warning for legacy users

SettingsFragment: Allow user to change the RRO priority for overlays

EncryptedAssets: If the theme target is not encrypted, do not unload LBM

References: Add getBitmapFromDrawable

PackageModificationDetector: Handle cases where app icon is not BitmapDrawable

References: Guard against possible null build date prop

References: Clean up color checker comment and upgrade gradle

Revert "References: Fix ugly method"

References: Fix ugly method

SubstratumCleanup: Icon pack support leftover cleanup

TeamFragment: I'm team now :D

PriorityAdapter: Address lint

SamsungIntegration: Unify fingerprints to prevent mischecks

SamsungIntegration: Clean up Firebase calls

SubstratumActivity: Supress useless lint warning

Fix future derp

Tiles: Use startActivityAndCollapse for launching intent

BootCompletedReceiver: Don't fetch packages from firebase

Substratum: Remove icon pack tooling

RIP IconStudio

gradle: update to alpha9

Move build script to its own repo

Fix gradle.build for signing configuration

makeapk: Use APK_OUT more and fix APK_NAME

makeapk: Fix fails

makeapk: Improve help text for version flag

Initial automated build script

travis: Cache ANDROID_HOME

Try to withdraw package list on every app launch

Add encrypted travis to Slack integration

There's still a little bit of freedom

InformationActivity: Dismiss dialog before running any actions

Overlays: Fix up background app killing logic

Remove System Independece Mode option

No need for this fix anymore

Update apksig to 2.5.0-alpha-preview-2

Revert "Revert "debug builds: show git HASH on filename & in Settings""

SamsungIntegration: Allow silent installs to show progress bar

SamsungIntegration: Allow for users with root to do things silently

InformationActivity: Dramatically speed up hero image loading

InformationActivity: Attempt to cancel AsyncTask onDestroy

Overlays: When encrypt mode fails, show a Lunchbar alerting the user

Provide a more descriptive error message for TI exception

Upgrade build.gradle dependencies