Substratum Public Release 930


It's been a while since we announced our last update, and rolled out to Play Store, so hope you all had great Christmas and New Year’s parties!


I just wanted to say it was a great year and we made many new friends, especially our Samsung and Andromeda stock friends! If you have any issues, remember to continue posting in our JIRA and reporting to the Telegram chats, you've all done wonders the past few months!


For our current Samsung users, we will try to transfer you all over to Andromeda after Samsung officially releases Oreo. We will hopefully have a second sale soon for y'all! This is due to our codes being completely redeemed after Android Police and XDA Developers conducted many fruitful giveaways!


To those interested in Andromeda development, we are still actively working on it. There are some issues with Pixel 2 XL deployment with the new rebase, which is delaying our progress. Please be patient, as we are trying our best, thanks to +Surge Raval​​!


New UI introduction: With the new rebase, we have reorganized and made the old UI more user-friendly! The UI now features a bottom bar, as well as animation hero images after themers ensure that their templates are up to date! A couple of tabs have been hidden but all still available in Advanced Mode (available in settings).


The animations are presently available in the main advanced screen as well, for the hero images, under a variety of configurations such as Nougat Style and X amount of columns.


In the new UI, we now use an exposed, theme-ready font, available in the res/fonts folder. This utilizes the new downloadable fonts API from Google.


Pull down to close activity is also present in the new UI, which allows you to close the theme after launching it, by dragging it down. NOTE: This may affect completely transparent themes temporarily until we find a workaround (the background will stay solid). This feature was made available thanks to +Ivan Iskandar​​ and +Anas​​!


Template Reinforcement: We have added new props and removed certain Samsung related manifest values so that Samsung users can use unsupported (missing/removed metadata) without having rejected notifications anymore. Our main style of the template also enforces a proper animation on your hero image, so please do not change DialogStyle due to the way shared activity transitions work! This means templates 11.3.0 and above are fully supported, but please retain the main style as the default style, and rework your third party templates so that you use a different style.


Not only did we update the template, but we ensured and placed more security enforcements to prevent hijacks of unsupported applications. Thus, Themers will be in complete charge of how the security would be enforced. There are special modified versions of templates with a higher privileged anti piracy system that isn't smali editable, so please keep an eye out for those, rather than requesting in the comments! Huge thanks to +Harsh Shandilya​​!


Bug fixes and improvements: With this update, we aimed to fix many side issues with the application. Samsung users now have a much speedier experience, thanks to @Tetsuo Osaka for testing with us! We also fixed many crashes and hangs, but it is never 100%, as that is virtually impossible with an app of this nature!


Themer specific requests: We no longer automatically relaunch the theme activity when you push a new APK, so don't worry about that for now! We also removed the automatically moving hero image based on the Ken burns effect!


Firebase Notification Service: To those diehard privacy advocates, we have deprecated the push notification system as we no longer use it. We do still collect automatic crashes and analytics based on those crashes, so don't worry, as nothing will ever call home by providing any data to us! Our database does not include any write permissions for users, only read!


Samsung/LG Themers: You can now theme fwk/common overlays!


Updated AOPT binary: Our AOPT binary has been updated so it can now compile res/font and API 27+ resources! We now use our updated AOPT as default! Huge thanks to +Surge Raval​


Full changelog (chronological):

Public Release 930
PackageModificationDetector: Don't refresh IA on theme update
SubstratumService: Add support for custom shutdown animation
InformationActivity: Adjust look and feel
ShowcaseTab: Make the tab bg color uniform with the toolbar
ShowcaseTab: Fix alphabetic sorting fully
ShowcaseTab: Add back alphabetic sorting base code
InformationActivity: Set custom font on toolbar title
Overlay: Fix-up getActivityView method
Overlays: Refactor getActivityView to resolve Lunchbar issues
InformationActivity: Attach lunchbar to the correct layout.
Substratum: Fix custom fonts in new UI
SettingsFragment: Improve how we restart Substratum after settings changes.
Substratum: Use Thread#interrupt in place of deprecated stop
SettingsFragment: Don't just kill the app when locale is toggled
{Showcase,ManageSpace}Activity: Fix toolbar not taking on custom font
ShowcaseActivity: Move to new force locale method
OverlaysManager: Handle adaptive icons correctly in compile dialog
SpecialUI: Add a better gradient, expose dimens for cards
Overlays: Add version ints next to package name
Public testing release 927
SamsungIntegration: Move refresh list on resume to its own block
PriorityListFragment: Adjust margins for progress loader
Showcase: Reinstate the showcase as an activity
I want in on this mailmap thing too
Overlays: Do not unconditionally refresh the list
FirebaseMessagingService: Deprecate notification pushing system
SamsungIntegration: Add states for incorrect addon installation
SamsungSupport: Fix the enforcement regulations
Systems: Do not collide new Samsung check with old
Clean up platform libs
BinaryInstaller: Fix wrong aapt being installed on arm platforms
Systems: Remove duplicate check
AAPT: unify binaries for all architectures
Substratum: Add mailmap
References: Change default RRO overlay priority to 1004
Showcase: Reinstate the showcase as an activity
I want in on this mailmap thing too
Overlays: Do not unconditionally refresh the list
FirebaseMessagingService: Deprecate notification pushing system
SamsungIntegration: Add states for incorrect addon installation
SamsungSupport: Fix the enforcement regulations
Systems: Do not collide new Samsung check with old
Clean up platform libs
BinaryInstaller: Fix wrong aapt being installed on arm platforms
Systems: Remove duplicate check
AAPT: unify binaries for all architectures
Substratum: Add mailmap
References: Change default RRO overlay priority to 1004
ThemeManager: Do not manipulate Pixel overlays
AOPT: update binaries
MainActivity: Properly assign title name based on theme system
Update build tools and travis
Public release 926: merge Ivan's hero image fix
Systems: Don't return null
InformationActivity: Fix heroimage transparent part showed as black
SubstratumUI: Adjust layout to be more uniform as per Keyline Pushing
SamsungPackageService: Deprecate once again and introduce new checker
Public testing release 925
ManagerFragment: Another attempt to gracefully end the fab
Public beta testing build 924
MainActivity: Remove showcase attributes for actionbar dimensions
Temporarily disable showcase
SettingsFragment: Show AOPT on non-debug builds
Internal release 923
Systems: Move the root checker function call only after first ifs failed
ThemeLaunchActivity: If theme launched from notification, end gracefully
FloatUI: Invert
Theming: Add FLAG_ACTIVITY_NEW_TASK when launching themes
MainActivity: Rename the app title based on the system
MainActivity: Hide the priority tab if not supported
Internal release 922
SubstratumUI: Re-enable priorities tab in simple UI
ThemeLaunchActivity: Allow non-default styles to launch properly
Substratum: Rewrite the locale override code
Notification Updated: Icon should be white on Samsung
SamsungPackageService: Encapsulate the heavy work in a new thread
Upgrade gradle
PullBackLayout: Clean up the maths
Overlays: Declare the typeArray pull and null check beforehand
SplashScreen: Use dark navigation bar color on v27
MainActivity: Unify showcase tab color and elevation with activity actionbar
ShowcaseFragment: Fix crash on quick navigating between tabs
RecoveryFragment: Change up the UI by removing the huge buttons
PullBackLayoutLib: Adjust the slop variable
Overlays: Disable manual refresh for overlays
SubstratumUI: Add a loading view when a user clicks on a theme
SubstratumUI: Enforce 60FPS on shared element transition
don't finish with shared element transition when orientation has changed
InformationActivity: Assign a background color based on dominantColor
SubstratumUI: Introduce drag down to close activity
SubstratumUI: Change the toolbar font again thanks to @Sykopompos
SubstratumUI: Change the toolbar font and global app font
Overlays: Add support for detecting encrypted attention files
SubstratumUI: Update the default overlay icon to O style
SubstratumUI: Use more blobs! Frens and blobs!
ShowcaseTab: Remove unused declaration
Internal release 921
ShowcaseFragment: Remedy a possible crash through recreate
Strings: Change About back to Team & Contributors
Systems: Introduce check for Settings' Force authorize toggle
CompilerCommands: Fix compilation for fwk/common
DirectAssets: Interrupt file copying on non-supported API folders
SubstratumUI: Increase size of MainActivity title
SubstratumUI: Enforce shared element transition performance & behaviour
SubstratumUI: Change title font to Leckerli One
Expose color ripple to colors.xml
SubstratumUI: Assign IA's style to parent AppTheme
References: Enforce strict mode when checking for network
Internal build 920
SubstratumUI: Expose the bottombar background
SubstratumUI: Add some exposures for the windowLightXBar styles
SubstratumUI: Re-enable grid choices for special UI
SubstratumUI: Unify Showcase and Manager
Unused resources cleaning
Recovery: Change up the button backgrounds
References: Change isNetworkAvailable to detect limited networks
SubstratumUI: Re-add network failure for ShowcaseFragment
MainActivity: Re-enable OverlayManagerActivity on special UI
Deprecate the KenBurnsView library
SubstratumUI: Adjust the ripple color tint
Clean up and refactor
SubstratumUI: Shared element transitions!
SubstratumUI: Unify Showcase and Manager
Unused resources cleaning
Recovery: Change up the button backgrounds
References: Change isNetworkAvailable to detect limited networks
SubstratumUI: Re-add network failure for ShowcaseFragment
MainActivity: Re-enable OverlayManagerActivity on special UI
Deprecate the KenBurnsView library
SubstratumUI: Adjust the ripple color tint
Clean up and refactor
SubstratumUI: Shared element transitions!
SubstratumUI: Add a brand new ThemeFragment UI
SubstratumUI: Add in a brand new default, simple UI
Update travis.yml
This is the official, [projekt.] developed system theming engine to utilize Substratum themes! When using substratum themes, always use the official client, or CI builds available from our Telegram group: telegram.me/substratumci!

As a reminder, any themes run on external, third-party clients will NOT be receiving any support from the team nor the themers! This includes no support on G+, XDA and Telegram!

Theme Engine Support:
- Stock Nougat (RRO): Requires root, no exposures/themes may look weird.
- Stock Oreo (OMS):
-- Rooted device will be able to use without any requirements.
-- Unrooted device will need to buy this addon, and watch the addon's video on the listing to know how to setup them! play.google.com/store/apps/details?id=projekt.andromeda
- Stock Samsung Nougat (RRO): Will need to buy this addon and boom, full support! play.google.com/store/apps/details?id=projekt.sungstratum
- Custom Nougat (OMS): Requires a custom ROM with interfacer installed!

Our community:
- Telegram: telegram.me/substratum
- Google+: plus.google.com/communities/102261717366580091389
- XDA: forum.xda-developers.com/apps/substratum/
- Reddit: www.reddit.com/r/Substratum/
- CrowdIn: translate.projektsubstratum.com/
- GitHub: www.github.com/substratum
- JIRA (bug reports): substratum.atlassian.net/servicedesk/customer/portal/1

To get support, please use one of the avenues listed above, the email will not be responding as it is an autoresponse! We will REQUIRE replication steps, a logcat of a crash (www.xda-developers.com/guide-sending-a-logcat-to-help-debug-your-favorite-app/) and device information such as what Android version/custom ROM, to be able to help you!
See available APKs
There's a newer version available below!
Download

This release may come in several variants. Consult our handy FAQ to see which download is right for you.

Variant
Arch
Version
DPI
nine hundred thirty
January 3, 2018
noarch
Android 7.0+
nodpi
All Releases
Comments