Questions about installation? Trouble installing or applying overlays? Updated Installation instructions for all devices can be found here
• Orange notifications? You must make sure that you apply the Android System overlay and reboot, or your notifications turn orange.
• Substratum doesn’t work well with March Oreo security patches for Nexus\Pixel. This also applies to April security patches, on ANY device that merges them fully. Custom ROMs can revert the commits causing this and make Substratum work fine again, but this is up to their developers!
If you install the overlays, they can end up not enabled at all. They may also not even show in the ‘Manager’ tab. To enable them if they don’t even show in ‘Manager’, open the theme again after rebooting, pick the same options that you installed the theme with, select all and use the ‘Enable selected’ option in the theme overlays list. The overlays should then be enabled and can be handled as normal. The procedure might be required for new overlays. This has absolutely nothing to do with the theme overlays code and is not a thing we can fix with a theme update, it depends on the theme engine and the code changes by Google.
• For your own safety, you must remove all overlays before performing any kind of software\firmware upgrade (device OTA, ROM flash, etc) as you can boot to an unusable system if you don’t uninstall all overlays first.
Clean install to make all updated apps work as expected: Uninstall all overlays from the overlay 'Manager' tab, inside Substratum. When this is done, install the new overlays followed by a reboot.
Swift Dark 17.5
Important: Before installing this update, you must remove the older overlays in the Manager tab of Substratum, for the following apps:
• Google News: theme the widget for 5.0.0
• Spotify: some fixes in the black theme to have new UI elements on white backgrounds be visible
• YouTube: fixed contact picker for native sharing
• WhatsApp: cleanup and accent consistency; fix location privacy setup, fix location popup name
• Slack: fix profile buttons and overflow menu
• Instagram: added v45 support
• Firefox: fix "add to home screen" icon
• Google Contacts: fix suggestions activity background
• SoundCloud: fix splashscreen and overflow texts for May 15 release build
• Sheets: fix build for 1.18.192
• Snapchat: added v10.32 support
• SystemUI\Android System (8.1): better color consistency for QS icons
• Settings (8.1): linked extended desktop drawables to accent for some ROMs that had them teal
• OPLauncher: added support for the newest OB, themed Toolbox elements
Swift Dark 17.4
Important: Before installing this update, you must remove the older overlays in the Manager tab of Substratum, for the following apps:
- Google App
- Google Play Store
- Google Play Games
• Instagram: v44 support
• Google Play Games: v5.8 support
• Google Drive: fix scanned pic activity
• Samsung Galaxy Apps: fixed reviews buttons and cards
• Discord: fixed search bar color
• WhatsApp: v2.18.142 support
• Google App: v8.2 support
• Google Photos: v3.20 support
• Google News: v5.0.0 support
My app is crashing: If an app stops working, you need to reinstall the overlay for that app and reboot. This is required as an overlay needs to be applied on top of an app. For example, when you update an app from Play Store, the overlay won't be on top anymore. When you reinstall the overlay, and reboot, you will make sure it is again. This is just how overlays work!
For apps that require a manual selection of the version (WhatsApp, Instagram, etc), make absolutely sure that you don’t have duplicate overlays active at the same time for a single app! You have to check this from the “Manager” section of substratum, reachable from the bottom bar; in the same page you are able to uninstall the faulty duplicate overlays and solve your issue.
If an app has crashes after its new update, even after correctly rebuilding the overlay for it: we can’t magically support future updates of apps. If it works, that’s great! But sometimes updates will break things in the overlay and you will need to wait for us to update the theme.
The best bet is to update themed apps after a theme update comes out, supporting the new versions of those apps.
My app is not themed after a reboot: It can be that the Samsung system decides to drop an app overlay on reboot. We don't know why it happens sadly. What you can try is to reinstall the app and the overlay after you reboot, and before you open the app you go into app settings and force close it. Then, without rebooting, check if it's themed
My notifications are orange: you most probably just need to reboot as advised. If a reboot didn’t fix it, it means your Android System overlay isn’t enabled or isn’t working. Go in the Manager tab, select any Android System overlay and uninstall them. Then, go back in the theme and reapply the Android System overlay. Reboot after that and you should be done.
On Samsung Oreo, it may still be disabled after this reboot - just go in Manager and enable it from there. Reboot and done.
I can’t use the theme on this beta version of an app: the theme does not include variants for beta apps and will not be updated to support beta versions of apps.
Theme isn’t working at all, and I want a refund: We offer a refund to everyone who finds out they cannot use the theme, under the condition that the person who downloaded the theme sends their order number to firstname.lastname@example.org within 48 hours.
Facebook and Facebook Messenger overlays: the two apps seem to have implemented some code obfuscation, and now apktool can’t decompile them properly. This led to the Facebook overlay to be removed (it wasn’t a full overlay by any means anyways, and caused many and many complaints about it) and to the Facebook Messenger overlay to be kept on the older working versions (v145 and v146). There’s no solution yet since we can’t look inside of the apps to fix the overlay errors in the newer versions; also many text colors inside of Facebook Messenger were becoming hardcoded in java.
The absolute best way to keep the theme working over time: Every time you update an app to a new version from Play Store, there’s a risk that it don’t match the version we based the theme overlay on. This might cause issues for you. The best way to keep all overlays working over time is to disable automatic updates in Play Store, and update your apps when we update the theme. This way the theme code and app code will match, and work. We update every 4-5 days, so you won’t have to wait long to update everything. Remember to also remove overlays based on older versions of the apps that require a manual selection, and to perform clean installations of the overlays when indicated in the theme changelogs.
FAQs and help section - a must read before reporting any issue
SUPPORTED APP VERSIONS: Please notice that the theme, when up-to-date, will usually include options for the latest two or three stable iterations of an app at the time of the update. If you don’t see a matching option for your installed one, you may be using a beta version of an app, a very old stable version, or just a new stable version that wasn’t supported in the theme yet - if the latter is the case, just wait for a theme update to add an option for it, if it can be supported.
WHO CAN USE THE THEME: The theme is NOT supported on the default Operating System (OS) of ZTE, Xiaomi, LG, HTC, Huawei, Sony, Nokia. and possibly other manufacturers. You need a device\ROM which fully supports the substratum theme engine to correctly apply this theme. It is YOUR responsibility to check if your setup (ROM + Device) supports the substratum theme engine in the first place, which is step zero of using any substratum theme!
Some stock ROMs can use substratum in legacy mode, with root or plugins. If this is the case, the theme can work on third party apps (WhatsApp, Instagram, Hangouts, etc) but not on system apps (Android System, System UI, Settings, etc). To be on the safest side possible, please apply the theme with the “Others” option from the top, which will not apply System overlays.
Please do NOT report issues if you are using a default ROM from a manufacturer with an option that isn't meant for that in the first place. The only fully supported default ROMs are the one shipped on Nexus and Pixel devices, and OxygenOS on the OnePlus 3\3T\5\5T - which are all the devices for which we ship a proper variant to be selected.
If you’re on a Samsung Nougat ROM, please refer to the next FAQ entry.
If you bought the theme but you can’t use it and want a refund, just send us a refund request mail to email@example.com writing us your GPA order number, so we can submit the refund request to Google Play.
SAMSUNG USERS: There are new installation instructions if you are using a Samsung Oreo ROM, read here. The theme works on Samsung devices with the paid Substratum for Samsung addon. The Substratum addon is still in early stages and there might be some issues with the actual process with installing or uninstalling themes which we can’t change ourselves.
Orange notifications? You must make sure that you apply the Android System overlay, or your notifications turns orange.
The only Samsung devices on which we’re sure that System apps will work are the S7, S7E, S8, S8+, Note 8. Other devices on Samsung Experience 8.1 firmware might use the Samsung variant fine as well.
The Samsung software might drop an overlay on reboot, meaning that after you reboot an app loses the dark theme. This is a Samsung Nougat software issue which we can’t solve in the theme code, as we only provide static XML code that is built by substratum as an overlay app.
You must uninstall all overlays before doing an OTA firmware upgrade. This is very important or you might end up with an unusable system! This is not a theme issue, it’s about new apps being installed in the firmware version that might conflict with the current overlays.
The Android System overlay will NOT install on Samsung Nougat. It will give a package installer conflict error when attempted. This is perfectly normal: since we can’t theme Android System on Samsung Nougat, the overlay for it is a blank placeholder, with the goal of not installing, which is exactly what happens.
Notifications, on Samsung Nougat, CAN’T be themed with a substratum overlay only. You have to use a modded framework APK, an XDA Samsung Theme, or have a Samsung custom ROMs that allows you to change their colors in the ROM Settings. We do not support using the theme in conjunction with those other options and it is up to you to figure it out if you wish to theme notifications on Samsung Nougat. Please remember that when reporting an issue to us, you must be running our theme alone and not together with another theme\mod\tool.
Keeping ADB enabled from Developers settings is always a good idea to have a safety tool to recover a SystemUI crashloop if something goes wrong, to avoid a factory reset.
ANDROID OREO: There are new installation instructions if you are using Oreo and the March security patch, read here. Applying Android System might not work on the first shot. If this happens, go in Manager, from the bottom bar in substratum, find your Android System overlay (it should have an orange font, meaning it’s not enabled), tap it and hit “Enable Selected”. After this, reboot your device - this is required even though it may seem not, as all resources must be reloaded by the System to include the theme ones.
We theme notifications dark on Oreo out of the box, though, on stock ROMs and early custom ROMs, you will encounter the following issues:
- The sender name text for messaging app is hardcoded in black in the AOSP code. We add a subtle shadow (which can be toggled off) to make that text readable.
- Some app titles may be too dark to be readable. The app name color is often java calculated and rarely linked to an editable value in the app. Where it could be fixed, it was; where it couldn’t, it just will stay too dark to be properly readable.
For this reason, we shipped an option to have your notifications white and have no readability issues.
The substratum provides a series of commits that are called "OMS exposures", which are merged into what we call "OMS-Ready ROMs". The exposure are in short hijacking the java code and redirecting it to editable values in the res/ folder, which is what a substratum overlay can edit.
When Custom ROMs with proper exposures built on top of Oreo will come out, merging the full patchset, the two issues shouldn’t happen anymore and dark notifications will work normally.
HOW TO PERFORM A CLEAN INSTALLATION OF AN OVERLAY: This is particularly useful when an app is crashing even after having reinstalled the overlay for that app once:
- Open the substratum theme engine;
- Go to Manager, from the bottom bar of substratum;
- Scroll down to reach any of the app overlay(s), and select them all with the checkboxes on the right;
- Tap the FAB button (bottom right) and press "Uninstall selected", then reboot;
- After the reboot, check if the apps that had troubles are now NOT themed and not crashing;
- If the above is true, go back in substratum and open up the theme;
- Pick the Android variant from the top if needed, scroll down and select the apps that you previously removed along with their correct version option if they require one;
- Tap the FAB button (bottom right) and press Build & Enable or Install;
- Reboot again and check back if the apps are working!
If you’re on a Samsung Nougat ROM, replace the reboot steps with going to your apps list in Settings and force stopping the app(s), as the reboot may make the system drop the overlay in rare cases.
NOTIFICATIONS: Not all setups can enjoy fully working dark themed notifications.
Correctly theming the notifications require us to apply an overlay to the SystemUI (package name: com.android.systemui) to change their background colors, and to the Android System Framework (package name: android) to change their text colors to light ones, which is what is giving trouble.
Theming the Android System Framework can lead to bootloops, soft reboots, crashes or other issues in all Nougat stock ROMs. In fact, in all non-OMS Nougat variants, Android System overlay is an empty placeholder. This is a security measure to avoid users having to deal with such nuisances as bootloops can be; moreover, systems like Samsung Nougat don’t even allow the notification text to be changed by the framework overlay at a given bootloop risk: it just doesn’t work.
OMS-ready ROMs give no issues whatsoever on theming the Android Framework thus will have notifications fully themed and working as long as both “SystemUI” and “Android System” are correctly compiled and enabled.
Oreo ROMs can overlay on the Android Framework without major issues, but stock Nexus or Pixel Oreo and OxygenOS Oreo have to deal with a couple issues with notifications. Both are mentioned above in the Android Oreo snippet.
If you’re on a variant that themes notifications out of the box and something is looking odd, such as:
- Black on black\dark texts
- White notification buttons
- Orange backgrounds
It means that Android System or SystemUI are not correctly working. The quickest solution is very often a reboot, that you may have skipped even though always required. If even a reboot won’t solve it, you have to do a clean build of the two overlays.
Go in substratum’s Manager section, from its side menu, and scroll down to SystemUI and Android System overlays. Select all of them and check “Uninstall selected”. After this, reboot. Once you’ve booted back, go back to the Swift theme in substratum, select your correct Android variant, select the SystemUI and Android System overlays along with additional options that you may want to change (if your setup is eligible for them), then check “Build & Enable”. Wait for it to compile and eventually restart SystemUI manually if substratum did not do it for you. Reboot once again. After this all, you should have fully working notifications.
If a single app in particular still has unreadable parts, it might be a custom notification layout, with either the text or the background defined in the app. There are some around, and we do theme some of them with our overlays, but we can’t of course support all of them. Please do tell them about us, and if you want a certain app’s notification to just work on your device straight away, you can switch to the White notifications option on Oreo ROMs.
HOW TO THEME GBOARD: You have to manually set a theme inside of it:
- Download the dark picture from this album to use as a background picture;
- Go in Gboard’s settings, then tap on “Theme”;
- On the screen with all the available color themes, tap on the top left picture with a plus symbol [+] on it, which will allow you to use a custom picture as your keyboard background;
- Select the picture you’ve previously downloaded, then tap on “NEXT”;
- In the next screen, Set the brightness to 100%, then tap on “DONE”;
- Keep key borders switched off or the accent will break, then tap on “APPLY”;
You can now enjoy Gboard themed again.
HOW TO ASK FOR SUPPORT: You can get support by joining our Swift Themes Telegram group here, or emailing us at firstname.lastname@example.org. If you want to report an error log, it is mandatory that you hit the SEND button from the LogChar error pop-up to share it. Copy-pasting the log is extremely cluttering and lacks informations. Long logs in the Telegram group chat will be deleted as they render the chat unusable for being too long.
Even when sharing the LogChar error properly, be it via mail or via Telegram, you must include what version of the app you are using, what ROM does it happen on and what Android variant of the theme you are applying. This way, we or other users can quickly understand what is going on and help you better - thanks in advance for this
COMMON APP REQUESTS AND REPORTS: a short list of in-app elements that are frequently reported as bugs but are unfixable\meant to be as they are, general errors about the apps, or common requests.
• Facebook Messenger: Many texts are hardcoded to black. This calls for various workarounds on the apps to make it work. Moreover, the app can’t be decompiled anymore after version 146.
• Facebook: the whole app is filled with java-generated layouts, java-hardcoded values and java-hardlinks. Java code can’t be changed with a substratum overlay, which makes the app completely unthemeable. Moreover, the app can’t be decompiled after version 153.
• Poweramp: notification controls are invisible if you are on a variant that themes the notifications black? There’s an option inside the app to fix this. Go to Settings > Look and Feel > Status bar/Notification > Inverse notification colors and change the status of that option (you usually have to disable it).
• Gmail: The text in the email input box is a RTF text fetched from the web. It means that its color is not defined in the app resources, rather, it can be changed within the formatting options. This means that the only viable option in Gmail is to keep the input box in white, since the text defaults to black. Moreover, the body of received\sent emails are entirely webviews which can’t be changed.
• Play Store, Google Maps, Google Sheets, Google Go: all those apps require your system localisation to be set on English for the overlays to work on them. Reasons are unknown but due to recent updates and possibly changes in the APKs structure by Google, since they can’t be decompiled properly as well.
• Google Calendar: In the daily view, the days numbers on the left have a white box under them - this is hardcoded in java and can’t be fixed.
• eBay: the overlay for it, in variants that don’t theme the notifications, is empty. The app itself can’t be themed as it is mostly a web-wrapper app. The overlay will actually build only on the variants that theme the notifications system-wide, and this is required to make its text be readable as the color is defined in the app rather than picking the system color. The overlay will stay with an orange font (won’t enable), or give a package installer conflict error on Samsung. Both cases are perfectly normal behavior as if the overlay is empty, and has to be a blank placeholder, the goal for it is to actually not install.
• Apple Music: the overlay for it, in variants that don’t theme the notifications, is an empty placeholder. The app itself can’t be themed as it is mostly coded in java code, which a substratum overlay can’t change. The overlay will actually build only on the variants that theme the notifications system-wide, and this is required to make its text be readable as the color is defined in the app rather than picking the system color. The overlay will stay with an orange font (won’t enable), or give a package installer conflict error on Samsung. Both cases are perfectly normal behavior as if the overlay is empty, and has to be a blank placeholder, the goal for it is to actually not install.
• Twitter: just switch the Night mode on from its side drawer for its overlay to work.
• Instagram: the app may crash if you have a mismatching version, or duplicate overlays meant for a different version than your installed one; please refer to the clean reapply procedure mentioned before to fix this. The statusbar icons may look grey instead of white in some views of the app or in some devices*.
• WhatsApp: the app may crash if you have a mismatching version, or duplicate overlays meant for a different version than your installed one; please refer to the clean reapply procedure mentioned before to fix this.
• Pixel Launcher: if parts of it are unthemed, please make sure that you had selected the correct matching version for it before building the overlay. The statusbar icons may look grey instead of white in the app drawer view on some devices*.
• Google Allo: If you can’t read what you type in some chats that have a changed native theme, go to Allo settings and turn on “Monochrome” mode to fix the issue. The statusbar icons may look grey instead of white*.
* Light statusbar icons are, by default, a very dark grey or black, depending on the ROM. What we do in the SystemUI overlay is to change the color to a grey hue. By picking a middle grey tint, we make it possible to see those icons either on apps that use them but on which we theme the statusbar dark in our overlay, and on apps that we do not theme but have a light statusbar and would thus call for the same icons - this last part answers why we can’t switch the black icons to white: they would then be unreadable on apps with the light statusbar.
If you have black icons, it means you're missing our SystemUI overlay, so make sure it's enabled. If your device can’t make use of the SystemUI overlay, this sadly falls under the unfixables.