AUSALERT: THE TEST THAT LIED
AUSALERT: THE TEST THAT LIED
Or, how the Australian government convinced millions their phones were broken when the real problem was the test itself
On July 27, 2026, the Australian government sent a "test" emergency alert to every phone in the country. Millions got it. Millions didn't. The official line? "Your phone is too old." "Update your software." Bullshit. I spent the last week knee-deep in Android source code, and I can tell you exactly what happened — and it has nothing to do with your phone.
Let me be clear up front: Australia has been sending emergency alerts to phones since 2009. Bushfires, floods, COVID lockdowns — all delivered via SMS from +61 444 444 444. The carriers know how to do this. The towers are already configured. The modems in your phone have been capable of receiving cell broadcast messages since the GSM era. The infrastructure was not the problem.
The problem was the test message itself.
01. The Lie
NEMA — the National Emergency Management Agency — put out a statement after the test. They said some devices "might behave differently." They listed the usual suspects: old phones, no signal, airplane mode. But then they slipped. They admitted something that should have been the headline:
Read that again. Some people saw "Presidential Alert." Others saw "AusAlert Test." Same test. Same towers. Same broadcast. Different message class. And that difference is everything.
Because in the Android firmware — the actual code running on your Samsung, your Xiaomi, your OPPO — there is a gatekeeper. A single method called isChannelEnabled() that decides whether to show you the alert or silently throw it in the trash. And that method treats "test" messages and "emergency" messages as entirely different species.
02. The Kill Switch
I pulled the Android Open Source Project code. The real stuff. Not a blog summary. The actual Java files that ship on every Android phone. Here's what I found.
// === CMAS PRESIDENTIAL ALERT PATH ===
if (resourcesKey == R.array.cmas_presidential_alerts_channels_range_strings) {
return true; // ALWAYS enabled — no toggle, no check
}
// === REQUIRED MONTHLY TEST ===
if (resourcesKey == R.array.required_monthly_test_range_strings) {
return emergencyAlertEnabled
&& CellBroadcastSettings.isTestAlertsToggleVisible(getApplicationContext())
&& checkAlertConfigEnabled(
subId, CellBroadcastSettings.KEY_ENABLE_TEST_ALERTS, false);
}
See that? Presidential Alert: return true; No questions asked. No user settings checked. No OEM preferences consulted. It just shows.
Test Alert: Three separate conditions must all be true. The master toggle must be on. The OEM must not have hidden the test toggle in their settings menu. And the user must not have disabled test alerts. If any of those is false, the method returns false, and your phone logs a quiet little note: "ignoring alert of type X by user preference".
You never see it. You never know it happened. The message arrived at your modem, passed through the kernel, reached the Android telephony service, and then — poof — deleted by a setting you didn't know existed, buried three menus deep, possibly hidden by your phone manufacturer entirely.
This is not a bug. This is by design. The 3GPP standard — the global cellular specification — deliberately separates test messages from emergency messages so users can opt out of monthly test spam without opting out of life-safety alerts. It's a reasonable design. But it means testing with a test message does not test the emergency path. And AusAlert's "national test" tested the wrong path.
03. The OEM Problem
Here's where it gets worse. Even if you wanted to enable test alerts, your phone manufacturer might have made that impossible.
| Manufacturer | What They Did |
|---|---|
| Samsung (OneUI) | Buried the toggle under Settings > Notifications > Advanced Settings > Wireless Emergency Alerts. Some models need carrier profile updates to even see it. |
| Xiaomi / Redmi (MIUI) | Ships with test alerts DISABLED BY DEFAULT. Toggle hidden under Settings > Passwords & Security > Emergency Alerts. Most users never find it. |
| OPPO / Realme (ColorOS) | May not expose the toggle at all. The code still checks it, but if it's not in the UI, you can't change it from the default false. |
| Budget / Android Go | Outdated modules, missing carrier profiles, no AusAlert identifiers in the whitelist at all. |
So when AusAlert sent the test as a test-class message — 0x111C or 0x112E — every Xiaomi phone in the country silently dropped it. Every OPPO phone with the hidden toggle dropped it. Every user who once disabled test alerts to stop the monthly spam dropped it. And none of them knew.
Meanwhile, the person sitting next to them with an iPhone or a Samsung that received it as a "Presidential Alert" (0x1112) got the full screaming treatment. Same room. Same tower. Same broadcast. Two completely different outcomes.
04. The False Negative
This is the part that makes me angry. The government told people their phones were broken. "Too old." "Not updated." "Doesn't support AusAlert." And people believed them. I saw threads on Reddit, Facebook, Whirlpool — people planning to buy new phones because they "failed" the test.
Your phone did not fail. The test failed your phone.
| Why you didn't get it | Would a real emergency work? |
|---|---|
| Phone off / no signal | N/A |
| Pre-Android 8 device | No — no CB module |
| Grey market import, wrong carrier profile | No — wrong config |
| Test sent as 0x111C, you disabled test alerts | YES — Presidential would blast through |
| Xiaomi/OPPO shipped with test alerts off by default | YES — Presidential would blast through |
Two of those five rows — the two biggest ones, the ones affecting millions of Android users — are false negatives. The test told them they weren't protected. They are. The emergency path was never tested. Only the test path was. And the test path is deliberately weaker by design.
05. What Should Have Happened
If NEMA actually wanted to test whether the emergency system works — whether the country is protected in a bushfire, a flood, a terrorist attack — they should have sent the test as a Presidential Alert. Message identifier 0x1112. The one that cannot be disabled. The one that overrides Do Not Disturb. The one that screams at maximum volume.
Yes, every phone in the country would have screamed. That's the point. A test that doesn't test the actual emergency path is not a test. It's theater.
Instead, they sent a polite little test message that half the Android ecosystem is configured to ignore. Then they blamed the phones. Then they let people think they need to upgrade. It's either incompetence or dishonesty, and I'm not sure which is worse.
06. The Code Doesn't Lie
I want to show you one more thing. The complete isChannelEnabled() method, annotated. This is the smoking gun. This is the code that decided whether your phone showed the alert or pretended it never happened.
private boolean isChannelEnabled(SmsCbMessage message) {
// Master toggle check
boolean emergencyAlertEnabled = checkAlertConfigEnabled(
subId, KEY_ENABLE_ALERTS_MASTER_TOGGLE, true);
// === PRESIDENTIAL ALERT ===
if (resourcesKey == R.array.cmas_presidential_alerts_channels_range_strings) {
return true; // ALWAYS SHOWS. NO CHECKS. NO TOGGLES.
}
// === EXTREME THREAT ===
if (resourcesKey == R.array.cmas_alert_extreme_channels_range_strings) {
return emergencyAlertEnabled && checkAlertConfigEnabled(
subId, KEY_ENABLE_CMAS_EXTREME_THREAT_ALERTS, true);
}
// === TEST MESSAGE (0x111C) ===
if (resourcesKey == R.array.required_monthly_test_range_strings) {
return emergencyAlertEnabled
&& isTestAlertsToggleVisible(context) // OEM may hide this
&& checkAlertConfigEnabled(
subId, KEY_ENABLE_TEST_ALERTS, false); // DEFAULTS TO FALSE
}
// If we get here and it's a test, it's GONE.
Log.e(TAG, "ignoring alert of type " + channel + " by user preference");
return false;
}
Look at that last line. return false;. The message is discarded. Silently. No notification. No vibration. No log to the user. Just a system log entry that no one reads unless they're specifically looking for it.
I found this by searching the AOSP repository. Anyone can do it. NEMA has engineers. Google has engineers. They know this code exists. They know how it works. And they still sent a test message that triggers the return false; path for millions of devices.
07. What Now
Here's what should happen next:
1. NEMA must publicly clarify that missing the test does not mean missing a real emergency. The current messaging is causing unnecessary panic and e-waste.
2. Future national tests must use 0x1112 (Presidential Alert) with clear "THIS IS A TEST" labeling. Test the emergency path, not the test path.
3. Google must mandate via GMS licensing that OEMs do not disable test alert reception by default, and that the toggle is visible in Settings.
4. NEMA should publish a device compatibility database — which phones receive which message classes — so consumers can make informed purchases and emergency managers can understand real coverage gaps.
5. Someone needs to ask NEMA: did you know about the isChannelEnabled() test toggle before you sent the national test? Because if you didn't, you didn't do your homework. And if you did, you knowingly sent a test that would produce false negatives and then blamed the devices.
The infrastructure worked. The towers broadcast. The modems received. The Android code did exactly what it was designed to do. The only thing that failed was the test itself — and the story the government told about it.

0 Comments:
Post a Comment
Subscribe to Post Comments [Atom]
<< Home