Android Q was long-rumored to (finally) give us system-level dark mode settings for Android. Based on the current beta, it kind of does, but there's a catch: The setting from Android P which controlled the system-level theme is missing, so the only way that we can find to get it on Android Q is to have it enabled before you flash it — and it's a bit janky when it's enabled.

The Device theme setting (left) on Android P really only changed a few system things (middle), though some apps could pick up on it (right)

For the unfamiliar, Android P had a setting (Settings -> Display -> Advanced -> Device theme) that allowed you to enable a limited dark theme, but it only worked on a few things. Android Q appears to have removed that setting, while simultaneously expanding what it applies to.

Android Q has lost the Device theme setting.

So if you had dark mode enabled via that setting before dirty-flashing the Android Q OTA, it will persist and you'll get to check out the significant expansion of a dark theme throughout Android Q (including some app-specific jank). If you didn't have it enabled, though, then the option to switch to it will be lost to you — at least, until we find another way to toggle it, or Google rolls out a tweak.

Having dark mode enabled seems to break some things in a few apps, as well. 

TL;DR: If you want to play with dark mode in Android Q, you'll need to install it over Android P with the setting enabled, and right now there's no way that we've found to turn it off (or on) if you're running Android Q.

The folks at XDA have determined the ADB commands required to toggle dark mode on and off, in the absence of a toggle in Android's settings menus. If you have ADB set up and your device plugged in and recognized, it's as simple as using one of the two following commands:

If you want to enable dark mode, enter: adb shell settings put secure ui_night_mode 2

If you want to disable dark mode, enter: adb shell settings put secure ui_night_mode 1

If you want to set it to auto, enter: adb shell settings put secure ui_night_mode 0

Depending on your platform, you may need to precede the command which calls ADB with a ./ or not (OSX/Linux need it). Following a reboot, you should have the setting enabled or disabled as you selected.