[prjkt.io] nicholaschum:
Substratum Release 801

Substratum Template 10.0.0 release

Samsung SeX/TW Rootless Integration: I'd like to thank a bunch of friends who helped me test this out vigorously. We added this support as a small paid addon so you can treat it as a gesture to help us :) At the current moment, only Nougat based Touchwiz/Substratum Experience ROMs are supported (including custom ported ROMs for older devices)

Addon download: https://play.google.com/store/apps/details?id=projekt.sungstratum (may take a few hours to show up)

- NOTE 1: Android System, SystemUI + elements and Settings overlays are disabled from being shown by default, you can enable this in the app's settings at your own discretion!

- NOTE 2: We have our own XDA thread for this: https://xdaforums.com/apps/substratum/7-0-substratum-sex-tw-beta-t3620796

- NOTE 3: We also have a public Samsung Substratum chat: https://t.me/SeXstratum

Android O DP3 OMS Support (rooted): Thanks a lot to +Ivan Iskandar, we have OMS overlay support on O DP3 meaning that you don't have to reboot for overlays, but you will need root!

Substratum Template 10.0.0 Full Support with Encryption and official partnership with SlimRoms: It is with great pleasure to announce that our 10.0.0 template allows adding support for Slim Theme Engine. We are unable to provide support for their theme engine itself and the bugs it might get/have with themes, but please join their SlimRoms community here to request support: https://plus.google.com/communities/104509876514579429216 (As far as I know, they only support overlays and bootanimations). We would like to thank +Anthony King and +Griffin Millender for enabling encrypted assets on the template!

Template 10.0.0 - Themers: What does this mean for you? This means you can enable Slim support (default disabled) if you are ready to theme for Slim ROM.

Template 10.0.0 - Encrypted Assets: This is the beginning of a new theming standard where we encrypt all our assets on-the-fly during compilation. What this means is that all the files built using this template will be encrypted within the APK rather than overriding your original files in /assets, so you don't have to worry about data loss. You should however keep your theme backed up or under a GitLab/BitBucket private repo as this is good practice in version control. All the files are encrypted into .enc format with a 128bit AES algorithm security so at least we can also try to keep kanging to a minimum!

This also means that if you LOSE your original source you cannot decompile your own theme and copy your assets, as the assets are encrypted with a randomly generated key every time you compile per APK (you don't need this backed up, you don't even need to worry about it if you're not stealing your theme!) This also prevents the recompilation of themes by copying the generated .enc files into a new template.

Template 10.0.0 - Kotlin Integration: With the introduction of final APIs for Android O, we have migrated the template to Kotlin (kt-n branch) and thus deprecated our Java branch (java-n). It is HIGHLY RECOMMENDED to completely wipe your old template in favor of this new system (obviously, keeping assets folder backed up).

This also means that if you were running a third-party modified template with dialogs/dashboard apps built in, this will BREAK it.

Template 6.0.3/10.0.0 - Samsung Integration: There's a new flag to ensure that your theme is supporting the Samsung framework. Give it a go! This will toggle whether to show Android System, SystemUI, Settings and the small side elements by default!

Full changelog (chronological from 731)

Public release 801

InformationActivity: Bring out clean installed overlays for OMS

Full translation import

Public release 800

We're nearly there...796

Update dependencies

Final touches to Samsung Integration

Overlays: Allow Samsung users to batch install/uninstall

ThemeAdapter: Allow Samsung users to uninstall themes too

MainActivity: Adjust the legacy dialog for Samsung users

Internal beta release 795

Merge remote-tracking branch 'origin/dev' into dev

References: Do not show the icon pack beta to release builds

ThemeManager: Ignore pre-installed overlays

ProguardRules: Retain OverlayManager classes

Internal testing build 794

References: Consolidate complexion call and clean up

SettingsFragment: Fix FC on OMS ROMs

Internal testing build 793

InformationActivity: Speed, speed, speed!

Internal testing build 792

Refactor and format all files

SamsungIntegration: When addon is installed, always finish the activity

BootCompletedDetector: Relocate app heavy load on app start

SamsungIntegration: Allow the user to toggle hidden overlays

SamsungIntegration: Move normal telegram link to Samsung

RootRejectedLoader: Add support for Samsung detection

SamsungIntegration: Prepare for public release

AOPTCheck: remove the memory overhead caused by the unnecessary check

Adjust notification channel

Enable Proguard

Use AOSP apksig library to sign overlays

Update gitignore

Add basic sungstratung addon checker

Add calling package name extra to get keys intent

Merge pull request #111 from Thecrazyskull/dev

References: check whether activity instance has been destroyed before accessing preference manager

References: Remove package data schemes from app crash receiver

Update gradle wrapper and plugin

Overlays: Check for encrypted themes by the manifest value

Overlays: Instantiate ActivityManager on fragment thanks [MENTION=5083850]Thecrazyskull[/MENTION]

Internal testing release 791

SamsungIntegration: Only show the overlay hiding lunchbar once

SamsungIntegration: Fix the installation status checker on OverlaysTab

SamsungIntegration: When overlays are installed, auto close processes

SamsungIntegration: Try to kill background processes on receiver pickup

LeakCanary: Temporarily disable LC on Samsung builds (REVERT THIS!!!!!!)

SubstratumIntegration: Do not allow Settings Icons

SamsungIntegration: Add a null checker just in case

SamsungIntegration: Do not crash on LogChar error

SamsungIntegration: Add an overlay filter for Samsung theming

SamsungIntegration: Ensure the error message doesn't show up on OMS

SamsungIntegration: Ensure the implementation is self contained

SettingsFragment: Do not add newline by default

SamsungIntegration: Remove newline on platform summary

SamsungIntegration: Disable cache mode

SamsungIntegration: Hide switch and fab menu divider

SamsungIntegration: Disable all overlays when receiver is triggered

Private Samsung testing build 790

SamsungIntegration: When uninstalling any app, update the Overlay tab

SamsungIntegration: Hide the overlay disabling card, we can only do 1by1

SamsungIntegration: Enable manager fragment to uninstall & list overlays

SamsungIntegration: Hide root functions from overflow menu

SamsungIntegration: Hide unused entries, change toolbar name, settings..

SamsungIntegration: Root dialog should not be shown!

MainActivity: Hide Samsung unsupported options from drawer

Overlays: Show toast when overlay is installed on Samsung

SamsungIntegration: Ensure that late install flag only installs on OMS

Overlays: Automatically refresh list when a new package gets installed

OverlaysAdapter: Properly show installed Samsung overlays

SamsungIntegration: Failcases for the user when they do stupid ****

SamsungIntegration: Enable uninstalling of overlays as well

References: Add another debug key variant

SamsungIntegration: Initial commit to get overlays freshly installed

Support caching mode for new template

Substratum: Update API level checker for notification channel creation

ProfileFragment: Support new template for restoring missing overlays

ThemeManager-disableOverlay: Fix crash when overlay list is empty

References: Implement Samsung device checker based on permissions

References: Add a function to enable developers to run bash commands

SoundUtils: Dismiss dialog once applied

FontUtils: Fix mContext null crash during forced configuration change

EncryptedAssets: Handshake should not launch substratum

EncryptedAssets: Disable encryption detection for extras

FileOperations: Remove excess separator

Public beta release 782

Public beta release 781

EncryptedAssets: Properly assign encryption value as null checks

Update travis.yml with changes for Android API 26

Merge pull request #110 from MSF-Jarvis/dev

Internal housekeeping build 780

EncryptedAssets: Suppress warnings for non encrypted themes

OverlayUpdater: Staticize and Reorganize

EncryptedAssets: Perform handshake with theme package to update overlays

Internal housekeeping build 770

EncryptedAssets: Disable for BootAnimations, Fonts and Sounds

Add adaptive icon support

Break free from hardcoded checker

References: Change how we detect OMS

only use checkOreo method and update for odp3

build: Update dependencies

build: Update build tools and SDK version

Full project refactor/optimize

EncryptedAssets: Key retrieval from template initial commit

References: Adapt to the newer template action detection algorithm

EncryptedAssets: Fix application of bootanimation on decrypted devices

OverlaysItem: Fix missing icon

EncryptedAssets: Invoke fragmentalized static objects after fast forward

EncryptedAssets: Add decryption method for fonts

EncryptedAssets: Add decryption method for sounds

EncryptedAssets: Add decryption method for boot animations

EncryptedAssets: Decrypt the bootanimation too

EncryptedAssets: Copy all the types as well

EncryptedAssets: Initial parsing and compilation support

EncryptedAssets: Add initial checking for encrypted assets

Reformat after fast forward

Center all TextViews on the previously simplified layout

MainActivity: Remove Library fragment animation for now

MainActivity: Change deprecated MenuItemCompat method

MainActivity: Remove all leaky statics

MainActivity: Move interfacer authorization receiver with another receiver

MainActivity: Don't hardcode fragment classes name

build: Rename odp flavor

Simplify TextView with images

Go castaway

Remove unused imports

Remove deprecated notification methods

build: update gradle plugin

build: Fix google-services plugin not detected

Use the new complicated notification channel

Properly register receivers for packages change

Use latest preview build tools and add odp flavor

Register broadcast receivers on application class instead

Fix string concatenation in loop lint warning

SubstratumUpdateReceiver: Check for intent action

Hopefully fix the type2 persistence on cache mode

Overlays: Make JobReceiver class non-static

Fix progress indicator position

Overlays: Fix lint warnings

Overlays: Dramatically reduce scrolling lag on first launch

build: Update dependencies and adjust

Fix compile error with Android Studio Canary 2

build: Update build tools

SubstratumRescue: Do not wipe /sdcard/substratum

SettingsFragment: Fix show template version default value

PackageModificationDetector: Use theme icon for notification

Beta release 760

Full translation import

Clean up and format

Recovery -> Restore

TeamFragment: Completely revamp the UI

SettingsFragment: Hide CrashReceiver on Stock OMS

ThemeManager: Check for package when listing overlay using shell method

Gradle: Allow for bots to start building substratum on canary sources

Upgrade the Image Cropper Library

gitignore: Add release folder

build: update dependencies

build: buh-bye Jack

SettingsFragment: Do not show support status at all for stock OMS

SettingsFragment: Hide About Interfacer on Stock OMS

ThemeManager: Allow stock OMS to disable all overlays

Overlays: Revive ability to enable/disable overlays in the manager

RecoveryFragment: Hide fonts if not supported

BootAnimationManager: Clean up the bootanimation clearing function

FileOperations: Just move everything on any exception

BootAnimationUtils: Restore functionality for stock OMS

FileOperations: Root commands don't check source

AppShortcuts: Only v25+ and remove FloatUI shortcut

MainActivity: Remove unnecessary MenuItem and method output types

Clean up and reformat

BootAnimationUtil: Rewrite to be static and O DP2 aware

Upgrade to Gradle 3.5

SoundUtils: No TI, then do not try to dismiss an uninvoked dialog

Clean up and reformat after cherrypick

References: Centralize the fonts checker

SettingsFragment: Set a proper flag for support check

SettingsFragment: Certified even without Interfacer

Hello, O's OMS

Merge pull request #108 from nathanchance/access-service

AndroidManifest: Add ACCESS_SERVICE permission

Merge pull request #106 from sirmordred/dev﻿